summaryrefslogtreecommitdiff
path: root/data/wild/fish.asm
diff options
context:
space:
mode:
Diffstat (limited to 'data/wild/fish.asm')
-rw-r--r--data/wild/fish.asm45
1 files changed, 24 insertions, 21 deletions
diff --git a/data/wild/fish.asm b/data/wild/fish.asm
index f25365c49..844629201 100644
--- a/data/wild/fish.asm
+++ b/data/wild/fish.asm
@@ -6,16 +6,18 @@ FishAction: ; 92402
push af
push bc
push hl
-
+
; Get the fishing group for this map.
ld b, e
call GetFishGroupHeader
-
+
ld hl, FishGroupHeaders
- add_n_times hl, de, 7
-
+rept 7
+ add hl, de
+endr
+
call Fish
-
+
pop hl
pop bc
pop af
@@ -42,29 +44,31 @@ Fish: ; 9241a
inc hl
ld e, b
ld d, 0
- add_n_times hl, de, 2
+rept 2
+ add hl, de
+endr
ld a, [hli]
ld h, [hl]
ld l, a
-
+
; Encounter chance for this monster:
call Random
-
+
.CheckEncounter
cp [hl]
jr z, .ReadMon
jr c, .ReadMon
-
+
; Next monster...
inc hl
inc hl
inc hl
jr .CheckEncounter
-
+
.ReadMon
; We're done with the encounter chance
inc hl
-
+
; Species 0 triggers a read from a time-based encounter table.
ld a, [hli]
ld d, a
@@ -74,21 +78,20 @@ Fish: ; 9241a
; Level
ld e, [hl]
ret
-
+
.NoBite
ld de, 0
ret
-
+
.TimeEncounter
; The level byte is repurposed as the index for the new table.
ld e, [hl]
ld d, 0
ld hl, TimeFishGroups
+rept 4
add hl, de
- add hl, de
- add hl, de
- add hl, de
+endr
; One nightmon, then one daymon
ld a, [TimeOfDay]
@@ -97,7 +100,7 @@ Fish: ; 9241a
jr c, .TimeSpecies
inc hl
inc hl
-
+
.TimeSpecies
ld d, [hl]
inc hl
@@ -115,27 +118,27 @@ GetFishGroupHeader: ; 9245b
bit 2, [hl]
pop hl
jr z, .end
-
+
; Groups 11 and 12 have special attributes.
ld a, d
cp 11
jr z, .group11
cp 12
jr z, .group12
-
+
.end
dec d
ld e, d
ld d, 0
ret
-
+
.group11
ld a, [wdfce]
cp 1
jr nz, .end
ld d, 6
jr .end
-
+
.group12
ld a, [wdfce]
cp 2