pokecrystal-board/maps/LakeOfRage.asm
2019-11-03 12:48:54 -05:00

523 lines
11 KiB
NASM

object_const_def ; object_event constants
const LAKEOFRAGE_LANCE
const LAKEOFRAGE_GRAMPS
const LAKEOFRAGE_SUPER_NERD1
const LAKEOFRAGE_COOLTRAINER_F1
const LAKEOFRAGE_FISHER1
const LAKEOFRAGE_FISHER2
const LAKEOFRAGE_COOLTRAINER_M
const LAKEOFRAGE_COOLTRAINER_F2
const LAKEOFRAGE_GYARADOS
const LAKEOFRAGE_WESLEY
const LAKEOFRAGE_POKE_BALL1
const LAKEOFRAGE_POKE_BALL2
LakeOfRage_MapScripts:
db 2 ; scene scripts
scene_script .DummyScene0 ; unusable
scene_script .DummyScene1 ; unusable
db 2 ; callbacks
callback MAPCALLBACK_NEWMAP, .FlyPoint
callback MAPCALLBACK_OBJECTS, .Wesley
.DummyScene0:
end
.DummyScene1:
end
.FlyPoint:
setflag ENGINE_FLYPOINT_LAKE_OF_RAGE
return
.Wesley:
readvar VAR_WEEKDAY
ifequal WEDNESDAY, .WesleyAppears
disappear LAKEOFRAGE_WESLEY
return
.WesleyAppears:
appear LAKEOFRAGE_WESLEY
return
LakeOfRageLanceScript:
checkevent EVENT_REFUSED_TO_HELP_LANCE_AT_LAKE_OF_RAGE
iftrue .AskAgainForHelp
opentext
writetext LakeOfRageLanceForcedToEvolveText
promptbutton
faceplayer
writetext LakeOfRageLanceIntroText
yesorno
iffalse .RefusedToHelp
.AgreedToHelp:
writetext LakeOfRageLanceRadioSignalText
waitbutton
closetext
playsound SFX_WARP_TO
applymovement LAKEOFRAGE_LANCE, MovementData_0x70155
disappear LAKEOFRAGE_LANCE
clearevent EVENT_MAHOGANY_MART_LANCE_AND_DRAGONITE
setevent EVENT_DECIDED_TO_HELP_LANCE
setmapscene MAHOGANY_MART_1F, SCENE_MAHOGANYMART1F_LANCE_UNCOVERS_STAIRS
end
.RefusedToHelp:
writetext LakeOfRageLanceRefusedText
waitbutton
closetext
setevent EVENT_REFUSED_TO_HELP_LANCE_AT_LAKE_OF_RAGE
end
.AskAgainForHelp:
faceplayer
opentext
writetext LakeOfRageLanceAskHelpText
yesorno
iffalse .RefusedToHelp
sjump .AgreedToHelp
RedGyarados:
opentext
writetext LakeOfRageGyaradosCryText
pause 15
cry GYARADOS
closetext
loadwildmon GYARADOS, 30
loadvar VAR_BATTLETYPE, BATTLETYPE_SHINY
startbattle
ifequal LOSE, .NotBeaten
disappear LAKEOFRAGE_GYARADOS
.NotBeaten:
reloadmapafterbattle
opentext
giveitem RED_SCALE
waitsfx
writetext LakeOfRageGotRedScaleText
playsound SFX_ITEM
waitsfx
itemnotify
closetext
setscene 0 ; Lake of Rage does not have a scene variable
appear LAKEOFRAGE_LANCE
end
LakeOfRageGrampsScript:
faceplayer
opentext
checkevent EVENT_CLEARED_ROCKET_HIDEOUT
iftrue .ClearedRocketHideout
writetext LakeOfRageGrampsText
waitbutton
closetext
end
.ClearedRocketHideout:
writetext LakeOfRageGrampsText_ClearedRocketHideout
waitbutton
closetext
end
LakeOfRageSuperNerdScript:
jumptextfaceplayer LakeOfRageSuperNerdText
LakeOfRageCooltrainerFScript:
jumptextfaceplayer LakeOfRageCooltrainerFText
LakeOfRageSign:
jumptext LakeOfRageSignText
MagikarpHouseSignScript:
opentext
writetext FishingGurusHouseSignText
checkevent EVENT_CLEARED_ROCKET_HIDEOUT
iftrue .MagikarpLengthRecord
waitbutton
closetext
end
.MagikarpLengthRecord:
promptbutton
special MagikarpHouseSign
closetext
end
TrainerFisherAndre:
trainer FISHER, ANDRE, EVENT_BEAT_FISHER_ANDRE, FisherAndreSeenText, FisherAndreBeatenText, 0, .Script
.Script:
endifjustbattled
opentext
writetext FisherAndreAfterBattleText
waitbutton
closetext
end
TrainerFisherRaymond:
trainer FISHER, RAYMOND, EVENT_BEAT_FISHER_RAYMOND, FisherRaymondSeenText, FisherRaymondBeatenText, 0, .Script
.Script:
endifjustbattled
opentext
writetext FisherRaymondAfterBattleText
waitbutton
closetext
end
TrainerCooltrainermAaron:
trainer COOLTRAINERM, AARON, EVENT_BEAT_COOLTRAINERM_AARON, CooltrainermAaronSeenText, CooltrainermAaronBeatenText, 0, .Script
.Script:
endifjustbattled
opentext
writetext CooltrainermAaronAfterBattleText
waitbutton
closetext
end
TrainerCooltrainerfLois:
trainer COOLTRAINERF, LOIS, EVENT_BEAT_COOLTRAINERF_LOIS, CooltrainerfLoisSeenText, CooltrainerfLoisBeatenText, 0, .Script
.Script:
endifjustbattled
opentext
writetext CooltrainerfLoisAfterBattleText
waitbutton
closetext
end
WesleyScript:
faceplayer
opentext
checkevent EVENT_GOT_BLACKBELT_FROM_WESLEY
iftrue WesleyWednesdayScript
readvar VAR_WEEKDAY
ifnotequal WEDNESDAY, WesleyNotWednesdayScript
checkevent EVENT_MET_WESLEY_OF_WEDNESDAY
iftrue .MetWesley
writetext MeetWesleyText
promptbutton
setevent EVENT_MET_WESLEY_OF_WEDNESDAY
.MetWesley:
writetext WesleyGivesGiftText
promptbutton
verbosegiveitem BLACKBELT
iffalse WesleyDoneScript
setevent EVENT_GOT_BLACKBELT_FROM_WESLEY
writetext WesleyGaveGiftText
waitbutton
closetext
end
WesleyWednesdayScript:
writetext WesleyWednesdayText
waitbutton
WesleyDoneScript:
closetext
end
WesleyNotWednesdayScript:
writetext WesleyNotWednesdayText
waitbutton
closetext
end
LakeOfRageElixer:
itemball ELIXER
LakeOfRageTMDetect:
itemball TM_DETECT
LakeOfRageHiddenFullRestore:
hiddenitem FULL_RESTORE, EVENT_LAKE_OF_RAGE_HIDDEN_FULL_RESTORE
LakeOfRageHiddenRareCandy:
hiddenitem RARE_CANDY, EVENT_LAKE_OF_RAGE_HIDDEN_RARE_CANDY
LakeOfRageHiddenMaxPotion:
hiddenitem MAX_POTION, EVENT_LAKE_OF_RAGE_HIDDEN_MAX_POTION
MovementData_0x70155:
teleport_from
step_end
LakeOfRageLanceForcedToEvolveText:
text "This lake is full"
line "of GYARADOS but"
cont "nothing else…"
para "So the MAGIKARP"
line "are being forced"
cont "to evolve…"
done
LakeOfRageLanceIntroText:
text "Did you come here"
line "because of the"
cont "rumors?"
para "You're <PLAYER>?"
line "I'm LANCE, a"
cont "trainer like you."
para "I heard some ru-"
line "mors, so I came to"
cont "investigate…"
para "I saw the way you"
line "battled earlier,"
cont "<PLAY_G>."
para "I can tell that"
line "you're a trainer"
para "with considerable"
line "skill."
para "If you don't mind,"
line "could you help me"
cont "investigate?"
done
LakeOfRageLanceRadioSignalText:
text "LANCE: Excellent!"
para "It seems that the"
line "LAKE's MAGIKARP"
para "are being forced"
line "to evolve."
para "A mysterious radio"
line "broadcast coming"
para "from MAHOGANY is"
line "the cause."
para "I'll be waiting"
line "for you, <PLAY_G>."
done
LakeOfRageLanceRefusedText:
text "Oh… Well, if you"
line "change your mind,"
cont "please help me."
done
LakeOfRageLanceAskHelpText:
text "LANCE: Hm? Are you"
line "going to help me?"
done
LakeOfRageGyaradosCryText:
text "GYARADOS: Gyashaa!"
done
LakeOfRageGotRedScaleText:
text "<PLAYER> obtained a"
line "RED SCALE."
done
LakeOfRageGrampsText:
text "The GYARADOS are"
line "angry!"
para "It's a bad omen!"
done
LakeOfRageGrampsText_ClearedRocketHideout:
text "Hahah! The MAGI-"
line "KARP are biting!"
done
LakeOfRageSuperNerdText:
text "I heard this lake"
line "was made by ram-"
cont "paging GYARADOS."
para "I wonder if there"
line "is any connection"
para "to their mass out-"
line "break now?"
done
LakeOfRageCooltrainerFText:
text "Did my eyes de-"
line "ceive me? I saw a"
para "red GYARADOS in"
line "the LAKE…"
para "But I thought"
line "GYARADOS were"
cont "usually blue?"
done
FisherAndreSeenText:
text "Let me battle with"
line "the #MON I just"
cont "caught!"
done
FisherAndreBeatenText:
text "I might be an ex-"
line "pert angler, but"
para "I stink as a #-"
line "MON trainer…"
done
FisherAndreAfterBattleText:
text "I won't lose as an"
line "angler! I catch"
cont "#MON all day."
done
FisherRaymondSeenText:
text "No matter what I"
line "do, all I catch"
para "are the same #-"
line "MON…"
done
FisherRaymondBeatenText:
text "My line's all"
line "tangled up…"
done
FisherRaymondAfterBattleText:
text "Why can't I catch"
line "any good #MON?"
done
CooltrainermAaronSeenText:
text "If a trainer spots"
line "another trainer,"
para "he has to make a"
line "challenge."
para "That is our"
line "destiny."
done
CooltrainermAaronBeatenText:
text "Whew…"
line "Good battle."
done
CooltrainermAaronAfterBattleText:
text "#MON and their"
line "trainer become"
para "powerful through"
line "constant battling."
done
CooltrainerfLoisSeenText:
text "What happened to"
line "the red GYARADOS?"
para "It's gone?"
para "Oh, darn. I came"
line "here for nothing?"
para "I know--let's"
line "battle!"
done
CooltrainerfLoisBeatenText:
text "Good going!"
done
CooltrainerfLoisAfterBattleText:
text "Come to think of"
line "it, I've seen a"
cont "pink BUTTERFREE."
done
MeetWesleyText:
text "WESLEY: Well, how"
line "do you do?"
para "Seeing as how it's"
line "Wednesday today,"
para "I'm WESLEY of"
line "Wednesday."
done
WesleyGivesGiftText:
text "Pleased to meet"
line "you. Please take a"
cont "souvenir."
done
WesleyGaveGiftText:
text "WESLEY: BLACKBELT"
line "beefs up the power"
cont "of fighting moves."
done
WesleyWednesdayText:
text "WESLEY: Since you"
line "found me, you must"
para "have met my broth-"
line "ers and sisters."
para "Or did you just"
line "get lucky?"
done
WesleyNotWednesdayText:
text "WESLEY: Today's"
line "not Wednesday."
cont "That's too bad."
done
LakeOfRageSignText:
text "LAKE OF RAGE,"
line "also known as"
cont "GYARADOS LAKE."
done
FishingGurusHouseSignText:
text "FISHING GURU'S"
line "HOUSE"
done
LakeOfRage_MapEvents:
db 0, 0 ; filler
db 2 ; warp events
warp_event 7, 3, LAKE_OF_RAGE_HIDDEN_POWER_HOUSE, 1
warp_event 27, 31, LAKE_OF_RAGE_MAGIKARP_HOUSE, 1
db 0 ; coord events
db 5 ; bg events
bg_event 21, 27, BGEVENT_READ, LakeOfRageSign
bg_event 25, 31, BGEVENT_READ, MagikarpHouseSignScript
bg_event 11, 28, BGEVENT_ITEM, LakeOfRageHiddenFullRestore
bg_event 4, 4, BGEVENT_ITEM, LakeOfRageHiddenRareCandy
bg_event 35, 5, BGEVENT_ITEM, LakeOfRageHiddenMaxPotion
db 12 ; object events
object_event 21, 28, SPRITE_LANCE, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, LakeOfRageLanceScript, EVENT_LAKE_OF_RAGE_LANCE
object_event 20, 26, SPRITE_GRAMPS, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, LakeOfRageGrampsScript, -1
object_event 36, 13, SPRITE_SUPER_NERD, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, LakeOfRageSuperNerdScript, -1
object_event 25, 29, SPRITE_COOLTRAINER_F, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 1, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, LakeOfRageCooltrainerFScript, -1
object_event 30, 23, SPRITE_FISHER, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 1, TrainerFisherAndre, EVENT_LAKE_OF_RAGE_CIVILIANS
object_event 24, 26, SPRITE_FISHER, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 1, TrainerFisherRaymond, EVENT_LAKE_OF_RAGE_CIVILIANS
object_event 4, 15, SPRITE_COOLTRAINER_M, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 1, TrainerCooltrainermAaron, EVENT_LAKE_OF_RAGE_CIVILIANS
object_event 36, 7, SPRITE_COOLTRAINER_F, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 0, TrainerCooltrainerfLois, EVENT_LAKE_OF_RAGE_CIVILIANS
object_event 18, 22, SPRITE_GYARADOS, SPRITEMOVEDATA_POKEMON, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, RedGyarados, EVENT_LAKE_OF_RAGE_RED_GYARADOS
object_event 4, 4, SPRITE_SUPER_NERD, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, WesleyScript, EVENT_LAKE_OF_RAGE_WESLEY_OF_WEDNESDAY
object_event 7, 10, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, LakeOfRageElixer, EVENT_LAKE_OF_RAGE_ELIXER
object_event 35, 2, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, LakeOfRageTMDetect, EVENT_LAKE_OF_RAGE_TM_DETECT