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

@ -60,6 +60,9 @@ ENDM
map_const ROUTE_42, 30, 9 ; 5
map_const ROUTE_44, 30, 9 ; 6
map_const MAHOGANY_TOWN, 10, 9 ; 7
map_const LAKE_OF_RAGE_TRADER_HOUSE, 4, 4 ; 8
map_const LAKE_OF_RAGE_POKECENTER_1F, 5, 4 ; 9
map_const LAKE_OF_RAGE_MART, 6, 4 ; 10
endgroup
newgroup DUNGEONS ; 3

View file

@ -42,4 +42,5 @@
const MART_MT_MOON
const MART_INDIGO_PLATEAU
const MART_UNDERGROUND
const MART_LAKEOFRAGE
DEF NUM_MARTS EQU const_value

View file

@ -183,3 +183,6 @@ SpecialsPointers::
add_special InitialSetDSTFlag
add_special InitialClearDSTFlag
add_special UnusedDummySpecial ; unused
; Tradeback NPC tutorial
add_special TradebackNPC

View file

@ -35,6 +35,7 @@ Marts:
dw MartMtMoon
dw MartIndigoPlateau
dw MartUnderground
dw MartLakeOfRage
assert_table_length NUM_MARTS
MartCherrygrove:
@ -405,3 +406,18 @@ DefaultMart:
db POKE_BALL
db POTION
db -1 ; end
; Excludes the Moon and Sun Stones, which are "treasure" items.
; Designed to solve the "stone problem" faced by Pokemon like Bellsprout in the early-game.
MartLakeOfRage:
db 9
db FIRE_STONE
db THUNDERSTONE
db WATER_STONE
db LEAF_STONE
db HEART_STONE
db POISON_STONE
db ICE_STONE
db DUSK_STONE
db SHINY_STONE
db -1 ; end

View file

@ -568,6 +568,7 @@ ENDM
map_attributes RedsHouse1F, REDS_HOUSE_1F, $00, 0
map_attributes RedsHouse2F, REDS_HOUSE_2F, $00, 0
map_attributes BluesHouse, BLUES_HOUSE, $00, 0
map_attributes LakeOfRageTraderHouse, LAKE_OF_RAGE_TRADER_HOUSE, $00, 0
map_attributes OaksLab, OAKS_LAB, $00, 0
map_attributes PewterNidoranSpeechHouse, PEWTER_NIDORAN_SPEECH_HOUSE, $00, 0
map_attributes PewterGym, PEWTER_GYM, $00, 0
@ -603,11 +604,13 @@ ENDM
map_attributes SafariZoneWardensHome, SAFARI_ZONE_WARDENS_HOME, $00, 0
map_attributes Route15FuchsiaGate, ROUTE_15_FUCHSIA_GATE, $00, 0
map_attributes LavenderPokecenter1F, LAVENDER_POKECENTER_1F, $00, 0
map_attributes LakeOfRagePokecenter1F, LAKE_OF_RAGE_POKECENTER_1F, $00, 0
map_attributes LavenderPokecenter2FBeta, LAVENDER_POKECENTER_2F_BETA, $00, 0
map_attributes MrFujisHouse, MR_FUJIS_HOUSE, $00, 0
map_attributes LavenderSpeechHouse, LAVENDER_SPEECH_HOUSE, $00, 0
map_attributes LavenderNameRater, LAVENDER_NAME_RATER, $00, 0
map_attributes LavenderMart, LAVENDER_MART, $00, 0
map_attributes LakeOfRageMart, LAKE_OF_RAGE_MART, $00, 0
map_attributes SoulHouse, SOUL_HOUSE, $00, 0
map_attributes LavRadioTower1F, LAV_RADIO_TOWER_1F, $00, 0
map_attributes Route8SaffronGate, ROUTE_8_SAFFRON_GATE, $00, 0

View file

@ -198,6 +198,7 @@ CherrygroveGymSpeechHouse_Blocks:
GuideGentsHouse_Blocks:
CherrygroveEvolutionSpeechHouse_Blocks:
Route30BerryHouse_Blocks:
LakeOfRageTraderHouse_Blocks:
INCBIN "maps/House1.ablk"
SafariZoneFuchsiaGateBeta_Blocks:
@ -334,6 +335,7 @@ LavenderMart_Blocks:
ViridianMart_Blocks:
SaffronMart_Blocks:
CherrygroveMart_Blocks:
LakeOfRageMart_Blocks:
INCBIN "maps/Mart.ablk"
Route10North_Blocks:
@ -363,6 +365,7 @@ CianwoodPokecenter1F_Blocks:
ViridianPokecenter1F_Blocks:
SaffronPokecenter1F_Blocks:
CherrygrovePokecenter1F_Blocks:
LakeOfRagePokecenter1F_Blocks:
INCBIN "maps/Pokecenter1F.ablk"
BetaPewterMuseumOfScience1F_Blocks: ; unreferenced

View file

@ -73,6 +73,9 @@ MapGroup_Mahogany:
map Route42, TILESET_JOHTO, ROUTE, LANDMARK_ROUTE_42, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_AUTO, FISHGROUP_LAKE
map Route44, TILESET_JOHTO, ROUTE, LANDMARK_ROUTE_44, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_AUTO, FISHGROUP_POND
map MahoganyTown, TILESET_JOHTO, TOWN, LANDMARK_MAHOGANY_TOWN, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
map LakeOfRageTraderHouse, TILESET_HOUSE, INDOOR, LANDMARK_OLIVINE_CITY, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_DAY, FISHGROUP_SHORE
map LakeOfRagePokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_MAHOGANY_TOWN, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
map LakeOfRageMart, TILESET_MART, INDOOR, LANDMARK_MAHOGANY_TOWN, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_DAY, FISHGROUP_SHORE
assert_table_length NUM_MAHOGANY_MAPS
MapGroup_Dungeons:

