Naming mother restored!

The act of naming your mother was restored by adding a name substitution system to WRAM, thus allowing the Dude to occupy a slot naturally. I believe Red and Blue's names are unused too, but just to be safe, I left them alone. Using this means we can technically have battles that substitute names all the time, so this is really neat.

Reworked the first rival encounter scene to have him treat you like an idiot, blurt out what you name your mother, tease you, and piss you off. Arguably flows better than the original and makes more sense. Also, now the mother's name is placed in various spots.

Only concern really is seeing the default name in the phone contact. Feel free to change that if you want, but it's hard to place due to situations where the player leaves without talking to her, so take care!
This commit is contained in:
Llinos Evans 2024-07-29 14:23:59 +01:00
parent 30af5bc815
commit a4044f0929
11 changed files with 82 additions and 38 deletions

View file

@ -22,6 +22,7 @@ Mega Evolutions, Gigantamax forms, etc, are not in active consideration.
# Changes # Changes
- There is now an enby character option named Topaz, purple-themed. - There is now an enby character option named Topaz, purple-themed.
- You can now name your mother, just as it was in Gold and Silver's prototype stages!
- There is a new Nihon region, based on the 1998 version before it got scrapped for Johto. - There is a new Nihon region, based on the 1998 version before it got scrapped for Johto.
- The Fairy-type is now available, though Pokemon are not retroactively changed, per the Kanto Expansion Pak philosophy (you wouldn't want a Fairy-type Granbull pre-split, would you?) - The Fairy-type is now available, though Pokemon are not retroactively changed, per the Kanto Expansion Pak philosophy (you wouldn't want a Fairy-type Granbull pre-split, would you?)
- Fossil revival is back in town! Get fossils using Rock Smash and revive them at Ruins of Alph or the newly-added Pewter Museum of Science! - Fossil revival is back in town! Get fossils using Rock Smash and revive them at Ruins of Alph or the newly-added Pewter Museum of Science!

View file

@ -186,4 +186,6 @@ SpecialsPointers::
; Tradeback NPC tutorial ; Tradeback NPC tutorial
add_special TradebackNPC add_special TradebackNPC
;add_special FossilScientist
; Restoring naming the mother.
add_special NameMom

View file

@ -11,7 +11,7 @@ NonTrainerCallerNames:
assert_table_length NUM_NONTRAINER_PHONECONTACTS + 1 assert_table_length NUM_NONTRAINER_PHONECONTACTS + 1
.none: db "----------@" .none: db "----------@"
.mom: db "MOM:@" .mom: db "<MOM>:@" ; Now uses the name you give your mom when talking to Silver.
.bill: db "BILL:@" .bill: db "BILL:@"
.elm: db "PROF.ELM:@" .elm: db "PROF.ELM:@"
.bikeshop: db "BIKE SHOP:@" .bikeshop: db "BIKE SHOP:@"

View file

@ -198,15 +198,18 @@ SentSomeToMomText:
text_decimal wBattleReward, 3, 6 text_decimal wBattleReward, 3, 6
text_start text_start
line "for winning!" line "for winning!"
cont "Sent some to MOM!" cont "Sent some to"
cont "<MOM>!"
prompt prompt
SentHalfToMomText: SentHalfToMomText:
text "Sent half to MOM!" text "Sent half to"
line "<MOM>!"
prompt prompt
SentAllToMomText: SentAllToMomText:
text "Sent all to MOM!" text "Sent all to"
line "<MOM>!"
prompt prompt
UnusedRivalLossText: ; unreferenced UnusedRivalLossText: ; unreferenced

View file

@ -1569,8 +1569,9 @@ _NPCTradeAfterText5:: ; Should not happen.
done done
_MomLeavingText1:: _MomLeavingText1::
text "Wow, that's a cute" text "<MOM>: Wow, you"
line "#MON." line "got such a cute"
cont "#MON!"
para "Where did you get" para "Where did you get"
line "it?" line "it?"
@ -1614,9 +1615,9 @@ _MomLeavingText3::
done done
_MomIsThisAboutYourMoneyText:: _MomIsThisAboutYourMoneyText::
text "Hi! Welcome home!" text "<MOM>: Hi! Welcome"
line "You're trying very" line "home! You're trying"
cont "hard, I see." cont "very hard, I see."
para "I've kept your" para "I've kept your"
line "room tidy." line "room tidy."

