pokecrystal/maps/BurnedTower1F.asm

310 lines
7.4 KiB
NASM

object_const_def ; object_event constants
const BURNEDTOWER1F_ROCK
const BURNEDTOWER1F_EUSINE
const BURNEDTOWER1F_SILVER
const BURNEDTOWER1F_MORTY
const BURNEDTOWER1F_POKE_BALL
BurnedTower1F_MapScripts:
db 3 ; scene scripts
scene_script .EusineScene ; SCENE_DEFAULT
scene_script .DummyScene1 ; SCENE_BURNEDTOWER1F_RIVAL_BATTLE
scene_script .DummyScene2 ; SCENE_BURNEDTOWER1F_NOTHING
db 1 ; callbacks
callback MAPCALLBACK_TILES, .HoleAndLadder
.EusineScene:
prioritysjump .MeetEusine
end
.DummyScene1:
end
.DummyScene2:
end
.HoleAndLadder:
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:
return
.MeetEusine:
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_SILVER, 15
special FadeOutMusic
pause 15
turnobject BURNEDTOWER1F_SILVER, RIGHT
pause 15
applymovement PLAYER, BurnedTowerMovement_PlayerWalksToSilver
applymovement BURNEDTOWER1F_SILVER, BurnedTowerMovement_SilverWalksToPlayer
playmusic MUSIC_RIVAL_ENCOUNTER
opentext
writetext BurnedTowerSilver_BeforeText
waitbutton
closetext
checkevent EVENT_GOT_TOTODILE_FROM_ELM
iftrue .totodile
checkevent EVENT_GOT_CHIKORITA_FROM_ELM
iftrue .chikorita
winlosstext BurnedTowerSilver_WinText, BurnedTowerSilver_LossText
setlasttalked BURNEDTOWER1F_SILVER
loadtrainer RIVAL1, RIVAL1_3_TOTODILE
startbattle
dontrestartmapmusic
reloadmapafterbattle
sjump .returnfrombattle
.totodile
winlosstext BurnedTowerSilver_WinText, BurnedTowerSilver_LossText
setlasttalked BURNEDTOWER1F_SILVER
loadtrainer RIVAL1, RIVAL1_3_CHIKORITA
startbattle
dontrestartmapmusic
reloadmapafterbattle
sjump .returnfrombattle
.chikorita
winlosstext BurnedTowerSilver_WinText, BurnedTowerSilver_LossText
setlasttalked BURNEDTOWER1F_SILVER
loadtrainer RIVAL1, RIVAL1_3_CYNDAQUIL
startbattle
dontrestartmapmusic
reloadmapafterbattle
sjump .returnfrombattle
.returnfrombattle
playmusic MUSIC_RIVAL_AFTER
opentext
writetext BurnedTowerSilver_AfterText1
waitbutton
closetext
setscene SCENE_BURNEDTOWER1F_NOTHING
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_SILVER, 20
opentext
writetext BurnedTowerSilver_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_PlayerWalksToSilver:
step LEFT
step_end
BurnedTowerMovement_SilverWalksToPlayer:
step RIGHT
step_end
BurnedTower1FMovement_PlayerStartsToFall:
skyfall_top
step_end
BurnedTower1FEusineMovement:
step DOWN
step LEFT
step LEFT
step LEFT
step DOWN
step_end
BurnedTowerSilver_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
BurnedTowerSilver_WinText:
text "…Humph!"
para "This is why I hate"
line "battling wimps."
para "There's no"
line "challenge in it."
done
BurnedTowerSilver_AfterText1:
text "…Aw, whatever."
para "You would never be"
line "able to catch a"
para "legendary #MON"
line "anyway."
done
BurnedTowerSilver_LossText:
text "…Humph!"
para "This is why I hate"
line "battling wimps."
para "It's just a waste"
line "of my time."
done
BurnedTowerSilver_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
db 14 ; 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
db 1 ; coord events
coord_event 11, 9, SCENE_BURNEDTOWER1F_RIVAL_BATTLE, BurnedTowerRivalBattleScript
db 2 ; bg events
bg_event 8, 7, BGEVENT_ITEM, BurnedTower1FHiddenEther
bg_event 13, 11, BGEVENT_ITEM, BurnedTower1FHiddenUltraBall
db 5 ; 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_SILVER, 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