summaryrefslogtreecommitdiff
path: root/engine/wildmons.asm
diff options
context:
space:
mode:
Diffstat (limited to 'engine/wildmons.asm')
-rwxr-xr-xengine/wildmons.asm126
1 files changed, 64 insertions, 62 deletions
diff --git a/engine/wildmons.asm b/engine/wildmons.asm
index 6f39e19dc..ff29c99b5 100755
--- a/engine/wildmons.asm
+++ b/engine/wildmons.asm
@@ -1,30 +1,34 @@
LoadWildMonData: ; 29ff8
call _GrassWildmonLookup
jr c, .copy
- ld hl, wd25a
+ ld hl, wMornEncounterRate
xor a
ld [hli], a
ld [hli], a
ld [hl], a
jr .done_copy
+
.copy
inc hl
inc hl
- ld de, wd25a
- ld bc, $3
+ ld de, wMornEncounterRate
+ ld bc, 3
call CopyBytes
.done_copy
call _WaterWildmonLookup
- ld a, $0
+ ld a, 0
jr nc, .no_copy
inc hl
inc hl
ld a, [hl]
.no_copy
- ld [wd25d], a
+ ld [wWaterEncounterRate], a
ret
-Function2a01f: ; 2a01f
+FindNest: ; 2a01f
+; Parameters:
+; e: 0 = Johto, 1 = Kanto
+; wNamedObjectIndexBuffer: species
hlcoord 0, 0
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
xor a
@@ -34,25 +38,24 @@ Function2a01f: ; 2a01f
jr nz, .kanto
decoord 0, 0
ld hl, JohtoGrassWildMons
- call Function2a052
+ call .FindGrass
ld hl, JohtoWaterWildMons
- call Function2a06e
- call Function2a0b7
- call Function2a0cf
+ call .FindWater
+ call .RoamMon1
+ call .RoamMon2
ret
.kanto
decoord 0, 0
ld hl, KantoGrassWildMons
- call Function2a052
+ call .FindGrass
ld hl, KantoWaterWildMons
- jp Function2a06e
+ jp .FindWater
; 2a052
-Function2a052: ; 2a052
-.loop
+.FindGrass: ; 2a052
ld a, [hl]
- cp $ff
+ cp -1
ret z
push hl
ld a, [hli]
@@ -62,23 +65,22 @@ Function2a052: ; 2a052
rept 3
inc hl
endr
- ld a, $15
- call Function2a088
- jr nc, .next
+ ld a, NUM_WILDMONS_PER_AREA_TIME_OF_DAY * 3
+ call .SearchMapForMon
+ jr nc, .next_grass
ld [de], a
inc de
-.next
+.next_grass
pop hl
- ld bc, $2f
+ ld bc, WILDMON_GRASS_STRUCTURE_LENGTH
add hl, bc
- jr .loop
+ jr .FindGrass
; 2a06e
-Function2a06e: ; 2a06e
-.loop
+.FindWater: ; 2a06e
ld a, [hl]
- cp $ff
+ cp -1
ret z
push hl
ld a, [hli]
@@ -86,24 +88,24 @@ Function2a06e: ; 2a06e
ld a, [hli]
ld c, a
inc hl
- ld a, $3
- call Function2a088
- jr nc, .next
+ ld a, 3
+ call .SearchMapForMon
+ jr nc, .next_water
ld [de], a
inc de
-.next
+.next_water
pop hl
- ld bc, 9
+ ld bc, 3 * 3
add hl, bc
- jr .loop
+ jr .FindWater
; 2a088
-Function2a088: ; 2a088
+.SearchMapForMon: ; 2a088
inc hl
-.loop
+.ScanMapLoop
push af
- ld a, [wd265]
+ ld a, [wNamedObjectIndexBuffer]
cp [hl]
jr z, .found
rept 2
@@ -111,68 +113,68 @@ rept 2
endr
pop af
dec a
- jr nz, .loop
+ jr nz, .ScanMapLoop
and a
ret
.found
pop af
- jp Function2a09c
+ jp .AppendNest
; 2a09c
-Function2a09c: ; 2a09c
+.AppendNest: ; 2a09c
push de
call GetWorldMapLocation
ld c, a
hlcoord 0, 0
ld de, SCREEN_WIDTH * SCREEN_HEIGHT
-.loop
+.AppendNestLoop
ld a, [hli]
cp c
- jr z, .found
+ jr z, .found_nest
dec de
ld a, e
or d
- jr nz, .loop
+ jr nz, .AppendNestLoop
ld a, c
pop de
scf
ret
-.found
+.found_nest
pop de
and a
ret
; 2a0b7
-Function2a0b7: ; 2a0b7
+.RoamMon1: ; 2a0b7
ld a, [wRoamMon1Species]
ld b, a
- ld a, [wd265]
+ ld a, [wNamedObjectIndexBuffer]
cp b
ret nz
ld a, [wRoamMon1MapGroup]
ld b, a
ld a, [wRoamMon1MapNumber]
ld c, a
- call Function2a09c
+ call .AppendNest
ret nc
ld [de], a
inc de
ret
; 2a0cf
-Function2a0cf: ; 2a0cf
+.RoamMon2: ; 2a0cf
ld a, [wRoamMon2Species]
ld b, a
- ld a, [wd265]
+ ld a, [wNamedObjectIndexBuffer]
cp b
ret nz
ld a, [wRoamMon2MapGroup]
ld b, a
ld a, [wRoamMon2MapNumber]
ld c, a
- call Function2a09c
+ call .AppendNest
ret nc
ld [de], a
inc de
@@ -209,7 +211,7 @@ TryWildEncounter:: ; 2a0e7
; 2a111
GetMapEncounterRate: ; 2a111
- ld hl, wd25a
+ ld hl, wMornEncounterRate
call CheckOnWater
ld a, 3
jr z, .ok
@@ -446,10 +448,10 @@ _SwarmWildmonCheck
bit 2, [hl]
pop hl
jr z, .CheckYanma
- ld a, [wdfcc]
+ ld a, [wDunsparceMapGroup]
cp d
jr nz, .CheckYanma
- ld a, [wdfcd]
+ ld a, [wDunsparceMapNumber]
cp e
jr nz, .CheckYanma
call LookUpWildmonsForMapDE
@@ -463,10 +465,10 @@ _SwarmWildmonCheck
bit 3, [hl]
pop hl
jr z, _NoSwarmWildmon
- ld a, [wdc5a]
+ ld a, [wYanmaMapGroup]
cp d
jr nz, _NoSwarmWildmon
- ld a, [wdc5b]
+ ld a, [wYanmaMapNumber]
cp e
jr nz, _NoSwarmWildmon
call LookUpWildmonsForMapDE
@@ -702,11 +704,11 @@ UpdateRoamMons: ; 2a30d
rept 2
add hl, bc
endr
- ld a, [wdfe7]
+ ld a, [wRoamMons_LastMapGroup]
cp [hl]
jr nz, .done
inc hl
- ld a, [wdfe6]
+ ld a, [wRoamMons_LastMapNumber]
cp [hl]
jr z, .update_loop
dec hl
@@ -787,14 +789,14 @@ JumpRoamMon: ; 2a3cd
; 2a3f6
_BackUpMapIndices: ; 2a3f6
- ld a, [wdfe4]
- ld [wdfe6], a
- ld a, [wdfe5]
- ld [wdfe7], a
+ ld a, [wRoamMons_CurrentMapNumber]
+ ld [wRoamMons_LastMapNumber], a
+ ld a, [wRoamMons_CurrentMapGroup]
+ ld [wRoamMons_LastMapGroup], a
ld a, [MapNumber]
- ld [wdfe4], a
+ ld [wRoamMons_CurrentMapNumber], a
ld a, [MapGroup]
- ld [wdfe5], a
+ ld [wRoamMons_CurrentMapGroup], a
ret
; 2a40f
@@ -892,7 +894,7 @@ endr
ld de, StringBuffer1
call CopyName1
ld a, c
- ld [wd265], a
+ ld [wNamedObjectIndexBuffer], a
call GetPokemonName
ld hl, UnknownText_0x2a51a
call PrintText
@@ -945,7 +947,7 @@ rept 2
endr
inc hl
ld a, [hl]
- ld [wd265], a
+ ld [wNamedObjectIndexBuffer], a
call GetPokemonName
ld hl, StringBuffer1
ld de, StringBuffer4
@@ -1029,7 +1031,7 @@ endr
inc hl ; species
ld a, BANK(Trainers)
call GetFarByte
- ld [wd265], a
+ ld [wNamedObjectIndexBuffer], a
call GetPokemonName
ld hl, StringBuffer1
ld de, StringBuffer4