View file

@ -17,9 +17,9 @@ CatchTutorial::
dw .DudeTutorial dw .DudeTutorial
.DudeTutorial: .DudeTutorial:
; Back up your name to your Mom's name. ; Back up your name to a substitute slot, preserving the mother's name.
ld hl, wPlayerName ld hl, wPlayerName
ld de, wMomsName ld de, wSubstituteName
ld bc, NAME_LENGTH ld bc, NAME_LENGTH
call CopyBytes call CopyBytes
; Copy Dude's name to your name ; Copy Dude's name to your name
@ -46,7 +46,7 @@ CatchTutorial::
pop af pop af
ld [wOptions], a ld [wOptions], a
ld hl, wMomsName ld hl, wSubstituteName
ld de, wPlayerName ld de, wPlayerName
ld bc, NAME_LENGTH ld bc, NAME_LENGTH
call CopyBytes call CopyBytes

View file

@ -92,6 +92,19 @@ NameRival:
.DefaultName: .DefaultName:
db "SILVER@" db "SILVER@"
NameMom:
ld b, NAME_MOM
ld de, wMomsName
farcall _NamingScreen
ld hl, wMomsName
ld de, .DefaultName
call InitName
ret
.DefaultName:
db "MOM@"
NameRater: NameRater:
farcall _NameRater farcall _NameRater
ret ret

View file

@ -113,6 +113,15 @@ CherrygroveRivalSceneNorth:
writetext CherrygroveRivalText_Seen writetext CherrygroveRivalText_Seen
waitbutton waitbutton
closetext closetext
; Restoring the mother naming scheme from SW97.
; Largely achieves the same thing as the original, down to being mocked.
special NameMom
opentext
writetext CherrygroveNameMom2
waitbutton
closetext
checkevent EVENT_GOT_TOTODILE_FROM_ELM checkevent EVENT_GOT_TOTODILE_FROM_ELM
iftrue .Totodile iftrue .Totodile
checkevent EVENT_GOT_CHIKORITA_FROM_ELM checkevent EVENT_GOT_CHIKORITA_FROM_ELM
@ -305,11 +314,11 @@ GuideGentMovement6:
step_end step_end
CherrygroveCity_RivalWalksToYou: CherrygroveCity_RivalWalksToYou:
step LEFT big_step LEFT
step LEFT big_step LEFT
step LEFT big_step LEFT
step LEFT big_step LEFT
step LEFT big_step LEFT
step_end step_end
CherrygroveCity_RivalPushesYouOutOfTheWay: CherrygroveCity_RivalPushesYouOutOfTheWay:
@ -439,11 +448,28 @@ CherrygroveRivalText_Seen:
para "Don't you get what" para "Don't you get what"
line "I'm saying?" line "I'm saying?"
para "Well, I too, have" para "<……> <……> <……>"
line "a good #MON."
para "I'll show you" para "Hey. What do you"
line "what I mean!" line "call your MOM?"
done
CherrygroveNameMom2:
text "Hahaha!"
para "<MOM>?!"
para "You really call"
line "her that?"
para "Grow up! Pah!"
para "<……> <……> <……>"
para "Seems I struck"
line "a nerve."
para "Come on, then!"
done done
RivalCherrygroveWinText: RivalCherrygroveWinText:

View file

@ -289,8 +289,9 @@ HurryUpElmIsWaitingText:
done done
SoWhatWasProfElmsErrandText: SoWhatWasProfElmsErrandText:
text "So, what was PROF." text "<MOM>: So, what"
line "ELM's errand?" line "was PROF.ELM's"
cont "errand?"
para "…" para "…"
@ -303,7 +304,8 @@ SoWhatWasProfElmsErrandText:
done done
ImBehindYouText: ImBehindYouText:
text "<PLAYER>, do it!" text "<MOM>: <PLAYER>,"
line "do it!"
para "I'm behind you all" para "I'm behind you all"
line "the way!" line "the way!"
@ -343,7 +345,8 @@ NeighborText:
done done
PlayersHouse1FStoveText: PlayersHouse1FStoveText:
text "Mom's specialty!" text "<MOM>'s special-"
line "ty!"
para "CINNABAR VOLCANO" para "CINNABAR VOLCANO"
line "BURGER!" line "BURGER!"
@ -351,8 +354,8 @@ PlayersHouse1FStoveText:
PlayersHouse1FSinkText: PlayersHouse1FSinkText:
text "The sink is spot-" text "The sink is spot-"
line "less. Mom likes it" line "less. <MOM>"
cont "clean." cont "likes it clean."
done done
PlayersHouse1FFridgeText: PlayersHouse1FFridgeText:

