pokecrystal/maps/RadioTower3F.asm

352 lines
7.4 KiB
NASM

object_const_def ; object_event constants
const RADIOTOWER3F_SUPER_NERD
const RADIOTOWER3F_GYM_GUIDE
const RADIOTOWER3F_COOLTRAINER_F
const RADIOTOWER3F_ROCKET1
const RADIOTOWER3F_ROCKET2
const RADIOTOWER3F_ROCKET3
const RADIOTOWER3F_SCIENTIST
RadioTower3F_MapScripts:
db 0 ; scene scripts
db 1 ; callbacks
callback MAPCALLBACK_TILES, .CardKeyShutterCallback
.CardKeyShutterCallback:
checkevent EVENT_USED_THE_CARD_KEY_IN_THE_RADIO_TOWER
iftrue .Change
endcallback
.Change:
changeblock 14, 2, $2a ; open shutter
changeblock 14, 4, $01 ; floor
endcallback
RadioTower3FSuperNerdScript:
jumptextfaceplayer RadioTower3FSuperNerdText
RadioTower3FGymGuideScript:
faceplayer
opentext
checkevent EVENT_CLEARED_RADIO_TOWER
iftrue .NoRockets
writetext RadioTower3FGymGuideText_Rockets
waitbutton
closetext
end
.NoRockets:
writetext RadioTower3FGymGuideText
waitbutton
closetext
end
RadioTower3FCooltrainerFScript:
faceplayer
opentext
checkevent EVENT_GOT_SUNNY_DAY_FROM_RADIO_TOWER
iftrue .GotSunnyDay
checkevent EVENT_CLEARED_RADIO_TOWER
iftrue .NoRockets
checkevent EVENT_USED_THE_CARD_KEY_IN_THE_RADIO_TOWER
iftrue .UsedCardKey
writetext RadioTower3FCooltrainerFPleaseSaveDirectorText
waitbutton
closetext
end
.UsedCardKey:
writetext RadioTower3FCooltrainerFIsDirectorSafeText
waitbutton
closetext
end
.NoRockets:
writetext RadioTower3FCooltrainerFYoureMyHeroText
promptbutton
verbosegiveitem TM_SUNNY_DAY
iffalse .NoRoom
writetext RadioTower3FCooltrainerFItsSunnyDayText
waitbutton
closetext
setevent EVENT_GOT_SUNNY_DAY_FROM_RADIO_TOWER
end
.GotSunnyDay:
writetext RadioTower3FCooltrainerFYouWereMarvelousText
waitbutton
.NoRoom:
closetext
end
TrainerGruntM7:
trainer GRUNTM, GRUNTM_7, EVENT_BEAT_ROCKET_GRUNTM_7, GruntM7SeenText, GruntM7BeatenText, 0, .Script
.Script:
endifjustbattled
opentext
writetext GruntM7AfterBattleText
waitbutton
closetext
end
TrainerGruntM8:
trainer GRUNTM, GRUNTM_8, EVENT_BEAT_ROCKET_GRUNTM_8, GruntM8SeenText, GruntM8BeatenText, 0, .Script
.Script:
endifjustbattled
opentext
writetext GruntM8AfterBattleText
waitbutton
closetext
end
TrainerGruntM9:
trainer GRUNTM, GRUNTM_9, EVENT_BEAT_ROCKET_GRUNTM_9, GruntM9SeenText, GruntM9BeatenText, 0, .Script
.Script:
endifjustbattled
opentext
writetext GruntM9AfterBattleText
waitbutton
closetext
end
TrainerScientistMarc:
trainer SCIENTIST, MARC, EVENT_BEAT_SCIENTIST_MARC, ScientistMarcSeenText, ScientistMarcBeatenText, 0, .Script
.Script:
endifjustbattled
opentext
writetext ScientistMarcAfterBattleText
waitbutton
closetext
end
CardKeySlotScript::
opentext
writetext RadioTower3FCardKeySlotText
waitbutton
checkevent EVENT_USED_THE_CARD_KEY_IN_THE_RADIO_TOWER
iftrue .UsedCardKey
checkitem CARD_KEY
iftrue .HaveCardKey
.UsedCardKey:
closetext
end
.HaveCardKey:
writetext InsertedTheCardKeyText
waitbutton
setevent EVENT_USED_THE_CARD_KEY_IN_THE_RADIO_TOWER
playsound SFX_ENTER_DOOR
changeblock 14, 2, $2a ; open shutter
changeblock 14, 4, $01 ; floor
reloadmappart
closetext
waitsfx
end
RadioTower3FPersonnelSign:
jumptext RadioTower3FPersonnelSignText
RadioTower3FPokemonMusicSign:
jumptext RadioTower3FPokemonMusicSignText
RadioTower3FSuperNerdText:
text "We have recordings"
line "of the cries of"
para "all #MON that"
line "have been found."
para "We must have about"
line "200 kinds."
done
RadioTower3FGymGuideText_Rockets:
text "To trainers, #-"
line "MON are their"
cont "beloved partners."
para "It's terrible how"
line "TEAM ROCKET is"
para "trying to control"
line "#MON."
done
RadioTower3FGymGuideText:
text "We run 24 hours a"
line "day to broadcast"
para "entertaining pro-"
line "grams."
para "I'll do my best to"
line "run around the"
cont "clock too!"
done
RadioTower3FCooltrainerFPleaseSaveDirectorText:
text "The TEAM ROCKET"
line "boss has locked"
cont "himself in."
para "But the DIRECTOR"
line "can open it."
para "He's up on the"
line "fifth floor."
para "Please save him!"
done
RadioTower3FCooltrainerFIsDirectorSafeText:
text "Is the DIRECTOR"
line "safe?"
done
RadioTower3FCooltrainerFYoureMyHeroText:
text "Thank you!"
line "You're my hero!"
para "This is a token of"
line "my appreciation."
done
RadioTower3FCooltrainerFItsSunnyDayText:
text "It's SUNNY DAY."
line "It powers up fire-"
cont "type moves for a"
cont "while."
done
RadioTower3FCooltrainerFYouWereMarvelousText:
text "You were simply"
line "marvelous!"
done
GruntM7SeenText:
text "I've been given"
line "strict orders."
para "I'm to crush any-"
line "one who challenges"
cont "TEAM ROCKET!"
done
GruntM7BeatenText:
text "What?!"
done
GruntM7AfterBattleText:
text "I failed in my"
line "duties…"
para "I'll be docked pay"
line "for this…"
done
GruntM8SeenText:
text "It feels great"
line "ordering #MON"
cont "to commit crimes."
done
GruntM8BeatenText:
text "You're kidding!"
done
GruntM8AfterBattleText:
text "I feel lousy over"
line "losing!"
para "Darn it! I hate"
line "useless #MON!"
done
GruntM9SeenText:
text "Why did the shut-"
line "ter open? Did you"
para "have something to"
line "do with this?"
done
GruntM9BeatenText:
text "I'm done for!"
done
GruntM9AfterBattleText:
text "What?! You made it"
line "past our men in"
cont "the UNDERGROUND?"
para "How could you?"
done
ScientistMarcSeenText:
text "An unknown child"
line "wandering here?"
para "Who are you?"
done
ScientistMarcBeatenText:
text "Tch! I took you"
line "too lightly!"
done
ScientistMarcAfterBattleText:
text "Bwahahaha…"
para "I can transmit as"
line "strong a signal as"
cont "I need from here."
done
RadioTower3FCardKeySlotText:
text "It's the CARD KEY"
line "slot."
done
InsertedTheCardKeyText:
text "<PLAYER> inserted"
line "the CARD KEY."
done
RadioTower3FPersonnelSignText:
text "3F PERSONNEL"
done
RadioTower3FPokemonMusicSignText:
text "#MON MUSIC with"
line "Host DJ BEN"
done
RadioTower3F_MapEvents:
db 0, 0 ; filler
db 3 ; warp events
warp_event 0, 0, RADIO_TOWER_2F, 1
warp_event 7, 0, RADIO_TOWER_4F, 2
warp_event 17, 0, RADIO_TOWER_4F, 4
db 0 ; coord events
db 3 ; bg events
bg_event 3, 0, BGEVENT_READ, RadioTower3FPersonnelSign
bg_event 9, 0, BGEVENT_READ, RadioTower3FPokemonMusicSign
bg_event 14, 2, BGEVENT_UP, CardKeySlotScript
db 7 ; object events
object_event 7, 4, SPRITE_SUPER_NERD, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, RadioTower3FSuperNerdScript, EVENT_RADIO_TOWER_CIVILIANS_AFTER
object_event 3, 4, SPRITE_GYM_GUIDE, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, RadioTower3FGymGuideScript, -1
object_event 11, 3, SPRITE_COOLTRAINER_F, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, RadioTower3FCooltrainerFScript, -1
object_event 5, 1, SPRITE_ROCKET, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 2, TrainerGruntM7, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
object_event 6, 2, SPRITE_ROCKET, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 3, TrainerGruntM8, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
object_event 16, 6, SPRITE_ROCKET, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 3, TrainerGruntM9, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
object_event 9, 6, SPRITE_SCIENTIST, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 5, TrainerScientistMarc, EVENT_RADIO_TOWER_ROCKET_TAKEOVER