pokecrystal/maps/Route43.asm

527 lines
10 KiB
NASM

const_def 2 ; object constants
const ROUTE43_SUPER_NERD1
const ROUTE43_SUPER_NERD2
const ROUTE43_SUPER_NERD3
const ROUTE43_FISHER
const ROUTE43_LASS
const ROUTE43_YOUNGSTER
const ROUTE43_FRUIT_TREE
const ROUTE43_POKE_BALL
Route43_MapScripts:
db 0 ; scene scripts
db 1 ; callbacks
callback MAPCALLBACK_NEWMAP, .CheckIfRockets
.CheckIfRockets:
checkevent EVENT_CLEARED_ROCKET_HIDEOUT
iftrue .NoRockets
setmapscene ROUTE_43_GATE, SCENE_DEFAULT
return
.NoRockets:
setmapscene ROUTE_43_GATE, SCENE_FINISHED
return
TrainerCamperSpencer:
trainer CAMPER, SPENCER, EVENT_BEAT_CAMPER_SPENCER, CamperSpencerSeenText, CamperSpencerBeatenText, 0, .Script
.Script:
endifjustbattled
opentext
writetext CamperSpencerAfterBattleText
waitbutton
closetext
end
TrainerPokemaniacBen:
trainer POKEMANIAC, BEN, EVENT_BEAT_POKEMANIAC_BEN, PokemaniacBenSeenText, PokemaniacBenBeatenText, 0, .Script
.Script:
endifjustbattled
opentext
writetext PokemaniacBenAfterBattleText
waitbutton
closetext
end
TrainerPokemaniacBrent:
trainer POKEMANIAC, BRENT1, EVENT_BEAT_POKEMANIAC_BRENT, PokemaniacBrentSeenText, PokemaniacBrentBeatenText, 0, .Script
.Script:
writecode VAR_CALLERID, PHONE_POKEMANIAC_BRENT
endifjustbattled
opentext
checkflag ENGINE_BRENT
iftrue .WantsBattle
checkcellnum PHONE_POKEMANIAC_BRENT
iftrue .NumberAccepted
checkevent EVENT_BRENT_ASKED_FOR_PHONE_NUMBER
iftrue .AskedAlready
writetext PokemaniacBrentAfterBattleText
buttonsound
setevent EVENT_BRENT_ASKED_FOR_PHONE_NUMBER
scall .AskNumber1
jump .AskForNumber
.AskedAlready:
scall .AskNumber2
.AskForNumber:
askforphonenumber PHONE_POKEMANIAC_BRENT
ifequal PHONE_CONTACTS_FULL, .PhoneFull
ifequal PHONE_CONTACT_REFUSED, .NumberDeclined
trainertotext POKEMANIAC, BRENT1, MEM_BUFFER_0
scall .RegisteredNumber
jump .NumberAccepted
.WantsBattle:
scall .Rematch
winlosstext PokemaniacBrentBeatenText, 0
copybytetovar wBrentFightCount
ifequal 3, .Fight3
ifequal 2, .Fight2
ifequal 1, .Fight1
ifequal 0, .LoadFight0
.Fight3:
checkevent EVENT_RESTORED_POWER_TO_KANTO
iftrue .LoadFight3
.Fight2:
checkevent EVENT_BEAT_ELITE_FOUR
iftrue .LoadFight2
.Fight1:
checkevent EVENT_CLEARED_ROCKET_HIDEOUT
iftrue .LoadFight1
.LoadFight0:
loadtrainer POKEMANIAC, BRENT1
startbattle
reloadmapafterbattle
loadvar wBrentFightCount, 1
clearflag ENGINE_BRENT
end
.LoadFight1:
loadtrainer POKEMANIAC, BRENT2
startbattle
reloadmapafterbattle
loadvar wBrentFightCount, 2
clearflag ENGINE_BRENT
end
.LoadFight2:
loadtrainer POKEMANIAC, BRENT3
startbattle
reloadmapafterbattle
loadvar wBrentFightCount, 3
clearflag ENGINE_BRENT
end
.LoadFight3:
loadtrainer POKEMANIAC, BRENT4
startbattle
reloadmapafterbattle
clearflag ENGINE_BRENT
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
.Rematch:
jumpstd rematchm
end
TrainerPokemaniacRon:
trainer POKEMANIAC, RON, EVENT_BEAT_POKEMANIAC_RON, PokemaniacRonSeenText, PokemaniacRonBeatenText, 0, .Script
.Script:
endifjustbattled
opentext
writetext PokemaniacRonAfterBattleText
waitbutton
closetext
end
TrainerFisherMarvin:
trainer FISHER, MARVIN, EVENT_BEAT_FISHER_MARVIN, FisherMarvinSeenText, FisherMarvinBeatenText, 0, .Script
.Script:
endifjustbattled
opentext
writetext FisherMarvinAfterBattleText
waitbutton
closetext
end
TrainerPicnickerTiffany:
trainer PICNICKER, TIFFANY3, EVENT_BEAT_PICNICKER_TIFFANY, PicnickerTiffanySeenText, PicnickerTiffanyBeatenText, 0, .Script
.Script:
writecode VAR_CALLERID, PHONE_PICNICKER_TIFFANY
endifjustbattled
opentext
checkflag ENGINE_TIFFANY
iftrue .WantsBattle
checkflag ENGINE_TIFFANY_HAS_PINK_BOW
iftrue .HasPinkBow
checkcellnum PHONE_PICNICKER_TIFFANY
iftrue .NumberAccepted
checkpoke CLEFAIRY
iffalse .NoClefairy
checkevent EVENT_TIFFANY_ASKED_FOR_PHONE_NUMBER
iftrue .AskedAlready
writetext PicnickerTiffanyWantsPicnicText
buttonsound
setevent EVENT_TIFFANY_ASKED_FOR_PHONE_NUMBER
scall .AskNumber1
jump .AskForNumber
.AskedAlready:
scall .AskNumber2
.AskForNumber:
askforphonenumber PHONE_PICNICKER_TIFFANY
ifequal PHONE_CONTACTS_FULL, .PhoneFull
ifequal PHONE_CONTACT_REFUSED, .NumberDeclined
trainertotext PICNICKER, TIFFANY3, MEM_BUFFER_0
scall .RegisteredNumber
jump .NumberAccepted
.WantsBattle:
scall .Rematch
winlosstext PicnickerTiffanyBeatenText, 0
copybytetovar wTiffanyFightCount
ifequal 3, .Fight3
ifequal 2, .Fight2
ifequal 1, .Fight1
ifequal 0, .LoadFight0
.Fight3:
checkevent EVENT_RESTORED_POWER_TO_KANTO
iftrue .LoadFight3
.Fight2:
checkevent EVENT_BEAT_ELITE_FOUR
iftrue .LoadFight2
.Fight1:
checkevent EVENT_CLEARED_RADIO_TOWER
iftrue .LoadFight1
.LoadFight0:
loadtrainer PICNICKER, TIFFANY3
startbattle
reloadmapafterbattle
loadvar wTiffanyFightCount, 1
clearflag ENGINE_TIFFANY
end
.LoadFight1:
loadtrainer PICNICKER, TIFFANY1
startbattle
reloadmapafterbattle
loadvar wTiffanyFightCount, 2
clearflag ENGINE_TIFFANY
end
.LoadFight2:
loadtrainer PICNICKER, TIFFANY2
startbattle
reloadmapafterbattle
loadvar wTiffanyFightCount, 3
clearflag ENGINE_TIFFANY
end
.LoadFight3:
loadtrainer PICNICKER, TIFFANY4
startbattle
reloadmapafterbattle
clearflag ENGINE_TIFFANY
end
.HasPinkBow:
scall .Gift
verbosegiveitem PINK_BOW
iffalse .NoRoom
clearflag ENGINE_TIFFANY_HAS_PINK_BOW
setevent EVENT_TIFFANY_GAVE_PINK_BOW
jump .NumberAccepted
.NoRoom:
jump .PackFull
.NoClefairy:
writetext PicnickerTiffanyClefairyText
waitbutton
closetext
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
.Rematch:
jumpstd rematchf
end
.Gift:
jumpstd giftf
end
.PackFull:
jumpstd packfullf
end
Route43Sign1:
jumptext Route43Sign1Text
Route43Sign2:
jumptext Route43Sign2Text
Route43TrainerTips:
jumptext Route43TrainerTipsText
FruitTreeScript_0x19d266:
fruittree FRUITTREE_ROUTE_43
Route43MaxEther:
itemball MAX_ETHER
PokemaniacBenSeenText:
text "I love #MON!"
para "That's why I"
line "started--and why"
para "I'll keep on col-"
line "lecting #MON!"
done
PokemaniacBenBeatenText:
text "How could you do"
line "this to me?"
done
PokemaniacBenAfterBattleText:
text "What else do I"
line "like besides"
cont "#MON?"
para "MARY on the radio."
line "I bet she's cute!"
done
PokemaniacBrentSeenText:
text "Hey! Do you have"
line "any rare #MON?"
done
PokemaniacBrentBeatenText:
text "Oh, my poor #-"
line "MON! Darlings!"
done
PokemaniacBrentAfterBattleText:
text "I'd be happy just"
line "to own a single"
cont "rare #MON."
done
PokemaniacRonSeenText:
text "Would you get"
line "this?"
para "Some <RIVAL> guy"
line "made fun of my"
cont "#MON!"
para "Darn it! My #-"
line "MON's great!"
done
PokemaniacRonBeatenText:
text "My NIDOKING did"
line "pretty right on!"
done
PokemaniacRonAfterBattleText:
text "It's okay for"
line "people to like"
para "different types"
line "of #MON."
para "#MON isn't just"
line "about having the"
cont "most powerful one."
done
FisherMarvinSeenText:
text "I'm in a slump."
para "Maybe it's the"
line "gear I'm using."
para "Let's battle for a"
line "change of pace!"
done
FisherMarvinBeatenText:
text "I lost, but I feel"
line "better anyway."
done
FisherMarvinAfterBattleText:
text "KURT's LURE BALL"
line "is the best for"
para "catching hooked"
line "#MON."
para "It's much more"
line "effective than a"
cont "ULTRA BALL."
done
CamperSpencerSeenText:
text "I can do so much"
line "with my #MON--"
cont "it's super-fun!"
done
CamperSpencerBeatenText:
text "Losing isn't fun"
line "at all…"
done
CamperSpencerAfterBattleText:
text "What is going on"
line "at LAKE OF RAGE?"
para "We were planning"
line "to camp there."
done
PicnickerTiffanySeenText:
text "Are you going to"
line "LAKE OF RAGE too?"
para "Let's play for a "
line "little while!"
done
PicnickerTiffanyBeatenText:
text "I played too much!"
done
PicnickerTiffanyWantsPicnicText:
text "I'm having a pic-"
line "nic with #MON."
para "Won't you join us?"
done
PicnickerTiffanyClefairyText:
text "Isn't my CLEFAIRY"
line "just the most"
cont "adorable thing?"
done
Route43Sign1Text:
text "ROUTE 43"
para "LAKE OF RAGE -"
line "MAHOGANY TOWN"
done
Route43Sign2Text:
text "ROUTE 43"
para "LAKE OF RAGE -"
line "MAHOGANY TOWN"
done
Route43TrainerTipsText:
text "TRAINER TIPS"
para "All #MON have"
line "pros and cons"
para "depending on their"
line "types."
para "If their types"
line "differ, a higher-"
para "level #MON may"
line "lose in battle."
para "Learn which types"
line "are strong and"
para "weak against your"
line "#MON's type."
done
Route43_MapEvents:
db 0, 0 ; filler
db 5 ; warp events
warp_event 9, 51, ROUTE_43_MAHOGANY_GATE, 1
warp_event 10, 51, ROUTE_43_MAHOGANY_GATE, 2
warp_event 17, 35, ROUTE_43_GATE, 3
warp_event 17, 31, ROUTE_43_GATE, 1
warp_event 18, 31, ROUTE_43_GATE, 2
db 0 ; coord events
db 3 ; bg events
bg_event 13, 3, BGEVENT_READ, Route43Sign1
bg_event 11, 49, BGEVENT_READ, Route43Sign2
bg_event 16, 38, BGEVENT_READ, Route43TrainerTips
db 8 ; object events
object_event 13, 5, SPRITE_SUPER_NERD, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 2, TrainerPokemaniacBen, -1
object_event 13, 20, SPRITE_SUPER_NERD, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 3, TrainerPokemaniacBrent, -1
object_event 14, 7, SPRITE_SUPER_NERD, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 2, TrainerPokemaniacRon, -1
object_event 4, 16, SPRITE_FISHER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 4, TrainerFisherMarvin, -1
object_event 9, 25, SPRITE_LASS, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 2, TrainerPicnickerTiffany, -1
object_event 13, 40, SPRITE_YOUNGSTER, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 3, TrainerCamperSpencer, -1
object_event 1, 26, SPRITE_FRUIT_TREE, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, FruitTreeScript_0x19d266, -1
object_event 12, 32, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, Route43MaxEther, EVENT_ROUTE_43_MAX_ETHER