View file

@ -50,7 +50,7 @@ Route29Tutorial1:
follow ROUTE29_COOLTRAINER_M1, PLAYER follow ROUTE29_COOLTRAINER_M1, PLAYER
applymovement ROUTE29_COOLTRAINER_M1, DudeMovementData1b applymovement ROUTE29_COOLTRAINER_M1, DudeMovementData1b
stopfollow stopfollow
loadwildmon RATTATA, 5 loadwildmon SENTRET, 5
catchtutorial BATTLETYPE_TUTORIAL catchtutorial BATTLETYPE_TUTORIAL
turnobject ROUTE29_COOLTRAINER_M1, UP turnobject ROUTE29_COOLTRAINER_M1, UP
opentext opentext
@ -75,7 +75,7 @@ Route29Tutorial2:
follow ROUTE29_COOLTRAINER_M1, PLAYER follow ROUTE29_COOLTRAINER_M1, PLAYER
applymovement ROUTE29_COOLTRAINER_M1, DudeMovementData2b applymovement ROUTE29_COOLTRAINER_M1, DudeMovementData2b
stopfollow stopfollow
loadwildmon RATTATA, 5 loadwildmon SENTRET, 5
catchtutorial BATTLETYPE_TUTORIAL catchtutorial BATTLETYPE_TUTORIAL
turnobject ROUTE29_COOLTRAINER_M1, UP turnobject ROUTE29_COOLTRAINER_M1, UP
opentext opentext
@ -115,7 +115,7 @@ CatchingTutorialDudeScript:
yesorno yesorno
iffalse .Declined iffalse .Declined
closetext closetext
loadwildmon RATTATA, 5 loadwildmon SENTRET, 5
catchtutorial BATTLETYPE_TUTORIAL catchtutorial BATTLETYPE_TUTORIAL
opentext opentext
writetext CatchingTutorialDebriefText writetext CatchingTutorialDebriefText

View file

@ -2882,6 +2882,7 @@ wMomsName:: ds NAME_LENGTH
wRivalName:: ds NAME_LENGTH wRivalName:: ds NAME_LENGTH
wRedsName:: ds NAME_LENGTH wRedsName:: ds NAME_LENGTH
wGreensName:: ds NAME_LENGTH wGreensName:: ds NAME_LENGTH
wSubstituteName:: ds NAME_LENGTH
wSavedAtLeastOnce:: db wSavedAtLeastOnce:: db
wSpawnAfterChampion:: db wSpawnAfterChampion:: db
@ -2894,8 +2895,6 @@ wStartSecond:: db
wRTC:: ds 4 wRTC:: ds 4
ds 4
wDST:: wDST::
; bit 7: dst ; bit 7: dst
db db
@ -2907,12 +2906,8 @@ wGameTimeMinutes:: db
wGameTimeSeconds:: db wGameTimeSeconds:: db
wGameTimeFrames:: db wGameTimeFrames:: db
ds 2
wCurDay:: db wCurDay:: db
ds 1
wObjectFollow_Leader:: db wObjectFollow_Leader:: db
wObjectFollow_Follower:: db wObjectFollow_Follower:: db
wCenteredObject:: db wCenteredObject:: db
@ -2928,7 +2923,7 @@ endr
wCmdQueue:: ds CMDQUEUE_CAPACITY * CMDQUEUE_ENTRY_SIZE wCmdQueue:: ds CMDQUEUE_CAPACITY * CMDQUEUE_ENTRY_SIZE
ds 6 ds 3
wMapObjects:: wMapObjects::
wPlayerObject:: map_object wPlayer ; player is map object 0 wPlayerObject:: map_object wPlayer ; player is map object 0