Trader NPC & Lake of Rage "Town"

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.
This commit is contained in:
Llinos Evans 2023-10-26 13:51:05 +01:00
parent b582a0e7aa
commit a4854f63ba
18 changed files with 418 additions and 25 deletions

View file

@ -21,11 +21,9 @@ FuchsiaMartCooltrainerFScript:
jumptextfaceplayer FuchsiaMartCooltrainerFText
FuchsiaMartFisherText:
text "I was hoping to"
line "buy some SAFARI"
para "ZONE souvenirs,"
line "but it's closed…"
text "I'm buying some"
line "SAFARI ZONE"
cont "souvenirs!"
done
FuchsiaMartCooltrainerFText:

View file

@ -1 +1 @@
,-aaaaaaa./aaa]]a\]<eeaab>f\<eeef[eea\]^\b`]<a<eeb=aTvUb?aa\]<facf`Tvy5Ydbbade\]<eeeeX555Ya>]aa[]aaTvvy555Y<[]]]<aTy55555Y\fa\<aX555555Y<b`aTvy555555YbcaTy555555Y^b]^>X5555555YbeeX55555Ya?jpp=aX5YGfhqqeWKee`ehqqaKWa`Gjqqqe=]hqqqdlrqq
\^af\a\^afG^f\\f>^fTU^abfd?fdTvyY>dG\fd\X55Ya^d?f^Tvy55Y<d`f\\Ty555Y`f]\?\aX555Y\\^?Tvvy555Y^<fTvy555555Y^bd\bf^X5555555Ydf\ffTy5555555Y\b\af\fX55555Ya^d<d\daX555Yfd\\G`f^^\<G^\<bad>>e\adfa

View file

@ -11,6 +11,7 @@
const LAKEOFRAGE_WESLEY
const LAKEOFRAGE_POKE_BALL1
const LAKEOFRAGE_POKE_BALL2
const LAKEOFRAGE_CAMERAMAN
LakeOfRage_MapScripts:
def_scene_scripts
@ -125,6 +126,9 @@ LakeOfRageSuperNerdScript:
LakeOfRageCooltrainerFScript:
jumptextfaceplayer LakeOfRageCooltrainerFText
LakeOfRageCameramanScript:
jumptextfaceplayer LakeOfRageCameramanText
LakeOfRageSign:
jumptext LakeOfRageSignText
@ -491,32 +495,51 @@ FishingGurusHouseSignText:
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 7, 3, LAKE_OF_RAGE_HIDDEN_POWER_HOUSE, 1
warp_event 27, 31, LAKE_OF_RAGE_MAGIKARP_HOUSE, 1
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 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
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 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 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 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 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 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
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

54
maps/LakeOfRageMart.asm Normal file
View file

@ -0,0 +1,54 @@
object_const_def
const LAKEOFRAGEMART_CLERK
const LAKEOFRAGEMART_GRAMPS
const LAKEOFRAGEMART_POKEFAN_F
LakeOfRageMart_MapScripts:
def_scene_scripts
def_callbacks
LakeOfRageMartClerkScript:
opentext
pokemart MARTTYPE_STANDARD, MART_LAKEOFRAGE
closetext
end
LakeOfRageMartPokefanFScript:
jumptextfaceplayer LakeOfRageMartPokefanFText
LakeOfRageMartGrampsScript:
jumptextfaceplayer LakeOfRageMartGrampsText
LakeOfRageMartPokefanFText:
text "This shop sells"
line "so many STONEs!"
para "I'm spoiled for"
line "choice!"
done
LakeOfRageMartGrampsText:
text "The TRADER helped"
line "me evolve my"
cont "RAICHU!"
para "...what's with"
line "that look?"
done
LakeOfRageMart_MapEvents:
db 0, 0 ; filler
def_warp_events
warp_event 2, 7, LAKE_OF_RAGE, 3
warp_event 3, 7, LAKE_OF_RAGE, 3
def_coord_events
def_bg_events
def_object_events
object_event 1, 3, SPRITE_CLERK, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, LakeOfRageMartClerkScript, -1
object_event 6, 6, SPRITE_POKEFAN_M, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 2, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, LakeOfRageMartPokefanFScript, -1
object_event 9, 2, SPRITE_ROCKER, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, LakeOfRageMartGrampsScript, -1

View file

