pokecrystal/maps/Route38.asm

494 lines
10 KiB
NASM

object_const_def ; object_event constants
const ROUTE38_STANDING_YOUNGSTER1
const ROUTE38_LASS
const ROUTE38_STANDING_YOUNGSTER2
const ROUTE38_BEAUTY1
const ROUTE38_SAILOR
const ROUTE38_FRUIT_TREE
const ROUTE38_BEAUTY2
Route38_MapScripts:
db 0 ; scene scripts
db 0 ; callbacks
TrainerBirdKeeperToby:
trainer BIRD_KEEPER, TOBY, EVENT_BEAT_BIRD_KEEPER_TOBY, BirdKeeperTobySeenText, BirdKeeperTobyBeatenText, 0, .Script
.Script
endifjustbattled
opentext
writetext BirdKeeperTobyAfterBattleText
waitbutton
closetext
end
TrainerSailorHarry:
trainer SAILOR, HARRY, EVENT_BEAT_SAILOR_HARRY, SailorHarrySeenText, SailorHarryBeatenText, 0, .Script
.Script
endifjustbattled
opentext
writetext SailorHarryAfterBattleText
waitbutton
closetext
end
TrainerLassDana1:
trainer LASS, DANA1, EVENT_BEAT_LASS_DANA, LassDana1SeenText, LassDana1BeatenText, 0, .Script
.Script
loadvar VAR_CALLERID, PHONE_LASS_DANA
endifjustbattled
opentext
checkflag ENGINE_DANA_READY_FOR_REMATCH
iftrue .DanaRematch
checkflag ENGINE_DANA_HAS_THUNDERSTONE
iftrue .TryGiveThunderstone
checkcellnum PHONE_LASS_DANA
iftrue .NumberAccepted
checkevent EVENT_DANA_ASKED_FOR_PHONE_NUMBER
iftrue .SecondTimeAsking
writetext LassDanaMoomooMilkText
promptbutton
setevent EVENT_DANA_ASKED_FOR_PHONE_NUMBER
scall .AskNumber1F
sjump .AskForPhoneNumber
.SecondTimeAsking:
scall .AskNumber2F
.AskForPhoneNumber:
askforphonenumber PHONE_LASS_DANA
ifequal PHONE_CONTACTS_FULL, .PhoneFull
ifequal PHONE_CONTACT_REFUSED, .DeclinedPhoneNumber
gettrainername STRING_BUFFER_3, LASS, DANA1
scall .RegisteredPhoneNumber
sjump .NumberAccepted
.DanaRematch:
scall .Rematch
winlosstext LassDana1BeatenText, 0
readmem wDanaFightCount
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:
checkevent EVENT_CLEARED_RADIO_TOWER
iftrue .LoadFight2
.Fight1:
checkflag ENGINE_FLYPOINT_CIANWOOD
iftrue .LoadFight1
.LoadFight0:
loadtrainer LASS, DANA1
startbattle
reloadmapafterbattle
loadmem wDanaFightCount, 1
clearflag ENGINE_DANA_READY_FOR_REMATCH
end
.LoadFight1:
loadtrainer LASS, DANA2
startbattle
reloadmapafterbattle
loadmem wDanaFightCount, 2
clearflag ENGINE_DANA_READY_FOR_REMATCH
end
.LoadFight2:
loadtrainer LASS, DANA3
startbattle
reloadmapafterbattle
loadmem wDanaFightCount, 3
clearflag ENGINE_DANA_READY_FOR_REMATCH
end
.LoadFight3:
loadtrainer LASS, DANA4
startbattle
reloadmapafterbattle
loadmem wDanaFightCount, 4
clearflag ENGINE_DANA_READY_FOR_REMATCH
end
.LoadFight4:
loadtrainer LASS, DANA5
startbattle
reloadmapafterbattle
clearflag ENGINE_DANA_READY_FOR_REMATCH
end
.TryGiveThunderstone:
scall .Gift
verbosegiveitem THUNDERSTONE
iffalse .NoRoomForThunderstone
clearflag ENGINE_DANA_HAS_THUNDERSTONE
setevent EVENT_DANA_GAVE_THUNDERSTONE
sjump .NumberAccepted
.NoRoomForThunderstone:
sjump .PackFull
.AskNumber1F:
jumpstd AskNumber1FScript
end
.AskNumber2F:
jumpstd AskNumber2FScript
end
.RegisteredPhoneNumber:
jumpstd RegisteredNumberFScript
end
.NumberAccepted:
jumpstd NumberAcceptedFScript
end
.DeclinedPhoneNumber:
jumpstd NumberDeclinedFScript
end
.PhoneFull:
jumpstd PhoneFullFScript
end
.Rematch:
jumpstd RematchFScript
end
.Gift:
jumpstd GiftFScript
end
.PackFull:
jumpstd PackFullFScript
end
TrainerSchoolboyChad1:
trainer SCHOOLBOY, CHAD1, EVENT_BEAT_SCHOOLBOY_CHAD, SchoolboyChad1SeenText, SchoolboyChad1BeatenText, 0, .Script
.Script
loadvar VAR_CALLERID, PHONE_SCHOOLBOY_CHAD
endifjustbattled
opentext
checkflag ENGINE_CHAD_READY_FOR_REMATCH
iftrue .ChadRematch
checkcellnum PHONE_SCHOOLBOY_CHAD
iftrue .HaveChadsNumber
checkevent EVENT_CHAD_ASKED_FOR_PHONE_NUMBER
iftrue .SecondTimeAsking
writetext SchoolboyChadSoManyTestsText
promptbutton
setevent EVENT_CHAD_ASKED_FOR_PHONE_NUMBER
scall .AskPhoneNumber1
sjump .AskToRegisterNumber
.SecondTimeAsking:
scall .AskPhoneNumber2
.AskToRegisterNumber:
askforphonenumber PHONE_SCHOOLBOY_CHAD
ifequal PHONE_CONTACTS_FULL, .PhoneFull
ifequal PHONE_CONTACT_REFUSED, .SaidNo
gettrainername STRING_BUFFER_3, SCHOOLBOY, CHAD1
scall .RegisteredChad
sjump .HaveChadsNumber
.ChadRematch:
scall .Rematch
winlosstext SchoolboyChad1BeatenText, 0
readmem wChadFightCount
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:
checkevent EVENT_CLEARED_RADIO_TOWER
iftrue .LoadFight2
.Fight1:
checkflag ENGINE_FLYPOINT_MAHOGANY
iftrue .LoadFight1
.LoadFight0:
loadtrainer SCHOOLBOY, CHAD1
startbattle
reloadmapafterbattle
loadmem wChadFightCount, 1
clearflag ENGINE_CHAD_READY_FOR_REMATCH
end
.LoadFight1:
loadtrainer SCHOOLBOY, CHAD2
startbattle
reloadmapafterbattle
loadmem wChadFightCount, 2
clearflag ENGINE_CHAD_READY_FOR_REMATCH
end
.LoadFight2:
loadtrainer SCHOOLBOY, CHAD3
startbattle
reloadmapafterbattle
loadmem wChadFightCount, 3
clearflag ENGINE_CHAD_READY_FOR_REMATCH
end
.LoadFight3:
loadtrainer SCHOOLBOY, CHAD4
startbattle
reloadmapafterbattle
loadmem wChadFightCount, 4
clearflag ENGINE_CHAD_READY_FOR_REMATCH
end
.LoadFight4:
loadtrainer SCHOOLBOY, CHAD5
startbattle
reloadmapafterbattle
clearflag ENGINE_CHAD_READY_FOR_REMATCH
end
.AskPhoneNumber1:
jumpstd AskNumber1MScript
end
.AskPhoneNumber2:
jumpstd AskNumber2MScript
end
.RegisteredChad:
jumpstd RegisteredNumberMScript
end
.HaveChadsNumber:
jumpstd NumberAcceptedMScript
end
.SaidNo:
jumpstd NumberDeclinedMScript
end
.PhoneFull:
jumpstd PhoneFullMScript
end
.Rematch:
jumpstd RematchMScript
end
TrainerBeautyValerie:
trainer BEAUTY, VALERIE, EVENT_BEAT_BEAUTY_VALERIE, BeautyValerieSeenText, BeautyValerieBeatenText, 0, .Script
.Script
endifjustbattled
opentext
writetext BeautyValerieAfterBattleText
waitbutton
closetext
end
TrainerBeautyOlivia:
trainer BEAUTY, OLIVIA, EVENT_BEAT_BEAUTY_OLIVIA, BeautyOliviaSeenText, BeautyOliviaBeatenText, 0, .Script
.Script
endifjustbattled
opentext
writetext BeautyOliviaAfterBattleText
waitbutton
closetext
end
Route38Sign:
jumptext Route38SignText
Route38TrainerTips:
jumptext Route38TrainerTipsText
Route38FruitTree:
fruittree FRUITTREE_ROUTE_38
BirdKeeperTobySeenText:
text "Fly high into the"
line "sky, my beloved"
cont "bird #MON!"
done
BirdKeeperTobyBeatenText:
text "I feel like just"
line "flying away now."
done
BirdKeeperTobyAfterBattleText:
text "I plan to train in"
line "CIANWOOD CITY to"
para "teach my #MON"
line "how to FLY."
done
SchoolboyChad1SeenText:
text "Let me try some-"
line "thing I learned"
cont "today."
done
SchoolboyChad1BeatenText:
text "I didn't study"
line "enough, I guess."
done
SchoolboyChadSoManyTestsText:
text "I have to take so"
line "many tests, I"
para "don't have much"
line "time for #MON."
para "So when I do get"
line "to play, I really"
cont "concentrate."
done
LassDana1SeenText:
text "You seem to be"
line "good at #MON."
para "If you are, how"
line "about giving me"
cont "some advice?"
done
LassDana1BeatenText:
text "I see. So you can"
line "battle that way."
done
LassDanaMoomooMilkText:
text "I know something"
line "good!"
para "MOOMOO FARM's milk"
line "is famous for its"
cont "flavor."
done
BeautyValerieSeenText:
text "Hi! Aren't you a"
line "cute trainer!"
para "May I see your"
line "#MON?"
done
BeautyValerieBeatenText:
text "I'm glad I got to"
line "see your #MON!"
done
BeautyValerieAfterBattleText:
text "When I see #-"
line "MON, it seems to"
cont "soothe my nerves."
done
SailorHarrySeenText:
text "I've been over-"
line "seas, so I know"
para "about all sorts of"
line "#MON!"
done
SailorHarryBeatenText:
text "Your skill is"
line "world class!"
done
SailorHarryAfterBattleText:
text "All kinds of peo-"
line "ple around the"
para "world live happily"
line "with #MON."
done
BeautyOliviaSeenText:
text "Don't you think my"
line "#MON and I are"
cont "beautiful?"
done
BeautyOliviaBeatenText:
text "We drink MOOMOO"
line "MILK every day."
done
BeautyOliviaAfterBattleText:
text "MOOMOO MILK is"
line "good for beauty"
para "and health, but"
line "inconveniently,"
para "they only sell a"
line "bottle at a time."
done
Route38SignText:
text "ROUTE 38"
para "OLIVINE CITY -"
line "ECRUTEAK CITY"
done
Route38TrainerTipsText:
text "TRAINER TIPS"
para "If a #MON is"
line "trying to evolve,"
cont "you can stop it."
para "Press the B But-"
line "ton during evolu-"
cont "tion."
para "That startles the"
line "#MON and stops"
cont "its evolution."
done
Route38_MapEvents:
db 0, 0 ; filler
db 2 ; warp events
warp_event 35, 8, ROUTE_38_ECRUTEAK_GATE, 1
warp_event 35, 9, ROUTE_38_ECRUTEAK_GATE, 2
db 0 ; coord events
db 2 ; bg events
bg_event 33, 7, BGEVENT_READ, Route38Sign
bg_event 5, 13, BGEVENT_READ, Route38TrainerTips
db 7 ; object events
object_event 4, 1, SPRITE_STANDING_YOUNGSTER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 1, TrainerSchoolboyChad1, -1
object_event 15, 3, SPRITE_LASS, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 2, TrainerLassDana1, -1
object_event 12, 15, SPRITE_STANDING_YOUNGSTER, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 1, TrainerBirdKeeperToby, -1
object_event 19, 9, SPRITE_BEAUTY, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 1, TrainerBeautyValerie, -1
object_event 24, 5, SPRITE_SAILOR, SPRITEMOVEDATA_SPINCOUNTERCLOCKWISE, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 2, TrainerSailorHarry, -1
object_event 12, 10, SPRITE_FRUIT_TREE, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Route38FruitTree, -1
object_event 5, 8, SPRITE_BEAUTY, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 1, TrainerBeautyOlivia, -1