View file

@ -494,3 +494,6 @@ INCLUDE "maps/CeruleanCave1F.asm"
INCLUDE "maps/CeruleanCave2F.asm"
INCLUDE "maps/CeruleanCaveB1F.asm"
INCLUDE "maps/SilentHills.asm"
INCLUDE "maps/LakeOfRageTraderHouse.asm"
INCLUDE "maps/LakeOfRagePokecenter1F.asm"
INCLUDE "maps/LakeOfRageMart.asm"

View file

@ -420,3 +420,8 @@ TrainerHouse:
ld a, [sMysteryGiftTrainerHouseFlag]
ld [wScriptVar], a
jp CloseSRAM
; Tradeback NPC tutorial
TradebackNPC:
farcall TradebackGuy
ret

View file

@ -0,0 +1,140 @@
; Fun fact, the 'trade' part of a trade isn't checked to evolve a Pokémon.
; It seems that just the trade animation and the link state are enough.
; No Pokémon is actualy ever moved to or from your party because of that fact.
TradebackGuy::
ld hl, TradebackGuyText
call PrintText
call YesNoBox
ld hl, TradebackGuyCanceledText
jr c, .done
; Select a Pokémon from the party.
ld b, PARTYMENUACTION_GIVE_MON
farcall SelectTradeOrDayCareMon
ld a, [wCurPartyMon]
ld hl, TradebackGuyCanceledText
jr c, .done
ld hl, NPCTradeCableText
call PrintText
call TradeWithTradebackGuy
call RestartMapMusic
ld hl, TradebackGuyCompleteText
call PrintText
ret
.done
call PrintText
ret
; Loads the appropriate data to perform the trade animation.
TradeWithTradebackGuy:
; Sets the link state to trading so that evolution is possible.
ld a, LINK_TRADECENTER
ld [wLinkMode], a
; Establish names of trading trainers
ld hl, wPlayerName
ld de, wPlayerTrademonSenderName
ld bc, NAME_LENGTH
call CopyBytes
ld hl, .tradeback_guy_name
ld de, wOTTrademonSenderName
ld bc, NAME_LENGTH
call CopyBytes
.tradeback_guy_name:
db "TRADER@@@"
; Establish the Pokémon's species.
ld a, [wCurPartyMon]
ld hl, wPartySpecies
ld b, 0
ld c, a
add hl, bc
ld a, [hl]
ld [wPlayerTrademonSpecies], a
ld [wOTTrademonSpecies], a
; Establish Pokémon's ID number.
ld hl, wPartyMon1ID
ld a, [wCurPartyMon]
call GetPartyLocation
ld a, [hli]
ld [wPlayerTrademonID], a
ld [wOTTrademonID], a
ld a, [hl]
ld [wPlayerTrademonID + 1], a
ld [wOTTrademonID + 1], a
; Correctly display Pokémon shiny status on the trade screen.
ld hl, wPartyMon1DVs
ld a, [wCurPartyMon]
call GetPartyLocation
ld a, [hli]
ld [wPlayerTrademonDVs], a
ld [wOTTrademonDVs], a
ld a, [hl]
ld [wPlayerTrademonDVs + 1], a
ld [wOTTrademonDVs + 1], a
; Establish Pokémon's OT's name
ld a, [wCurPartyMon]
ld hl, wPartyMonOTs
call SkipNames
ld de, wPlayerTrademonOTName
ld bc, NAME_LENGTH
call CopyBytes
ld hl, wPartyMonOTs
ld de, wOTTrademonOTName
ld bc, NAME_LENGTH
call CopyBytes
; Makes it so that pressing B will not cancel the evolution.
; This is standard for trade based evolution.
ld a, 1
ld [wForceEvolution], a
; Run the trade animation/ evolves the mon if applicable.
call DisableSpriteUpdates
; wTradeDialog aliases wFrameCounter, which TradeAnimation uses.
ld a, [wTradeDialog]
push af
predef TradeAnimation
callfar EvolvePokemon
pop af
ld [wTradeDialog], a
call ReturnToMapWithSpeechTextbox
; Changes the link mode back to not linked, battles won't work right otherwise.
ld a, LINK_NULL
ld [wLinkMode], a
ret
TradebackGuyText::
text "Hey there! I'm"
line "the TRADER!"
para "I love helping"
line "TRAINERs evolve"
cont "their #MON!"
para "Wanna try?"
done
TradebackGuyCanceledText::
text "Oh, ok then."
para "Come back if you"
line "change your mind!"
done
TradebackGuyCompleteText::
text "And...done!"
para "I hope that"
line "was helpful!"
done

View file

@ -480,7 +480,7 @@ SECTION "bank3F", ROMX
INCLUDE "engine/tilesets/tileset_anims.asm"
INCLUDE "engine/events/npc_trade.asm"
INCLUDE "engine/events/mom_phone.asm"
INCLUDE "engine/events/tradeback_npc.asm" ; Tradeback NPC tutorial
SECTION "mobile40", ROMX

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