pokecrystal/maps/BurnedTower1F.asm

310 lines
7.5 KiB
NASM

object_const_def
const BURNEDTOWER1F_ROCK
const BURNEDTOWER1F_EUSINE
const BURNEDTOWER1F_RIVAL
const BURNEDTOWER1F_MORTY
const BURNEDTOWER1F_POKE_BALL
BurnedTower1F_MapScripts:
def_scene_scripts
scene_script BurnedTower1FMeetEusineScene, SCENE_BURNEDTOWER1F_MEET_EUSINE
scene_script BurnedTower1FNoop1Scene, SCENE_BURNEDTOWER1F_RIVAL_BATTLE
scene_script BurnedTower1FNoop2Scene, SCENE_BURNEDTOWER1F_NOOP
def_callbacks
callback MAPCALLBACK_TILES, BurnedTower1FHoleAndLadderCallback
BurnedTower1FMeetEusineScene:
sdefer BurnedTower1FMeetEusineScript
end
BurnedTower1FNoop1Scene:
end
BurnedTower1FNoop2Scene:
end
BurnedTower1FHoleAndLadderCallback:
checkevent EVENT_HOLE_IN_BURNED_TOWER
iftrue .KeepHoleOpen
changeblock 10, 8, $32 ; floor
.KeepHoleOpen:
checkevent EVENT_RELEASED_THE_BEASTS
iftrue .HideBasement
changeblock 6, 14, $09 ; ladder
.HideBasement:
endcallback
BurnedTower1FMeetEusineScript:
turnobject BURNEDTOWER1F_EUSINE, DOWN
showemote EMOTE_SHOCK, BURNEDTOWER1F_EUSINE, 15
applymovement BURNEDTOWER1F_EUSINE, BurnedTower1FEusineMovement
opentext
writetext BurnedTower1FEusineIntroText
waitbutton
closetext
moveobject BURNEDTOWER1F_EUSINE, 9, 14
setscene SCENE_BURNEDTOWER1F_RIVAL_BATTLE
end
BurnedTowerRivalBattleScript:
showemote EMOTE_SHOCK, BURNEDTOWER1F_RIVAL, 15
special FadeOutMusic
pause 15
turnobject BURNEDTOWER1F_RIVAL, RIGHT
pause 15
applymovement PLAYER, BurnedTowerMovement_PlayerWalksToRival
applymovement BURNEDTOWER1F_RIVAL, BurnedTowerMovement_RivalWalksToPlayer
playmusic MUSIC_RIVAL_ENCOUNTER
opentext
writetext BurnedTowerRival_BeforeText
waitbutton
closetext
checkevent EVENT_GOT_TOTODILE_FROM_ELM
iftrue .totodile
checkevent EVENT_GOT_CHIKORITA_FROM_ELM
iftrue .chikorita
winlosstext BurnedTowerRival_WinText, BurnedTowerRival_LossText
setlasttalked BURNEDTOWER1F_RIVAL
loadtrainer RIVAL1, RIVAL1_3_TOTODILE
startbattle
dontrestartmapmusic
reloadmapafterbattle
sjump .returnfrombattle
.totodile
winlosstext BurnedTowerRival_WinText, BurnedTowerRival_LossText
setlasttalked BURNEDTOWER1F_RIVAL
loadtrainer RIVAL1, RIVAL1_3_CHIKORITA
startbattle
dontrestartmapmusic
reloadmapafterbattle
sjump .returnfrombattle
.chikorita
winlosstext BurnedTowerRival_WinText, BurnedTowerRival_LossText
setlasttalked BURNEDTOWER1F_RIVAL
loadtrainer RIVAL1, RIVAL1_3_CYNDAQUIL
startbattle
dontrestartmapmusic
reloadmapafterbattle
sjump .returnfrombattle
.returnfrombattle
playmusic MUSIC_RIVAL_AFTER
opentext
writetext BurnedTowerRival_AfterText1
waitbutton
closetext
setscene SCENE_BURNEDTOWER1F_NOOP
setevent EVENT_RIVAL_BURNED_TOWER
special FadeOutMusic
pause 15
earthquake 50
showemote EMOTE_SHOCK, PLAYER, 15
playsound SFX_ENTER_DOOR
waitsfx
changeblock 10, 8, $25 ; hole
reloadmappart
pause 15
applymovement PLAYER, BurnedTower1FMovement_PlayerStartsToFall
playsound SFX_KINESIS
showemote EMOTE_SHOCK, BURNEDTOWER1F_RIVAL, 20
opentext
writetext BurnedTowerRival_AfterText2
waitbutton
closetext
setevent EVENT_HOLE_IN_BURNED_TOWER
pause 15
warpcheck
end
BurnedTower1FEusineScript:
jumptextfaceplayer BurnedTower1FEusineText
BurnedTower1FMortyScript:
jumptextfaceplayer BurnedTower1FMortyText
BurnedTower1FRock:
jumpstd SmashRockScript
BurnedTower1FHiddenEther:
hiddenitem ETHER, EVENT_BURNED_TOWER_1F_HIDDEN_ETHER
BurnedTower1FHiddenUltraBall:
hiddenitem ULTRA_BALL, EVENT_BURNED_TOWER_1F_HIDDEN_ULTRA_BALL
BurnedTower1FHPUp:
itemball HP_UP
BurnedTowerMovement_PlayerWalksToRival:
step LEFT
step_end
BurnedTowerMovement_RivalWalksToPlayer:
step RIGHT
step_end
BurnedTower1FMovement_PlayerStartsToFall:
skyfall_top
step_end
BurnedTower1FEusineMovement:
step DOWN
step LEFT
step LEFT
step LEFT
step DOWN
step_end
BurnedTowerRival_BeforeText:
text "<……> <……> <……>"
para "…Oh, it's you."
para "I came looking for"
line "some legendary"
para "#MON that they"
line "say roosts here."
para "But there's"
line "nothing here!"
para "Nothing after all"
line "the trouble of"
para "coming to this"
line "dump? No way!"
para "It's all your"
line "fault!"
done
BurnedTowerRival_WinText:
text "…Humph!"
para "This is why I hate"
line "battling wimps."
para "There's no"
line "challenge in it."
done
BurnedTowerRival_AfterText1:
text "…Aw, whatever."
para "You would never be"
line "able to catch a"
para "legendary #MON"
line "anyway."
done
BurnedTowerRival_LossText:
text "…Humph!"
para "This is why I hate"
line "battling wimps."
para "It's just a waste"
line "of my time."
done
BurnedTowerRival_AfterText2:
text "Humph!"
para "What are you doing"
line "falling into a"
para "hole? Some genius"
line "you are!"
para "Serves you right!"
done
BurnedTower1FEusineIntroText:
text "EUSINE: My name's"
line "EUSINE."
para "I'm on the trail"
line "of a #MON named"
cont "SUICUNE."
para "And you are…?"
para "<PLAYER>? Glad to"
line "meet you!"
para "I heard rumors"
line "that SUICUNE is in"
para "this BURNED TOWER,"
line "so I came to look."
para "But where exactly"
line "could it be?"
done
BurnedTower1FEusineText:
text "EUSINE: I heard"
line "that SUICUNE is in"
para "this BURNED TOWER,"
line "so I came to look."
para "But where exactly"
line "could it be?"
done
BurnedTower1FMortyText:
text "MORTY: ECRUTEAK's"
line "GYM LEADER has to"
para "study what are"
line "said to be the"
para "legendary #MON"
line "--SUICUNE, ENTEI"
cont "and RAIKOU."
para "EUSINE is here, so"
line "I've decided to"
para "investigate the"
line "TOWER with him."
done
BurnedTower1F_MapEvents:
db 0, 0 ; filler
def_warp_events
warp_event 9, 15, ECRUTEAK_CITY, 13
warp_event 10, 15, ECRUTEAK_CITY, 13
warp_event 10, 9, BURNED_TOWER_B1F, 1
warp_event 5, 5, BURNED_TOWER_B1F, 1 ; inaccessible, left over from G/S
warp_event 5, 6, BURNED_TOWER_B1F, 1 ; inaccessible, left over from G/S
warp_event 4, 6, BURNED_TOWER_B1F, 1 ; inaccessible, left over from G/S
warp_event 15, 4, BURNED_TOWER_B1F, 2 ; inaccessible, left over from G/S
warp_event 15, 5, BURNED_TOWER_B1F, 2 ; inaccessible, left over from G/S
warp_event 10, 7, BURNED_TOWER_B1F, 3 ; inaccessible, left over from G/S
warp_event 5, 14, BURNED_TOWER_B1F, 4 ; inaccessible, left over from G/S
warp_event 4, 14, BURNED_TOWER_B1F, 4 ; inaccessible, left over from G/S
warp_event 14, 14, BURNED_TOWER_B1F, 5 ; inaccessible, left over from G/S
warp_event 15, 14, BURNED_TOWER_B1F, 5 ; inaccessible, left over from G/S
warp_event 7, 15, BURNED_TOWER_B1F, 6 ; inaccessible, left over from G/S
def_coord_events
coord_event 11, 9, SCENE_BURNEDTOWER1F_RIVAL_BATTLE, BurnedTowerRivalBattleScript
def_bg_events
bg_event 8, 7, BGEVENT_ITEM, BurnedTower1FHiddenEther
bg_event 13, 11, BGEVENT_ITEM, BurnedTower1FHiddenUltraBall
def_object_events
object_event 15, 4, SPRITE_ROCK, SPRITEMOVEDATA_SMASHABLE_ROCK, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, BurnedTower1FRock, -1
object_event 12, 12, SPRITE_SUPER_NERD, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, BurnedTower1FEusineScript, EVENT_BURNED_TOWER_1F_EUSINE
object_event 8, 9, SPRITE_RIVAL, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 3, ObjectEvent, EVENT_RIVAL_BURNED_TOWER
object_event 14, 14, SPRITE_MORTY, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_SCRIPT, 0, BurnedTower1FMortyScript, EVENT_BURNED_TOWER_MORTY
object_event 14, 2, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, BurnedTower1FHPUp, EVENT_BURNED_TOWER_1F_HP_UP