summaryrefslogtreecommitdiff
path: root/scripts/CinnabarLabFossilRoom.asm
diff options
context:
space:
mode:
authorRangi <remy.oukaour+rangi42@gmail.com>2019-01-01 15:06:23 -0500
committerRangi <remy.oukaour+rangi42@gmail.com>2019-01-01 23:33:10 -0500
commitc7796024590fec48ac79756793c1a6e3b54daf8f (patch)
tree0d61caa7ebe429995a61e800d1d78c3a82aec886 /scripts/CinnabarLabFossilRoom.asm
parent90430e6dee9e207dc0b618d07566f83617343f60 (diff)
Rename map files, labels, and constants to be consistent and work with Polished Map
Diffstat (limited to 'scripts/CinnabarLabFossilRoom.asm')
-rwxr-xr-xscripts/CinnabarLabFossilRoom.asm109
1 files changed, 109 insertions, 0 deletions
diff --git a/scripts/CinnabarLabFossilRoom.asm b/scripts/CinnabarLabFossilRoom.asm
new file mode 100755
index 00000000..f5f03a19
--- /dev/null
+++ b/scripts/CinnabarLabFossilRoom.asm
@@ -0,0 +1,109 @@
+CinnabarLabFossilRoom_Script:
+ jp EnableAutoTextBoxDrawing
+
+CinnabarLabFossilRoom_TextPointers:
+ dw Lab4Text1
+ dw Lab4Text2
+
+Lab4Script_GetFossilsInBag:
+; construct a list of all fossils in the player's bag
+ xor a
+ ld [wFilteredBagItemsCount], a
+ ld de, wFilteredBagItems
+ ld hl, FossilsList
+.loop
+ ld a, [hli]
+ and a
+ jr z, .done
+ push hl
+ push de
+ ld [wd11e], a
+ ld b, a
+ predef GetQuantityOfItemInBag
+ pop de
+ pop hl
+ ld a, b
+ and a
+ jr z, .loop
+
+ ; A fossil's in the bag
+ ld a, [wd11e]
+ ld [de], a
+ inc de
+ push hl
+ ld hl, wFilteredBagItemsCount
+ inc [hl]
+ pop hl
+ jr .loop
+.done
+ ld a, $ff
+ ld [de], a
+ ret
+
+FossilsList:
+ db DOME_FOSSIL
+ db HELIX_FOSSIL
+ db OLD_AMBER
+ db $00
+
+Lab4Text1:
+ TX_ASM
+ CheckEvent EVENT_GAVE_FOSSIL_TO_LAB
+ jr nz, .asm_75d96
+ ld hl, Lab4Text_75dc6
+ call PrintText
+ call Lab4Script_GetFossilsInBag
+ ld a, [wFilteredBagItemsCount]
+ and a
+ jr z, .asm_75d8d
+ callba GiveFossilToCinnabarLab
+ jr .asm_75d93
+.asm_75d8d
+ ld hl, Lab4Text_75dcb
+ call PrintText
+.asm_75d93
+ jp TextScriptEnd
+.asm_75d96
+ CheckEventAfterBranchReuseA EVENT_LAB_STILL_REVIVING_FOSSIL, EVENT_GAVE_FOSSIL_TO_LAB
+ jr z, .asm_75da2
+ ld hl, Lab4Text_75dd0
+ call PrintText
+ jr .asm_75d93
+.asm_75da2
+ call LoadFossilItemAndMonNameBank1D
+ ld hl, Lab4Text_75dd5
+ call PrintText
+ SetEvent EVENT_LAB_HANDING_OVER_FOSSIL_MON
+ ld a, [wFossilMon]
+ ld b, a
+ ld c, 30
+ call GivePokemon
+ jr nc, .asm_75d93
+ ResetEvents EVENT_GAVE_FOSSIL_TO_LAB, EVENT_LAB_STILL_REVIVING_FOSSIL, EVENT_LAB_HANDING_OVER_FOSSIL_MON
+ jr .asm_75d93
+
+Lab4Text_75dc6:
+ TX_FAR _Lab4Text_75dc6
+ db "@"
+
+Lab4Text_75dcb:
+ TX_FAR _Lab4Text_75dcb
+ db "@"
+
+Lab4Text_75dd0:
+ TX_FAR _Lab4Text_75dd0
+ db "@"
+
+Lab4Text_75dd5:
+ TX_FAR _Lab4Text_75dd5
+ db "@"
+
+Lab4Text2:
+ TX_ASM
+ ld a, $3
+ ld [wWhichTrade], a
+ predef DoInGameTradeDialogue
+ jp TextScriptEnd
+
+LoadFossilItemAndMonNameBank1D:
+ jpba LoadFossilItemAndMonName