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=== |