Populate Citrine City

This commit adds NPCs and signs to Citrine, doing some significant worldbuilding in the process. I considered adding an event where Oak greets you like how the Magma/Aqua Admins do on the ORAS Battle Resort, but it seemed a little too on-the-nose, y'know?

There was an issue where you wouldn't be walked out of doors automatically, which was quite immersion-breaking. That was because the door tile IDs weren't defined - this is fixed too.

Some map elements have been altered to facilitate the new changes, and obviously, some map sprite slots have been filled.

Importing and changing the Battle Tent is most likely my next task.
This commit is contained in:
Llinos Evans 2023-05-12 22:30:51 +01:00
parent 2ec8bab272
commit 3b16404a50
11 changed files with 178 additions and 36 deletions

View file

@ -11,7 +11,19 @@ CitrineCity_Object:
warp_event 39, 30, VERMILION_CITY, 6
def_bg_events
bg_event 16, 27, 5 ; Citrine Shop
bg_event 16, 17, 6 ; Pokecenter
bg_event 20, 22, 7 ; Billboard 1
bg_event 5, 18, 8 ; Billboard 2
bg_event 9, 7, 9 ; Battle Tower
bg_event 25, 23, 10 ; City Sign
bg_event 21, 26, 11 ; Directions
bg_event 23, 7, 12 ; Garnet Cavern Sign
def_object_events
object_event 12, 18, SPRITE_BEAUTY, WALK, LEFT_RIGHT, 1 ; person
object_event 6, 9, SPRITE_HIKER, WALK, LEFT_RIGHT, 2 ; person
object_event 20, 26, SPRITE_GENTLEMAN, STAY, UP, 3 ; person
object_event 10, 30, SPRITE_ROCKER, WALK, ANY_DIR, 4 ; person
def_warps_to CITRINE_CITY

View file

@ -2,8 +2,8 @@ CitrinePokecenter_Object:
db $0 ; border block
def_warp_events
warp_event 3, 7, LAST_MAP, 6
warp_event 4, 7, LAST_MAP, 6
warp_event 3, 7, LAST_MAP, 3
warp_event 4, 7, LAST_MAP, 3
def_bg_events

View file

@ -202,10 +202,10 @@ SpriteSets:
; SPRITESET_CITRINE
db SPRITE_BRUNETTE_GIRL
db SPRITE_BIRD
db SPRITE_SUPER_NERD ; free slot, add as needed.
db SPRITE_HIKER ; free slot, add as needed.
db SPRITE_GAMBLER ; free slot, add as needed.
db SPRITE_MONSTER ; free slot, add as needed.
db SPRITE_GENTLEMAN
db SPRITE_BEAUTY
db SPRITE_ROCKER
db SPRITE_HIKER
db SPRITE_COOLTRAINER_F ; free slot, add as needed.
db SPRITE_COOLTRAINER_M ; free slot, add as needed.
db SPRITE_GUARD ; free slot, add as needed.

View file

@ -13,6 +13,7 @@ DoorTileIDPointers:
dbw FACILITY, .FacilityDoorTileIDs
dbw PLATEAU, .PlateauDoorTileIDs
dbw INTERIOR, .InteriorDoorTileIDs ; fixes weirdness in silph co.
dbw CITRINE, .CitrineDoorTileIDs
db -1 ; end
MACRO door_tiles
@ -56,4 +57,7 @@ ENDM
door_tiles $3b, $1b
.InteriorDoorTileIDs:
door_tiles $04, $15
door_tiles $04, $15
.CitrineDoorTileIDs
door_tiles $1C, $1B, $58, $59

View file

