pokecrystal-board/maps/TeamRocketBaseB3F.asm

607 lines
13 KiB
NASM

const_def 2 ; object constants
const TEAMROCKETBASEB3F_LANCE
const TEAMROCKETBASEB3F_ROCKET1
const TEAMROCKETBASEB3F_MOLTRES
const TEAMROCKETBASEB3F_ROCKET_GIRL
const TEAMROCKETBASEB3F_ROCKET2
const TEAMROCKETBASEB3F_SCIENTIST1
const TEAMROCKETBASEB3F_SCIENTIST2
const TEAMROCKETBASEB3F_ROCKET3
const TEAMROCKETBASEB3F_SILVER
const TEAMROCKETBASEB3F_POKE_BALL1
const TEAMROCKETBASEB3F_POKE_BALL2
const TEAMROCKETBASEB3F_POKE_BALL3
const TEAMROCKETBASEB3F_POKE_BALL4
const TEAMROCKETBASEB3F_POKE_BALL5
TeamRocketBaseB3F_MapScripts:
db 4 ; scene scripts
scene_script .LanceGetsPassword ; SCENE_TEAMROCKETBASEB3F_0
scene_script .DummyScene1 ; SCENE_TEAMROCKETBASEB3F_1
scene_script .DummyScene2 ; SCENE_TEAMROCKETBASEB3F_2
scene_script .DummyScene3 ; SCENE_TEAMROCKETBASEB3F_3
db 1 ; callbacks
callback MAPCALLBACK_TILES, .CheckGiovanniDoor
.LanceGetsPassword:
priorityjump LanceGetPasswordScript
end
.DummyScene1:
end
.DummyScene2:
end
.DummyScene3:
end
.CheckGiovanniDoor:
checkevent EVENT_OPENED_DOOR_TO_GIOVANNIS_OFFICE
iftrue .OpenSesame
return
.OpenSesame:
changeblock 10, 8, $07 ; floor
return
LanceGetPasswordScript:
spriteface PLAYER, LEFT
pause 5
spriteface TEAMROCKETBASEB3F_MOLTRES, RIGHT
pause 20
applymovement TEAMROCKETBASEB3F_LANCE, MovementData_0x6e12a
opentext
writetext LanceGetPasswordText
waitbutton
closetext
applymovement TEAMROCKETBASEB3F_LANCE, MovementData_0x6e12c
disappear TEAMROCKETBASEB3F_LANCE
setscene SCENE_TEAMROCKETBASEB3F_1
end
RocketBaseRival:
spriteface PLAYER, LEFT
showemote EMOTE_SHOCK, PLAYER, 15
special FadeOutMusic
appear TEAMROCKETBASEB3F_SILVER
applymovement TEAMROCKETBASEB3F_SILVER, RocketBaseRivalEnterMovement
spriteface PLAYER, LEFT
playmusic MUSIC_RIVAL_ENCOUNTER
opentext
writetext RocketBaseRivalText
waitbutton
closetext
playsound SFX_TACKLE
applymovement PLAYER, RocketBaseRivalShovesPlayerMovement
applymovement TEAMROCKETBASEB3F_SILVER, RocketBaseRivalLeaveMovement
disappear TEAMROCKETBASEB3F_SILVER
setscene SCENE_TEAMROCKETBASEB3F_2
special RestartMapMusic
end
TeamRocketBaseB3FRocketScript:
jumptextfaceplayer TeamRocketBaseB3FRocketText
UnknownScript_0x6e04b:
applymovement PLAYER, MovementData_0x6e133
jump UnknownScript_0x6e056
UnknownScript_0x6e052:
applymovement PLAYER, MovementData_0x6e13a
UnknownScript_0x6e056:
pause 30
showemote EMOTE_SHOCK, TEAMROCKETBASEB3F_ROCKET1, 15
playmusic MUSIC_ROCKET_ENCOUNTER
spriteface TEAMROCKETBASEB3F_ROCKET1, DOWN
opentext
writetext UnknownText_0x6e400
waitbutton
closetext
applymovement TEAMROCKETBASEB3F_ROCKET1, MovementData_0x6e142
winlosstext UnknownText_0x6e511, 0
setlasttalked TEAMROCKETBASEB3F_ROCKET1
loadtrainer EXECUTIVEM, EXECUTIVEM_4
startbattle
reloadmapafterbattle
setevent EVENT_BEAT_ROCKET_EXECUTIVEM_4
opentext
writetext UnknownText_0x6e548
waitbutton
closetext
applymovement TEAMROCKETBASEB3F_ROCKET1, MovementData_0x6e144
playsound SFX_TACKLE
applymovement TEAMROCKETBASEB3F_ROCKET1, MovementData_0x6e147
disappear TEAMROCKETBASEB3F_ROCKET1
setscene SCENE_TEAMROCKETBASEB3F_3
end
RocketBaseMurkrow:
opentext
writetext RocketBaseMurkrowText
waitbutton
closetext
setevent EVENT_LEARNED_HAIL_GIOVANNI
end
SlowpokeTailGrunt:
trainer GRUNTF, GRUNTF_5, EVENT_BEAT_ROCKET_GRUNTF_5, GruntF5SeenText, GruntF5BeatenText, 0, GruntF5Script
GruntF5Script:
end_if_just_battled
opentext
writetext GruntF5AfterBattleText
waitbutton
closetext
setevent EVENT_LEARNED_SLOWPOKETAIL
end
RaticateTailGrunt:
trainer GRUNTM, GRUNTM_28, EVENT_BEAT_ROCKET_GRUNTM_28, GruntM28SeenText, GruntM28BeatenText, 0, GruntM28Script
GruntM28Script:
end_if_just_battled
opentext
writetext GruntM28AfterBattleText
waitbutton
closetext
setevent EVENT_LEARNED_RATICATE_TAIL
end
TrainerScientistRoss:
trainer SCIENTIST, ROSS, EVENT_BEAT_SCIENTIST_ROSS, ScientistRossSeenText, ScientistRossBeatenText, 0, .Script
.Script:
end_if_just_battled
opentext
writetext ScientistRossAfterBattleText
waitbutton
closetext
end
TrainerScientistMitch:
trainer SCIENTIST, MITCH, EVENT_BEAT_SCIENTIST_MITCH, ScientistMitchSeenText, ScientistMitchBeatenText, 0, .Script
.Script:
end_if_just_battled
opentext
writetext ScientistMitchAfterBattleText
waitbutton
closetext
end
TeamRocketBaseB3FLockedDoor:
conditional_event EVENT_OPENED_DOOR_TO_GIOVANNIS_OFFICE, .Script
.Script:
opentext
checkevent EVENT_LEARNED_SLOWPOKETAIL
iffalse .NeedsPassword
checkevent EVENT_LEARNED_RATICATE_TAIL
iffalse .NeedsPassword
jump .OpenSesame
.NeedsPassword:
writetext UnknownText_0x6e970
waitbutton
closetext
end
.OpenSesame:
writetext UnknownText_0x6e9a3
waitbutton
playsound SFX_ENTER_DOOR
changeblock 10, 8, $07 ; floor
reloadmappart
closetext
setevent EVENT_OPENED_DOOR_TO_GIOVANNIS_OFFICE
waitsfx
end
TeamRocketBaseB3FOathScript:
jumpstd teamrocketoath
TeamRocketBaseB3FProtein:
itemball PROTEIN
TeamRocketBaseB3FXSpecial:
itemball X_SPECIAL
TeamRocketBaseB3FFullHeal:
itemball FULL_HEAL
TeamRocketBaseB3FIceHeal:
itemball ICE_HEAL
TeamRocketBaseB3FUltraBall:
itemball ULTRA_BALL
MovementData_0x6e12a:
step RIGHT
step_end
MovementData_0x6e12c:
step DOWN
step LEFT
step LEFT
step LEFT
step LEFT
step LEFT
step_end
MovementData_0x6e133:
step UP
step UP
step UP
step LEFT
step LEFT
turn_head UP
step_end
MovementData_0x6e13a:
step UP
step UP
step LEFT
step UP
step LEFT
step LEFT
turn_head UP
step_end
MovementData_0x6e142:
step DOWN
step_end
MovementData_0x6e144:
big_step RIGHT
big_step RIGHT
step_end
MovementData_0x6e147:
fix_facing
fast_jump_step LEFT
remove_fixed_facing
step_sleep 8
step_sleep 8
slow_step RIGHT
big_step DOWN
big_step DOWN
big_step DOWN
big_step RIGHT
big_step DOWN
big_step DOWN
big_step DOWN
big_step LEFT
big_step LEFT
big_step LEFT
big_step LEFT
big_step LEFT
big_step UP
big_step UP
big_step UP
big_step UP
big_step UP
big_step UP
big_step UP
big_step UP
big_step LEFT
big_step LEFT
step_end
RocketBaseRivalEnterMovement:
step DOWN
step DOWN
step DOWN
step DOWN
step DOWN
step RIGHT
step RIGHT
step RIGHT
step_end
RocketBaseRivalLeaveMovement:
step LEFT
step LEFT
step UP
step UP
step UP
step UP
step UP
step_end
RocketBaseRivalShovesPlayerMovement:
fix_facing
big_step RIGHT
remove_fixed_facing
step_end
LanceGetPasswordText:
text "LANCE: It takes"
line "two passwords to"
para "get into the"
line "boss's quarters."
para "Those passwords"
line "are known only to"
cont "a few ROCKETS."
para "That ROCKET there"
line "very graciously"
cont "told me so."
para "<PLAY_G>, let's go"
line "get the passwords."
done
TeamRocketBaseB3FRocketText:
text "Urrggh… The guy"
line "in the cape is"
cont "incredibly tough…"
done
RocketBaseRivalText:
text "…"
para "Didn't I tell you"
line "that I was going"
para "to destroy TEAM"
line "ROCKET?"
para "…Tell me, who was"
line "the guy in the"
para "cape who used"
line "dragon #MON?"
para "My #MON were no"
line "match at all."
para "I don't care that"
line "I lost. I can beat"
para "him by getting"
line "stronger #MON."
para "It's what he said"
line "that bothers me…"
para "He told me that"
line "I don't love and"
para "trust my #MON"
line "enough."
para "I'm furious that I"
line "lost to a bleeding"
cont "heart like him."
para "…Humph! I don't"
line "have the time for"
cont "the likes of you!"
done
UnknownText_0x6e400:
text "What? Who are you?"
line "This is the office"
para "of our leader,"
line "GIOVANNI."
para "Since disbanding"
line "TEAM ROCKET three"
para "years ago, he has"
line "been in training."
para "But we're certain"
line "he will be back"
para "some day to assume"
line "command again."
para "That's why we're"
line "standing guard."
para "I won't let any-"
line "one disturb this"
cont "place!"
done
UnknownText_0x6e511:
text "I… I couldn't do a"
line "thing…"
para "GIOVANNI, please"
line "forgive me…"
done
UnknownText_0x6e548:
text "No, I can't let"
line "this affect me."
para "I have to inform"
line "the others…"
done
RocketBaseMurkrowText:
text "MURKROW: The"
line "password is…"
para "HAIL GIOVANNI."
done
GruntF5SeenText:
text "Do I know the"
line "password?"
para "Maybe."
para "But no weakling's"
line "going to get it!"
done
GruntF5BeatenText:
text "All right. Stop."
line "I'll tell you."
done
GruntF5AfterBattleText:
text "The password to"
line "the boss's room is"
para "SLOWPOKETAIL."
para "But it's useless"
line "unless you have"
cont "two passwords."
done
GruntM28SeenText:
text "Hyuck-hyuck-hyuck!"
para "You're challenging"
line "me to a battle?"
para "Hah! You're nuts,"
line "but you have guts!"
para "I like that!"
para "If you can beat"
line "me, I'll tell you"
para "a password to the"
line "boss's room!"
done
GruntM28BeatenText:
text "Hyuck-hyuck-hyuck!"
line "You're good!"
done
GruntM28AfterBattleText:
text "Hyuck-hyuck-hyuck!"
para "The password to"
line "the boss's room…"
para "Uh…, I think it is"
line "RATICATE TAIL."
done
ScientistRossSeenText:
text "I used to work for"
line "SILPH, but now I"
para "run research for"
line "TEAM ROCKET."
para "A meddlesome child"
line "like you needs to"
cont "be punished."
done
ScientistRossBeatenText:
text "A mere tactical"
line "error cost me…"
done
ScientistRossAfterBattleText:
text "A radio signal"
line "that drives #-"
cont "MON mad…"
para "My experiment is a"
line "complete success."
para "My promotion is"
line "assured. This loss"
para "means absolutely"
line "nothing."
done
ScientistMitchSeenText:
text "I don't care that"
line "#MON are hurt"
cont "by our experiment."
done
ScientistMitchBeatenText:
text "Thinking is my"
line "strong suit, not"
cont "battling."
done
ScientistMitchAfterBattleText:
text "If we turn up the"
line "power of our radio"
para "signal for broad-"
line "cast nationwide…"
para "The very thought"
line "excites me!"
done
UnknownText_0x6e970:
text "The door's closed…"
para "It needs two"
line "passwords to open."
done
UnknownText_0x6e9a3:
text "The door's closed…"
para "<PLAYER> entered"
line "the two passwords."
para "The door opened!"
done
TeamRocketBaseB3F_MapEvents:
db 0, 0 ; filler
db 4 ; warp events
warp_event 3, 2, 2, TEAM_ROCKET_BASE_B2F
warp_event 27, 2, 3, TEAM_ROCKET_BASE_B2F
warp_event 3, 6, 4, TEAM_ROCKET_BASE_B2F
warp_event 27, 14, 5, TEAM_ROCKET_BASE_B2F
db 3 ; coord events
coord_event 10, 8, SCENE_TEAMROCKETBASEB3F_2, UnknownScript_0x6e04b
coord_event 11, 8, SCENE_TEAMROCKETBASEB3F_2, UnknownScript_0x6e052
coord_event 8, 10, SCENE_TEAMROCKETBASEB3F_1, RocketBaseRival
db 10 ; bg events
bg_event 10, 9, BGEVENT_IFNOTSET, TeamRocketBaseB3FLockedDoor
bg_event 11, 9, BGEVENT_IFNOTSET, TeamRocketBaseB3FLockedDoor
bg_event 10, 1, BGEVENT_READ, TeamRocketBaseB3FOathScript
bg_event 11, 1, BGEVENT_READ, TeamRocketBaseB3FOathScript
bg_event 12, 1, BGEVENT_READ, TeamRocketBaseB3FOathScript
bg_event 13, 1, BGEVENT_READ, TeamRocketBaseB3FOathScript
bg_event 4, 13, BGEVENT_READ, TeamRocketBaseB3FOathScript
bg_event 5, 13, BGEVENT_READ, TeamRocketBaseB3FOathScript
bg_event 6, 13, BGEVENT_READ, TeamRocketBaseB3FOathScript
bg_event 7, 13, BGEVENT_READ, TeamRocketBaseB3FOathScript
db 14 ; object events
object_event 25, 14, SPRITE_LANCE, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, LanceGetPasswordScript, EVENT_TEAM_ROCKET_BASE_B3F_LANCE_PASSWORDS
object_event 8, 3, SPRITE_ROCKET, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_B3F_EXECUTIVE
object_event 7, 2, SPRITE_MOLTRES, SPRITEMOVEDATA_POKEMON, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, RocketBaseMurkrow, EVENT_TEAM_ROCKET_BASE_POPULATION
object_event 21, 7, SPRITE_ROCKET_GIRL, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 0, SlowpokeTailGrunt, EVENT_TEAM_ROCKET_BASE_POPULATION
object_event 5, 14, SPRITE_ROCKET, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 3, RaticateTailGrunt, EVENT_TEAM_ROCKET_BASE_POPULATION
object_event 23, 11, SPRITE_SCIENTIST, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 0, TrainerScientistRoss, EVENT_TEAM_ROCKET_BASE_POPULATION
object_event 11, 15, SPRITE_SCIENTIST, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 3, TrainerScientistMitch, EVENT_TEAM_ROCKET_BASE_POPULATION
object_event 24, 14, SPRITE_ROCKET, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, TeamRocketBaseB3FRocketScript, EVENT_TEAM_ROCKET_BASE_POPULATION
object_event 4, 5, SPRITE_SILVER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, ObjectEvent, EVENT_RIVAL_TEAM_ROCKET_BASE
object_event 1, 12, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, TeamRocketBaseB3FProtein, EVENT_TEAM_ROCKET_BASE_B3F_PROTEIN
object_event 3, 12, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, TeamRocketBaseB3FXSpecial, EVENT_TEAM_ROCKET_BASE_B3F_X_SPECIAL
object_event 28, 9, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, TeamRocketBaseB3FFullHeal, EVENT_TEAM_ROCKET_BASE_B3F_FULL_HEAL
object_event 17, 2, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, TeamRocketBaseB3FIceHeal, EVENT_TEAM_ROCKET_BASE_B3F_ICE_HEAL
object_event 14, 10, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, TeamRocketBaseB3FUltraBall, EVENT_TEAM_ROCKET_BASE_B3F_ULTRA_BALL