mirror of https://github.com/pret/pokecrystal.git
435 lines
8.9 KiB
NASM
435 lines
8.9 KiB
NASM
const_def 2 ; object constants
|
|
const ROUTE26_COOLTRAINER_M1
|
|
const ROUTE26_COOLTRAINER_M2
|
|
const ROUTE26_COOLTRAINER_F1
|
|
const ROUTE26_COOLTRAINER_F2
|
|
const ROUTE26_YOUNGSTER
|
|
const ROUTE26_FISHER
|
|
const ROUTE26_FRUIT_TREE
|
|
const ROUTE26_POKE_BALL
|
|
|
|
Route26_MapScripts:
|
|
db 0 ; scene scripts
|
|
|
|
db 0 ; callbacks
|
|
|
|
TrainerCooltrainermJake:
|
|
trainer COOLTRAINERM, JAKE, EVENT_BEAT_COOLTRAINERM_JAKE, CooltrainermJakeSeenText, CooltrainermJakeBeatenText, 0, .Script
|
|
|
|
.Script:
|
|
endifjustbattled
|
|
opentext
|
|
writetext CooltrainermJakeAfterBattleText
|
|
waitbutton
|
|
closetext
|
|
end
|
|
|
|
TrainerCooltrainermGaven3:
|
|
trainer COOLTRAINERM, GAVEN3, EVENT_BEAT_COOLTRAINERM_GAVEN, CooltrainermGaven3SeenText, CooltrainermGaven3BeatenText, 0, .Script
|
|
|
|
.Script:
|
|
writecode VAR_CALLERID, PHONE_COOLTRAINERM_GAVEN
|
|
endifjustbattled
|
|
opentext
|
|
checkflag ENGINE_GAVEN
|
|
iftrue .WantsBattle
|
|
checkcellnum PHONE_COOLTRAINERM_GAVEN
|
|
iftrue .NumberAccepted
|
|
checkevent EVENT_GAVEN_ASKED_FOR_PHONE_NUMBER
|
|
iftrue .AskedAlready
|
|
writetext CooltrainermGavenAfterText
|
|
buttonsound
|
|
setevent EVENT_GAVEN_ASKED_FOR_PHONE_NUMBER
|
|
scall .AskNumber1
|
|
jump .AskForNumber
|
|
|
|
.AskedAlready:
|
|
scall .AskNumber2
|
|
.AskForNumber:
|
|
askforphonenumber PHONE_COOLTRAINERM_GAVEN
|
|
ifequal PHONE_CONTACTS_FULL, .PhoneFull
|
|
ifequal PHONE_CONTACT_REFUSED, .NumberDeclined
|
|
trainertotext COOLTRAINERM, GAVEN3, MEM_BUFFER_0
|
|
scall .RegisteredNumber
|
|
jump .NumberAccepted
|
|
|
|
.WantsBattle:
|
|
scall .Rematch
|
|
winlosstext CooltrainermGaven3BeatenText, 0
|
|
copybytetovar wGavenFightCount
|
|
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 COOLTRAINERM, GAVEN3
|
|
startbattle
|
|
reloadmapafterbattle
|
|
loadvar wGavenFightCount, 1
|
|
clearflag ENGINE_GAVEN
|
|
end
|
|
|
|
.LoadFight1:
|
|
loadtrainer COOLTRAINERM, GAVEN1
|
|
startbattle
|
|
reloadmapafterbattle
|
|
loadvar wGavenFightCount, 2
|
|
clearflag ENGINE_GAVEN
|
|
end
|
|
|
|
.LoadFight2:
|
|
loadtrainer COOLTRAINERM, GAVEN2
|
|
startbattle
|
|
reloadmapafterbattle
|
|
clearflag ENGINE_GAVEN
|
|
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
|
|
|
|
TrainerCooltrainerfJoyce:
|
|
trainer COOLTRAINERF, JOYCE, EVENT_BEAT_COOLTRAINERF_JOYCE, CooltrainerfJoyceSeenText, CooltrainerfJoyceBeatenText, 0, .Script
|
|
|
|
.Script:
|
|
endifjustbattled
|
|
opentext
|
|
writetext CooltrainerfJoyceAfterBattleText
|
|
waitbutton
|
|
closetext
|
|
end
|
|
|
|
TrainerCooltrainerfBeth1:
|
|
trainer COOLTRAINERF, BETH1, EVENT_BEAT_COOLTRAINERF_BETH, CooltrainerfBeth1SeenText, CooltrainerfBeth1BeatenText, 0, .Script
|
|
|
|
.Script:
|
|
writecode VAR_CALLERID, PHONE_COOLTRAINERF_BETH
|
|
endifjustbattled
|
|
opentext
|
|
checkflag ENGINE_BETH
|
|
iftrue .WantsBattle
|
|
checkcellnum PHONE_COOLTRAINERF_BETH
|
|
iftrue .NumberAccepted
|
|
checkevent EVENT_BETH_ASKED_FOR_PHONE_NUMBER
|
|
iftrue .AskedAlready
|
|
writetext CooltrainerfBethAfterText
|
|
buttonsound
|
|
setevent EVENT_BETH_ASKED_FOR_PHONE_NUMBER
|
|
scall .AskNumber1
|
|
jump .AskForNumber
|
|
|
|
.AskedAlready:
|
|
scall .AskNumber2
|
|
.AskForNumber:
|
|
askforphonenumber PHONE_COOLTRAINERF_BETH
|
|
ifequal PHONE_CONTACTS_FULL, .PhoneFull
|
|
ifequal PHONE_CONTACT_REFUSED, .NumberDeclined
|
|
trainertotext COOLTRAINERF, BETH1, MEM_BUFFER_0
|
|
scall .RegisteredNumber
|
|
jump .NumberAccepted
|
|
|
|
.WantsBattle:
|
|
scall .Rematch
|
|
winlosstext CooltrainerfBeth1BeatenText, 0
|
|
copybytetovar wBethFightCount
|
|
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, BETH1
|
|
startbattle
|
|
reloadmapafterbattle
|
|
loadvar wBethFightCount, 1
|
|
clearflag ENGINE_BETH
|
|
end
|
|
|
|
.LoadFight1:
|
|
loadtrainer COOLTRAINERF, BETH2
|
|
startbattle
|
|
reloadmapafterbattle
|
|
loadvar wBethFightCount, 2
|
|
clearflag ENGINE_BETH
|
|
end
|
|
|
|
.LoadFight2:
|
|
loadtrainer COOLTRAINERF, BETH3
|
|
startbattle
|
|
reloadmapafterbattle
|
|
clearflag ENGINE_BETH
|
|
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
|
|
|
|
TrainerPsychicRichard:
|
|
trainer PSYCHIC_T, RICHARD, EVENT_BEAT_PSYCHIC_RICHARD, PsychicRichardSeenText, PsychicRichardBeatenText, 0, .Script
|
|
|
|
.Script:
|
|
endifjustbattled
|
|
opentext
|
|
writetext PsychicRichardAfterBattleText
|
|
waitbutton
|
|
closetext
|
|
end
|
|
|
|
TrainerFisherScott:
|
|
trainer FISHER, SCOTT, EVENT_BEAT_FISHER_SCOTT, FisherScottSeenText, FisherScottBeatenText, 0, .Script
|
|
|
|
.Script:
|
|
endifjustbattled
|
|
opentext
|
|
writetext FisherScottAfterBattleText
|
|
waitbutton
|
|
closetext
|
|
end
|
|
|
|
Route26Sign:
|
|
jumptext Route26SignText
|
|
|
|
FruitTreeScript_0x1a4ec2:
|
|
fruittree FRUITTREE_ROUTE_26
|
|
|
|
Route26MaxElixer:
|
|
itemball MAX_ELIXER
|
|
|
|
CooltrainermJakeSeenText:
|
|
text "I'm making my"
|
|
line "final preparations"
|
|
|
|
para "for the #MON"
|
|
line "LEAGUE."
|
|
done
|
|
|
|
CooltrainermJakeBeatenText:
|
|
text "I blew it!"
|
|
done
|
|
|
|
CooltrainermJakeAfterBattleText:
|
|
text "It's going to be"
|
|
line "tough to win at"
|
|
cont "the LEAGUE."
|
|
|
|
para "I need to do some"
|
|
line "more training."
|
|
|
|
para "I hear that the"
|
|
line "LEAGUE's ELITE"
|
|
|
|
para "FOUR are tougher"
|
|
line "than GYM LEADERS."
|
|
done
|
|
|
|
CooltrainermGaven3SeenText:
|
|
text "By experiencing"
|
|
line "tough battles, you"
|
|
cont "gain power."
|
|
done
|
|
|
|
CooltrainermGaven3BeatenText:
|
|
text "Gaah! Life is even"
|
|
line "tougher!"
|
|
done
|
|
|
|
CooltrainermGavenAfterText:
|
|
text "To get to #MON"
|
|
line "LEAGUE, you have"
|
|
|
|
para "to get through"
|
|
line "VICTORY ROAD."
|
|
|
|
para "But VICTORY ROAD"
|
|
line "is tough."
|
|
|
|
para "Practically nobody"
|
|
line "goes there!"
|
|
done
|
|
|
|
CooltrainerfJoyceSeenText:
|
|
text "Since you've come"
|
|
line "this far, you must"
|
|
cont "be good."
|
|
|
|
para "I'm going to give"
|
|
line "this battle every-"
|
|
cont "thing I've got!"
|
|
done
|
|
|
|
CooltrainerfJoyceBeatenText:
|
|
text "No! I don't"
|
|
line "believe this!"
|
|
done
|
|
|
|
CooltrainerfJoyceAfterBattleText:
|
|
text "I've defeated"
|
|
line "eight GYM LEADERS,"
|
|
|
|
para "so I was feeling"
|
|
line "confident."
|
|
|
|
para "I'll have to try"
|
|
line "harder next time."
|
|
done
|
|
|
|
CooltrainerfBeth1SeenText:
|
|
text "I lost to a train-"
|
|
line "er named <RIVAL>."
|
|
|
|
para "He was really"
|
|
line "strong, but…"
|
|
|
|
para "It was as if he"
|
|
line "absolutely had to"
|
|
cont "win at any cost."
|
|
|
|
para "I felt sorry for"
|
|
line "his #MON."
|
|
done
|
|
|
|
CooltrainerfBeth1BeatenText:
|
|
text "#MON aren't"
|
|
line "tools of war."
|
|
done
|
|
|
|
CooltrainerfBethAfterText:
|
|
text "#MON are in-"
|
|
line "valuable, lifelong"
|
|
cont "partners."
|
|
done
|
|
|
|
PsychicRichardSeenText:
|
|
text "Wow, look at all"
|
|
line "those BADGES!"
|
|
cont "I'm impressed."
|
|
|
|
para "But you're not"
|
|
line "satisfied by just"
|
|
|
|
para "collecting them,"
|
|
line "right?"
|
|
done
|
|
|
|
PsychicRichardBeatenText:
|
|
text "Good battle!"
|
|
done
|
|
|
|
PsychicRichardAfterBattleText:
|
|
text "People and #MON"
|
|
line "grow from their"
|
|
cont "experiences."
|
|
|
|
para "Don't get lazy and"
|
|
line "complacent."
|
|
done
|
|
|
|
FisherScottSeenText:
|
|
text "I'm feeling great"
|
|
line "today!"
|
|
|
|
para "I feel like I"
|
|
line "could boot even"
|
|
cont "the LEAGUE CHAMP!"
|
|
done
|
|
|
|
FisherScottBeatenText:
|
|
text "No! Not in this"
|
|
line "battle!"
|
|
done
|
|
|
|
FisherScottAfterBattleText:
|
|
text "Just like in fish-"
|
|
line "ing, it's all over"
|
|
|
|
para "in #MON if you"
|
|
line "give up."
|
|
done
|
|
|
|
Route26SignText:
|
|
text "ROUTE 26"
|
|
|
|
para "#MON LEAGUE"
|
|
line "RECEPTION GATE"
|
|
done
|
|
|
|
Route26_MapEvents:
|
|
db 0, 0 ; filler
|
|
|
|
db 3 ; warp events
|
|
warp_event 7, 5, VICTORY_ROAD_GATE, 3
|
|
warp_event 15, 57, ROUTE_26_HEAL_HOUSE, 1
|
|
warp_event 5, 71, DAY_OF_WEEK_SIBLINGS_HOUSE, 1
|
|
|
|
db 0 ; coord events
|
|
|
|
db 1 ; bg events
|
|
bg_event 8, 6, BGEVENT_READ, Route26Sign
|
|
|
|
db 8 ; object events
|
|
object_event 14, 24, SPRITE_COOLTRAINER_M, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 2, TrainerCooltrainermJake, -1
|
|
object_event 9, 38, SPRITE_COOLTRAINER_M, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 3, TrainerCooltrainermGaven3, -1
|
|
object_event 10, 56, SPRITE_COOLTRAINER_F, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 3, TrainerCooltrainerfJoyce, -1
|
|
object_event 5, 8, SPRITE_COOLTRAINER_F, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 4, TrainerCooltrainerfBeth1, -1
|
|
object_event 13, 79, SPRITE_YOUNGSTER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 2, TrainerPsychicRichard, -1
|
|
object_event 10, 92, SPRITE_FISHER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 3, TrainerFisherScott, -1
|
|
object_event 14, 54, SPRITE_FRUIT_TREE, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, FruitTreeScript_0x1a4ec2, -1
|
|
object_event 9, 15, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, Route26MaxElixer, EVENT_ROUTE_26_MAX_ELIXER
|