summaryrefslogtreecommitdiff
path: root/engine
diff options
context:
space:
mode:
Diffstat (limited to 'engine')
-rw-r--r--engine/bank3c.asm2
-rwxr-xr-xengine/overworld/npc_movement_2.asm24
-rwxr-xr-xengine/predefs17.asm22
-rwxr-xr-xengine/predefs17_2.asm15
4 files changed, 48 insertions, 15 deletions
diff --git a/engine/bank3c.asm b/engine/bank3c.asm
index 44382257..2d9671f9 100644
--- a/engine/bank3c.asm
+++ b/engine/bank3c.asm
@@ -386,7 +386,7 @@ PikachuMovementData_f1f2c:
INCLUDE "scripts/celadondiner2.asm"
INCLUDE "scripts/safarizoneentrance2.asm"
-INCLUDE "scripts/cinnabargym2.asm"
+INCLUDE "scripts/cinnabargym3.asm"
INCLUDE "scripts/mtmoonpokecenter2.asm"
diff --git a/engine/overworld/npc_movement_2.asm b/engine/overworld/npc_movement_2.asm
new file mode 100755
index 00000000..c5e11aa0
--- /dev/null
+++ b/engine/overworld/npc_movement_2.asm
@@ -0,0 +1,24 @@
+FreezeEnemyTrainerSprite: ; eaa02 (3a:6a02)
+ ld a, [wCurMap]
+ cp POKEMONTOWER_7
+ ret z ; the Rockets on Pokemon Tower 7F leave after battling, so don't freeze them
+ ld hl, RivalIDs
+ ld a, [wEngagedTrainerClass]
+ ld b, a
+.loop
+ ld a, [hli]
+ cp $ff
+ jr z, .notRival
+ cp b
+ ret z ; the rival leaves after battling, so don't freeze him
+ jr .loop
+.notRival
+ ld a, [wSpriteIndex]
+ ld [H_SPRITEINDEX], a
+ jp SetSpriteMovementBytesToFF
+
+RivalIDs: ; eaa20 (3a:6a20)
+ db OPP_SONY1
+ db OPP_SONY2
+ db OPP_SONY3
+ db $ff
diff --git a/engine/predefs17.asm b/engine/predefs17.asm
index 49818543..a674b45a 100755
--- a/engine/predefs17.asm
+++ b/engine/predefs17.asm
@@ -1,15 +1,9 @@
-; updates the types of a party mon (pointed to in hl) to the ones of the mon specified in wd11e
-SetPartyMonTypes: ; 5db93 (17:5b93)
- call GetPredefRegisters
- ld bc, wPartyMon1Type - wPartyMon1 ; $5
- add hl, bc
- ld a, [wd11e]
- ld [wd0b5], a
- push hl
- call GetMonHeader
- pop hl
- ld a, [wMonHType1]
- ld [hli], a
- ld a, [wMonHType2]
- ld [hl], a
+; this function temporarily makes the starters (and Ivysaur) seen
+; so that the full Pokedex information gets displayed in Oak's lab
+StarterDex: ; 5c0dc (17:40dc)
+ ld a, %01001011 ; set starter flags
+ ld [wPokedexOwned], a
+ predef ShowPokedexData
+ xor a ; unset starter flags
+ ld [wPokedexOwned], a
ret
diff --git a/engine/predefs17_2.asm b/engine/predefs17_2.asm
new file mode 100755
index 00000000..49818543
--- /dev/null
+++ b/engine/predefs17_2.asm
@@ -0,0 +1,15 @@
+; updates the types of a party mon (pointed to in hl) to the ones of the mon specified in wd11e
+SetPartyMonTypes: ; 5db93 (17:5b93)
+ call GetPredefRegisters
+ ld bc, wPartyMon1Type - wPartyMon1 ; $5
+ add hl, bc
+ ld a, [wd11e]
+ ld [wd0b5], a
+ push hl
+ call GetMonHeader
+ pop hl
+ ld a, [wMonHType1]
+ ld [hli], a
+ ld a, [wMonHType2]
+ ld [hl], a
+ ret