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
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
|
object_const_def
const OLIVINECITY_SAILOR1
const OLIVINECITY_STANDING_YOUNGSTER
const OLIVINECITY_SAILOR2
const OLIVINECITY_OLIVINE_RIVAL
OlivineCity_MapScripts:
def_scene_scripts
scene_script .DummyScene0 ; SCENE_DEFAULT
scene_script .DummyScene1 ; SCENE_FINISHED
def_callbacks
callback MAPCALLBACK_NEWMAP, .FlyPoint
.DummyScene0:
end
.DummyScene1:
end
.FlyPoint:
setflag ENGINE_FLYPOINT_OLIVINE
endcallback
OlivineCityRivalSceneTop:
turnobject PLAYER, LEFT
showemote EMOTE_SHOCK, PLAYER, 15
special FadeOutMusic
pause 15
playsound SFX_ENTER_DOOR
appear OLIVINECITY_OLIVINE_RIVAL
waitsfx
applymovement OLIVINECITY_OLIVINE_RIVAL, OlivineCityRivalApproachesTopMovement
playmusic MUSIC_RIVAL_ENCOUNTER
opentext
writetext OlivineCityRivalText
waitbutton
closetext
applymovement PLAYER, OlivineCityPlayerStepsAsideTopMovement
turnobject PLAYER, RIGHT
applymovement OLIVINECITY_OLIVINE_RIVAL, OlivineCityRivalLeavesTopMovement
setscene SCENE_FINISHED
disappear OLIVINECITY_OLIVINE_RIVAL
special RestartMapMusic
variablesprite SPRITE_OLIVINE_RIVAL, SPRITE_SWIMMER_GUY
special LoadUsedSpritesGFX
end
OlivineCityRivalSceneBottom:
turnobject PLAYER, LEFT
showemote EMOTE_SHOCK, PLAYER, 15
special FadeOutMusic
pause 15
playsound SFX_ENTER_DOOR
appear OLIVINECITY_OLIVINE_RIVAL
waitsfx
applymovement OLIVINECITY_OLIVINE_RIVAL, OlivineCityRivalApproachesBottomMovement
playmusic MUSIC_RIVAL_ENCOUNTER
opentext
writetext OlivineCityRivalText
waitbutton
closetext
applymovement PLAYER, OlivineCityPlayerStepsAsideBottomMovement
turnobject PLAYER, RIGHT
applymovement OLIVINECITY_OLIVINE_RIVAL, OlivineCityRivalLeavesBottomMovement
disappear OLIVINECITY_OLIVINE_RIVAL
setscene SCENE_FINISHED
special RestartMapMusic
variablesprite SPRITE_OLIVINE_RIVAL, SPRITE_SWIMMER_GUY
special LoadUsedSpritesGFX
end
OlivineCitySailor1Script:
jumptextfaceplayer OlivineCitySailor1Text
OlivineCityStandingYoungsterScript:
faceplayer
opentext
random 2
ifequal 0, .FiftyFifty
writetext OlivineCityStandingYoungsterPokegearText
waitbutton
closetext
end
.FiftyFifty:
writetext OlivineCityStandingYoungsterPokedexText
waitbutton
closetext
end
OlivineCitySailor2Script:
jumptextfaceplayer OlivineCitySailor2Text
OlivineCitySign:
jumptext OlivineCitySignText
OlivineCityPortSign:
jumptext OlivineCityPortSignText
OlivineGymSign:
jumptext OlivineGymSignText
OlivineLighthouseSign:
jumptext OlivineLighthouseSignText
OlivineCityBattleTowerSign:
jumptext OlivineCityBattleTowerSignText
OlivineCityPokecenterSign:
jumpstd PokecenterSignScript
OlivineCityMartSign:
jumpstd MartSignScript
OlivineCityRivalApproachesTopMovement:
step DOWN
step RIGHT
step RIGHT
step_end
OlivineCityRivalApproachesBottomMovement:
step DOWN
step DOWN
step RIGHT
step RIGHT
step_end
OlivineCityRivalLeavesTopMovement:
step RIGHT
step RIGHT
step RIGHT
step RIGHT
step RIGHT
step RIGHT
step UP
step UP
step UP
step UP
step UP
step UP
step_end
OlivineCityRivalLeavesBottomMovement:
step RIGHT
step RIGHT
step RIGHT
step RIGHT
step RIGHT
step RIGHT
step UP
step UP
step UP
step UP
step UP
step_end
OlivineCityPlayerStepsAsideTopMovement:
step DOWN
turn_head UP
step_end
OlivineCityPlayerStepsAsideBottomMovement:
step UP
turn_head DOWN
step_end
OlivineCityRivalText:
text "…"
para "You again?"
para "There's no need to"
line "panic. I don't"
para "bother with wimps"
line "like you."
para "Speaking of weak-"
line "lings, the city's"
para "GYM LEADER isn't"
line "here."
para "Supposedly taking"
line "care of a sick"
para "#MON at the"
line "LIGHTHOUSE."
para "Humph! Boo-hoo!"
line "Just let sick"
cont "#MON go!"
para "A #MON that"
line "can't battle is"
cont "worthless!"
para "Why don't you go"
line "train at the"
cont "LIGHTHOUSE?"
para "Who knows. It may"
line "make you a bit"
cont "less weak!"
done
OlivineCitySailor1Text:
text "Dark roads are"
line "dangerous at"
cont "night."
para "But in the pitch-"
line "black of night,"
para "the sea is even"
line "more treacherous!"
para "Without the beacon"
line "of the LIGHTHOUSE"
para "to guide it, no"
line "ship can sail."
done
OlivineCityStandingYoungsterPokegearText:
text "That thing you"
line "have--it's a #-"
cont "GEAR, right? Wow,"
cont "that's cool."
done
OlivineCityStandingYoungsterPokedexText:
text "Wow, you have a"
line "#DEX!"
para "That is just so"
line "awesome."
done
OlivineCitySailor2Text:
text "The sea is sweet!"
para "Sunsets on the sea"
line "are marvelous!"
para "Sing with me! "
line "Yo-ho! Blow the"
cont "man down!…"
done
OlivineCitySignText:
text "OLIVINE CITY"
para "The Port Closest"
line "to Foreign Lands"
done
OlivineCityPortSignText:
text "OLIVINE PORT"
line "FAST SHIP PIER"
done
OlivineGymSignText:
text "OLIVINE CITY"
line "#MON GYM"
cont "LEADER: JASMINE"
para "The Steel-Clad"
line "Defense Girl"
done
OlivineLighthouseSignText:
text "OLIVINE LIGHTHOUSE"
line "Also known as the"
cont "GLITTER LIGHTHOUSE"
done
OlivineCityBattleTowerSignText:
text "BATTLE TOWER AHEAD"
line "Opening Now!"
done
OlivineCityBattleTowerSignText_NotYetOpen: ; unreferenced
; originally shown when the Battle Tower was closed
text "BATTLE TOWER AHEAD"
done
OlivineCity_MapEvents:
db 0, 0 ; filler
def_warp_events
warp_event 13, 21, OLIVINE_POKECENTER_1F, 1
warp_event 10, 11, OLIVINE_GYM, 1
warp_event 25, 11, OLIVINE_TIMS_HOUSE, 1
warp_event 0, 0, OLIVINE_HOUSE_BETA, 1 ; inaccessible
warp_event 29, 11, OLIVINE_PUNISHMENT_SPEECH_HOUSE, 1
warp_event 13, 15, OLIVINE_GOOD_ROD_HOUSE, 1
warp_event 7, 21, OLIVINE_CAFE, 1
warp_event 19, 17, OLIVINE_MART, 2
warp_event 29, 27, OLIVINE_LIGHTHOUSE_1F, 1
warp_event 19, 27, OLIVINE_PORT_PASSAGE, 1
warp_event 20, 27, OLIVINE_PORT_PASSAGE, 2
def_coord_events
coord_event 13, 12, SCENE_DEFAULT, OlivineCityRivalSceneTop
coord_event 13, 13, SCENE_DEFAULT, OlivineCityRivalSceneBottom
def_bg_events
bg_event 17, 11, BGEVENT_READ, OlivineCitySign
bg_event 20, 24, BGEVENT_READ, OlivineCityPortSign
bg_event 7, 11, BGEVENT_READ, OlivineGymSign
bg_event 30, 28, BGEVENT_READ, OlivineLighthouseSign
bg_event 3, 23, BGEVENT_READ, OlivineCityBattleTowerSign
bg_event 14, 21, BGEVENT_READ, OlivineCityPokecenterSign
bg_event 20, 17, BGEVENT_READ, OlivineCityMartSign
def_object_events
object_event 26, 27, SPRITE_SAILOR, SPRITEMOVEDATA_WALK_UP_DOWN, 0, 1, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, OlivineCitySailor1Script, -1
object_event 20, 13, SPRITE_STANDING_YOUNGSTER, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, OlivineCityStandingYoungsterScript, -1
object_event 17, 21, SPRITE_SAILOR, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, OlivineCitySailor2Script, -1
object_event 10, 11, SPRITE_OLIVINE_RIVAL, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, ObjectEvent, EVENT_RIVAL_OLIVINE_CITY
|