diff options
author | obskyr <powpowd@gmail.com> | 2019-02-26 01:58:23 +0100 |
---|---|---|
committer | obskyr <powpowd@gmail.com> | 2019-02-26 01:58:23 +0100 |
commit | 9608dcfb97c31c44c7fbf1d0ca267ad7736389f7 (patch) | |
tree | 9808dbd1bd18776d96d84c97caa6607af47736d5 /engine/items/tmhm.asm | |
parent | 5c9ee00c82b9140c1e818f68d4f37ab59c631197 (diff) | |
parent | 0e77e1aaa7f27e44cb8cbc4afdb75305bd2944df (diff) |
Merge branch '2Tie-master'
Diffstat (limited to 'engine/items/tmhm.asm')
-rw-r--r-- | engine/items/tmhm.asm | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/engine/items/tmhm.asm b/engine/items/tmhm.asm new file mode 100644 index 0000000..d2c4872 --- /dev/null +++ b/engine/items/tmhm.asm @@ -0,0 +1,50 @@ +INCLUDE "constants.asm" + +SECTION "engine/items/tmhm.asm", ROMX + +CanLearnTMHMMove: ; 04:528f +; Gets the index of TM or HM with move ID wce32, +; then checks the corresponding flag in wMonDexIndex's learnset. +; Sets register c to 1 if TM/HM is in learnset OR if debug is enabled. + ld a, [wDebugFlags] + ld c, 01 + bit 1, a + ret nz + + ld a, [wMonDexIndex] + ld [wCurSpecies], a + call GetMonHeader + ld hl, wMonHLearnset + push hl + + ld a, [wce32] + ld b, a + ld c, 0 + ld hl, TMHMMoves +.loop + ld a, [hli] + cp b + jr z, .jump + inc c + jr .loop + +.jump + pop hl + ld b, 2 ;CHECK_FLAG + push de + ld d, 0 + predef SmallFarFlagAction + pop de + ret + +GetTMHMMove: ; 04:52C1 +; converts TM/HM list index to TM/HM move ID + ld a, [wNamedObjectIndexBuffer] + dec a + ld hl, TMHMMoves + ld b, 0 + ld c, a + add hl, bc + ld a, [hl] + ld [wNamedObjectIndexBuffer], a + ret
\ No newline at end of file |