summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlibjet <libj3t@gmail.com>2020-05-21 15:34:41 +0100
committerlibjet <libj3t@gmail.com>2020-05-21 15:34:41 +0100
commit0de5cf5629714c8781db58472b077b5fe58920be (patch)
tree1f58eac52e6173d6fe3ba264f086b602f97d4e95
parent562c8da5cbdc931428b36f7503386babd7ce7fc8 (diff)
Add card_key.asm and basement_key.asm
-rwxr-xr-xengine/events/basement_key.asm32
-rwxr-xr-xengine/events/card_key.asm37
-rw-r--r--main.asm8
3 files changed, 73 insertions, 4 deletions
diff --git a/engine/events/basement_key.asm b/engine/events/basement_key.asm
new file mode 100755
index 00000000..ab8c39ce
--- /dev/null
+++ b/engine/events/basement_key.asm
@@ -0,0 +1,32 @@
+_BasementKey:
+; Are we even in the right map to use this?
+ ld a, [wMapGroup]
+ cp GROUP_GOLDENROD_UNDERGROUND
+ jr nz, .nope
+
+ ld a, [wMapNumber]
+ cp MAP_GOLDENROD_UNDERGROUND
+ jr nz, .nope
+; Are we on the tile in front of the door?
+ call GetFacingTileCoord
+ ld a, d
+ cp 22
+ jr nz, .nope
+ ld a, e
+ cp 10
+ jr nz, .nope
+; Let's use the Basement Key
+ ld hl, .BasementKeyScript
+ call QueueScript
+ ld a, TRUE
+ ld [wItemEffectSucceeded], a
+ ret
+
+.nope
+ ld a, FALSE
+ ld [wItemEffectSucceeded], a
+ ret
+
+.BasementKeyScript:
+ closetext
+ farsjump BasementDoorScript
diff --git a/engine/events/card_key.asm b/engine/events/card_key.asm
new file mode 100755
index 00000000..c15b1def
--- /dev/null
+++ b/engine/events/card_key.asm
@@ -0,0 +1,37 @@
+_CardKey:
+; Are we even in the right map to use this?
+ ld a, [wMapGroup]
+ cp GROUP_RADIO_TOWER_3F
+ jr nz, .nope
+
+ ld a, [wMapNumber]
+ cp MAP_RADIO_TOWER_3F
+ jr nz, .nope
+; Are we facing the slot?
+ ld a, [wPlayerDirection]
+ and %1100
+ cp OW_UP
+ jr nz, .nope
+
+ call GetFacingTileCoord
+ ld a, d
+ cp 18
+ jr nz, .nope
+ ld a, e
+ cp 6
+ jr nz, .nope
+; Let's use the Card Key.
+ ld hl, .CardKeyScript
+ call QueueScript
+ ld a, TRUE
+ ld [wItemEffectSucceeded], a
+ ret
+
+.nope
+ ld a, FALSE
+ ld [wItemEffectSucceeded], a
+ ret
+
+.CardKeyScript:
+ closetext
+ farsjump CardKeySlotScript
diff --git a/main.asm b/main.asm
index 7cf8ffde..5fe02125 100644
--- a/main.asm
+++ b/main.asm
@@ -362,13 +362,12 @@ INCLUDE "engine/events/fishing_gfx.asm"
INCLUDE "engine/events/poisonstep.asm"
INCLUDE "engine/events/sweet_scent.asm"
INCLUDE "engine/events/squirtbottle.asm"
+INCLUDE "engine/events/card_key.asm"
+INCLUDE "engine/events/basement_key.asm"
-_CardKey::
- dr $507ac, $507e7
-_BasementKey::
- dr $507e7, $50819
_SacredAsh::
dr $50819, $5087d
+
CopyMonToTempMon::
dr $5087d, $50940
PrintMonTypes::
@@ -408,6 +407,7 @@ CalcExpAtLevel::
dr $51550, $5161b
_SwitchPartyMons::
dr $5161b, $51749
+
INCLUDE "engine/gfx/load_pics.asm"
INCLUDE "engine/pokemon/move_mon_wo_mail.asm"
INCLUDE "data/pokemon/base_stats.asm"