mirror of https://github.com/pret/pokecrystal.git
493 lines
10 KiB
NASM
493 lines
10 KiB
NASM
object_const_def
|
|
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:
|
|
def_scene_scripts
|
|
scene_script .DummyScene0, SCENE_ROUTE27_FIRST_STEP_INTO_KANTO
|
|
scene_script .DummyScene1, SCENE_ROUTE27_NOOP
|
|
|
|
def_callbacks
|
|
|
|
.DummyScene0:
|
|
end
|
|
|
|
.DummyScene1:
|
|
end
|
|
|
|
FirstStepIntoKantoLeftScene:
|
|
turnobject ROUTE27_FISHER, LEFT
|
|
showemote EMOTE_SHOCK, ROUTE27_FISHER, 15
|
|
applymovement ROUTE27_FISHER, Route27FisherStepLeftTwiceMovement
|
|
sjump FirstStepIntoKantoScene_Continue
|
|
|
|
FirstStepIntoKantoRightScene:
|
|
turnobject ROUTE27_FISHER, LEFT
|
|
showemote EMOTE_SHOCK, ROUTE27_FISHER, 15
|
|
applymovement ROUTE27_FISHER, Route27FisherStepLeftOnceMovement
|
|
FirstStepIntoKantoScene_Continue:
|
|
turnobject PLAYER, RIGHT
|
|
opentext
|
|
writetext Route27FisherHeyText
|
|
promptbutton
|
|
writetext Route27FisherText
|
|
waitbutton
|
|
closetext
|
|
setscene SCENE_ROUTE27_NOOP
|
|
end
|
|
|
|
Route27FisherScript:
|
|
jumptextfaceplayer Route27FisherText
|
|
|
|
TrainerPsychicGilbert:
|
|
trainer PSYCHIC_T, GILBERT, EVENT_BEAT_PSYCHIC_GILBERT, PsychicGilbertSeenText, PsychicGilbertBeatenText, 0, .Script
|
|
|
|
.Script:
|
|
endifjustbattled
|
|
opentext
|
|
writetext PsychicGilbertAfterBattleText
|
|
waitbutton
|
|
closetext
|
|
end
|
|
|
|
TrainerBirdKeeperJose2:
|
|
trainer BIRD_KEEPER, JOSE2, EVENT_BEAT_BIRD_KEEPER_JOSE2, BirdKeeperJose2SeenText, BirdKeeperJose2BeatenText, 0, .Script
|
|
|
|
.Script:
|
|
loadvar VAR_CALLERID, PHONE_BIRDKEEPER_JOSE
|
|
endifjustbattled
|
|
opentext
|
|
checkflag ENGINE_JOSE_READY_FOR_REMATCH
|
|
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
|
|
promptbutton
|
|
setevent EVENT_JOSE_ASKED_FOR_PHONE_NUMBER
|
|
scall .AskNumber1
|
|
sjump .AskForNumber
|
|
|
|
.AskedAlready:
|
|
scall .AskNumber2
|
|
.AskForNumber:
|
|
askforphonenumber PHONE_BIRDKEEPER_JOSE
|
|
ifequal PHONE_CONTACTS_FULL, .PhoneFull
|
|
ifequal PHONE_CONTACT_REFUSED, .NumberDeclined
|
|
gettrainername STRING_BUFFER_3, BIRD_KEEPER, JOSE2
|
|
scall .RegisteredNumber
|
|
sjump .NumberAccepted
|
|
|
|
.WantsBattle:
|
|
scall .Rematch
|
|
winlosstext BirdKeeperJose2BeatenText, 0
|
|
readmem wJoseFightCount
|
|
ifequal 2, .Fight2
|
|
ifequal 1, .Fight1
|
|
ifequal 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
|
|
loadmem wJoseFightCount, 1
|
|
clearflag ENGINE_JOSE_READY_FOR_REMATCH
|
|
end
|
|
|
|
.LoadFight1:
|
|
loadtrainer BIRD_KEEPER, JOSE1
|
|
startbattle
|
|
reloadmapafterbattle
|
|
loadmem wJoseFightCount, 2
|
|
clearflag ENGINE_JOSE_READY_FOR_REMATCH
|
|
end
|
|
|
|
.LoadFight2:
|
|
loadtrainer BIRD_KEEPER, JOSE3
|
|
startbattle
|
|
reloadmapafterbattle
|
|
clearflag ENGINE_JOSE_READY_FOR_REMATCH
|
|
end
|
|
|
|
.HasStarPiece:
|
|
scall .Gift
|
|
verbosegiveitem STAR_PIECE
|
|
iffalse .NoRoom
|
|
clearflag ENGINE_JOSE_HAS_STAR_PIECE
|
|
sjump .NumberAccepted
|
|
|
|
.NoRoom:
|
|
sjump .PackFull
|
|
|
|
.AskNumber1:
|
|
jumpstd AskNumber1MScript
|
|
end
|
|
|
|
.AskNumber2:
|
|
jumpstd AskNumber2MScript
|
|
end
|
|
|
|
.RegisteredNumber:
|
|
jumpstd RegisteredNumberMScript
|
|
end
|
|
|
|
.NumberAccepted:
|
|
jumpstd NumberAcceptedMScript
|
|
end
|
|
|
|
.NumberDeclined:
|
|
jumpstd NumberDeclinedMScript
|
|
end
|
|
|
|
.PhoneFull:
|
|
jumpstd PhoneFullMScript
|
|
end
|
|
|
|
.Rematch:
|
|
jumpstd RematchMScript
|
|
end
|
|
|
|
.Gift:
|
|
jumpstd GiftMScript
|
|
end
|
|
|
|
.PackFull:
|
|
jumpstd PackFullMScript
|
|
end
|
|
|
|
TrainerCooltrainermBlake:
|
|
trainer COOLTRAINERM, BLAKE, EVENT_BEAT_COOLTRAINERM_BLAKE, CooltrainermBlakeSeenText, CooltrainermBlakeBeatenText, 0, .Script
|
|
|
|
.Script:
|
|
endifjustbattled
|
|
opentext
|
|
writetext CooltrainermBlakeAfterBattleText
|
|
waitbutton
|
|
closetext
|
|
end
|
|
|
|
TrainerCooltrainermBrian:
|
|
trainer COOLTRAINERM, BRIAN, EVENT_BEAT_COOLTRAINERM_BRIAN, CooltrainermBrianSeenText, CooltrainermBrianBeatenText, 0, .Script
|
|
|
|
.Script:
|
|
endifjustbattled
|
|
opentext
|
|
writetext CooltrainermBrianAfterBattleText
|
|
waitbutton
|
|
closetext
|
|
end
|
|
|
|
TrainerCooltrainerfReena:
|
|
trainer COOLTRAINERF, REENA1, EVENT_BEAT_COOLTRAINERF_REENA, CooltrainerfReenaSeenText, CooltrainerfReenaBeatenText, 0, .Script
|
|
|
|
.Script:
|
|
loadvar VAR_CALLERID, PHONE_COOLTRAINERF_REENA
|
|
endifjustbattled
|
|
opentext
|
|
checkflag ENGINE_REENA_READY_FOR_REMATCH
|
|
iftrue .WantsBattle
|
|
checkcellnum PHONE_COOLTRAINERF_REENA
|
|
iftrue .NumberAccepted
|
|
checkevent EVENT_REENA_ASKED_FOR_PHONE_NUMBER
|
|
iftrue .AskedAlready
|
|
writetext CooltrainerfReenaAfterBattleText
|
|
promptbutton
|
|
setevent EVENT_REENA_ASKED_FOR_PHONE_NUMBER
|
|
scall .AskNumber1
|
|
sjump .AskForNumber
|
|
|
|
.AskedAlready:
|
|
scall .AskNumber2
|
|
.AskForNumber:
|
|
askforphonenumber PHONE_COOLTRAINERF_REENA
|
|
ifequal PHONE_CONTACTS_FULL, .PhoneFull
|
|
ifequal PHONE_CONTACT_REFUSED, .NumberDeclined
|
|
gettrainername STRING_BUFFER_3, COOLTRAINERF, REENA1
|
|
scall .RegisteredNumber
|
|
sjump .NumberAccepted
|
|
|
|
.WantsBattle:
|
|
scall .Rematch
|
|
winlosstext CooltrainerfReenaBeatenText, 0
|
|
readmem wReenaFightCount
|
|
ifequal 2, .Fight2
|
|
ifequal 1, .Fight1
|
|
ifequal 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
|
|
loadmem wReenaFightCount, 1
|
|
clearflag ENGINE_REENA_READY_FOR_REMATCH
|
|
end
|
|
|
|
.LoadFight1:
|
|
loadtrainer COOLTRAINERF, REENA2
|
|
startbattle
|
|
reloadmapafterbattle
|
|
loadmem wReenaFightCount, 2
|
|
clearflag ENGINE_REENA_READY_FOR_REMATCH
|
|
end
|
|
|
|
.LoadFight2:
|
|
loadtrainer COOLTRAINERF, REENA3
|
|
startbattle
|
|
reloadmapafterbattle
|
|
clearflag ENGINE_REENA_READY_FOR_REMATCH
|
|
end
|
|
|
|
.AskNumber1:
|
|
jumpstd AskNumber1FScript
|
|
end
|
|
|
|
.AskNumber2:
|
|
jumpstd AskNumber2FScript
|
|
end
|
|
|
|
.RegisteredNumber:
|
|
jumpstd RegisteredNumberFScript
|
|
end
|
|
|
|
.NumberAccepted:
|
|
jumpstd NumberAcceptedFScript
|
|
end
|
|
|
|
.NumberDeclined:
|
|
jumpstd NumberDeclinedFScript
|
|
end
|
|
|
|
.PhoneFull:
|
|
jumpstd PhoneFullFScript
|
|
end
|
|
|
|
.Rematch:
|
|
jumpstd RematchFScript
|
|
end
|
|
|
|
TrainerCooltrainerfMegan:
|
|
trainer COOLTRAINERF, MEGAN, EVENT_BEAT_COOLTRAINERF_MEGAN, CooltrainerfMeganSeenText, CooltrainerfMeganBeatenText, 0, .Script
|
|
|
|
.Script:
|
|
endifjustbattled
|
|
opentext
|
|
writetext CooltrainerfMeganAfterBattleText
|
|
waitbutton
|
|
closetext
|
|
end
|
|
|
|
TohjoFallsSign:
|
|
jumptext TohjoFallsSignText
|
|
|
|
Route27TMSolarbeam:
|
|
itemball TM_SOLARBEAM
|
|
|
|
Route27RareCandy:
|
|
itemball RARE_CANDY
|
|
|
|
Route27FisherStepLeftTwiceMovement:
|
|
step LEFT
|
|
step LEFT
|
|
step_end
|
|
|
|
Route27FisherStepLeftOnceMovement:
|
|
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
|
|
|
|
def_warp_events
|
|
warp_event 33, 7, ROUTE_27_SANDSTORM_HOUSE, 1
|
|
warp_event 26, 5, TOHJO_FALLS, 1
|
|
warp_event 36, 5, TOHJO_FALLS, 2
|
|
|
|
def_coord_events
|
|
coord_event 18, 10, SCENE_ROUTE27_FIRST_STEP_INTO_KANTO, FirstStepIntoKantoLeftScene
|
|
coord_event 19, 10, SCENE_ROUTE27_FIRST_STEP_INTO_KANTO, FirstStepIntoKantoRightScene
|
|
|
|
def_bg_events
|
|
bg_event 25, 7, BGEVENT_READ, TohjoFallsSign
|
|
|
|
def_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
|