pokecrystal/maps/Route27.asm

493 lines
10 KiB
NASM

const_def 2 ; object constants
const ROUTE27_COOLTRAINER_M1
const ROUTE27_COOLTRAINER_M2
const ROUTE27_COOLTRAINER_F1
const ROUTE27_COOLTRAINER_F2
const ROUTE27_YOUNGSTER1
const ROUTE27_YOUNGSTER2
const ROUTE27_POKE_BALL1
const ROUTE27_POKE_BALL2
const ROUTE27_FISHER
Route27_MapScripts:
db 2 ; scene scripts
scene_script .DummyScene0 ; SCENE_DEFAULT
scene_script .DummyScene1 ; SCENE_ROUTE27_NOTHING
db 0 ; callbacks
.DummyScene0:
end
.DummyScene1:
end
UnknownScript_0x1a0873:
spriteface ROUTE27_FISHER, LEFT
showemote EMOTE_SHOCK, ROUTE27_FISHER, 15
applymovement ROUTE27_FISHER, MovementData_0x1a0a66
jump UnknownScript_0x1a088c
UnknownScript_0x1a0881:
spriteface ROUTE27_FISHER, LEFT
showemote EMOTE_SHOCK, ROUTE27_FISHER, 15
applymovement ROUTE27_FISHER, MovementData_0x1a0a69
UnknownScript_0x1a088c:
spriteface PLAYER, RIGHT
opentext
writetext Route27FisherHeyText
buttonsound
writetext Route27FisherText
waitbutton
closetext
setscene SCENE_ROUTE27_NOTHING
end
Route27FisherScript:
jumptextfaceplayer Route27FisherText
TrainerPsychicGilbert:
trainer PSYCHIC_T, GILBERT, EVENT_BEAT_PSYCHIC_GILBERT, PsychicGilbertSeenText, PsychicGilbertBeatenText, 0, .Script
.Script:
end_if_just_battled
opentext
writetext PsychicGilbertAfterBattleText
waitbutton
closetext
end
TrainerBirdKeeperJose2:
trainer BIRD_KEEPER, JOSE2, EVENT_BEAT_BIRD_KEEPER_JOSE2, BirdKeeperJose2SeenText, BirdKeeperJose2BeatenText, 0, .Script
.Script:
writecode VAR_CALLERID, PHONE_BIRDKEEPER_JOSE
end_if_just_battled
opentext
checkflag ENGINE_JOSE
iftrue .WantsBattle
checkflag ENGINE_JOSE_HAS_STAR_PIECE
iftrue .HasStarPiece
checkcellnum PHONE_BIRDKEEPER_JOSE
iftrue .NumberAccepted
checkevent EVENT_JOSE_ASKED_FOR_PHONE_NUMBER
iftrue .AskedAlready
writetext BirdKeeperJose2AfterBattleText
buttonsound
setevent EVENT_JOSE_ASKED_FOR_PHONE_NUMBER
scall .AskNumber1
jump .AskForNumber
.AskedAlready:
scall .AskNumber2
.AskForNumber:
askforphonenumber PHONE_BIRDKEEPER_JOSE
if_equal PHONE_CONTACTS_FULL, .PhoneFull
if_equal PHONE_CONTACT_REFUSED, .NumberDeclined
trainertotext BIRD_KEEPER, JOSE2, MEM_BUFFER_0
scall .RegisteredNumber
jump .NumberAccepted
.WantsBattle:
scall .Rematch
winlosstext BirdKeeperJose2BeatenText, 0
copybytetovar wJoseFightCount
if_equal 2, .Fight2
if_equal 1, .Fight1
if_equal 0, .LoadFight0
.Fight2:
checkevent EVENT_RESTORED_POWER_TO_KANTO
iftrue .LoadFight2
.Fight1:
checkevent EVENT_BEAT_ELITE_FOUR
iftrue .LoadFight1
.LoadFight0:
loadtrainer BIRD_KEEPER, JOSE2
startbattle
reloadmapafterbattle
loadvar wJoseFightCount, 1
clearflag ENGINE_JOSE
end
.LoadFight1:
loadtrainer BIRD_KEEPER, JOSE1
startbattle
reloadmapafterbattle
loadvar wJoseFightCount, 2
clearflag ENGINE_JOSE
end
.LoadFight2:
loadtrainer BIRD_KEEPER, JOSE3
startbattle
reloadmapafterbattle
clearflag ENGINE_JOSE
end
.HasStarPiece:
scall .Gift
verbosegiveitem STAR_PIECE
iffalse .NoRoom
clearflag ENGINE_JOSE_HAS_STAR_PIECE
jump .NumberAccepted
.NoRoom:
jump .PackFull
.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
.Gift:
jumpstd giftm
end
.PackFull:
jumpstd packfullm
end
TrainerCooltrainermBlake:
trainer COOLTRAINERM, BLAKE, EVENT_BEAT_COOLTRAINERM_BLAKE, CooltrainermBlakeSeenText, CooltrainermBlakeBeatenText, 0, .Script
.Script:
end_if_just_battled
opentext
writetext CooltrainermBlakeAfterBattleText
waitbutton
closetext
end
TrainerCooltrainermBrian:
trainer COOLTRAINERM, BRIAN, EVENT_BEAT_COOLTRAINERM_BRIAN, CooltrainermBrianSeenText, CooltrainermBrianBeatenText, 0, .Script
.Script:
end_if_just_battled
opentext
writetext CooltrainermBrianAfterBattleText
waitbutton
closetext
end
TrainerCooltrainerfReena:
trainer COOLTRAINERF, REENA1, EVENT_BEAT_COOLTRAINERF_REENA, CooltrainerfReenaSeenText, CooltrainerfReenaBeatenText, 0, .Script
.Script:
writecode VAR_CALLERID, PHONE_COOLTRAINERF_REENA
end_if_just_battled
opentext
checkflag ENGINE_REENA
iftrue .WantsBattle
checkcellnum PHONE_COOLTRAINERF_REENA
iftrue .NumberAccepted
checkevent EVENT_REENA_ASKED_FOR_PHONE_NUMBER
iftrue .AskedAlready
writetext CooltrainerfReenaAfterBattleText
buttonsound
setevent EVENT_REENA_ASKED_FOR_PHONE_NUMBER
scall .AskNumber1
jump .AskForNumber
.AskedAlready:
scall .AskNumber2
.AskForNumber:
askforphonenumber PHONE_COOLTRAINERF_REENA
if_equal PHONE_CONTACTS_FULL, .PhoneFull
if_equal PHONE_CONTACT_REFUSED, .NumberDeclined
trainertotext COOLTRAINERF, REENA1, MEM_BUFFER_0
scall .RegisteredNumber
jump .NumberAccepted
.WantsBattle:
scall .Rematch
winlosstext CooltrainerfReenaBeatenText, 0
copybytetovar wReenaFightCount
if_equal 2, .Fight2
if_equal 1, .Fight1
if_equal 0, .LoadFight0
.Fight2:
checkevent EVENT_RESTORED_POWER_TO_KANTO
iftrue .LoadFight2
.Fight1:
checkevent EVENT_BEAT_ELITE_FOUR
iftrue .LoadFight1
.LoadFight0:
loadtrainer COOLTRAINERF, REENA1
startbattle
reloadmapafterbattle
loadvar wReenaFightCount, 1
clearflag ENGINE_REENA
end
.LoadFight1:
loadtrainer COOLTRAINERF, REENA2
startbattle
reloadmapafterbattle
loadvar wReenaFightCount, 2
clearflag ENGINE_REENA
end
.LoadFight2:
loadtrainer COOLTRAINERF, REENA3
startbattle
reloadmapafterbattle
clearflag ENGINE_REENA
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
TrainerCooltrainerfMegan:
trainer COOLTRAINERF, MEGAN, EVENT_BEAT_COOLTRAINERF_MEGAN, CooltrainerfMeganSeenText, CooltrainerfMeganBeatenText, 0, .Script
.Script:
end_if_just_battled
opentext
writetext CooltrainerfMeganAfterBattleText
waitbutton
closetext
end
TohjoFallsSign:
jumptext TohjoFallsSignText
Route27TMSolarbeam:
itemball TM_SOLARBEAM
Route27RareCandy:
itemball RARE_CANDY
MovementData_0x1a0a66:
step LEFT
step LEFT
step_end
MovementData_0x1a0a69:
step LEFT
step_end
Route27FisherHeyText:
text "Hey!"
done
Route27FisherText:
text "Do you know what"
line "you just did?"
para "You've taken your"
line "first step into"
cont "KANTO."
para "Check your #-"
line "GEAR MAP and see."
done
CooltrainermBlakeSeenText:
text "You look pretty"
line "strong."
cont "Let me battle you!"
done
CooltrainermBlakeBeatenText:
text "Yow!"
done
CooltrainermBlakeAfterBattleText:
text "If you prevail on"
line "this harsh trek,"
para "the truth will be"
line "revealed!"
para "Heh, sorry, I just"
line "wanted to say"
cont "something cool."
done
CooltrainermBrianSeenText:
text "Hm? You're good,"
line "aren't you?"
done
CooltrainermBrianBeatenText:
text "Just as I thought!"
done
CooltrainermBrianAfterBattleText:
text "A good trainer can"
line "recognize other"
cont "good trainers."
done
CooltrainerfReenaSeenText:
text "You shouldn't"
line "underestimate the"
para "wild #MON in"
line "these parts."
done
CooltrainerfReenaBeatenText:
text "Oh! You're much"
line "too strong!"
done
CooltrainerfReenaAfterBattleText:
text "You're just a kid,"
line "but you're not to"
para "be underestimated"
line "either."
done
CooltrainerfMeganSeenText:
text "It's rare to see"
line "anyone come here."
para "Are you training"
line "on your own?"
done
CooltrainerfMeganBeatenText:
text "Oh! You're really"
line "strong!"
done
CooltrainerfMeganAfterBattleText:
text "I'm checking out"
line "pre- and post-"
cont "evolution #MON."
para "Evolution really"
line "does make #MON"
cont "stronger."
para "But evolved forms"
line "also learn moves"
cont "later on."
done
PsychicGilbertSeenText:
text "Don't say a thing!"
para "Let me guess what"
line "you're thinking."
para "Mmmmmmm…"
para "I got it! You're"
line "on the #MON"
cont "LEAGUE challenge!"
done
PsychicGilbertBeatenText:
text "You're too much!"
done
PsychicGilbertAfterBattleText:
text "With your skills,"
line "you'll do well at"
cont "the LEAGUE."
para "That's what my"
line "premonition says."
done
BirdKeeperJose2SeenText:
text "Tweet! Tweet!"
line "Tetweet!"
done
BirdKeeperJose2BeatenText:
text "Tweet!"
done
BirdKeeperJose2AfterBattleText:
text "BIRD KEEPERS like"
line "me mimic bird"
para "whistles to com-"
line "mand #MON."
done
TohjoFallsSignText:
text "TOHJO FALLS"
para "THE LINK BETWEEN"
line "KANTO AND JOHTO"
done
Route27_MapEvents:
db 0, 0 ; filler
db 3 ; warp events
warp_event 33, 7, 1, ROUTE_27_SANDSTORM_HOUSE
warp_event 26, 5, 1, TOHJO_FALLS
warp_event 36, 5, 2, TOHJO_FALLS
db 2 ; coord events
coord_event 18, 10, SCENE_DEFAULT, UnknownScript_0x1a0873
coord_event 19, 10, SCENE_DEFAULT, UnknownScript_0x1a0881
db 1 ; bg events
bg_event 25, 7, BGEVENT_READ, TohjoFallsSign
db 9 ; object events
object_event 48, 7, SPRITE_COOLTRAINER_M, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 3, TrainerCooltrainermBlake, -1
object_event 58, 6, SPRITE_COOLTRAINER_M, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 4, TrainerCooltrainermBrian, -1
object_event 72, 10, SPRITE_COOLTRAINER_F, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 4, TrainerCooltrainerfReena, -1
object_event 37, 6, SPRITE_COOLTRAINER_F, SPRITEMOVEDATA_SPINCLOCKWISE, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 2, TrainerCooltrainerfMegan, -1
object_event 65, 7, SPRITE_YOUNGSTER, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 3, TrainerPsychicGilbert, -1
object_event 58, 13, SPRITE_YOUNGSTER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 3, TrainerBirdKeeperJose2, -1
object_event 60, 12, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, Route27TMSolarbeam, EVENT_ROUTE_27_TM_SOLARBEAM
object_event 53, 12, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, Route27RareCandy, EVENT_ROUTE_27_RARE_CANDY
object_event 21, 10, SPRITE_FISHER, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 3, Route27FisherScript, -1