summaryrefslogtreecommitdiff
path: root/scripts/bikeshop.asm
blob: 97aaed1565a7badbe337bfa2ce7e5d1e6ad4f876 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
BikeShopScript:
	jp EnableAutoTextBoxDrawing

BikeShopTextPointers:
	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
	ld b, $4
	ld c, $f
	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
	call HandleMenuInput
	bit 1, a
	jr nz, .cancel
	ld hl, wd730
	res 6, [hl]
	ld a, [wCurrentMenuItem]
	and a
	jr nz, .cancel
	ld hl, BikeShopCantAffordText
	call PrintText
.cancel
	ld hl, BikeShopComeAgainText
	call PrintText
.Done
	jp TextScriptEnd

BikeShopMenuText:
	db   "BICYCLETTE"
	next "RETOUR@"

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 "@"