summaryrefslogtreecommitdiff
path: root/scripts/BikeShop.asm
diff options
context:
space:
mode:
authordannye <33dannye@gmail.com>2020-05-20 19:40:33 -0500
committerdannye <33dannye@gmail.com>2020-05-20 20:02:53 -0500
commit10f9559eab8c93b94abb8ae8d1083704ad4e169a (patch)
tree7dbe7b152dde8a6e9b56664b5b8cdfc0d6be1253 /scripts/BikeShop.asm
parentb8954732a3eaa3a784a6e3eaaa68977a9ccd9816 (diff)
Sync with pokered
Diffstat (limited to 'scripts/BikeShop.asm')
-rwxr-xr-xscripts/BikeShop.asm151
1 files changed, 151 insertions, 0 deletions
diff --git a/scripts/BikeShop.asm b/scripts/BikeShop.asm
new file mode 100755
index 00000000..a554cf7c
--- /dev/null
+++ b/scripts/BikeShop.asm
@@ -0,0 +1,151 @@
+BikeShop_Script:
+ call EnableAutoTextBoxDrawing
+ ret
+
+BikeShop_TextPointers:
+ dw BikeShopText1
+ dw BikeShopText2
+ dw BikeShopText3
+
+BikeShopText1:
+ TX_ASM
+ CheckEvent EVENT_GOT_BICYCLE
+ jr z, .asm_260d4
+ ld hl, BikeShopText_1d82f
+ call PrintText
+ jp .Done
+
+.asm_260d4
+ ld b, BIKE_VOUCHER
+ call IsItemInBag
+ jr z, .asm_41190
+ ld hl, BikeShopText_1d81f
+ call PrintText
+ lb bc, BICYCLE, 1
+ call GiveItem
+ jr nc, .BagFull
+ ld a, BIKE_VOUCHER
+ ld [$ffdb], a
+ callba RemoveItemByID
+ SetEvent EVENT_GOT_BICYCLE
+ ld hl, BikeShopText_1d824
+ call PrintText
+ jr .Done
+
+.BagFull
+ ld hl, BikeShopText_1d834
+ call PrintText
+ jr .Done
+
+.asm_41190
+ ld hl, BikeShopText_1d810
+ call PrintText
+ xor a
+ ld [wCurrentMenuItem], a
+ ld [wLastMenuItem], a
+ ld a, A_BUTTON | B_BUTTON
+ ld [wMenuWatchedKeys], a
+ ld a, $1
+ ld [wMaxMenuItem], a
+ ld a, $2
+ ld [wTopMenuItemY], a
+ ld a, $1
+ ld [wTopMenuItemX], a
+ ld hl, wd730
+ set 6, [hl]
+ coord hl, 0, 0
+ lb bc, 4, 15
+ call TextBoxBorder
+ call UpdateSprites
+ coord hl, 2, 2
+ ld de, BikeShopMenuText
+ call PlaceString
+ coord hl, 8, 3
+ ld de, BikeShopMenuPrice
+ call PlaceString
+ ld hl, BikeShopText_1d815
+ call PrintText
+ ; This fixes the bike shop instatext glitch
+ ld hl, wd730
+ res 6, [hl]
+ call HandleMenuInput
+ bit BIT_B_BUTTON, a
+ jr nz, .cancel
+ ld a, [wCurrentMenuItem]
+ and a
+ jr nz, .cancel
+ ld hl, BikeShopCantAffordText
+ call PrintText
+.cancel
+ ld hl, BikeShopComeAgainText
+ call PrintText
+.Done
+ jp TextScriptEnd
+
+BikeShopMenuText:
+ db "BICYCLE"
+ next "CANCEL@"
+
+BikeShopMenuPrice:
+ db "¥1000000@"
+
+BikeShopText_1d810:
+ TX_FAR _BikeShopText_1d810
+ db "@"
+
+BikeShopText_1d815:
+ TX_FAR _BikeShopText_1d815
+ db "@"
+
+BikeShopCantAffordText:
+ TX_FAR _BikeShopCantAffordText
+ db "@"
+
+BikeShopText_1d81f:
+ TX_FAR _BikeShopText_1d81f
+ db "@"
+
+BikeShopText_1d824:
+ TX_FAR _BikeShopText_1d824
+ TX_SFX_KEY_ITEM
+ db "@"
+
+BikeShopComeAgainText:
+ TX_FAR _BikeShopComeAgainText
+ db "@"
+
+BikeShopText_1d82f:
+ TX_FAR _BikeShopText_1d82f
+ db "@"
+
+BikeShopText_1d834:
+ TX_FAR _BikeShopText_1d834
+ db "@"
+
+BikeShopText2:
+ TX_ASM
+ ld hl, BikeShopText_1d843
+ call PrintText
+ jp TextScriptEnd
+
+BikeShopText_1d843:
+ TX_FAR _BikeShopText_1d843
+ db "@"
+
+BikeShopText3:
+ TX_ASM
+ CheckEvent EVENT_GOT_BICYCLE
+ ld hl, BikeShopText_1d861
+ jr nz, .asm_34d2d
+ ld hl, BikeShopText_1d85c
+.asm_34d2d
+ call PrintText
+ jp TextScriptEnd
+
+BikeShopText_1d85c:
+ TX_FAR _BikeShopText_1d85c
+ db "@"
+
+BikeShopText_1d861:
+ TX_FAR _BikeShopText_1d861
+ db "@"