@ -0,0 +1,95 @@
object_const_def
const LAKEOFRAGEPOKECENTER1F_NURSE
const LAKEOFRAGEPOKECENTER1F_SCIENTIST
const LAKEOFRAGEPOKECENTER1F_GENTLEMAN
const LAKEOFRAGEPOKECENTER1F_YOUNGSTER
LakeOfRagePokecenter1F_MapScripts:
def_scene_scripts
def_callbacks
LakeOfRagePokecenter1FNurseScript:
jumpstd PokecenterNurseScript
LakeOfRagePokecenter1FGentlemanScript:
jumptextfaceplayer LakeOfRagePokecenter1FGentlemanText
LakeOfRagePokecenter1FScientistScript:
jumptextfaceplayer LakeOfRagePokecenter1FScientistText
LakeOfRagePokecenter1FYoungsterScript:
faceplayer
opentext
checkevent EVENT_LAKE_OF_RAGE_RED_GYARADOS
iftrue .GyaradosDefeated
writetext LakeOfRagePokecenter1FYoungsterText
waitbutton
closetext
end
.GyaradosDefeated:
writetext LakeOfRagePokecenter1FYoungsterText_GyaradosDefeated
waitbutton
closetext
end
LakeOfRagePokecenter1FScientistText:
text "GYARADOS are very"
line "sensitive to"
cont "changes in their"
cont "environment."
para "Even a minor"
line "tremor can drive"
cont "them wild!"
done
LakeOfRagePokecenter1FGentlemanText:
text "I wonder who is"
line "behind all this"
cont "nonsense?"
para "First the RADIO"
line "TOWER, now the"
cont "lake..."
done
LakeOfRagePokecenter1FYoungsterText:
text "Dad said I have"
line "to stay inside."
para "I hear a monster"
line "outside..."
para "And my #GEAR"
line "keeps playing"
cont "this weird music!"
para "Waaah! So scary!"
done
LakeOfRagePokecenter1FYoungsterText_GyaradosDefeated:
text "The monster is"
line "gone! I can go"
cont "outside again!"
done
LakeOfRagePokecenter1F_MapEvents:
db 0, 0 ; filler
def_warp_events
warp_event 3, 7, LAKE_OF_RAGE, 4
warp_event 4, 7, LAKE_OF_RAGE, 4
warp_event 0, 7, POKECENTER_2F, 1
def_coord_events
def_bg_events
def_object_events
object_event 3, 1, SPRITE_NURSE, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, LakeOfRagePokecenter1FNurseScript, -1
object_event 7, 6, SPRITE_SCIENTIST, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 1, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, LakeOfRagePokecenter1FScientistScript, -1
object_event 5, 3, SPRITE_GENTLEMAN, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, LakeOfRagePokecenter1FGentlemanScript, -1
object_event 1, 5, SPRITE_YOUNGSTER, SPRITEMOVEDATA_WALK_UP_DOWN, 0, 1, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, LakeOfRagePokecenter1FYoungsterScript, -1

View file

@ -0,0 +1,42 @@
object_const_def
const LAKEOFRAGETRADERHOUSE_TRADER
LakeOfRageTraderHouse_MapScripts:
def_scene_scripts
def_callbacks
; Tradeback NPC tutorial
TradebackNPCScript:
faceplayer
opentext
special TradebackNPC
waitbutton
closetext
end
LakeOfRageTraderHouseBookshelf2:
jumpstd DifficultBookshelfScript
LakeOfRageTraderHouseBookshelf1:
jumpstd MagazineBookshelfScript
LakeOfRageTraderHouseRadio:
jumpstd Radio2Script
LakeOfRageTraderHouse_MapEvents:
db 0, 0 ; filler
def_warp_events
warp_event 2, 7, LAKE_OF_RAGE, 5
warp_event 3, 7, LAKE_OF_RAGE, 5
def_coord_events
def_bg_events
bg_event 0, 1, BGEVENT_READ, LakeOfRageTraderHouseBookshelf1
bg_event 1, 1, BGEVENT_READ, LakeOfRageTraderHouseBookshelf2
bg_event 7, 1, BGEVENT_READ, LakeOfRageTraderHouseRadio
def_object_events
object_event 2, 4, SPRITE_GAMEBOY_KID, SPRITEMOVEDATA_STANDING_DOWN, 0, 1, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, TradebackNPCScript, -1

View file

@ -145,7 +145,8 @@ PlayersHouse2F_MapEvents:
db 0, 0 ; filler
def_warp_events
warp_event 7, 0, PLAYERS_HOUSE_1F, 3
warp_event 7, 0, LAKE_OF_RAGE, 3
;warp_event 7, 0, PLAYERS_HOUSE_1F, 3
def_coord_events