summaryrefslogtreecommitdiff
path: root/scripts/ViridianMart.asm
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/ViridianMart.asm')
-rwxr-xr-xscripts/ViridianMart.asm94
1 files changed, 94 insertions, 0 deletions
diff --git a/scripts/ViridianMart.asm b/scripts/ViridianMart.asm
new file mode 100755
index 00000000..b90d331c
--- /dev/null
+++ b/scripts/ViridianMart.asm
@@ -0,0 +1,94 @@
+ViridianMart_Script:
+ call ViridianMartScript_1d47d
+ call EnableAutoTextBoxDrawing
+ ld hl, ViridianMart_ScriptPointers
+ ld a, [wViridianMartCurScript]
+ jp CallFunctionInTable
+
+ViridianMartScript_1d47d:
+ CheckEvent EVENT_OAK_GOT_PARCEL
+ jr nz, .asm_1d489
+ ld hl, ViridianMart_TextPointers
+ jr .asm_1d48c
+.asm_1d489
+ ld hl, ViridianMart_TextPointers2
+.asm_1d48c
+ ld a, l
+ ld [wMapTextPtr], a
+ ld a, h
+ ld [wMapTextPtr+1], a
+ ret
+
+ViridianMart_ScriptPointers:
+ dw ViridianMartScript0
+ dw ViridianMartScript1
+ dw ViridianMartScript2
+
+ViridianMartScript0:
+ call UpdateSprites
+ ld a, $4
+ ld [hSpriteIndexOrTextID], a
+ call DisplayTextID
+ ld hl, wSimulatedJoypadStatesEnd
+ ld de, RLEMovement1d4bb
+ call DecodeRLEList
+ dec a
+ ld [wSimulatedJoypadStatesIndex], a
+ call StartSimulatingJoypadStates
+ ld a, $1
+ ld [wViridianMartCurScript], a
+ ret
+
+RLEMovement1d4bb:
+ db D_LEFT, $01
+ db D_UP, $02
+ db $ff
+
+ViridianMartScript1:
+ ld a, [wSimulatedJoypadStatesIndex]
+ and a
+ ret nz
+ call Delay3
+ ld a, $5
+ ld [hSpriteIndexOrTextID], a
+ call DisplayTextID
+ lb bc, OAKS_PARCEL, 1
+ call GiveItem
+ SetEvent EVENT_GOT_OAKS_PARCEL
+ ld a, $2
+ ld [wViridianMartCurScript], a
+ ; fallthrough
+ViridianMartScript2:
+ ret
+
+ViridianMart_TextPointers:
+ dw ViridianMartText1
+ dw ViridianMartText2
+ dw ViridianMartText3
+ dw ViridianMartText4
+ dw ViridianMartText5
+ViridianMart_TextPointers2:
+ dw ViridianCashierText
+ dw ViridianMartText2
+ dw ViridianMartText3
+
+ViridianMartText1:
+ TX_FAR _ViridianMartText1
+ db "@"
+
+ViridianMartText4:
+ TX_FAR _ViridianMartText4
+ db "@"
+
+ViridianMartText5:
+ TX_FAR ViridianMartParcelQuestText
+ TX_SFX_KEY_ITEM
+ db "@"
+
+ViridianMartText2:
+ TX_FAR _ViridianMartText2
+ db "@"
+
+ViridianMartText3:
+ TX_FAR _ViridianMartText3
+ db "@"