pokecrystal/maps/Route32.asm

965 lines
19 KiB
NASM

const_def 2 ; object constants
const ROUTE32_FISHER1
const ROUTE32_FISHER2
const ROUTE32_FISHER3
const ROUTE32_YOUNGSTER1
const ROUTE32_YOUNGSTER2
const ROUTE32_YOUNGSTER3
const ROUTE32_LASS1
const ROUTE32_COOLTRAINER_M
const ROUTE32_YOUNGSTER4
const ROUTE32_FISHER4
const ROUTE32_POKE_BALL1
const ROUTE32_FISHER5
const ROUTE32_FRIEDA
const ROUTE32_POKE_BALL2
Route32_MapScripts:
db 3 ; scene scripts
scene_script .DummyScene0 ; SCENE_DEFAULT
scene_script .DummyScene1 ; SCENE_ROUTE32_OFFER_SLOWPOKETAIL
scene_script .DummyScene2 ; SCENE_ROUTE32_NOTHING
db 1 ; callbacks
callback MAPCALLBACK_OBJECTS, .Frieda
.DummyScene0:
end
.DummyScene1:
end
.DummyScene2:
end
.Frieda:
checkcode VAR_WEEKDAY
ifequal FRIDAY, .FriedaAppears
disappear ROUTE32_FRIEDA
return
.FriedaAppears:
appear ROUTE32_FRIEDA
return
Route32CooltrainerMScript:
faceplayer
Route32CooltrainerMContinueScene:
opentext
checkevent EVENT_GOT_MIRACLE_SEED_IN_ROUTE_32
iftrue .GotMiracleSeed
checkflag ENGINE_ZEPHYRBADGE
iffalse .DontHaveZephyrBadge
checkevent EVENT_GOT_TOGEPI_EGG_FROM_ELMS_AIDE
iftrue .GiveMiracleSeed
writetext Route32CooltrainerMText_AideIsWaiting
waitbutton
closetext
end
.Unreferenced:
writetext Route32CooltrainerMText_UnusedSproutTower
waitbutton
closetext
end
.GiveMiracleSeed:
writetext Route32CooltrainerMText_HaveThisSeed
buttonsound
verbosegiveitem MIRACLE_SEED
iffalse .BagFull
setevent EVENT_GOT_MIRACLE_SEED_IN_ROUTE_32
jump .GotMiracleSeed
.DontHaveZephyrBadge:
writetext Route32CooltrainerMText_VioletGym
waitbutton
closetext
end
.GotMiracleSeed:
writetext Route32CooltrainerMText_ExperiencesShouldBeUseful
waitbutton
.BagFull:
closetext
end
Route32CooltrainerMStopsYouScene:
objectface ROUTE32_COOLTRAINER_M, LEFT
objectface PLAYER, RIGHT
opentext
writetext Route32CooltrainerMText_WhatsTheHurry
waitbutton
closetext
follow PLAYER, ROUTE32_COOLTRAINER_M
applymovement PLAYER, Movement_Route32CooltrainerMPushesYouBackToViolet
stopfollow
objectface PLAYER, DOWN
scall Route32CooltrainerMContinueScene
applymovement ROUTE32_COOLTRAINER_M, Movement_Route32CooltrainerMReset1
applymovement ROUTE32_COOLTRAINER_M, Movement_Route32CooltrainerMReset2
end
Route32RoarTMGuyScript:
faceplayer
opentext
checkevent EVENT_GOT_TM05_ROAR
iftrue .AlreadyHaveRoar
writetext Text_RoarIntro
buttonsound
verbosegiveitem TM_ROAR
iffalse .Finish
setevent EVENT_GOT_TM05_ROAR
.AlreadyHaveRoar:
writetext Text_RoarOutro
waitbutton
.Finish:
closetext
end
Route32WannaBuyASlowpokeTailScript:
objectface ROUTE32_FISHER4, DOWN
objectface PLAYER, UP
jump _OfferToSellSlowpokeTail
SlowpokeTailSalesmanScript:
faceplayer
_OfferToSellSlowpokeTail:
setscene SCENE_ROUTE32_NOTHING
opentext
writetext Text_MillionDollarSlowpokeTail
yesorno
iffalse .refused
writetext Text_ThoughtKidsWereLoaded
waitbutton
closetext
end
.refused
writetext Text_RefusedToBuySlowpokeTail
waitbutton
closetext
end
TrainerCamperRoland:
trainer CAMPER, ROLAND, EVENT_BEAT_CAMPER_ROLAND, CamperRolandSeenText, CamperRolandBeatenText, 0, .Script
.Script:
endifjustbattled
opentext
writetext CamperRolandAfterText
waitbutton
closetext
end
TrainerFisherJustin:
trainer FISHER, JUSTIN, EVENT_BEAT_FISHER_JUSTIN, FisherJustinSeenText, FisherJustinBeatenText, 0, .Script
.Script:
endifjustbattled
opentext
writetext FisherJustinAfterText
waitbutton
closetext
end
TrainerFisherRalph1:
trainer FISHER, RALPH1, EVENT_BEAT_FISHER_RALPH, FisherRalph1SeenText, FisherRalph1BeatenText, 0, .Script
.Script:
writecode VAR_CALLERID, PHONE_FISHER_RALPH
endifjustbattled
opentext
checkflag ENGINE_RALPH
iftrue .Rematch
checkflag ENGINE_FISH_SWARM
iftrue .Swarm
checkcellnum PHONE_FISHER_RALPH
iftrue .NumberAccepted
checkevent EVENT_RALPH_ASKED_FOR_PHONE_NUMBER
iftrue .AskAgain
writetext FisherRalphAfterText
buttonsound
setevent EVENT_RALPH_ASKED_FOR_PHONE_NUMBER
scall .AskNumber1
jump .AskForNumber
.AskAgain:
scall .AskNumber2
.AskForNumber:
askforphonenumber PHONE_FISHER_RALPH
ifequal PHONE_CONTACTS_FULL, .PhoneFull
ifequal PHONE_CONTACT_REFUSED, .NumberDeclined
trainertotext FISHER, RALPH1, MEM_BUFFER_0
scall .RegisteredNumber
jump .NumberAccepted
.Rematch:
scall .RematchStd
winlosstext FisherRalph1BeatenText, 0
copybytetovar wRalphFightCount
ifequal 4, .Fight4
ifequal 3, .Fight3
ifequal 2, .Fight2
ifequal 1, .Fight1
ifequal 0, .LoadFight0
.Fight4:
checkevent EVENT_RESTORED_POWER_TO_KANTO
iftrue .LoadFight4
.Fight3:
checkevent EVENT_BEAT_ELITE_FOUR
iftrue .LoadFight3
.Fight2:
checkflag ENGINE_FLYPOINT_LAKE_OF_RAGE
iftrue .LoadFight2
.Fight1:
checkflag ENGINE_FLYPOINT_ECRUTEAK
iftrue .LoadFight1
.LoadFight0:
loadtrainer FISHER, RALPH1
startbattle
reloadmapafterbattle
loadvar wRalphFightCount, 1
clearflag ENGINE_RALPH
end
.LoadFight1:
loadtrainer FISHER, RALPH2
startbattle
reloadmapafterbattle
loadvar wRalphFightCount, 2
clearflag ENGINE_RALPH
end
.LoadFight2:
loadtrainer FISHER, RALPH3
startbattle
reloadmapafterbattle
loadvar wRalphFightCount, 3
clearflag ENGINE_RALPH
end
.LoadFight3:
loadtrainer FISHER, RALPH4
startbattle
reloadmapafterbattle
loadvar wRalphFightCount, 4
clearflag ENGINE_RALPH
end
.LoadFight4:
loadtrainer FISHER, RALPH5
startbattle
reloadmapafterbattle
clearflag ENGINE_RALPH
end
.Swarm:
writetext FisherRalphSwarmText
waitbutton
closetext
end
.AskNumber1:
jumpstd asknumber1m
end
.AskNumber2:
jumpstd asknumber2m
end
.RegisteredNumber:
jumpstd registerednumberm
end
.NumberAccepted:
jumpstd numberacceptedm
end
.NumberDeclined:
jumpstd numberdeclinedm
end
.PhoneFull:
jumpstd phonefullm
end
.RematchStd:
jumpstd rematchm
end
TrainerFisherHenry:
trainer FISHER, HENRY, EVENT_BEAT_FISHER_HENRY, FisherHenrySeenText, FisherHenryBeatenText, 0, .Script
.Script:
endifjustbattled
opentext
writetext FisherHenryAfterText
waitbutton
closetext
end
TrainerPicnickerLiz1:
trainer PICNICKER, LIZ1, EVENT_BEAT_PICNICKER_LIZ, PicnickerLiz1SeenText, PicnickerLiz1BeatenText, 0, .Script
.Script:
writecode VAR_CALLERID, PHONE_PICNICKER_LIZ
endifjustbattled
opentext
checkflag ENGINE_LIZ
iftrue .Rematch
checkcellnum PHONE_PICNICKER_LIZ
iftrue .NumberAccepted
checkevent EVENT_LIZ_ASKED_FOR_PHONE_NUMBER
iftrue .AskAgain
writetext PicnickerLiz1AfterText
buttonsound
setevent EVENT_LIZ_ASKED_FOR_PHONE_NUMBER
scall .AskNumber1
jump .AskForNumber
.AskAgain:
scall .AskNumber2
.AskForNumber:
askforphonenumber PHONE_PICNICKER_LIZ
ifequal PHONE_CONTACTS_FULL, .PhoneFull
ifequal PHONE_CONTACT_REFUSED, .NumberDeclined
trainertotext PICNICKER, LIZ1, MEM_BUFFER_0
scall .RegisteredNumber
jump .NumberAccepted
.Rematch:
scall .RematchStd
winlosstext PicnickerLiz1BeatenText, 0
copybytetovar wLizFightCount
ifequal 4, .Fight4
ifequal 3, .Fight3
ifequal 2, .Fight2
ifequal 1, .Fight1
ifequal 0, .LoadFight0
.Fight4:
checkevent EVENT_BEAT_ELITE_FOUR
iftrue .LoadFight4
.Fight3:
checkevent EVENT_CLEARED_RADIO_TOWER
iftrue .LoadFight3
.Fight2:
checkevent EVENT_CLEARED_ROCKET_HIDEOUT
iftrue .LoadFight2
.Fight1:
checkflag ENGINE_FLYPOINT_ECRUTEAK
iftrue .LoadFight1
.LoadFight0:
loadtrainer PICNICKER, LIZ1
startbattle
reloadmapafterbattle
loadvar wLizFightCount, 1
clearflag ENGINE_LIZ
end
.LoadFight1:
loadtrainer PICNICKER, LIZ2
startbattle
reloadmapafterbattle
loadvar wLizFightCount, 2
clearflag ENGINE_LIZ
end
.LoadFight2:
loadtrainer PICNICKER, LIZ3
startbattle
reloadmapafterbattle
loadvar wLizFightCount, 3
clearflag ENGINE_LIZ
end
.LoadFight3:
loadtrainer PICNICKER, LIZ4
startbattle
reloadmapafterbattle
loadvar wLizFightCount, 4
clearflag ENGINE_LIZ
end
.LoadFight4:
loadtrainer PICNICKER, LIZ5
startbattle
reloadmapafterbattle
clearflag ENGINE_LIZ
end
.AskNumber1:
jumpstd asknumber1f
end
.AskNumber2:
jumpstd asknumber2f
end
.RegisteredNumber:
jumpstd registerednumberf
end
.NumberAccepted:
jumpstd numberacceptedf
end
.NumberDeclined:
jumpstd numberdeclinedf
end
.PhoneFull:
jumpstd phonefullf
end
.RematchStd:
jumpstd rematchf
end
TrainerYoungsterAlbert:
trainer YOUNGSTER, ALBERT, EVENT_BEAT_YOUNGSTER_ALBERT, YoungsterAlbertSeenText, YoungsterAlbertBeatenText, 0, .Script
.Script:
endifjustbattled
opentext
writetext YoungsterAlbertAfterText
waitbutton
closetext
end
TrainerYoungsterGordon:
trainer YOUNGSTER, GORDON, EVENT_BEAT_YOUNGSTER_GORDON, YoungsterGordonSeenText, YoungsterGordonBeatenText, 0, .Script
.Script:
endifjustbattled
opentext
writetext YoungsterGordonAfterText
waitbutton
closetext
end
TrainerBirdKeeperPeter:
trainer BIRD_KEEPER, PETER, EVENT_BEAT_BIRD_KEEPER_PETER, BirdKeeperPeterSeenText, BirdKeeperPeterBeatenText, 0, .Script
.Script:
endifjustbattled
opentext
writetext BirdKeeperPeterAfterText
waitbutton
closetext
end
FriedaScript:
faceplayer
opentext
checkevent EVENT_GOT_POISON_BARB_FROM_FRIEDA
iftrue .Friday
checkcode VAR_WEEKDAY
ifnotequal FRIDAY, .NotFriday
checkevent EVENT_MET_FRIEDA_OF_FRIDAY
iftrue .MetFrieda
writetext MeetFriedaText
buttonsound
setevent EVENT_MET_FRIEDA_OF_FRIDAY
.MetFrieda:
writetext FriedaGivesGiftText
buttonsound
verbosegiveitem POISON_BARB
iffalse .Done
setevent EVENT_GOT_POISON_BARB_FROM_FRIEDA
writetext FriedaGaveGiftText
waitbutton
closetext
end
.Friday:
writetext FriedaFridayText
waitbutton
.Done:
closetext
end
.NotFriday:
writetext FriedaNotFridayText
waitbutton
closetext
end
Route32GreatBall:
itemball GREAT_BALL
Route32Repel:
itemball REPEL
Route32Sign:
jumptext Route32SignText
Route32RuinsSign:
jumptext Route32RuinsSignText
Route32UnionCaveSign:
jumptext Route32UnionCaveSignText
Route32PokecenterSign:
jumpstd pokecentersign
Route32HiddenGreatBall:
hiddenitem GREAT_BALL, EVENT_ROUTE_32_HIDDEN_GREAT_BALL
Route32HiddenSuperPotion:
hiddenitem SUPER_POTION, EVENT_ROUTE_32_HIDDEN_SUPER_POTION
Movement_Route32CooltrainerMPushesYouBackToViolet:
step UP
step UP
step_end
Movement_Route32CooltrainerMReset1:
step DOWN
step_end
Movement_Route32CooltrainerMReset2:
step RIGHT
step_end
Route32CooltrainerMText_WhatsTheHurry:
text "Wait up!"
line "What's the hurry?"
done
Route32CooltrainerMText_AideIsWaiting:
text "<PLAYER>, right?"
line "Some guy wearing"
para "glasses was look-"
line "ing for you."
para "See for yourself."
line "He's waiting for"
para "you at the #MON"
line "CENTER."
done
; might not be referenced anywhere
Route32CooltrainerMText_UnusedSproutTower:
text "Have you gone to"
line "SPROUT TOWER?"
para "If you ever visit"
line "VIOLET CITY, "
para "they'll expect you"
line "to train there."
para "That's basic for"
line "trainers. Go to"
cont "SPROUT TOWER!"
done
Route32CooltrainerMText_VioletGym:
text "Have you gone to"
line "the #MON GYM?"
para "You can test your"
line "#MON and your-"
cont "self there."
para "It's a rite of"
line "passage for all"
cont "trainers!"
done
Route32CooltrainerMText_HaveThisSeed:
text "You have some good"
line "#MON there."
para "It must be from"
line "the training you"
para "gave them around"
line "VIOLET CITY."
para "The training at"
line "the GYM must have"
para "been especially"
line "helpful."
para "As a souvenir of"
line "VIOLET CITY, take"
cont "this."
para "It increases the"
line "power of grass-"
cont "type moves."
done
Route32CooltrainerMText_ExperiencesShouldBeUseful:
text "Your experiences"
line "in VIOLET CITY"
para "should be useful"
line "for your journey."
done
Text_MillionDollarSlowpokeTail:
text "How would you like"
line "to have this"
para "tasty, nutritious"
line "SLOWPOKETAIL?"
para "For you right now,"
line "just ¥1,000,000!"
para "You'll want this!"
done
Text_ThoughtKidsWereLoaded:
text "Tch! I thought"
line "kids these days"
cont "were loaded…"
done
Text_RefusedToBuySlowpokeTail:
text "You don't want it?"
line "Then scram. Shoo!"
done
FisherJustinSeenText:
text "Whoa!"
para "You made me lose"
line "that fish!"
done
FisherJustinBeatenText:
text "Sploosh!"
done
FisherJustinAfterText:
text "Calm, collected…"
line "The essence of"
para "fishing and #-"
line "MON is the same."
done
FisherRalph1SeenText:
text "I'm really good at"
line "both fishing and"
cont "#MON."
para "I'm not about to"
line "lose to any kid!"
done
FisherRalph1BeatenText:
text "Tch! I tried to"
line "rush things…"
done
FisherRalphAfterText:
text "Fishing is a life-"
line "long passion."
para "#MON are life-"
line "long friends!"
done
FisherRalphSwarmText:
text "One, two, three…"
line "Muahahaha, what a"
para "great haul!"
line "I'm done! Go ahead"
para "and catch as many"
line "as you can, kid!"
done
; --- start a segment of possibly unused texts
Route32UnusedFisher1SeenText:
text "I keep catching"
line "the same #MON…"
para "Maybe a battle"
line "will turn things"
cont "around for me."
done
Route32UnusedFisher1BeatenText:
text "Nothing ever goes"
line "right for me now…"
done
Route32UnusedFisher1AfterText:
text "How come the guy"
line "next to me catches"
cont "good #MON?"
done
Route32UnusedFisher2SeenText:
text "Heh, I'm on a roll"
line "today. How about a"
cont "battle, kid?"
done
Route32UnusedFisher2BeatenText:
text "Oof. I wasn't"
line "lucky that time."
done
Route32UnusedFisher2AfterText:
text "You have to have a"
line "good ROD if you"
para "want to catch good"
line "#MON."
done
; --- end a segment of possibly unused texts
FisherHenrySeenText:
text "My #MON?"
line "Freshly caught!"
done
FisherHenryBeatenText:
text "SPLASH?"
done
FisherHenryAfterText:
text "Freshly caught"
line "#MON are no"
para "match for properly"
line "raised ones."
done
YoungsterAlbertSeenText:
text "I haven't seen you"
line "around before."
para "So you think you"
line "are pretty tough?"
done
YoungsterAlbertBeatenText:
text "You're strong!"
done
YoungsterAlbertAfterText:
text "I'm going to try"
line "to be the best"
cont "with my favorites."
para "I'm not using the"
line "same tough #MON"
cont "as everyone else."
done
YoungsterGordonSeenText:
text "I found some good"
line "#MON in the"
cont "grass!"
para "I think they'll do"
line "it for me!"
done
YoungsterGordonBeatenText:
text "Darn. I thought I"
line "could win."
done
YoungsterGordonAfterText:
text "The grass is full"
line "of clingy things."
done
CamperRolandSeenText:
text "That glance…"
line "It's intriguing."
done
CamperRolandBeatenText:
text "Hmmm. This is"
line "disappointing."
done
CamperRolandAfterText:
text "If you don't want"
line "to battle, just"
cont "avoid eye contact."
done
PicnickerLiz1SeenText:
text "Uh-huh. Yeah, and"
line "you know…"
para "Pardon? Battle?"
line "I'm on the phone."
para "Oh, all right. But"
line "make it fast."
done
PicnickerLiz1BeatenText:
text "Oh! I've got to"
line "relieve my anger!"
done
PicnickerLiz1AfterText:
text "I was having a"
line "nice chat too."
done
BirdKeeperPeterSeenText:
text "That BADGE! It's"
line "from VIOLET CITY!"
para "You beat FALKNER?"
done
BirdKeeperPeterBeatenText:
text "I know what my"
line "weaknesses are."
done
BirdKeeperPeterAfterText:
text "I should train"
line "again at the GYM"
cont "in VIOLET CITY."
done
; unused
Route32UnusedText:
text "The fishermen"
line "yelled at me for"
cont "bugging them…"
done
Text_RoarIntro:
text "WROOOOAR!"
line "PEOPLE RUN WHEN I"
para "ROAR! BUT YOU"
line "CAME LOOKING!"
para "THAT PLEASES ME!"
line "NOW TAKE THIS!"
done
Text_RoarOutro:
text "WROOOAR!"
line "IT'S ROAR!"
para "EVEN #MON RUN"
line "FROM A GOOD ROAR!"
done
MeetFriedaText:
text "FRIEDA: Yahoo!"
line "It's Friday!"
para "I'm FRIEDA of"
line "Friday!"
para "Nice to meet you!"
done
FriedaGivesGiftText:
text "Here's a POISON"
line "BARB for you!"
done
FriedaGaveGiftText:
text "FRIEDA: Give it to"
line "a #MON that has"
cont "poison-type moves."
para "Oh!"
para "It's wicked!"
para "You'll be shocked"
line "how good it makes"
cont "poison moves!"
done
FriedaFridayText:
text "FRIEDA: Hiya! What"
line "day do you like?"
para "I love Friday. No"
line "doubt about it!"
para "Don't you think"
line "it's great too?"
done
FriedaNotFridayText:
text "FRIEDA: Isn't it"
line "Friday today?"
para "It's so boring"
line "when it's not!"
done
Route32SignText:
text "ROUTE 32"
para "VIOLET CITY -"
line "AZALEA TOWN"
done
Route32RuinsSignText:
text "RUINS OF ALPH"
line "EAST ENTRANCE"
done
Route32UnionCaveSignText:
text "UNION CAVE"
line "AHEAD"
done
Route32_MapEvents:
db 0, 0 ; filler
db 4 ; warp events
warp_event 11, 73, ROUTE_32_POKECENTER_1F, 1
warp_event 4, 2, ROUTE_32_RUINS_OF_ALPH_GATE, 3
warp_event 4, 3, ROUTE_32_RUINS_OF_ALPH_GATE, 4
warp_event 6, 79, UNION_CAVE_1F, 4
db 2 ; coord events
coord_event 18, 8, SCENE_DEFAULT, Route32CooltrainerMStopsYouScene
coord_event 7, 71, SCENE_ROUTE32_OFFER_SLOWPOKETAIL, Route32WannaBuyASlowpokeTailScript
db 6 ; bg events
bg_event 13, 5, BGEVENT_READ, Route32Sign
bg_event 9, 1, BGEVENT_READ, Route32RuinsSign
bg_event 10, 84, BGEVENT_READ, Route32UnionCaveSign
bg_event 12, 73, BGEVENT_READ, Route32PokecenterSign
bg_event 12, 67, BGEVENT_ITEM, Route32HiddenGreatBall
bg_event 11, 40, BGEVENT_ITEM, Route32HiddenSuperPotion
db 14 ; object events
object_event 8, 49, SPRITE_FISHER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 1, TrainerFisherJustin, -1
object_event 12, 56, SPRITE_FISHER, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 3, TrainerFisherRalph1, -1
object_event 6, 48, SPRITE_FISHER, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 1, TrainerFisherHenry, -1
object_event 12, 22, SPRITE_YOUNGSTER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 3, TrainerYoungsterAlbert, -1
object_event 4, 63, SPRITE_YOUNGSTER, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 3, TrainerYoungsterGordon, -1
object_event 3, 45, SPRITE_YOUNGSTER, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 3, TrainerCamperRoland, -1
object_event 10, 30, SPRITE_LASS, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 1, TrainerPicnickerLiz1, -1
object_event 19, 8, SPRITE_COOLTRAINER_M, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Route32CooltrainerMScript, -1
object_event 11, 82, SPRITE_YOUNGSTER, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 3, TrainerBirdKeeperPeter, -1
object_event 7, 70, SPRITE_FISHER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, SlowpokeTailSalesmanScript, EVENT_SLOWPOKE_WELL_ROCKETS
object_event 6, 53, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, Route32GreatBall, EVENT_ROUTE_32_GREAT_BALL
object_event 15, 13, SPRITE_FISHER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Route32RoarTMGuyScript, -1
object_event 12, 67, SPRITE_LASS, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, FriedaScript, EVENT_ROUTE_32_FRIEDA_OF_FRIDAY
object_event 3, 30, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, Route32Repel, EVENT_ROUTE_32_REPEL