mirror of
https://github.com/thornAvery/jep-hack.git
synced 2025-11-13 00:34:50 +13:00
This adds the Trader NPC to the Lake of Rage and restores its "town" environment. The town is themed around evolution. The mart sells all the "normal" evolution stones, aiming to solve Johto's "stone problem" for Pokemon like Vulpix and Bellsprout. The Trader NPC actualises this, being at a point where most Pokemon are around Level 35-40, as is how we balanced it on Cinnabar Island in KEP. The text is mostly revolved around the Gyarados, but this could shift. The Gym isn't done - I don't have time to sort it at the moment - but I am thinking of making it a Pre-Gym. This doesn't make a lot of sense though, so maybe it should be changed to be the tower seen in an earlier build.
545 lines
12 KiB
NASM
545 lines
12 KiB
NASM
object_const_def
|
|
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
|
|
const LAKEOFRAGE_CAMERAMAN
|
|
|
|
LakeOfRage_MapScripts:
|
|
def_scene_scripts
|
|
scene_script LakeOfRageNoop1Scene ; unusable
|
|
scene_script LakeOfRageNoop2Scene ; unusable
|
|
|
|
def_callbacks
|
|
callback MAPCALLBACK_NEWMAP, LakeOfRageFlypointCallback
|
|
callback MAPCALLBACK_OBJECTS, LakeOfRageWesleyCallback
|
|
|
|
LakeOfRageNoop1Scene:
|
|
end
|
|
|
|
LakeOfRageNoop2Scene:
|
|
end
|
|
|
|
LakeOfRageFlypointCallback:
|
|
setflag ENGINE_FLYPOINT_LAKE_OF_RAGE
|
|
endcallback
|
|
|
|
LakeOfRageWesleyCallback:
|
|
readvar VAR_WEEKDAY
|
|
ifequal WEDNESDAY, .WesleyAppears
|
|
disappear LAKEOFRAGE_WESLEY
|
|
endcallback
|
|
|
|
.WesleyAppears:
|
|
appear LAKEOFRAGE_WESLEY
|
|
endcallback
|
|
|
|
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, LakeOfRageLanceTeleportIntoSkyMovement
|
|
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
|
|
|
|
LakeOfRageCameramanScript:
|
|
jumptextfaceplayer LakeOfRageCameramanText
|
|
|
|
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_I
|
|
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
|
|
|
|
LakeOfRageLanceTeleportIntoSkyMovement:
|
|
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
|
|
|
|
LakeOfRageCameramanText: ; Reference to the Battle Zone
|
|
text "Hohoho!"
|
|
|
|
para "Am I lucky to"
|
|
line "have been here"
|
|
cont "when that MAGIKARP"
|
|
cont "evolved!"
|
|
|
|
para "This film is"
|
|
line "gonna make me"
|
|
cont "rich!"
|
|
done
|
|
|
|
LakeOfRage_MapEvents:
|
|
db 0, 0 ; filler
|
|
|
|
def_warp_events
|
|
warp_event 21, 5, LAKE_OF_RAGE_HIDDEN_POWER_HOUSE, 1
|
|
warp_event 35, 29, LAKE_OF_RAGE_MAGIKARP_HOUSE, 1
|
|
warp_event 3, 9, LAKE_OF_RAGE_MART, 1
|
|
warp_event 5, 19, LAKE_OF_RAGE_POKECENTER_1F, 1
|
|
warp_event 17, 13, LAKE_OF_RAGE_TRADER_HOUSE, 1
|
|
; warp_event 10, 5, LAKE_OF_RAGE_PRE_GYM, 1 ; tbd
|
|
|
|
def_coord_events
|
|
|
|
def_bg_events
|
|
bg_event 19, 31, BGEVENT_READ, LakeOfRageSign
|
|
bg_event 33, 29, BGEVENT_READ, MagikarpHouseSignScript
|
|
bg_event 3, 31, BGEVENT_ITEM, LakeOfRageHiddenFullRestore
|
|
bg_event 9, 11, BGEVENT_ITEM, LakeOfRageHiddenRareCandy
|
|
bg_event 19, 5, BGEVENT_ITEM, LakeOfRageHiddenMaxPotion
|
|
|
|
def_object_events
|
|
object_event 19, 32, SPRITE_LANCE, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, LakeOfRageLanceScript, EVENT_LAKE_OF_RAGE_LANCE
|
|
object_event 20, 30, 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 9, 9, SPRITE_COOLTRAINER_F, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 1, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, LakeOfRageCooltrainerFScript, -1
|
|
object_event 21, 15, SPRITE_FISHER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 1, TrainerFisherAndre, EVENT_LAKE_OF_RAGE_CIVILIANS
|
|
object_event 31, 22, SPRITE_FISHER, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 1, TrainerFisherRaymond, EVENT_LAKE_OF_RAGE_CIVILIANS
|
|
object_event 2, 25, 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 19, 26, SPRITE_GYARADOS, SPRITEMOVEDATA_POKEMON, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, RedGyarados, EVENT_LAKE_OF_RAGE_RED_GYARADOS
|
|
object_event 9, 11, 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, 27, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, LakeOfRageElixer, EVENT_LAKE_OF_RAGE_ELIXER
|
|
object_event 27, 8, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, LakeOfRageTMDetect, EVENT_LAKE_OF_RAGE_TM_DETECT
|
|
object_event 11, 18, SPRITE_COOLTRAINER_M, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, LakeOfRageCameramanScript, -1
|
|
|