forked from mid-kid/pokecrystal
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathOlivineGym.asm
208 lines (168 loc) · 3.88 KB
/
OlivineGym.asm
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
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
object_const_def ; object_event constants
const OLIVINEGYM_JASMINE
const OLIVINEGYM_GYM_GUY
OlivineGym_MapScripts:
db 0 ; scene scripts
db 0 ; callbacks
OlivineGymJasmineScript:
faceplayer
opentext
checkevent EVENT_BEAT_JASMINE
iftrue .FightDone
writetext Jasmine_SteelTypeIntro
waitbutton
closetext
winlosstext Jasmine_BetterTrainer, 0
loadtrainer JASMINE, JASMINE1
startbattle
reloadmapafterbattle
setevent EVENT_BEAT_JASMINE
opentext
writetext Text_ReceivedMineralBadge
playsound SFX_GET_BADGE
waitsfx
setflag ENGINE_MINERALBADGE
readvar VAR_BADGES
scall OlivineGymActivateRockets
.FightDone:
checkevent EVENT_GOT_TM23_IRON_TAIL
iftrue .GotIronTail
writetext Jasmine_BadgeSpeech
promptbutton
verbosegiveitem TM_IRON_TAIL
iffalse .NoRoomForIronTail
setevent EVENT_GOT_TM23_IRON_TAIL
writetext Jasmine_IronTailSpeech
waitbutton
closetext
end
.GotIronTail:
writetext Jasmine_GoodLuck
waitbutton
.NoRoomForIronTail:
closetext
end
OlivineGymActivateRockets:
ifequal 7, .RadioTowerRockets
ifequal 6, .GoldenrodRockets
end
.GoldenrodRockets:
jumpstd goldenrodrockets
.RadioTowerRockets:
jumpstd radiotowerrockets
OlivineGymGuyScript:
faceplayer
checkevent EVENT_BEAT_JASMINE
iftrue .OlivineGymGuyWinScript
checkevent EVENT_JASMINE_RETURNED_TO_GYM
iffalse .OlivineGymGuyPreScript
opentext
writetext OlivineGymGuyText
waitbutton
closetext
end
.OlivineGymGuyWinScript:
opentext
writetext OlivineGymGuyWinText
waitbutton
closetext
end
.OlivineGymGuyPreScript:
opentext
writetext OlivineGymGuyPreText
waitbutton
closetext
end
OlivineGymStatue:
checkflag ENGINE_MINERALBADGE
iftrue .Beaten
jumpstd gymstatue1
.Beaten:
gettrainername STRING_BUFFER_4, JASMINE, JASMINE1
jumpstd gymstatue2
Jasmine_SteelTypeIntro:
text "…Thank you for"
line "your help at the"
cont "LIGHTHOUSE…"
para "But this is dif-"
line "ferent. Please"
para "allow me to intro-"
line "duce myself."
para "I am JASMINE, a"
line "GYM LEADER. I use"
cont "the steel-type."
para "…Do you know about"
line "the steel-type?"
para "It's a type that"
line "was only recently"
cont "discovered."
para "…Um… May I begin?"
done
Jasmine_BetterTrainer:
text "…You are a better"
line "trainer than me,"
para "in both skill and"
line "kindness."
para "In accordance with"
line "LEAGUE rules, I"
para "confer upon you"
line "this BADGE."
done
Text_ReceivedMineralBadge:
text "<PLAYER> received"
line "MINERALBADGE."
done
Jasmine_BadgeSpeech:
text "MINERALBADGE"
line "raises #MON's"
cont "DEFENSE."
para "…Um… Please take"
line "this too…"
done
Jasmine_IronTailSpeech:
text "…You could use"
line "that TM to teach"
cont "IRON TAIL."
done
Jasmine_GoodLuck:
text "Um… I don't know"
line "how to say this,"
cont "but good luck…"
done
OlivineGymGuyText:
text "JASMINE uses the"
line "newly discovered"
cont "steel-type."
para "I don't know very"
line "much about it."
done
OlivineGymGuyWinText:
text "That was awesome."
para "The steel-type,"
line "huh?"
para "That was a close"
line "encounter of an"
cont "unknown kind!"
done
OlivineGymGuyPreText:
text "JASMINE, the GYM"
line "LEADER, is at the"
cont "LIGHTHOUSE."
para "She's been tending"
line "to a sick #MON."
para "A strong trainer"
line "has to be compas-"
cont "sionate."
done
OlivineGym_MapEvents:
db 0, 0 ; filler
db 2 ; warp events
warp_event 4, 15, OLIVINE_CITY, 2
warp_event 5, 15, OLIVINE_CITY, 2
db 0 ; coord events
db 2 ; bg events
bg_event 3, 13, BGEVENT_READ, OlivineGymStatue
bg_event 6, 13, BGEVENT_READ, OlivineGymStatue
db 2 ; object events
object_event 5, 3, SPRITE_JASMINE, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, OlivineGymJasmineScript, EVENT_OLIVINE_GYM_JASMINE
object_event 7, 13, SPRITE_GYM_GUY, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, OlivineGymGuyScript, -1