summaryrefslogtreecommitdiff
path: root/engine/overworld/wild_mons.asm
diff options
context:
space:
mode:
Diffstat (limited to 'engine/overworld/wild_mons.asm')
-rw-r--r--engine/overworld/wild_mons.asm33
1 files changed, 33 insertions, 0 deletions
diff --git a/engine/overworld/wild_mons.asm b/engine/overworld/wild_mons.asm
new file mode 100644
index 00000000..dae57f23
--- /dev/null
+++ b/engine/overworld/wild_mons.asm
@@ -0,0 +1,33 @@
+LoadWildData:
+ ld hl, WildDataPointers
+ ld a, [wCurMap]
+
+ ; get wild data for current map
+ ld c, a
+ ld b, 0
+ add hl, bc
+ add hl, bc
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a ; hl now points to wild data for current map
+ ld a, [hli]
+ ld [wGrassRate], a
+ and a
+ jr z, .NoGrassData ; if no grass data, skip to surfing data
+ push hl
+ ld de, wGrassMons ; otherwise, load grass data
+ ld bc, $0014
+ call CopyData
+ pop hl
+ ld bc, $0014
+ add hl, bc
+.NoGrassData
+ ld a, [hli]
+ ld [wWaterRate], a
+ and a
+ ret z ; if no water data, we're done
+ ld de, wWaterMons ; otherwise, load surfing data
+ ld bc, $0014
+ jp CopyData
+
+INCLUDE "data/wild_mons.asm"