jep-hack/maps/PlayersHouse2F.asm
Llinos Evans a4854f63ba 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.
2023-10-26 13:51:05 +01:00

166 lines
3.9 KiB
NASM

object_const_def
const PLAYERSHOUSE2F_CONSOLE
const PLAYERSHOUSE2F_DOLL_1
const PLAYERSHOUSE2F_DOLL_2
const PLAYERSHOUSE2F_BIG_DOLL
PlayersHouse2F_MapScripts:
def_scene_scripts
def_callbacks
callback MAPCALLBACK_NEWMAP, PlayersHouse2FInitializeRoomCallback
callback MAPCALLBACK_TILES, PlayersHouse2FSetUpTileDecorationsCallback
PlayersHouse2FNoopScene: ; unreferenced
end
PlayersHouse2FInitializeRoomCallback:
special ToggleDecorationsVisibility
setevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_8
checkevent EVENT_INITIALIZED_EVENTS
iftrue .SkipInitialization
jumpstd InitializeEventsScript
endcallback
.SkipInitialization:
endcallback
PlayersHouse2FSetUpTileDecorationsCallback:
special ToggleMaptileDecorations
endcallback
db 0, 0, 0 ; unused
PlayersHouseDoll1Script::
describedecoration DECODESC_LEFT_DOLL
PlayersHouseDoll2Script:
describedecoration DECODESC_RIGHT_DOLL
PlayersHouseBigDollScript:
describedecoration DECODESC_BIG_DOLL
PlayersHouseGameConsoleScript:
describedecoration DECODESC_CONSOLE
PlayersHousePosterScript:
conditional_event EVENT_PLAYERS_ROOM_POSTER, .Script
.Script:
describedecoration DECODESC_POSTER
PlayersHouseRadioScript:
checkevent EVENT_GOT_A_POKEMON_FROM_ELM
iftrue .NormalRadio
checkevent EVENT_LISTENED_TO_INITIAL_RADIO
iftrue .AbbreviatedRadio
playmusic MUSIC_POKEMON_TALK
opentext
writetext PlayersRadioText1
pause 45
writetext PlayersRadioText2
pause 45
writetext PlayersRadioText3
pause 45
musicfadeout MUSIC_NEW_BARK_TOWN, 16
writetext PlayersRadioText4
pause 45
closetext
setevent EVENT_LISTENED_TO_INITIAL_RADIO
end
.NormalRadio:
jumpstd Radio1Script
.AbbreviatedRadio:
opentext
writetext PlayersRadioText4
pause 45
closetext
end
PlayersHouseBookshelfScript:
jumpstd PictureBookshelfScript
PlayersHousePCScript:
opentext
special PlayersHousePC
iftrue .Warp
closetext
end
.Warp:
warp NONE, 0, 0
end
PlayersRadioText1:
text "PROF.OAK'S #MON"
line "TALK! Please tune"
cont "in next time!"
done
PlayersRadioText2:
text "#MON CHANNEL!"
done
PlayersRadioText3:
text "This is DJ MARY,"
line "your co-host!"
done
PlayersRadioText4:
text "#MON!"
line "#MON CHANNEL…"
done
DebugPokemon1Script:
opentext
getmonname STRING_BUFFER_3, BELLIGNAN
writetext ReceivedDebugPokemonText
playsound SFX_CAUGHT_MON
waitsfx
promptbutton
givepoke BELLIGNAN, 35, RARE_CANDY
closetext
end
DebugPokemon2Script:
opentext
getmonname STRING_BUFFER_3, WEEPINBELL
writetext ReceivedDebugPokemonText
playsound SFX_CAUGHT_MON
waitsfx
promptbutton
givepoke WEEPINBELL, 35, POISON_STONE
closetext
end
ReceivedDebugPokemonText:
text "<PLAYER> received"
line "@"
text_ram wStringBuffer3
text "!"
done
PlayersHouse2F_MapEvents:
db 0, 0 ; filler
def_warp_events
warp_event 7, 0, LAKE_OF_RAGE, 3
;warp_event 7, 0, PLAYERS_HOUSE_1F, 3
def_coord_events
def_bg_events
bg_event 2, 1, BGEVENT_UP, PlayersHousePCScript
bg_event 3, 1, BGEVENT_READ, PlayersHouseRadioScript
bg_event 5, 1, BGEVENT_READ, PlayersHouseBookshelfScript
bg_event 6, 0, BGEVENT_IFSET, PlayersHousePosterScript
def_object_events
object_event 4, 2, SPRITE_CONSOLE, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, PlayersHouseGameConsoleScript, EVENT_PLAYERS_HOUSE_2F_CONSOLE
object_event 4, 4, SPRITE_DOLL_1, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, PlayersHouseDoll1Script, EVENT_PLAYERS_HOUSE_2F_DOLL_1
object_event 5, 4, SPRITE_DOLL_2, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, PlayersHouseDoll2Script, EVENT_PLAYERS_HOUSE_2F_DOLL_2
object_event 0, 1, SPRITE_BIG_DOLL, SPRITEMOVEDATA_BIGDOLL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, PlayersHouseBigDollScript, EVENT_PLAYERS_HOUSE_2F_BIG_DOLL
object_event 2, 5, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, DebugPokemon1Script, -1
object_event 7, 5, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, DebugPokemon2Script, -1