pokecrystal/maps/Route42.asm

349 lines
7.4 KiB
NASM

const_def 2 ; object constants
const ROUTE42_FISHER
const ROUTE42_POKEFAN_M
const ROUTE42_SUPER_NERD
const ROUTE42_FRUIT_TREE1
const ROUTE42_FRUIT_TREE2
const ROUTE42_FRUIT_TREE3
const ROUTE42_POKE_BALL1
const ROUTE42_POKE_BALL2
const ROUTE42_SUICUNE
Route42_MapScripts:
db 2 ; scene scripts
scene_script .DummyScene0 ; SCENE_ROUTE42_NOTHING
scene_script .DummyScene1 ; SCENE_ROUTE42_SUICUNE
db 0 ; callbacks
.DummyScene0:
end
.DummyScene1:
end
Route42SuicuneScript:
showemote EMOTE_SHOCK, PLAYER, 15
pause 15
playsound SFX_WARP_FROM
applymovement ROUTE42_SUICUNE, MovementData_0x1a9356
disappear ROUTE42_SUICUNE
pause 10
setscene SCENE_ROUTE42_NOTHING
clearevent EVENT_SAW_SUICUNE_ON_ROUTE_36
setmapscene ROUTE_36, SCENE_ROUTE36_SUICUNE
end
TrainerFisherTully:
trainer FISHER, TULLY1, EVENT_BEAT_FISHER_TULLY, FisherTullySeenText, FisherTullyBeatenText, 0, .Script
.Script:
writecode VAR_CALLERID, PHONE_FISHER_TULLY
end_if_just_battled
opentext
checkflag ENGINE_TULLY
iftrue .WantsBattle
checkflag ENGINE_TULLY_HAS_WATER_STONE
iftrue .HasWaterStone
checkcellnum PHONE_FISHER_TULLY
iftrue .NumberAccepted
checkevent EVENT_TULLY_ASKED_FOR_PHONE_NUMBER
iftrue .AskedAlready
writetext FisherTullyAfterBattleText
buttonsound
setevent EVENT_TULLY_ASKED_FOR_PHONE_NUMBER
scall .AskNumber1
jump .AskForNumber
.AskedAlready:
scall .AskNumber2
.AskForNumber:
askforphonenumber PHONE_FISHER_TULLY
if_equal PHONE_CONTACTS_FULL, .PhoneFull
if_equal PHONE_CONTACT_REFUSED, .NumberDeclined
trainertotext FISHER, TULLY1, MEM_BUFFER_0
scall .RegisteredNumber
jump .NumberAccepted
.WantsBattle:
scall .Rematch
winlosstext FisherTullyBeatenText, 0
copybytetovar wTullyFightCount
if_equal 3, .Fight3
if_equal 2, .Fight2
if_equal 1, .Fight1
if_equal 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 FISHER, TULLY1
startbattle
reloadmapafterbattle
loadvar wTullyFightCount, 1
clearflag ENGINE_TULLY
end
.LoadFight1:
loadtrainer FISHER, TULLY2
startbattle
reloadmapafterbattle
loadvar wTullyFightCount, 2
clearflag ENGINE_TULLY
end
.LoadFight2:
loadtrainer FISHER, TULLY3
startbattle
reloadmapafterbattle
loadvar wTullyFightCount, 3
clearflag ENGINE_TULLY
end
.LoadFight3:
loadtrainer FISHER, TULLY4
startbattle
reloadmapafterbattle
clearflag ENGINE_TULLY
end
.HasWaterStone:
scall .Gift
verbosegiveitem WATER_STONE
iffalse .NoRoom
clearflag ENGINE_TULLY_HAS_WATER_STONE
setevent EVENT_TULLY_GAVE_WATER_STONE
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
TrainerPokemaniacShane:
trainer POKEMANIAC, SHANE, EVENT_BEAT_POKEMANIAC_SHANE, PokemaniacShaneSeenText, PokemaniacShaneBeatenText, 0, .Script
.Script:
end_if_just_battled
opentext
writetext PokemaniacShaneAfterBattleText
waitbutton
closetext
end
TrainerHikerBenjamin:
trainer HIKER, BENJAMIN, EVENT_BEAT_HIKER_BENJAMIN, HikerBenjaminSeenText, HikerBenjaminBeatenText, 0, .Script
.Script:
end_if_just_battled
opentext
writetext HikerBenjaminAfterBattleText
waitbutton
closetext
end
Route42Sign1:
jumptext Route42Sign1Text
MtMortarSign1:
jumptext MtMortarSign1Text
MtMortarSign2:
jumptext MtMortarSign2Text
Route42Sign2:
jumptext Route42Sign2Text
Route42UltraBall:
itemball ULTRA_BALL
Route42SuperPotion:
itemball SUPER_POTION
FruitTreeScript_0x1a934d:
fruittree FRUITTREE_ROUTE_42_1
FruitTreeScript_0x1a934f:
fruittree FRUITTREE_ROUTE_42_2
FruitTreeScript_0x1a9351:
fruittree FRUITTREE_ROUTE_42_3
Route42HiddenMaxPotion:
hiddenitem MAX_POTION, EVENT_ROUTE_42_HIDDEN_MAX_POTION
MovementData_0x1a9356:
set_sliding
fast_jump_step UP
fast_jump_step UP
fast_jump_step UP
fast_jump_step RIGHT
fast_jump_step RIGHT
fast_jump_step RIGHT
remove_sliding
step_end
FisherTullySeenText:
text "Let me demonstrate"
line "the power of the"
cont "#MON I caught!"
done
FisherTullyBeatenText:
text "What? That's not"
line "right."
done
FisherTullyAfterBattleText:
text "I want to become"
line "the trainer CHAMP"
para "using the #MON"
line "I caught."
para "That's the best"
line "part of fishing!"
done
HikerBenjaminSeenText:
text "Ah, it's good to"
line "be outside!"
cont "I feel so free!"
done
HikerBenjaminBeatenText:
text "Gahahah!"
done
HikerBenjaminAfterBattleText:
text "Losing feels in-"
line "significant if you"
para "look up at the big"
line "sky!"
done
PokemaniacShaneSeenText:
text "HEY!"
para "This is my secret"
line "place! Get lost,"
cont "you outsider!"
done
PokemaniacShaneBeatenText:
text "I should have used"
line "my MOON STONE…"
done
PokemaniacShaneAfterBattleText:
text "You're working on"
line "a #DEX?"
para "Wow, you must know"
line "some pretty rare"
cont "#MON!"
para "May I please see"
line "it. Please?"
done
Route42Sign1Text:
text "ROUTE 42"
para "ECRUTEAK CITY -"
line "MAHOGANY TOWN"
done
MtMortarSign1Text:
text "MT.MORTAR"
para "WATERFALL CAVE"
line "INSIDE"
done
MtMortarSign2Text:
text "MT.MORTAR"
para "WATERFALL CAVE"
line "INSIDE"
done
Route42Sign2Text:
text "ROUTE 42"
para "ECRUTEAK CITY -"
line "MAHOGANY TOWN"
done
Route42_MapEvents:
db 0, 0 ; filler
db 5 ; warp events
warp_event 0, 8, 3, ROUTE_42_ECRUTEAK_GATE
warp_event 0, 9, 4, ROUTE_42_ECRUTEAK_GATE
warp_event 10, 5, 1, MOUNT_MORTAR_1F_OUTSIDE
warp_event 28, 9, 2, MOUNT_MORTAR_1F_OUTSIDE
warp_event 46, 7, 3, MOUNT_MORTAR_1F_OUTSIDE
db 1 ; coord events
coord_event 24, 14, SCENE_ROUTE42_SUICUNE, Route42SuicuneScript
db 5 ; bg events
bg_event 4, 10, BGEVENT_READ, Route42Sign1
bg_event 7, 5, BGEVENT_READ, MtMortarSign1
bg_event 45, 9, BGEVENT_READ, MtMortarSign2
bg_event 54, 8, BGEVENT_READ, Route42Sign2
bg_event 16, 11, BGEVENT_ITEM, Route42HiddenMaxPotion
db 9 ; object events
object_event 40, 10, SPRITE_FISHER, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 1, TrainerFisherTully, -1
object_event 51, 9, SPRITE_POKEFAN_M, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_TRAINER, 3, TrainerHikerBenjamin, -1
object_event 47, 8, SPRITE_SUPER_NERD, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 3, TrainerPokemaniacShane, -1
object_event 27, 16, SPRITE_FRUIT_TREE, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, FruitTreeScript_0x1a934d, -1
object_event 28, 16, SPRITE_FRUIT_TREE, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, FruitTreeScript_0x1a934f, -1
object_event 29, 16, SPRITE_FRUIT_TREE, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, FruitTreeScript_0x1a9351, -1
object_event 6, 4, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, Route42UltraBall, EVENT_ROUTE_42_ULTRA_BALL
object_event 33, 8, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, Route42SuperPotion, EVENT_ROUTE_42_SUPER_POTION
object_event 26, 16, SPRITE_SUICUNE, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, ObjectEvent, EVENT_SAW_SUICUNE_ON_ROUTE_42