Line 6: |
Line 6: |
| | | |
| ===Small changes=== | | ===Small changes=== |
− | * ☐ Add a <tt>TouchAction Warp</tt> tile property which is identical <tt>TouchAction MagicWarp</tt>, but without the sound/visual effects.
| |
− | * ☐ Add map properties <code>IsFarm T</code> and <code>IsGreenhouse T</code> to set the location's <tt>IsFarm</tt> and <tt>IsGreenhouse</tt> properties in <code>GameLocation.loadMap</code> (similar to the existing <code>Outdoors T</code>).
| |
− | <ul>
| |
− | <li>☐ NPCs check the player spouse or NPC relationships with a substring match. That causes issues for mods; e.g. [[Jas]] will show marriage dialogue for a custom Jasper NPC. More specifically:
| |
− | {| class="wikitable"
| |
− | |-
| |
− | ! method
| |
− | ! proposed change
| |
− | |-
| |
− | | <tt>NPC.loadCurrentDialogue</tt>
| |
− | | <pre>old: Game1.player.spouse.Contains(base.Name)
| |
− | new: Game1.player.spouse == base.Name</pre>
| |
− | |-
| |
− | | <tt>NPC.performTenMinuteUpdate</tt>
| |
− | | <pre>old: !dispositions[base.Name].Split('/')[9].Contains(c.Name)
| |
− | new: !dispositions[base.Name].Split('/')[9].Split(' ').Contains(c.Name)</pre>
| |
− | |-
| |
− | | <tt>NPC.tryToReceiveActiveObject</tt>
| |
− | | <pre>old: !who.spouse.Contains(base.Name)
| |
− | new: who.spouse != base.Name</pre>
| |
− | |}
| |
− | The proposed changes should have no effect on vanilla, since no vanilla NPC name is a substring of another NPC's name.
| |
− | </li>
| |
| * ☐ Change all remaining <code>internal class</code> and <code>private class</code> to <code>public class</code> to simplify mod access. | | * ☐ Change all remaining <code>internal class</code> and <code>private class</code> to <code>public class</code> to simplify mod access. |
| | | |
| ===Medium changes=== | | ===Medium changes=== |
− | * ☐ Move hardcoded scarecrow logic from <tt>Farm.addCrows</tt> into new <tt>Object.IsScarecrow()</tt> and <tt>Object.GetRadiusForScarecrow()</tt> methods.
| |
| * ☐ Some XNB files have a separate display name field, but only in non-English. Using display names consistently regardless of language would let mods rename things without breaking keys: | | * ☐ Some XNB files have a separate display name field, but only in non-English. Using display names consistently regardless of language would let mods rename things without breaking keys: |
| ** ☐ <tt>Data\Bundles</tt> | | ** ☐ <tt>Data\Bundles</tt> |