@ -1,4 +1,4 @@
G>>>>hi(,,)>>>>gFCCZ[(,,)CCC<FdZ[$W%eC<Fd|}~VteC<Fd
G>>>>hi(,,)>>>>gFCCZ[(,,)CCC<FdZ[$W%eC<FdV|}~VteC<Fd
I#####Ht
t
@ -11,17 +11,17 @@ oooooteC<Fd
'tt 'n lll
eC<Fd
'=r'n ooo
eC<Fd&#####"n meC<Fd
eC<Fd&#####"n meC<Fd
' 'tlllllteC<Fd
'6 't
t
'6 'tVt
eC<Fd
' &###H
eC<Fd'=s'
eC<Fd
'=s'
'.C<Fd
D#####"

View file

@ -2,5 +2,59 @@ CitrineCity_Script:
jp EnableAutoTextBoxDrawing
CitrineCity_TextPointers:
dw CitrineCityText1
dw CitrineCityText2
dw CitrineCityText3
dw CitrineCityText4
dw CitrineShopSignText
dw PokeCenterSignText
dw CitrineCityBillboard1
dw CitrineCityBillboard2
dw CitrineCityTower
dw CitrineCitySignText
dw CitrineCityDirections
dw CitrineCityCavern
text_end ; unused
CitrineCityText1:
text_far _CitrineCityText1
text_end
CitrineCityText2:
text_far _CitrineCityText2
text_end
CitrineCityText3:
text_far _CitrineCityText3
text_end
CitrineCityText4:
text_far _CitrineCityText4
text_end
CitrineShopSignText:
text_far _CitrineShopSignText
text_end
CitrineCityBillboard1:
text_far _CitrineCityBillboard1
text_end
CitrineCityBillboard2:
text_far _CitrineCityBillboard2
text_end
CitrineCityTower:
text_far _CitrineCityTower
text_end
CitrineCitySignText:
text_far _CitrineCitySignText
text_end
CitrineCityDirections:
text_far _CitrineCityDirections
text_end
CitrineCityCavern:
text_far _CitrineCityCavern
text_end

View file

@ -51,9 +51,9 @@ JamesText:
ld a, [wCurrentMenuItem]
and a
jr nz, .refused
; Proceed from here as if Yes is stated.
; Proceed from here as Yes is stated.
; Here, the menu should pop up and the player picks a Pokemon to juice.
; Here, the party menu pops up and the player picks a Pokemon to juice.
xor a
ld [wUpdateSpritesEnabled], a
ld [wPartyMenuTypeOrMessageID], a

View file

@ -294,6 +294,7 @@ INCLUDE "text/GarnetCavern1F.asm"
INCLUDE "text/GarnetCavernB1F.asm"
INCLUDE "text/GarnetCavern2F.asm"
INCLUDE "text/GiovannisRoom.asm"
INCLUDE "text/CitrineCity.asm"
SECTION "Pokédex Text", ROMX

90
text/CitrineCity.asm Normal file
View file

@ -0,0 +1,90 @@
_CitrineCityBillboard1::
text "CAPSULE MONSTERS"
line "Coming soon to"
cont "a GAME BOY near"
cont "you!"
done
_CitrineCityBillboard2::
text "FULL RESTORE"
line "The solution to"
cont "all ailments!"
done
_CitrineCitySignText::
text "CITRINE CITY"
line "A shining city"
cont "of brilliance."
done
_CitrineShopSignText::
text "CITRINE SHOP"
line "Your one-stop"
cont "for souveniers!" ; Souvenier is an obsolete spelling, but at the time, this would have been commonplace. These days, it's souvenir.
done
_CitrineCityTower::
text "BATTLE TOWER"
line "Test your mettle!"
done
_CitrineCityCavern::
text "GARNET CAVERN"
line "WARNING: Strong"
cont "#MON within."
done
_CitrineCityDirections::
para "NORTH: BATTLE"
line "TOWER"
para "EAST: PIER"
para "SOUTH: BRUNSWICK"
line "TRAIL"
done
_CitrineCityText1::
text "The sun here is"
line "so bright!"
para "I'm going to get"
line "an amazing tan!"
done
_CitrineCityText2::
text "I've heard of"
line "a cave around"
cont "these parts."
para "I wonder where"
line "it is..."
done
_CitrineCityText3::
text "Oh! Are you new"
line "around here?"
para "I can't recommend"
line "BRUNSWICK TRAIL"
cont "enough to you!"
cont "It's beautiful!"
done
_CitrineCityText4::
text "Some BIRD #MON"
line "roost on a hill"
cont "close by once"
cont "a year."
para "The locals call"
line "them ARTICUNO,"
cont "ZAPDOS, and"
cont "MOLTRES."
para "But they look"
line "nothing like"
cont "them! They're"
cont "like different"
cont "#MON!"
done

View file

@ -2,8 +2,8 @@ _CitrinePokecenterText2::
text "I've seen a lot"
line "of men in black"
cont "going in and"
cont "out of this one"
cont "house."
cont "out of a house"
cont "down the road."
para "It couldn't be,"
line "could it?"

View file

@ -70,25 +70,6 @@ _JessieAfterBattleText::
line "battle? Then go"
cont "away!"
done
; This mart text is unused because implementing custom mart text is hell.
_MartGuyPrompt1::
text "Alright, tell you"
line "what. I sell TMs,"
cont "see? Let's make"
cont "a deal."
prompt
_MartGuyPrompt2::
text "If you keep our"
line "joint a secret,"
cont "I can sell you"
cont "any special item"
cont "in KANTO. Deal?"
_MartGuySelling::
text "What can I do"
line "you for?"
done
; James Bottle Cap system.
; In the anime, he collects Bottle Caps, so it feels better than adding Mr. Hyper.