We have an announcement regarding our upcoming patch schedule. We're nearing the release of our next feature arc, Generated Villages and Alternate Starts (Part 1), which will finalize the last of our major systems and let us transition to fully fleshing out the game's content and main narrative. The prospective release date for this feature arc is July 10th. As it approaches, we'll be concentrating all of our effort on the arc, and so today's patch will be the last official weekly update until the arc is released.
Sometime soon (likely next week), we'll be posting an early version of the feature arc to a beta branch. If you'd like to help us test it, stay tuned for details. Otherwise, we'll see you back on July 10th.
Live and drink, friends.
Added two energy cell mods: high-capacity and metered.
Added an eyewear mod: polarized.
Reduced the volume of most slime puddles to below the swimming threshold.
Pools that are deep enough to swim in no longer cause you to slip.
Temporal fugue clones no longer have the chance to spawn their own psychic hunters.
Fixed an issue preventing campfires from increasing the ambient temperature around them.
Fixed an issue that caused liquid splash sounds not to play.
Fixed an issue that caused hidden objects to stop autoexplore.
Fixed a typo in On the Origins and Nature of the Dark Calculus.
Fixed a typo in Disquisition on the Malady of the Mimic.
Fixed a typo with quests in the chronology.
[modding] Walls and fences that use the PaintedWall part can now use the tag PaintPart. Walls and fences specifying this tage treat adjacent objects with the part specified in the value of the PaintPart tag as if they were also walls and fences (this affects the orientation of the painted tile).
[modding] Added a new power systems part, Circuitry, that absorbs charge provided via ChargeAvailable events and makes it available for one turn using TestCharge and UseCharge. Charge not used after one turn is lost. This streamlined part replaces the need to have two different power source parts for each power source, one that provides charge via ChargeAvailable and one that provides it directly via TestCharge/UseCharge. Its fields are MaxCharge (an optional maximum amount of charge the part can hold; defaults to 0, unlimited), ChargeDisplayStyle (usual way to display charge level, defaults to none), TechScanChargeDisplayStyle (techscan way to display charge level, defaults to none), and IsEMPSensitive (defaults to true).
[modding] Removed the parts EquipPower and SolarPower. Instead use Circuitry and either EquipCharge or SolarArray.
[modding] Added a charge display style (as used by various power systems parts) for "amount", which shows the raw numeric charge amount.
[modding] Added a mechanism for BroadcastPowerReceiver where satellite power can be occluded by random environmental factors. The core behavior is controlled by three settings in GlobalConfig.json: SatellitePowerOcclusionChance (the permillage chance of unoccluded satellite power becoming occluded on a given turn, defaults to 5), SatellitePowerDeocclusionChance (the permillage chance of occluded satellite power becoming unoccluded on a given turn, defaults to 15), and SatellitePowerOcclusionReasons (a comma-separated list of potential reasons why satellite power is occluded, selected at random). The BroadcastPowerReceiver part has these new fields: IgnoresSatellitePowerOcclusion (if true, occlusion does not affect the part, defaults to false) and SatellitePowerOcclusionReadout (if this is true or the player has techscanning, the fact that satellite power is occluded and the reason why is displayed in the item's short description, defaults to false).
[modding] Gave BroadcastPowerReceiver a new field, Obvious. If set to true, or if the player has techscanning, the existence of the broadcast power receiver is indicated in the item's short description. Defaults to false.
[modding] Added a new part, PowerOutlet, that provides charge to items (in its cell or adjacent cells) that have PowerCord parts. It has the following properties: ChargeRate (the amount of charge provided per turn, defaults to 200), GridSupplied (if true, the part is assumed to draw its ChargeRate from a not-otherwise-represented power grid, otherwise it must draw its charge from its parent object with TestCharge and UseCharge by using the available charge in the parent object or its ChargeRate, whichever is less. Defaults to false), and IsEMPSensitive (defaults to true).
[modding] Added a new part, PowerCord, that makes the item receive charge from items with PowerOutlets in the same cell or adjacent cells and distribute it with a ChargeAvailable event. It has the following properties: ChargeRate (the amount of charge it can redistribute per turn, defaults to 50) and IsEMPSensitive (defaults to true).
[modding] Added a new part, ModWallSocket, for adding power outlets to walls.
[modding] Refactored common functionality from a number of parts into an IPoweredPart base class that implements the following properties: ChargeUse (an amount of charge that must be available via TestCharge for the part to function, defaults to 1), IsBootSensitive (whether the part is disabled if a BootSequence is present that hasn't finished booting, defaults to true), IsEMPSensitive (whether the part is disabled by the item being EMPed, defaults to true), MustBeUnderstood (whether the part is disabled if not equipped or if equipped by the player and not understood, defaults to false), WorksIfEquipped (whether the part is enabled to function by being equipped, defaults to false), WorksIfHanging (whether the part is enabled to function if the item has a Hangable part that reports the item is currently hanging, defaults to false), WorksIfInCell (whether the part is enabled to function if the item is on the ground, defaults to false), and WorksIfWorn (whether the part is enabled to function if the item is equipped as armor on the correct limb(s) per its Armor part, defaults to false). If none of the "WorksIf" fields are enabled, the part doesn't require any of those conditions to work. IPoweredPart provides a standard base IsDisabled() method to check these issues. Any part previously implementing IsEMPSensitive now inherits from this base class, with part-specific default values for relevant fields replicating their previous behavior.
[modding] The WorksWhenHeld property on the EquipCharge, IntPropertyChanger, and MultiIntPropertyChanger parts has been replaced by the WorksIfEquipped property they inherit from IPoweredPart.
[modding] Added a new property to the Hangable part, HangingTile, that (if specified) overrides the object's render tile while it's hanging.
[modding] TestCharge and UseCharge events now support multiple charge stores cooperating to fulfill a single event. This means that where previously a TestCharge for 10 charge on an object that had two parts each able to supply 5 charge failed because neither had 10 charge, now it succeeds.
[modding] Added a new property to the BroadcastPowerTransmitter part, TransmitRate, that (if set to something other than zero) is used as a maximum on the amount of charge that can be transmitted in a given CollectCharge event. The part also now uses as much charge as is available from its parent object (up to the amount requested in CollectCharge and/or the TransmitRate limit) instead of trying to approximate it by successively halving the amount requested.
[modding] Added a new, highly experimental part, PowerTransmission, intended for supporting physically-laid-out power grids. It inherits IPoweredPart. Its properties are: ChargeRate (the amount of charge that it can carry per TestCharge/UseCharge/QueryCharge event, defaults to 500), CurrentReadout (if this is true, or the player has techscanning, a display of the charge available through the object appears in its short description, defaults to false), and IsWire (whether the object is a physical wire (affecting messaging), defaults to false). All objects in cardinally adjacent cells that have PowerTransmission parts form a power grid that TestCharge, UseCharge, and QueryCharge events are shared across, limited by the ChargeRate of the parts in the grid.
[modding] Added a new part, ModWiring, for adding power transmission wiring to walls. ModWallSocket now also includes power transmission wiring automatically.
[modding] Added a new part, DeployableInfrastructure, for items that can be deployed into environmental infrastructure. Its properties are: DeployVerb (used in messaging, defaults to "deploy"), ModName (if specified, the name of an item mod that's applied to walls or non-takeable, solid, real, and inanimate objects in target cells), ObjectBlueprint (if specified, a blueprint that will be instanced in targeted cells that do not contain a wall or non-takeable, solid, real, inanimate object), SkillRequired (if specified, the name of a skill that must be possessed to deploy the object), SkipModIfPart (if specified, don't install the mod specified by ModName if the target object has the specified part), Cells (the number of cells targeted using a field picker that must start adjacent to the user, defaults to 1), and EnergyCost (the energy cost to deploy, defaults to 1000).
[modding] Added a new part FoodProcessor that makes an item automatically butcher and preserve objects in its inventory. It inherits IPoweredPart and sets the default of ChargeUse to 500.