Changes

Jump to navigation Jump to search
→‎For Content Patcher packs: + support for non-Krobus roommates
Line 180: Line 180:  
| The tile area on the farm map where ores should randomly spawn (like the [[Farm Maps|vanilla hilltop farm]]). Ores will only spawn on tiles which have the <tt>Type Dirt</tt> tile property and are clear for object placement.
 
| The tile area on the farm map where ores should randomly spawn (like the [[Farm Maps|vanilla hilltop farm]]). Ores will only spawn on tiles which have the <tt>Type Dirt</tt> tile property and are clear for object placement.
 
|}
 
|}
 +
 +
===Support for non-Krobus roommates===
 +
The game's [[marriage]] logic previously had hardcoded exceptions to treat [[Krobus]] as a roommate instead. That logic has been reworked so it can be applied to any NPC (including custom NPCs).
 +
 +
Specifically:
 +
<ul>
 +
<li>Items with the "<tt>propose_roommate_{{t|NPC name}}</tt>" [[Modding:Context tags|context tag]] will trigger a roommate proposal when given to the named NPC (e.g. <tt>propose_roommate_dwarf</tt>).</li>
 +
<li>These [[Modding:Dialogue|dialogue keys]] apply:
 +
 +
{| class="wikitable"
 +
|-
 +
! content file
 +
! key
 +
! effect
 +
|-
 +
| <tt>Strings/StringsFromCSFiles</tt>
 +
| <tt>{{t|NPC name}}_EngagedRoommate</tt>
 +
| The NPC's roommate proposal accept dialogue.<br />For example: ''A Void Ghost pendant! How did you...?$3#$b#Oh, wow.$7#$b#@... yes, I'll come live with you, if you like. But we have to keep it secret from everyone.#$b#I'll be at your house in a few days... okay?$h''
 +
|-
 +
| <tt>Data/EngagementDialogue</tt>
 +
| <tt>{{t|NPC name}}Roommate0</tt>
 +
| The NPC's normal dialogue for the day after accepting the proposal.<br />For example: ''@... I'm afraid we'll have to keep this a secret... Neither my people nor yours would accept us living together.''
 +
|-
 +
| <tt>Characters/Dialogue/MarriageDialogue{{t|NPC name}}Roommate</tt>
 +
| ''all''
 +
| Equivalent to [[Modding:Dialogue#Marriage dialogue|marriage dialogue]], but only used if the NPC moves in as a roommate. If the asset doesn't exist, the NPC will use <tt>Characters/Dialogue/MarriageDialogue{{t|NPC name}}</tt> instead.
 +
|-
 +
| <tt>Characters/Dialogue/MarriageDialogue{{t|NPC name}}</tt>
 +
| <tt>{{t|dialogue key}}Roommate</tt>
 +
| Overrides a dialogue if the NPC is a roommate. For example, if Penny is a roommate and wants to show the <tt>Outdoor_Penny</tt> dialogue, the game will show <tt>Outdoor_PennyRoommate</tt> instead if it exists.
 +
|-
 +
| <tt>Data/Festivals/*</tt>
 +
| <tt>{{t|NPC name}}_roommate</tt>
 +
| The NPC's normal dialogue at the festival if they're a roommate. If the key isn't defined, they'll use <tt>{{t|NPC name}}_spouse</tt> instead.
 +
|}</li>
 +
<li>Roommates will sleep in a [[Single Bed]] if one is available and unused in the house. (Krobus is an exception, since he doesn't sleep in a bed.)</li>
 +
<li>Added <tt>R</tt> to the [[Modding:Event data#Event preconditions|event preconditions]] which checks whether the local player has a roommate. This can be combined with <tt>O {{t|NPC name}}</tt> to check for a specific roommate, like <tt>R/O Abigail</tt>.</li>
 +
</ul>
    
===Update impact===
 
===Update impact===
translators
8,445

edits

Navigation menu