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
148
|
BikeShop_Script:
jp EnableAutoTextBoxDrawing
BikeShop_TextPointers:
def_text_pointers
dw_const BikeShopClerkText, TEXT_BIKESHOP_CLERK
dw_const BikeShopMiddleAgedWomanText, TEXT_BIKESHOP_MIDDLE_AGED_WOMAN
dw_const BikeShopYoungsterText, TEXT_BIKESHOP_YOUNGSTER
BikeShopClerkText:
text_asm
CheckEvent EVENT_GOT_BICYCLE
jr z, .dontHaveBike
ld hl, BikeShopClerkHowDoYouLikeYourBicycleText
call PrintText
jp .Done
.dontHaveBike
ld b, BIKE_VOUCHER
call IsItemInBag
jr z, .dontHaveVoucher
ld hl, BikeShopClerkOhThatsAVoucherText
call PrintText
lb bc, BICYCLE, 1
call GiveItem
jr nc, .BagFull
ld a, BIKE_VOUCHER
ldh [hItemToRemoveID], a
farcall RemoveItemByID
SetEvent EVENT_GOT_BICYCLE
ld hl, BikeShopExchangedVoucherText
call PrintText
jr .Done
.BagFull
ld hl, BikeShopBagFullText
call PrintText
jr .Done
.dontHaveVoucher
ld hl, BikeShopClerkWelcomeText
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]
hlcoord 0, 0
ld b, 4
ld c, 15
call TextBoxBorder
call UpdateSprites
hlcoord 2, 2
ld de, BikeShopMenuText
call PlaceString
hlcoord 8, 3
ld de, BikeShopMenuPrice
call PlaceString
ld hl, BikeShopClerkDoYouLikeItText
call PrintText
call HandleMenuInput
bit BIT_B_BUTTON, 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 "BICYCLE"
next "CANCEL@"
BikeShopMenuPrice:
db "¥1000000@"
BikeShopClerkWelcomeText:
text_far _BikeShopClerkWelcomeText
text_end
BikeShopClerkDoYouLikeItText:
text_far _BikeShopClerkDoYouLikeItText
text_end
BikeShopCantAffordText:
text_far _BikeShopCantAffordText
text_end
BikeShopClerkOhThatsAVoucherText:
text_far _BikeShopClerkOhThatsAVoucherText
text_end
BikeShopExchangedVoucherText:
text_far _BikeShopExchangedVoucherText
sound_get_key_item
text_end
BikeShopComeAgainText:
text_far _BikeShopComeAgainText
text_end
BikeShopClerkHowDoYouLikeYourBicycleText:
text_far _BikeShopClerkHowDoYouLikeYourBicycleText
text_end
BikeShopBagFullText:
text_far _BikeShopBagFullText
text_end
BikeShopMiddleAgedWomanText:
text_asm
ld hl, .Text
call PrintText
jp TextScriptEnd
.Text:
text_far _BikeShopMiddleAgedWomanText
text_end
BikeShopYoungsterText:
text_asm
CheckEvent EVENT_GOT_BICYCLE
ld hl, .CoolBikeText
jr nz, .gotBike
ld hl, .TheseBikesAreExpensiveText
.gotBike
call PrintText
jp TextScriptEnd
.TheseBikesAreExpensiveText:
text_far _BikeShopYoungsterTheseBikesAreExpensiveText
text_end
.CoolBikeText:
text_far _BikeShopYoungsterCoolBikeText
text_end
|