Version history/2018

From Caves of Qud Wiki
Jump to navigation Jump to search

2016 - 2017 - 2018 - 2019 - 2020 - 2021 - 2022 - 2023 - 2024 - beta (unstable)

2.0.160.0

Released December 15, 2018.

  • Added two new music tracks for Bey Lah and Barathrum's study.
  • Village music now plays in the outskirts of villages.
  • Quest items preservables are now considered exotic foods.
  • Creatures no longer sell their natural equipment.
  • Reduced Slog's base move speed to balance against their buffed move speed while moving through liquid.
  • Various modded items that didn't stack now stack.
  • Walls render properly again when stacked in a single tile.
  • Added a visual effect for when force fields are stacked in the same tile with other objects.
  • NPCs no longer attempt melee attacks against adjacent opponents who cannot be attacked due to flight.
  • Fixed a bug that caused creatures to become angry at and try to fight themselves.
  • Fixed a bug that made NPCs get stuck behaviorally when a target died while they were using Adrenal Control.
  • Fixed some things making dawngliders and other flyers not behave reasonably.
  • Flying creatures can now perform a swoop attack.
  • Crashing while flying now causes you to go prone.
  • [modding] Fixed an issue that caused some mod file operations to work on lowercase filenames, causing issues on Linux.
  • [modding] ModMasterwork now messages properly if you specify Bonus values other than the default 1.

December 7, 2018

  • Added the Cloaca Surprise and a chronology entry for eating it.
  • Made some balance adjustments to Slog, including a move speed buff while moving through liquid.
  • Gave slugs feelers instead of antennae.
  • Photosynths now bleed a mixture of blood and sap.
  • Telemetric data now appears in the descriptions of certain artifacts when you have a techscanning device, such as VISAGE or telemetric visor, equipped.
  • Fixed some more issues causing zone build failures in Bethesda Susa.
  • Fixed zone rebuilds causing excess memory use in Bethesda Susa.

November 30, 2018

  • You can now cook with green goo, brown sludge, and black ooze. 'Can' doesn't mean 'should'.
  • Web-spinning creatures are now smart enough to spins webs in combat.
  • Made yondercane much rarer.
  • Reduced the amount of fermented yondercane yielded from preserving yondercane.
  • Reduced the drop chance of voider corpses.
  • Increased the price of urberries.
  • Increased the drop chance of electric snail and snailmother corpses to 100%.
  • Signs now display their messages in their short descriptions.
  • Electrobows now have a firing sound effect.
  • You now heal at the normal rate while sleeping in beds.
  • Quill Fling is no longer usable when frozen, though quills can still be involuntarily discharged.
  • Quills no longer damage creatures who don't share a phase with the quill flinger.
  • Stinger attacks no longer proc when attacking walls.
  • Glowspheres are no longer equippable as body armor.
  • Mimic grab now respects flight and phase status.
  • Inventory weight now properly recalculates when the liquid volumes of your carried liquid containers change.
  • Renamed 'prehensile trunk' to the more appropriate 'bilge sphincter' and updated Slog's description accordingly.
  • Fixed a bug that caused NPCs to sometimes stop taking actions when attempting to use Adrenal Control.
  • Fixed a bug that made it impossible to disassemble carcass kneaders.
  • Fixed some weird behavior with limbs dismembered from the player when they had cybernetic implants installed on them.
  • Fixed an issue that caused some maps to fail to build.
  • [modding] Added a new part, FugueOnStep, that temporally fugues creatures that enter its parent object's cell. It's an IActivePart and has that part's fields with default WorksOnCellContents = true.
  • [modding] The FabricateFromSelf part has new fields: FabricateVerb (the string verb used for the action taken in messaging, defaults to "fabricate") and AIUseForThrowing (bool, if enabled, AIs with no thrown weapon attempt to use fabrication to generate a thrown weapon, defaults to false).
  • [modding] LiquidAmmoLoader and LiquidFueledPowerPlant now use string Liquid fields (e.g. "water", "oil") instead of integer LiquidID fields to specify what they run on.

November 16, 2018

  • We added furniture to Joppa and Kyakukya.
  • We made Tam, dromad merchant, better able to defend himself.
  • You can now cook with salt, asphalt, and cloning draught.
  • Liquids bought from the alchemist can now be cooked with.
  • Meals cooked from village ovens no longer ever bestow a permanent +1 AV.
  • Cooking recipe names are now more varied (there'll be less names like "Baklava with Smoked Baklava on top of Baklava").
  • Adjusted the way fish and farmers feel about each other.
  • Data disk descriptions now indicate if you already know their blueprint.
  • Once open, the double doors in Grit Gate no longer permanently re-lock if you close them.
  • NPCs now don't want to trade their natural weapons as often.
  • NPCs are now smarter about what equipment they use.
  • NPCs no longer compulsively remove old gear before equipping new gear.
  • Fixed a bug that caused companion NPCs not to consider whether they should equip new gear after you trade with them through via the chat menu.
  • If you recruit Indrix after completing his quest, he no longer immediately equips the amaranthine prism.
  • Wardens Esther now equips her shield.
  • NPCs no longer attempt to fire missile weapons at targets further away than their weapons' maximum range.
  • NPCs are now willing to fire missile weapons and throw thrown weapons at targets that are occluded by other hostile creatures.
  • Fixed a bug that caused NPCs to not fire heavy missile weapons at targets protected by force fields.
  • Recycling suits, portable beehives, and other liquid-generating equipment no longer generate liquid when unequipped or equipped improperly.
  • Pathfinding now prefers not to walk over ironshrooms.
  • Wearing multiple compass bracelets no longer cumulatively reduces your chance of getting lost.
  • Burrowers now more pointedly prefer moving through open space to burrowing. This means villages of burrowers won't demolish their dwellings quite so quickly.
  • The default action when interacting with trash is now (usually) 'rifle' if you have access to it.
  • When you have multiple flight effects active, the reduction to your chance of getting lost is now based on the flight effect that gives you the most beneficial result.
  • Uninstalling the giant hands implant now unequips any two-handed items you're wielding.
  • Two-handed items that prevent themselves from being unequipped are no longer one-hand equippable with the giant hands implant.
  • Fixed a bug in weapon penetration display that caused your strength modifier to be double counted.
  • Added a new debug option: 'Show debug text for chance of getting lost'. When enabled, your chance of getting lost is displayed as you move across the world map.
  • Puffer fungi now only puff if there is something nearby that they are not friendly to.
  • Force fields that overlap with normal walls no longer produce a broken tile image.
  • There is now an interaction menu option to gently wake up a sleeping NPC.
  • [modding] Removed most of the extraneous XPvalue stats on creature blueprints.
  • [modding] The NavigationBonus part is now an IPoweredPart with that class's fields and WorksOnEquipper = true. Its Amount field is now a string PercentBonus die roll that defaults to "10". It has the following new fields:
    • SingleApplicationKey -- a string that, if provided, is used as the name of an event parameter that the part sets on events it is applied to. It won't modify events that already have the event parameter, so that navigation bonuses can be made non-cumulative.
    • TravelClass -- a string used to specify a skill name, like the TravelClass attribute on terrain objects, so that the part only applies to travel in that skill's specified terrain.
    • ShowInShortDescription -- a boolean for whether the part appends its behavior to the item's short description, defaults to true.

October 31, 2018

  • Added some furniture to Grit Gate and Bethesda Susa.
  • You can now properly equip ape fur gear bought from Svenlainard.
  • The Trip power now more properly respects the anatomy of its target.
  • The following powers and items no longer work when you're out-of-phase or have a different flying status than your targets: Kickback, Shield Slam, and geomagnetic disc.
  • Select Target and Draw a Bead are now smarter about the target they select if there are multiple potential targets in a tile.
  • Equip and autoequip no longer bypass ownership checks. This means you can no longer equip chests from the ground right in front of their owners, haul them someplace out of sight, and then open them safely.
  • NPCs are no longer immune to the exhaustion caused by Adrenal Control, and they now use Adrenal Control more tactically.
  • Drinking medicinal liquids now affects the onset of ironshank as intended.
  • Fixed a bug that prevented glowmoths and agolflies from using their range attacks.
  • Fixed a bug that caused slippery liquids to occasionally cause twice the slippage they were meant to.
  • Fixed a typo in telescopic monocle's partially identified name.
  • Added a new debug option: "Show saving throw debug text". When enabled, the details of saving throw rolls are displayed in the message log.
  • [modding] In ObjectBlueprints.xml, <inventoryobject> elements can now have a CellChance attribute that sets the ChanceSlotted field on the EnergyCellSocket part of generated objects, if they have the part.
  • [modding] There's now a general architecture for altering the results of saving throws. The object making the save has the ModifyDefendingSave fired on it, and if applicable, the attacking object causing the save to take place has ModifyAttackingSave fired on it. The attacker's event is fired first. Each has the following parameters:
    • Defender -- the object making the save
    • Attacker -- an entity intentionally causing the save to take place, if any
    • Stat -- the string name of the statistic whose modifier provides the defender with a bonus to their save. Specify a comma-separated list and the highest value is used.
    • AttackerStat -- like Stat but checked on the attacker and increasing the save's difficulty
    • Vs -- a string characterizing the save. Examples include "Stun", "Stinger Injected Paralysis Poison", "Glotrot Disease Onset". Typically this field is used with .Contains() to scope save modifiers to their desired context.
    • NaturalRoll -- an int, the defender's original 1d20 roll for the save
    • Roll -- an int, the roll after modifications. Changes to this parameter by either event are taken into account by the saving throw check.
    • BaseDifficulty -- an int, the original difficulty of the save
    • Difficulty -- an int, the difficulty after modifications. Changes to this parameter by either event are taken into account by the saving throw check.
  • [modding] Added a new part, SaveModifier, that modifies the defending saving throws of its parent item's equipper. It's an IPoweredPart and has that class's fields, with the following defaults: ChargeUse = 0, IsEMPSensitive = false, and WorksOnEquipper = true. (If WorksOnSelf = true, this part properly modifies the saves of its parent item. Other WorksOn field behaviors may or may not work.) Its own fields are:
    • Vs -- a string with a comma-separated list of strings. If a saving throw's 'Vs' value contains any of them, this part's Amount modifier applies to the saving throw. If null or empty, this part applies to all saves. When one of the list items contains spaces, each space-separated item is matched separately, and all of them must match. Example: If SaveModifier.Vs = "InjectedPoison", it will match against a ModifyDefendingSave.Vs of "Stinger Injecter Confusion Poison" but not "Contact Damaging Poison".
    • Amount -- an int, the amount the part modifies saves by

October 26, 2018

  • Added a new item: rocket skates.
  • Added a new music track to generated villages.
  • You may now freely access Argyve's chests once you become his apprentice.
  • NPC companions can now become overburdened.
  • Overburdened is now a visible effect.
  • Bioscanning, techscanning, and structural scanning no longer show incorrect DV values.
  • You can only sell unidentified artifacts for a fraction of their value.
  • Containers now take into account the value of their contents when you trade them.
  • Conveyor belts no longer move holograms, flying creatures, or out-of-phase objects.
  • Conveyor belts are no longer prevented from moving you when you're overburdened, frozen, or paralyzed.
  • You can now disassemble an energy cell from the change cell dialog.
  • You can no longer use Flurry or the Dismember activated ability on out-of-phase creatures or flying creatures (unless you're also flying).
  • Enabling 'open bookshelves while auto-exploring' now works regardless of whether other auto-explore options are enabled.
  • Security doors are now treated as ordinary doors during auto-explore if you have Psychometry or a security interlock.
  • Auto-explore now only seeks out trash if you have Trash Divining or Scavenger and you've enabled 'Pick up items flagged for auto-get while auto-exploring'.
  • Auto-explore now seeks out butcherable meat if you have Butchery toggled on and you've enabled 'Pick up items flagged for auto-get while auto-exploring'.
  • Auto-explore now seeks out harvestable plants if you have Harvestry toggled on and you've enabled 'Pick up items flagged for auto-get while auto-exploring'.
  • NPCs, including your companions after trading, are now smarter about which weapons to equip.
  • Broken or rusted injectors are no longer usable.
  • NPCs applying tonics out of your line of sight no longer identifies the tonic for you.
  • Removed the option to trade from talkable objects with no inventories (like the Grit Gate intercom).
  • Dawnglider tails severed via dismemberment are now identical to tails butchered from dawnglider corpses for the purposes of cooking.
  • When you gain an activitad ability, you no longer get the instructional message to access the abilities screen once you've either visited the abilities screen three times or remapped the key to access it.
  • When you have multiple phasing effects active, you now only change phase once all of them expire.
  • Fork-horned gnu now correctly have their hooves equipped again.
  • Arconaut's are now correctly listed as having Swift Reflexes in character creation.
  • Fixed a bug in text generation that caused numbers above 100 to appear as the letter 'y'.
  • Fixed a typo in the effect description of fear-based meals when choosing an effect for recipe invention.
  • Fixed various typos in dynamic text generated while interacting with walls.
  • [modding] You can now specify the tag or property PlayerWontSell on objects to excludes them from the player's side of trade.
  • [modding] WontSell is now supported as both a property and a tag.
  • [modding] Auto-explore object-seeking for cases dependent on the player's build (like trash being sought out if you have Scavenger or Trash Divining) is now run through a generic event AutoexploreObject. This event is fired on the player and has the parameter "Object". You can have a part return false from AutoexploreObject to indicate that the object in that parameter should be sought.
  • [modding] The Corpse part now has properties CorpseRequiresBodyPart, BurntCorpseRequiresBodyPart, and VaporizedCorpseRequiresBodyPart. If provided, these designate body part types which must exist, undismembered, on the creature at death for the respective corpse type to be generated.
  • [modding] Conversation choices can now have the attribute ClearOwner. When the conversation choice is processed, any objects in the player's current zone which have the value of the ClearOwner attribute as a property or tag will have their Physics parts' Owner fields set to null.
  • [modding] EncounterTables.xml now supports <single /> tag XML elements.
  • [modding] Encounter tables can now have <population Table="PopTableName" /> nodes that generate content from the specified population table. Unlike using @ with <object>, this tag enables multiple objects to be processed from a single roll on a population table if the table is set up to produce such a result.

October 19, 2018

  • Hotkey favorites now use the most recent re-binding for commands.
  • Leering stalkers now use their pneumatic pistons again.
  • Hypertractors can no longer move holes in the ground or areas of open air.
  • Closed a loophole with reputation modifying items where the rep bonus gained from dominating a creature and equipping them with a rep-boosting item stuck around after the domination ended.
  • When you dominate a creature, reputation modifying items they already have equipped now properly alter your reputation.
  • During character creation, arconauts are now correctly listed as having the power Spry rather than Dodge.
  • Activated abilities disabled due to astral tethering are now greyed out in the abilities menu.
  • Animated objects no longer obstruct autoexplore and autowalk.
  • Made the Sacred Well less destructible.
  • Improved the text generation for pet plants.
  • Items with long names no longer overflow the frame in the tinker modding UI.
  • Fixed a bug that generated inaccurate "you heal to full" messages too often while metabolizing a healing-based meal.
  • Fixed a bug that caused the stat modifications from Kindrish to rarely become permanent.
  • Fixed some bugs that caused levels in Bethesda Susa to frequently fail to build.
  • [modding] Added a new part, LowStatBooster, for equipment that increases the lowest base value stat out of a list of stats. It's an IPoweredPart and has that class's properties, with defaults ChargeUse = 0 and WorksOnEquipper = true. Its own properties are: AffectedStats (a comma-separated string list of the stats considered; defaults to "Strength,Agility,Toughness,Intelligence,Willpower,Ego") and Amount (the amount the lowest stat is modified by, defaults to 3).
  • [modding] KindrishProperties is now a subclass of LowStatBooster.
  • [modding] IntPropertyChanger, MultiIntPropertyChanger, and TemperatureAdjuster now have the property BehaviorDescription, a string that, if provided, is appended to the item behavior section of the item's short description. Defaults to null.

October 12, 2018

  • We changed the way we calculate AV and DV from equipment across similar body parts.
    • Previously, creatures always received AV and DV modifiers from equipment equipped on any body part that was part of their original body plan. Body parts added later (e.g., via mutations such as Multiple Legs) were treated differently; equipment equipped on these parts didn't have their AV and DV modifiers factored into the creature's final AV and DV calculations. This approach generally worked well until a recent patch where we added more realistic body plans for several creature types. The old system gave creatures with several natural body parts (e.g., spiders and crabs) an unintended advantage; they could stack AV or DV simply by equipping a bunch of armor to their limbs. For example, a spider could stack AV by equipping four sets of steel boots. We changed the calculation to be more simulative. Now, AV and DV modifiers are averaged across all similar body parts. The example spider now has the AV and DV modifiers from its Feet equipment averaged over all four sets of feet.
    • Rounding is done once for each of the total AV and DV tallies. We round away from zero. For example, if you have two Feet slots and you wear a pair of +3AV/-3DV boots on one of them, assuming no other armor modifications, you'll get +2 AV and -2 DV.
    • If the AV/DV calc results in a piece of equipment contributing more or less AV or DV than its stats imply, the display color of that stat is changed (red for 'contributing less' and green for 'contributing more'). An explanation is also appended to the item's description.
    • We removed the UI elements that explained which slots don't contribute to AV or DV as they're no longer relevant.
    • We changed snakeskin armlet to +2 DV and tread guards to +2 AV. This change replicates their balance in the old system since -- generally speaking -- you have two arms and, with the motorized treads implant, two treads.
    • Equipment bonuses and penalties other than AV and DV are still contributed individually per body part.
  • We generalized the effects of normality gas and made them variable instead of binary.
    • To support this change, we added two new status effects: astrally burdened and astrally tethered. Burdened creatures have difficulty performing actions that morph spacetime. Tethered creatures can't perform those actions at all.
    • The density of normality gas now determines whether it bestows the burdened or tethered effect on things it shares a tile with.
    • Astral effects now interdict Clairvoyance and Precognition.
    • Added normality fields.
    • Added a new piece of rare furniture: norm core.
    • Added a new item: ontological anchor.
  • Historic relics found outside of historic sites now have much better generated names.
  • If you have motorized treads, you can no longer use the interaction menu equip and autoequip commands to inappropriately equip footgear on your lower body.
  • Puddles on the ground are now displayed under the Liquids category.
  • The following items no longer modify your reputation if equipped inappropriately (i.e. held or put in the thrown weapon slot): croccasins, blood-stained neck-ring, goggles, mirrorshades, Issachari banner, Issachari sun veil, mechanical wings, gyrocopter backpack, portable beehive, leafy helm, leafy vest, symbiotic firefly, puma chitin vest, ape fur cloak, ape fur gloves, ape fur hat, electric snail shell, fork-horned helmet, fungal infections, the Ruin of House Isner, engraved items, painted items, jewel-encrusted items, figurines, and reputation-altering relics.
  • Scavenging through trash now yields items based on the depth the trash was found in, not the depth it was rifled through.
  • Fixed a bug that allowed you to gain arbitrary amounts of reputation while dominating a creature by removing and re-equipping gear on your original body.
  • Fixed a bug with cooking in the Rainbow Wood.
  • Fixed a bug that caused swarm racks not to fire.
  • Fixed a bug that broke flamethrowers.
  • [modding] The IActivePart part base has a new boolean property, WorksOnEquipper, to specify that the item only works if the item is properly equipped (in an armor slot if it has the Armor part, and held otherwise). AddsRep and EquipStatBoost have this property set to true by default, and the WorksHeld argument has been removed from EquipStatBoost.AppendBoostOnEquip().
  • [modding] AddsRep is now an IActivePart, inheriting its properties and supported functionality.
  • [modding] DeploymentGrenade's UsabilityEvent is now sent to the grenade object instead of the cell it lands in.
  • [modding] Added an item property, RealityStabilization, that generates astral burdening and tethering effects. It has the following properties: Visibility (number 0-3, 0 = effect produced is invisible, 1 = effect shows up in look, 2 = effect shows up in look + has a render effect, 3 = shows up in look + has more dramatic render effect; defaults to 2), SelfVisibility (the visibility to use on the effect the object applies to itself, if any; defaults to 0), UseCharge (if > 0, the part runs on energy cell charge and the strength of the effect produced depends on the remaining charge in the cell. Anything over 2500 charge use Strength = 100), FromGas (the Strength of the effect produced is equal to the density of the Gas part of the item), Strength (if specified, explicitly sets the effect's base strength, overriding UseCharge and FromGas), VariableStrength (die roll; if specified, the higher of the result and the value set for Strength will be used), HitpointsAffectPerformance (whether the strength of the effect produced is reduced in proportion to damage to the item, defaults to false), CellEffect (whether the item puts its effects on things in the same cell as it, defaults to true), AffectsSelf (whether the item puts its effect on itself, defaults to true), WorksOnEquip (whether the item puts its effect on someone equipping it regardless of how it's equipped, defaults to false), WorksOnEquipAsArmor (whether the item puts its effect on someone equipping it if they're equipping it in the proper slot according to its Armor part), and Projective (whether the effect produced can potentially affect tiles the subject of the effect is trying to move to; defaults to false). Devices whose effects might be interdicted by astral tethering can have an intproperty, called RealityStabilizationPenetration, which will be subtracted from the effective strength of tethering effects the devices are contesting.
  • [modding] Added a RealityDistortionBased flag to several mutations. Use it to control whether a mutation's effects are interdicted by astral tethering. Mutations affected: Clairvoyance, Precognition, Psychometry, Sense Psychic, Telepathy, Domination, Sunder Mind, Syphon Vim, and Beguiling. The flag is on by default for Clairvoyance, Precognition, and Psychometry.
  • [modding]Added a new part, DeploymentMaintainer, for items. It is an IPoweredPart and has the inherited properties. Its own properties include: Blueprint (the blueprint of the objects it creates), Duration (how long the objects last, die roll, defaults to null i.e. permanent), Radius (integer radius it fills with objects, or -1 for every tile in the zone), Chance (the percentage chance a given tile will receive an object, defaults to 100), AtLeast (a minimum number of objects to try to deploy when Chance is in use, defaults to 0), MaintenanceInterval (the number of turns that must pass between attempts at maintaining the deployment, defaults to 10), UsabilityEvent (an event that must be successfully fired on the tile the item is in in order for the item to work, defaults to null i.e. none), AccessibilityEvent (an event that must be successfully fired on a given tile in its radius in order to deploy an object there, defaults to null i.e. none), ActiveMaintenance (whether objects deployed are actively maintained by the item and disappear if it is nonfunctional, defaults to true), RealRadius (whether to deploy in a circular radius rather than the usual engine "square radius"), BlockedBySolid (whether solid tiles block deployment, defaults to true), BlockedByNonEmpty (whether tiles must be "empty" for deployment, defaults to true), Seeping (whether BlockedBySolid use "seeping" logic where objects like stakes don't block), DustPuffEach (whether each deployed object generates a dust puff, defaults to false), NoXPValue (whether objects with XP value get it cleared out, defaults to true), and LinkRealityStabilization (whether to configure the deployment maintainer, which should have a RealityStabilization part, as an effect strength source on any RealityStabilization parts on deployed objects).

October 4, 2018

  • New item: anti-gravity boots.
  • Your clones no longer pass on their inspirations for meal ideas to you.
  • Evil twins no longer spawn during game initialization, resulting in half-formed twins.
  • Villagers who give dynamic quests no longer confusingly wander around their villages.
  • Rehabilitated some jumbled outcomes for the Kith and Kin quest.
  • Corrected the rhyme scheme of the procedural love poem.
  • Dawngliders and fruit flies now correctly have wings.
  • Ceremonial vibrokhopeshes now have a boot sequence and power source, though it's a power source you don't have to worry about getting disabled under most circumstances. *Most* circumstances.
  • Animated walls and doors no longer continue rendering in their updated position when out of your sight.
  • Grit Gate now shows up highlighted in the alt display.
  • Made the appearance and behavior of the interaction menu 'look' command more consistent with regular look.
  • Changed the tinkering bits on ruin recoilers.
  • Ruin recoilers now have their name displayed as "random-point recoiler" on their tinkering recipe instead of using a specific recoiler location.
  • Auto-explore no longer attempts to open empty chests and bookshelves.
  • Fixed a bug that was preventing all desert canyon encounters from generating. These included apple farms, pig farms, snapjaw forts, and Stopsvalinn.
  • Fixed a bug that caused the salt dunes alternate start to not correctly grant reputation with the unshelled reptiles faction.
  • Fixed a bug that allowed you to choose campfire options even when they were greyed out because you didn't have the appropriate skills.
  • Fixed a bug that caused the feathered and scaled mods to sometimes inappropriately modify the player's reputation when equipped and unequipped by non-player creatures.
  • Fixed a bug that caused the splash sound effect to be played when you stepped into a tile with a closed liquid container (such as a canteen).
  • Fixed Freezing Hands and Flaming Hands having incorrect damage listed in their level-up preview dialogs.
  • Fixed a bug that caused twinning lampreys to spawn too many twins.
  • [modding] Added some new properties to the MechanicalWings part.
    • Type: a string like "AntigravityBoots" used to differentiate the events used by different MechanicalWings parts. This facilitates having multiple sources of equipment-based flight.
    • FlightSourceDescription: a string added to the display text of the Fly and Land abilities. Use it to differentiate between different types of equipment-based flight.

September 28, 2018

  • We made a bunch of enhancements to the body part system.
    • Made dynamic body part growth and loss much smarter. Example: if a creature loses all their hand-like parts, they also lose the ability to wield missile weapons unless their body plan specifies otherwise.
    • Configured most body parts of the same type in a lateral arrangement and made newly grown body parts respect laterality. This means some body parts have been dynamically renamed (ex: "upper left arm").
    • Limb regeneration smartly respects laterality.
    • Losing mobility-granting limbs now bestows a move speed penalty in proportion to the number of mobility-granting limbs you have left. For instance, losing one set of legs as a spider is less impactful than losing your feet as a humanoid.
    • Creature descriptions are now dynamically modified with descriptions of the creatures' missing body parts.
    • We added new body plans for the following creature types: birds, snakes, worms, snails, slugs, insects, spiders, humanoid robots, bipedal robots, quadrupedal robots, hexapedal robots, treaded robots, hovering robots, bushes, fungi, cacti, flowers, vines, trees, various kinds of animated walls, various kinds of animated doors, various kinds of animated chairs, various kinds of animated beds, animated pillows, and animated vaned and railed mechanisms.
    • Updated several existing body plans.
    • Added some new unarmed attack types for various body plans.
    • Different types of robot limbs now potentially disassemble into different types of bits.
    • Designated severed robot limbs as scrap.
    • Helping Hands now additionally adds a "Robo-Hands" slot.
    • Ulnar stimulators now use charge, have a boot sequence, and only work on biological hands.
    • Jab's bonus now gets more consistently applied when you have the Multiple Arms mutation or robo-limbs.
    • The gun rack cybernetic implant now adds a pair of hardpoints (missile weapon slots that dismember into scrap).
    • The motorized treads cybernetic implant now converts your Feet body part to a Lower Body and adds a pair of Tread limbs attached to it.
    • Motorized treads now add to your stability rolls, like magnetized boots do.
    • Added tread guard items that can be mounted on treads.
    • Adds dynamic messaging around losing and regenerating limbs.
    • Fixed various bugs with dismemberment, limb regeneration, and the process of acquiring a fungal infection on a limb.
  • Hyrkhounds' acid-dripping fangs now do acid damage rather than fire damage.
  • You no longer lose your proper noun status while you are dominating a creature.
  • The following actions can no longer be taken while frozen: Lunge, Swipe, Shield Slam, Shield Wall, Rebuke Robot, Empty the Clips, Draw a Bead, Charge, Juke, Sprint, Deploy Turret, Lay Mine, Recharge Cell, tinkering, and changing stances.
  • Berate and Proselytize can no longer be performed while frozen, except by telepaths.
  • Fixed a bug that caused Menacing Stare to use a much larger Ego-based modifier than was intended.
  • You can now maintain a mark on a target (via Draw a Bead) through force fields you can fire through.
  • You can now Jump into or through a force field that you can pass through.
  • NPC activation of Shield Wall no longer mistakenly displays a message as if they had activated Sprint.

September 21, 2018

  • Qud's augurs have read the petals on the wind and agree: the deerfolk who call themselves 'hindren' are real, and their hidden village exists. The hindren patch is now live!
    • Added a new village: Bey Lah, hidden in the flowerfields.
    • Added a new faction: hindren of Bey Lah.
    • Added several new hindren NPCs.
    • Added a chain of quests: Petals on the Wind, Find Eskhind, and Kith and Kin.
    • Added a new signature dish: mah lah soup.
    • Added a new denizen to the Stiltgrounds.
    • Added Kindrish, the ancestral bracelet heirloom of the hindren.
    • Added a few other legendary hindren items.
    • Added some procedural love poetry.
  • We made a bunch of enhancements to the prerelease input manager.
    • Updated to the latest version of Rewired.
    • Cancel now properly escapes out of most menus.
    • Improved the styling of the control mapping screen.
    • Alt (in the key mappings) + Use now uses the menu-based interaction mode.
    • Changed "get nearby" to "interact nearby", allowing a button to be mapped to menu-based interaction.
    • Fixed an issue that caused navigation of the control mapping screen to freeze.
    • Fixed an issue that caused the prerelease trade screen to not function properly when used via gamepad.
    • Fixed an issue that prevented the trade screen mappings from functioning properly on the classic trade screen.
  • Vibro weapon penetration is now visible in weapon stat display.
  • The following actions can no longer be taken while frozen: Slam, Conk, Dismember, Hook and Drag, Hamstring, Hobble, Shank, Flurry, Jump, Heal, Staunch Wounds, Set Limb, Sweep, Butcher, Harvest, and trash rifling.
  • Shank no longer double counts some negative status effects.
  • Conk now takes its target's anatomy into account.
  • Hook and Drag now properly requires an axe in the primary hand.
  • Added a tile for Grit Gate's intercom.
  • Fixed a bug that stopped vibro weapons from consuming charge.
  • Below are the hindren changes from last week's beta patch.
    • Added Kindrish, the ancestral bracelet heirloom of the hindren.
    • Tweaked the Bey Lah map.
    • Added some more chronology entries.
    • Fixed some clue tagging and quest outcome issues.
    • Tweaked Kith and Kin rewards.
    • Changed some aspects of how Kith and Kin's completion affects Bey Lah's fate.
    • Gave Eskhind's hideout a minimum distance from Bey Lah.
    • Added reputation rewards for completing Kith and Kin.
    • Made clue items appear around Bey Lah more sensibly.
    • Moved Eskhind to the Hindriarch's hut when appropriate.
    • Added conditional dialog options with appropriate hindren for when you recover Kindrish.
    • Added a procedurally generated sonnet.
    • Changed Lulihart's water ritual rewards.
    • Added some additional tiles.
    • Changed some quest dialog.
    • Added a choice signature to the Kith and Kin reward dialog.
  • Additionally, we made a bunch of changes to the hindren patch on the beta branch.
    • Refined the various quest endings and made Neelahind much more willing to explain them.
    • Made Bey Lah a legitimate map location.
    • Changed the quest XP rewards.
    • Tweaked the Bey Lah map.
    • You now correctly get credit for finding all the clues.
    • Clues only get inscribed in your journal if you have the quest Kith and Kin.
    • Changed some quest item rewards.
    • Fixed some issues with the quest item rewards.
    • Fixed some issues with certain quest clues not being discoverable.
    • Hindren villagers can now share rumors.
    • Eskhind now properly comes to Bey Lah after you complete Find Eskhind.
    • Added chronology entries for finding Bey Lah and completing the quest chain.

September 14, 2018

  • Brainless things no longer fall asleep.
  • Hindren clues should now be more successfully excluded from gossip.
  • Pressing left on an object in the inventory screen now collapses the whole category.
  • Pouring liquid on the ground now results in a salt-diluted puddle of the same volume you poured, not twice that volume.
  • You can no longer avoid attacks by certain sludges on the basis of the attacks overquenching your thirst.
  • Generated names from the arcology of Ekuemekiyye no longer occasionally contain a trailing space.
  • Psychic hunters no longer get vestigial legendary titles.
  • Fixed a bug that caused on-damage cooking effect trigger's percentage to drop to 0 after saving and loading.
  • Fixed some plurality issues with generated text when preserving ingredients.
  • Fixed a bug that made fully run down carcass kneaders impossible to wind up.
  • [modding] The RandomColors part has a new property, BackgroundColor, for specifying random background colors.
  • [modding] The IPoweredPart base class has been refactored to IActivePart, which is identical to IPoweredPart except for some of its new default property values: ChargeUse = 0, IsBootSensitive = false, and IsEMPSensitive = false. IPoweredPart is now a subclass of IActivePart with these defaults: ChargeUse = 1, IsBootSensitive = true, and IsEMPSensitive = true.

August 25, 2018

  • Added new, animated tiles for forcefields.
  • Added a new faction: pariahs.
  • Pariahs now sometimes appear on the Stiltgrounds.
  • You may encounter bands of roving pariahs.
  • Blaze injectors can now be preserved into congealed blaze.
  • Salve injectors can now be preserved into congealed salve.
  • Carbide and fullerite fist implants now count as unarmed attacks.
  • Laser beam and falling rock damage messages now have their penetration indicators colorized according to the usual convention.
  • Spiked gauntlets now correctly add bleeding damage to unarmed attacks again.
  • Twinning lamprey bites cause bleeding again.
  • Breeder creatures now more reliably pass on their faction allegiances to their spawn.
  • Holograms no longer fall down elevator shafts.
  • Hologram bracelets that blink out of existence no longer leave permanent holograms.
  • Force bracelets that blink out of existence no longer leave permanent forcefields.
  • Limbs dismembered from temporal fugue clones or extradimensional creatures now usually blink out of existence when their former owners do.
  • Night-vision goggles no longer provide night vision when equipped as a weapon or when disabled by EMP.
  • Learning to make lead-acid cells no longer causes acid to spontaneously erupt on your character.
  • Bronze ingots now weigh less and are worth more.
  • When a village teaches the free power that unlocks when purchasing a skill, they now also teach the skill itself.
  • Fixed an issue that sometimes prevented destroyed liquid containers from depositing their liquids as puddles on the ground.
  • Fixed an issue that caused the penetration bonus from gaslight weapons to remain even if they were unpowered.
  • Fixed some issues with the shale walls surrounding Red Rock and the Rust Wells.
  • Fixed various typos.
  • [modding] The Gaslight part has been rewritten. Its properties are now ChargedName (base display name when it has usable charge), UnchargedName (base display name when it doesn't have usable charge), ChargedPenetrationBonus (penetration bonus when charged), UnchargedPenetrationBonus (same, uncharged), ChargedDamage (base damage roll when charged), UnchargedDamage (same, uncharged), ChargedSkill (proficiency skill when charged), and UnchargedSkill (same, uncharged). It's also now an IPoweredPart and has all of that part's properties. Its defaults that differ from IPoweredPart base are ChargeUse = 10 and WorksOnSelf = true.
  • [modding] The BleedingOnHit part has been rewritten. Its properties are now Amount (the roll for the amount of bleeding inflicted, defaults to "1d2"), SaveTarget (the target of the save, defaults to 20), RequireDamageAttribute (if given, bleeding will only be inflicted if the damage being done has this attribute, defaults to null), SelfOnly (whether bleeding infliction only applies to attacks performed with the object, defaults to true), and Stack (whether the bleeding inflicted stacks, defaults to false). It's also now an IPoweredPart and has all of that part's properties. Its defaults that differ from base are ChargeUse = 0, IsEMPSensitive = false, and WorksOnSelf = true.
  • [modding] The NightVisionGoggles part is now an IPoweredPart and has that part's properties (WorksOnWearer defaults to true).
  • [modding] Added a new PlayerBeginConversation event, which triggers whenever the player starts a conversation.
  • [modding] The liquid that gets mixed in with liquids poured on the ground can now be specified. Cells and zones both have a property, GroundLiquid, that can be set to a value like "salt-1000" (the default on zones), "salt-500,water-500", and so on. An empty string means no automatic mixing is done. If a cell's GroundLiquid is null, it defaults to its zone's value. The zone's value can be set in Worlds.xml via the GroundLiquid property on the zone element.
  • [modding] The IgnoresGravity tag and property now make objects immune to the PullDown behavior of the StairsDown part.
  • [modding] Fixed an issue with non-standard sprite size support.

August 17, 2018

  • Added two new creatures: feral lah and tumbling pod.
  • Added a new plant: lahbloom with harvestable lah petals.
  • Added a new cooking ingredient: dried lah petals.
  • Added a new option to the campfire menu: preserve exotic foods. This option is for manually preserving foods that are otherwise consumable and so excluded from bulk preservation.
  • Luminous hoarshrooms now preserve into freeze-dried hoarshrooms.
  • Shade oil tonics now preserve into congealed shade oil.
  • Updated tile for luminous hoarshroom consumable.
  • Pickled mushrooms and freeze-dried hoarshrooms now count as mushrooms for the purpose of triggering mushroom-related meal effects.
  • You can no longer preserve things that you haven't identified.
  • Gave mutated flowers and bushes more appropriate stats.
  • Fixed a rare exception when inanimate objects called for help after suffering lethal damage.

August 10, 2018

  • Added a new item: fidget cell.
  • Added new level-up sound effects for both the player and other creatures.
  • You can now pet all village pets.
  • Hyrkhounds are now properly considered dogs.
  • Mental mutation levels granted by equipment and meals now count toward your psychic glimmer. Note that this change applies to true kin, too.
  • Hindren clue items no longer appear as randomly revealed secrets via trash divining or mumble mouth.
  • The 'Leap, Frog' achievement can no longer be attained by learning to jump from someone other than a frog.
  • Enabling autoget scrap no longer autogets any artifact that can be disassembled.
  • Walking next to a regeneration tank with freshwater and artifact autoget enabled no longer mysteriously obliterates the tank into a puddle of freshwater.
  • Temporal fugue clones of NPCs now reliably get along with their clone-parent and clone-siblings.
  • Cybernetic implants on temporal fugue clones are no longer recoverable via dismembering.
  • Fixed an issue that caused the temporal fugue clones of psychic hunters and evil twins to have infinite duration.
  • Fixed an issue that caused some items thrown by temporal fugue clones not to properly dematerialize.
  • The description of regeneration tank now more clearly communicates what the item requires in order to function.
  • Tweaked some Mechanimist holy language.

August 3, 2018

  • Cats and dogs now let you pet them if they like you. Some domesticated cats and dogs will let you pet them if they merely tolerate you.
  • New book: Eta and the Earthling, Canto I.
  • Changed the name of a character in From Entropy to Hierarchy.
  • Energy cells now only stack if they have the same charge level.
  • Two-faced helmets and helping hands no longer prevent body parts other than the ones they're adding from being dismembered.
  • Equipping headgear into a slot currently occupied by a two-faced helmet no longer annihilates the headgear being equipped.
  • Updated Mental Mirror's description to better reflect its implemented behavior.
  • Fixed an issue causing chrome pyramids to fail to generate their force fields.

July 27, 2018

  • Added a new village government type: anarchy.
  • When you go to the world map and then immediately return to the local map you were just in, you're now placed in the same tile you left from.
  • Village wardens now attack wild beasts or snapjaws that make their way into villages.
  • Objects traded to merchants are now considered part of their trade stock.
  • Equipped items no longer used as ingredients when you whip up a meal.
  • Quest items are no longer used as ingredients when you whip up a meal.
  • Village signature dishes no longer include neutron flux as an ingredient.
  • Fish are now always placed in tiles with water.
  • Items in inventories that get de-stacked due to ongoing effects now re-stack properly.
  • References to Joppa in books, quests, and advertisements now respect Joppa's state of existence.
  • You can no longer place a container you're carrying inside itself, thereby blinking it out of existence.
  • Updated the description for Albino.
  • Klanq no longer asks you to puff on village factions.
  • Klanq no longer asks you to puff on factions without members.
  • Fixed a generated text bug with fungi dialog.

July 20, 2018

  • We added several new historic events that make village histories much more diverse. Examples include trait-based reasons for congregation, regime changes and new types of government, and new culinary developments.
  • Increased the diversity of village populations, particularly for the choice of warden.
  • There's now a menu option to fill empty liquid containers.
  • Fixed an issue with village item placement.
  • Fixed an issue with gyrocopter backpack.
  • Fixed an issue that caused some stat-boosting historic relics to incorrect require energy cells.
  • Fixed an issue with domination where the dominated creature moving offscreen and then dying caused the dominator to die too.
  • Fixed an issue that caused historic site visitation quests to not complete.
  • Fixed an issue with gaslight weapons not using charge.
  • Fixed an issue causing beguiled pets to stop following you.
  • Fixed some issues with article formatting.
  • Fixed a rare exception in beguiling.
  • Fixed a rare exception during village generation.
  • Fixed the copyright date.

July 10, 2018

Generated Villages and Alternate Starts

"Joppa? Never heard of it." -Mehmet

Previously you began every game of Qud in Joppa, a starting village with handcrafted architecture, history, customs, NPCs, and player quests. Joppa�s consistency helps new players acclimatize to the strange world of Qud, both its unfamiliar, far-future setting and its hybrid handcrafted / generated approach to worldbuilding. But for veterans who�ve started dozens+ games of Caves of Qud, the opening can feel repetitive. So, as an alternative to Joppa, we added procedurally generated villages to start the game in. They have their own generated quests that�ll take you through the early game and link you back up to the trunk of the main quest. Or you can you use them as a launching point to explore the world on your own terms.

The two big cornerstones of this patch are village generation and dynamic quest generation. In addition to the starting village, we added villages across the rest of Qud, too. Every aspect of these villages is generated, including their own unique histories that are discoverable through various storytelling traditions. They also include their own fully dynamic quests. In sum, generated villages are a culmination of all our generative systems work up until this point.

  • We added generated villages across Qud. Each village has its own generated faction, history, architecture, relationship with local resources, storytelling tradition, proverb, signature dish, signature skill, named & unnamed NPCs, and quests.
  • We added a fully dynamic quest generation system that produces unique quests for each village. This may have additional applications in the future.
  • In addition to Joppa, you now have the option to start the game in a generated village in one of four regions.

Each option has its own benefits.

  • Random village in the salt marsh:
    • Village teaches Harvestry.
    • +50 reputation with insects and fish.
    • Start with a pair of croccasins.
  • Random village in the salt dunes:
    • Village teaches Fasting Way.
    • +100 reputation with reptiles.
    • Start with an Issachari banner.
  • Random village in the desert canyons:
    • Village teaches Wayfaring.
    • +50 reputation with equines, tortoises, and vines.
  • Random village in the hills:
    • Village teaches Butchery.
    • +100 reputation with hermits.
    • Start with a blood-stained neck-ring.
  • Starting villages are guaranteed to have two questgivers, a warden, and a merchant.
  • Starting villages are guaranteed to have a quest that gives you a recoiler reward and a follow-up quest that leads you to Grit Gate.
  • Added a new quest, A Signal in the Noise.
  • Added various types of monuments that depict village histories.
  • Added a whole slew of new furniture, including chairs, beds, floor cushions, dressers, tables, vessels, and high-tech furniture.
  • Added procedurally-generated wall types sourced from plant parts, animal parts, or metals.
  • Added a new static faction, the Farmers' Guild, and dozens of new generated factions.
  • Added procedurally generated stone and marble statues.
  • You can now pray at shrines and statues.
  • You can now desecrate shrines and statues.
  • Fixed many, many bugs and made many other small feature tweaks.
  • As with everything in Qud, villages will continue to grow.

June 15, 2018

We have an announcement regarding our upcoming patch schedule. We're nearing the release of next our 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.

June 8, 2018

  • Swarm racks, arc cannons, and blast cannons now work when severed from their robot bearers.
  • Arc cannons can now be charged by ambient electricity, and arc cannon projectiles are now treated as electrical.
  • Chrome pyramids can now generate ammo for their swarm racks.
  • Blast cannons are now more powerful and have a cooldown.
  • Chrome pyramids, leering stalkers, arcwyrks, and traipsing mortars now have melee attacks.
  • Being asleep now imposes a DV penalty.
  • Wandering villagers are now less likely to idly wander into dangerous areas like fractus patches.
  • Psychic glimmer notifications no longer show up when dominating NPCs.
  • Fixed a bug that caused some electronic items to consume charge at twice the proper rate.
  • Fixed an issue that caused some object stacks to become indestructible.
  • Fixed a couple rare exceptions that caused large amounts of message log spam.
  • Fixed luminous hoarshroom's tonic effect not getting properly applied when you eat it.
  • [modding] In Mutations.xml, mutations and mutation categories now support the field Property, where you can specify the name of an intproperty that modifies the mutation's level. For example: if you specify Property="MyProperty" and the mutation-bearing creature has the MyProperty intproperty with value = 4, that creature's mutation level for the augmented mutation is increased by 4.
  • Mutations and mutation categories now support the field ForceProperty, which is the same as Property except that its modifications are not subject to the character-level-based mutation level cap, and if negative, it can reduce the mutation level to zero, disabling it.
  • [modding] Mutations.xml now supports single-element XML style (<tag />).
  • [modding] Mutation levels now update properly if you mod mutations to receive bonuses from stats other than Ego.
  • [modding] The IntPropertyChanger and MultiIntPropertyChanger parts have a new property, AfterUpdateEvent, which specifies an event that's fired on the equipper after the part's property changes are applied or unapplied.
  • [modding] The deprecated skills MindOverMatter, MindOverMatter_ExpertiseOfTheDomain, MindOverMatter_MasteryOfTheDomain, and MindOverMatter_Trance are functional again for inclusion via mods.
  • [modding] Added a new ChargeDisplayStyle (as used by various power systems parts): "glow", which displays charge level as relative luminescence.
  • [modding] Added a new property to the Cursed part, IsEMPSensitive. If true, the item is removable while EMPed. Defaults to false.
  • [modding] The BootSequence part now responds to its parent object receiving a Reboot event. If it does, the boot sequence is restarted. BootSequence also has a new property, NotEquipBased, which (if true) allows the parent object to receive the Reboot event even if it's not equipped. Defaults to false.
  • [modding] The Bed part now supports firing up to three different events on the sleeper at defined intervals. The following properties are supported for the first interval: SleepEvent1 (the name of the event to fire) and SleepEventTurns1 (the number of turns spent sleeping before the event fires; must be greater than 0). SleepEvent2/SleepEventTurns2 and SleepEvent3/SleepEventTurns3 are supported for the second and third intervals, respectively. The following properties were also added: ChargeUse (an amount of charge that must be consumed each turn somebody is sleeping on the bed for the sleep events to fire) and IsEMPSensitive (whether the sleep events still fire when EMPed).
  • [modding] Added a part FabricateFromSelf that implements the ability to create items using the object's hit points as raw materials. Its fields are FabricateBlueprint (the type of item to create), BatchSize (die roll, the number of items to create at once), HitpointsPer (die roll, the number of hit points damage to do to the object per item created), Cooldown (die roll, the ability's cooldown), ChargeUse (an amount of charge the ability takes via UseCharge, defaults to 0, EnergyCost (the energy cost to use the ability, defaults to 1000), HitpointsThreshold (object must have at least this many hit points to use the ability), AIHitpointsThreshold (AIs will not use the ability unless they have at least this many hit points), EMPSensitive (whether the ability is disabled by the object being EMPed, defaults to false), AIUseForAmmo (whether AI will attempt to use the ability to generate ammo for an appropriate MagazineAmmoLoader, priority of action determined by how bad their ammo situation is), AIUseOffensively (whether AI will use the ability when they are generically attempting to behave offensively), AIUseDefensively (whether AI will use the ability when they are generically attempting to behave defensively), and AIUsePassively (whether AI will use the ability passively).
  • [modding] Here are some more properties for FabricateFromSelf (broken up into two bullets for readability): UsesLiquid (if set, the name of a liquid that must be present in a LiquidVolume part on the parent object for the part to operate), LiquidPerBatch (the number of drams of the liquid consumed by a fabrication batch, defaults to 1), LiquidAutoTriggers (whether the liquid being present makes fabrication happen automatically, defaults to false), and LiquidMustBePure (whether the liquid must be pure for fabrication to happen, defaults to false).
  • [modding] Fixed an issue that caused new world builders in modded Worlds.xml files to not be properly executed.

June 1, 2018

  • Bioscanning no longer provides stats on inanimate objects. That's now the domain of a new form of scanning: structural scanning.
  • New item: structural scanning bracelet.
  • New item: VISAGE (Visual Instrument and Sensory Augmentation, G Edition).
  • Children of the Deep now start with a structural scanning bracelet slotted with a full combustion cell.
  • Itchy skin now counts as a negative status effect.
  • Emptying a pool by drinking from it no longer leaves behind a 0-dram pool.
  • Emptying a container by drinking from it no longer leaves traces of its previously-held liquids.
  • When a hostile and a non-hostile creature are stacked in the same tile, your attacks into that tile now target the hostile creature.
  • Disabled some antisocial NPC behaviors when they are members of a party. Example: party-member pilgrims no longer go on pilgrimages.
  • If you level up Beguiling while you have a creature beguiled, the new HP bonus now applies to the currently beguiled creature.
  • Fixed an issue where creatures sometimes refused to die.
  • Fixed some more issues that caused death effects to trigger multiple times.
  • Fixed an issue where the Toughness bonus from the Two-Hearted mutation remained even if the creature lost Two-Hearted.
  • Fixed a rare issue where cooking effects that reduced the length of the 'ill' status effect prevented other end-of-turn actions from occurring.
  • Fixed an issue that caused mutations to disappear from the character screen after loading a game.
  • Fixed an issue that caused abilities to disappear from the ability screen and not be activateable after loading a game.
  • Fixed a typo in the Intimidate messaging.
  • Fixed a bug where item boot sequences restarted after loading a game.
  • Fixed a few tinkerable items having multiple recipes.
  • [modding] Removed the SmartUseLookAt part in favor of the existing SmartuseLooks part.
  • [modding] Effects intended to make a creature a long-term party member (Beguiling, Proselytize, Rebuke Robot, water ritual recruitment, self-cloning, summoning curios, and merchant guards) now fire an event called BecomeCompanion.
  • [modding] The TinkerItem part has a new property, SubstituteBlueprint, which is the name of a blueprint to use instead of the item's blueprint for tinkering recipe purposes. This allows the use of special-purpose inheritor blueprints like Drained Chem Cell and Horticulturalist Bio-Scanning Bracelet to avoid what appear to be duplicate recipes.
  • [modding] Added a new part, MultiIntPropertyChanger. This is like IntPropertyChanger, but instead of the AffectedProperty and Amount fields, it has an AffectedProperties field whose values look like: "PropertyA:3,PropertyB:7". This means that when active the item increases the equipper's intproperty PropertyA by 3 and their PropertyB by 7.
  • [modding] Added a new part, Hangable, for items that hang in their environment in some fashion. Its properties are: SameCellSupportSufficient (whether an object in the same cell with the property or tag HangingSupport is sufficient for the item to hang on, defaults to true) and SupportPointsRequired (the number of cells out of the cardinally adjacent cells, plus the same cell if SameCellSupportSufficient is false, that must have a wall or an object with the property or tag HangingSupport in it for the object to hang, defaults to 2). The part issues the event StartHanging when its hanging state goes from false to true and StopHanging when it goes from true to false.
  • [modding] The Bed part now integrates with the Hangable part so that if the parent object has a Hangable part, the Bed part doesn't function unless the item is hung up.

May 25, 2018

  • Added some liquid-powered energy cells: lead-acid, combustion, thermoelectric, and biodynamic.
  • Gyrocopter now weighs a bit more and is oil-powered.
  • Crossing the border into a new map now stops autowalk.
  • You no longer try to burrow through your own force bubbles with Burrowing Claws.
  • The passive, burrow-on-bump behavior of Burrowing Claws is now toggleable.
  • The game no longer autosaves during zone transitions caused by falling through holes in the ground.
  • You can no longer mod items you don't understand.
  • You can no longer attempt to initiate conversations with invisible creatures.
  • Lava is now less valuable.
  • Effects that increase your stability now help stabilize you in slippery and sticky liquids.
  • Extra faces from unbreakable two-faced masks can no longer be dismembered.
  • Fixed an issue causing your face slot to remain equipped after your two-faced helmet was destroyed.
  • Fixed an issue where clones' two-faced items were improperly linked to the original wearer.
  • Fixed an issue where slipping on slime into a new map didn't properly transition your view to the new map.
  • Fixed an issue where dominated creatures remained on the world map if domination was broken while traveling.
  • Fixed an issue with glass armor's damage reflection improperly reflecting self-damaging effects.
  • Fixed an issue where additional text got appended to your journal notes every time you looked at a sultan shrine.
  • Fixed an issue allowing implanted cybernetic equipment to be casually removed.
  • Fixed some issues that caused smart use to fail after it asked you for a direction.
  • [modding] Added support for the Tile property to AddParamater and GetParamater calls for render events.
  • [modding] Added support for a NoRemoveOptionInInventory tag and property.
  • [modding] Added a new property to EnergyCellSocket, ChanceDestroyCellOnForcedUnequip. This is a percentage chance the socketed cell will be destroyed if the item is forceibly unequipped. Defaults to 0.
  • [modding] Added a new property to Door, SyncAdjacent, which makes the door sync its opened/closed and locked/unlocked states to other, cardinally adjacent doors with SyncAdjacent and the same KeyObject (used for implementing double doors).
  • [modding] Added a new part, SmartUseLookAt, that makes 'look' the default smart use option.
  • [modding] Made EnergyCellSocket relay ChargeAvailable events to its slotted cell.
  • [modding] Gave EquipCharge a new property, EquipperProperty. If this value is set to a property name (ex: "BlastCannonRecharge"), and if the equipper of the parent object has that property, EquipCharge's ChargeRate is maxed by that property's value.
  • [modding] Added a new part, EquipPower, which is like EquipCharge but provides charge directly via TestCharge and UseCharge instead of distributing it via ChargeAvailable. Its properties are: PowerRate (charge filled per turn while active, defaults to 1), IsEMPSensitive (whether EMP disables the part, defaults to false), WorksWhenHeld (if false, the item must be worn on the proper limb per its Armor part in order to work, defaults to true), and EquipperProperty (specify to put a max on PowerRate).

May 18, 2018

  • Added sounds for flashbang, thermal, and normality grenades.
  • Added sounds for Hand-E-Nukes.
  • Added firing sounds for the following guns: laser pistol, carbine, sniper rifle, desert rifle, pump shotgun, combat shotgun, and flamethrower.
  • Updated firing sounds for the following guns: single shot pistols, chaingun, and musket.
  • New item: goggles.
  • New item: mirrorshades.
  • We replaced the "get from nearby" (ctrl-g) command with "interact nearby" (default mapping: ctrl-space). You can use interact nearby to perform any action the object in the target tile supports, regardless of whether you can pick it up.
  • Item mods now increase the complexity of items and the difficulty of identifying them. As a result, modified versions of base artifacts you already understand may now appear unidentified to you. Non-artifact items with modifications may also appear unidentified.
  • Some item mods are now hidden on unidentified artifacts.
  • You can no longer repair items you don't understand.
  • You are now asked for confirmation before disassembling items you don't own (disassembling unowned items invites hostility from their owners). You are now also asked for confirmation before examining items you don't own. Hostility is only provoked on item examination if you break the item.
  • Techscanning now shows the percentage charge of energy cells.
  • Put a cap on how much movement speed can reduce the energy cost of movement, fixing various exploits.
  • You can no longer make a campfire in a large pool of liquid.
  • Creatures now mind if you try but fail to dismember them.
  • Harvesting, butchering, and rifling through trash now cost energy, so you no longer automatically perform them when enemies are nearby.
  • Ceremonial vibrokhopeshes no longer function while under the effect of an electromagnetic pulse.
  • Made the reload command smarter when dealing with weapons with multiple ammo systems. In particular, if the weapon has an energy cell socket, the reload command only opens the change cell dialog if the current cell is out of charge AND the gun is out of the other ammo type.
  • Grit Gate's doors now give a little more feedback.
  • Tweaked the way liquid volumes show up in item names.
  • Fixed an exploit where you could temporarily excuse a companion in order to ask them for directions.
  • Fixed an exploit where recycling suits and other liquid-producing items could be used to convert other liquids to their produced liquid type.
  • Fixed an issue that prevented free trading with companions.
  • Fixed an issue where Short Blade Expertise incorrectly altered your to-hit bonus with other weapon types.
  • Fixed an issue that allowed you to kill a creature multiple times in successive turns, reaping the benefits each time.
  • Fixed a bug that prevented the repair command from being used to repair rusted items unless they were also broken.
  • We added a bunch of modding functionality around power systems.
    • [modding] Added support for alternate styles of displaying charge amount. The standard style is "electrical". New styles are "clockwork", "kinetic", "tension", "roughpercentage", and "percentage". Use an empty string to indicate no display.
    • [modding] Added new properties to EnergyCell: ChargeDisplayStyle (the charge display style, per above, defaults to "electrical") and TechScanChargeDisplayStyle (the charge display style to use if the player has techscanning, defaults to "percentage").
    • [modding] Made charge storage run on a ChargeAvailable event, which parts can subscribe to in order to absorb charge from the event into their charge capacity.
    • [modding] The SolarCell part is now SolarArray. It now provides charge via the ChargeAvailable event. Added a property, IsEMPSensitive, for whether EMP disables the parent object, defaults to true.
    • [modding] The EquipChargeCell part is now EquipCharge. It now provides charge via the ChargeAvailable event. Added a property, IsEMPSensitive, for whether EMP disables the parent object, defaults to false.
    • [modding] Gave EnergyCell a ChargeRate property, which is the amount of charge it can absorb from other parts per the ChargeAvailable event. Defaults to 10.
    • [modding] Gave LiquidFueledPowerPlant a ChargeRate property, which is the amount of charge it provides to other parts per turn via the ChargeAvailable event (using that charge if and only if something takes it). Defaults to 0.
    • [modding] Added a new part, Capacitor, which absorbs charge via the ChargeAvailable event and provides it via TestCharge and UseCharge. It supports these properties: Charge (current charge amount, defaults to 0), MaxCharge (maximum charge capacity, defaults to 10000), ChargeRate (the amount of charge it can absorb per ChargeAvailable event, defaults to 5), MinimumChargeToExplode (an amount of charge that, if nonzero, is the threshold for the capacitor exploding if its parent object is destroyed, defaults to 1000), Description (how the part is described if mentioned in messaging, defaults to "capacitor"), ChargeDisplayStyle (the charge display style to use normally, defaults to "electrical"), TechScanChargeDisplayStyle (the charge style to use if the player has techscanning, defaults to "percentage"), CatastrophicDisable (whether the part being disabled by EMP, Broken, or Rusted destroys the parent object if there is enough charge to explode, defaults to false), ChargeLossDisable (whether the part beign disabled by EMP, Broken, or Rusted reduces charge to zero, defaults to true), and IsEMPSensitive (whether EMP disables the part, defaults to true).
    • [modding] Added a new part, Flywheel, which absorbs charge via the ChargeAvailable event and provides it via TestCharge and UseCharge. It supports these properties: Charge, MaxCharge, ChargeRate, MinimumChargeToExplode, PropertyAffected (an intproperty which, if not empty, is modified on the parent object according to charge level, defaults to "Stable"), PropertyDivisor (a number the charge level is divided by to produce the amount PropertyAffected is modified by, defaults to 1000), Description , ChargeDisplayStyle, TechScanChargeDisplayStyle, CatastrophicDisable, ChargeLossDisable, IsEMPSensitive, and IsPropertyEMPSensitive (whether EMP zeroes out the amount by which the part modifies PropertyAffected, defaults to false).
    • [modding] Added a new part, Clockwork, which absorbs charge via the ChargeAvailable event and provides it via TestCharge and UseCharge. It supports these properties: Charge, MaxCharge, ChargeRate, MinimumChargeToExplode, Description, ChargeDisplayStyle, TechScanChargeDisplayStyle, CatastrophicDisable, ChargeLossDisable, and IsEMPSensitive.
    • [modding] Added a new part FusionReactor, which provides power via the ChargeAvailable event automatically per turn. It supports these properties: ChargeRate, ExplodeChance (the percentage chance the part will explode if its parent object is destroyed, defaults to 50), ExplodeForce (the force of the explosion if it explodes, defaults to 30000), Description, CatastrophicDisable, and IsEMPSensitive.
    • [modding] Added a new part, Windup, which provides power via the ChargeAvailable event when an inventory action is activated on it. It supports these properties: ChargeRate, ActionName (the name of the action, defaults to "Wind"), ActionLabel (the label for the action, defaults to "&Ww&yind"), ActionKey (the key to trigger the action, defaults to "w"), IsEMPSensitive, ActionVerb (the verb the action is described using, defaults to "wind"), and MustBeUnderstood (whether the action is only available if the item is understood, defaults to true).
    • [modding] Added a new part, BroadcastPowerReceiver, which provides power via the ChargeAvailable event automatically per turn. It supports these fields: ChargeRate, CanReceiveSatellitePower (whether the part receives ambient broadcast power from ancient satellites, defaults to true), MaxSatellitePowerDepth (the maximum depth of zone at which the part can receive satellite power, defaults to 12 (two levels below ground), SatelliteWorld (the world on which the part can receive satellite power; defaults to "JoppaWorld". "*" means any world. If empty, the part fills in this field with whatever world it is on when it first activates), and IsEMPSensitive. If the part is not receiving satellite power, it polls objects in the same zone with a CollectCharge event to see if they will provide it with broadcast power.
    • [modding] Added a new part, BroadcastPowerTransmitter, which provides power via the CollectCharge event. Upon receiving a CollectCharge event, it attempts to use TestCharge to find first the CollectCharge Charge amount, then half of it, then a quarter of it, in its power systems. If it finds an amount of charge it can provide, it consumes it via UseCharge and adds it to the CollectCharge event. It supports the property IsEMPSensitive.
    • [modding] Added a new part, ZeroPointEnergyCollector, which provides power via the ChargeAvailable event automatically per turn. It supports these properties: ChargeRate, World, RealityDistortionBased (whether the part's operation is reality-distortion based and is disabled by reality stabilization, defaults to true), and IsEMPSensitive.[*][modding] Added a new part, InductionChargeReceiver, which receives InductionCharge events and relays the charge from them via ChargeAvailable events. It supports these properties: ChargeRate and IsEMPSensitive.
    • [modding] Added a new part, InductionCharger, which every turn attempts to consume charge and transmit it to its inventory with an InductionCharge event. It uses TestCharge to determine if charge is available and UseCharge to consume it. It supports these properties: ChargeRate and IsEMPSensitive.
    • [modding] Added a new part, UniversalCharger, which every turn attempts to consume charge and transmit it to its inventory with a ChargeAvailable event. It uses TestCharge to determine if charge is available and UseCharge to consume it. It supports these properties: ChargeRate and IsEMPSensitive.
    • [modding] Added a new part, SolarPower, which provides power via TestCharge and UseCharge while it's in the sun. Its properties are PowerRate (the maximum amount of charge it can provide when requested in a given turn) and IsEMPSensitive.
    • [modding] Added a new part, ChargeSink, that consumes charge every turn. It supports these properties: ChargeUse (the amount of charge it will attempt to consume per turn, defaults to 1) and IsEMPSensitive.
  • We added some functionality for new item modifications (not available as in-game modifications by default).
    • [modding] Added ModHardened part: hardens an electronic item against EMP.
    • [modding] Added ModHighCapacity part: increases an energy cell's capacity.
    • [modding] Added ModFlareCompensating part: adds a FlareCompensation part, a BootSequence part, and an EnergyCellSocket part to an item.
    • [modding] Added ModHUD part: adds a HUD part, a BootSequence part, and an EnergyCellSocket part to an item.
    • [modding] Added ModInduction part: adds an InductionChargeReceiver to an energy cell.
    • [modding] Added ModMetered part: changes an energy cell's ChargeDisplayStyle to "percentage".
    • [modding] Added ModSmart part: adds a Smartgun part, a BootSequence part, and an EnergyCellSocket part to an item.
    • [modding] Added ModTesla part: adds a BroadcastPowerReceiver to an energy cell.
  • [modding] Added a new part, FlareCompensation, that mitigates the effects of flashbang grenades. Its properties are: Level (the amount subtracted from the flashbang's duration, default is 6), ChargeUse, IsEMPSensitive, MustBeWorn (if false, the item works when equipped in any fashion. If true, it must be equipped properly per its Armor part, defaults to true), and ShowInShortDescription (whether to note the flare compensation behavior in the item's short description, defaults to true). It integrates with BootSequence.
  • [modding] The LiquidVolume part now supports these properties: NamePreposition (preposition to use normally when compositing the description of a non-empty liquid volume onto the parent object's name, defaults to null. Null or empty means the liquid volume description is appended and wrapped in brackets), UnknownNamePreposition (like NamePreposition, but used when the parent object is not understood), and Collector (if true, the parent object collects liquid poured into its cell rather than allowing it to fall on the ground, defaults to false).
  • [modding] The Campfire part now supports the propeerty ExtinguishBlueprint (a blueprint that the parent object can be replaced with on an extinguish action, defaults to null. Null or empty disables the extinguish action).
  • [modding] The Garbage part now supports the property Level (added to the zone-based tier for items found, defaults to 0).
  • [modding] The RecyclingSuitFiller and LiquidDrips parts have been refactored into the LiquidProducer part, which supports these properties: Rate (the number of turns to produce a dram of liquid, defaults to 1000), Liquid (the name of the liquid produced, defaults to "water"), VariableRate (a dice roll to use instead of Rate), LiquidConsumed (the name of a liquid that must be consumed from a sibling LiquidVolume to produce liquid, defaults to null. If specified, the produced liquid is not distributed to the sibling LiquidVolume), ChargeUse, ChanceSkipSelf (the percentage chance to ignore a sibling liquid volume as a place to distributed produced liquid), ChanceSkipSameCell (the percentage chance the item, if distributing liquid outside itself, skips distributing liquid to its own cell in favor of an adjacent cell), IsEMPSensitive, MustBeEquipped, MustBeWorn (if true, liquid production does not function if the parent object is not worn as armor on the correct limb or limbs per its Armor part, defaults to false), PreferCollectors (whether, when distributing liquid to adjacent cells, distribution to a cell containing a Collector LiquidVolume will be preferred, defaults to false), PureOnFloor (whether liquid distributed to a cell is distributed in a pure state rather than being mixed with salt, defaults to false), and ConsumePure (whether the LiquidConsumed must be pure in order to be used, otherwise it will be extracted from a mixture, defaults to false).
  • [modding] Added a new part, DeployWith, which designates another object that should be created with the item, typically in a random empty nearby cell. Its properties are: Blueprint (the blueprint of the object to create, supports the same meta-specifications as the <inventory> tag's Blueprint field), SolidOkay (whether "solid"-occupied cells are okay to deploy in, defaults to false), SeepingOkay (whether to use "seeping" logic for whether a cell is "solid"-occupied, defaults to false), SameCell (whether to just deploy the object in the same cell regardless of all other considerations, defaults to false), PreferredDirection (if a local cell in this direction is usable according to SolidOkay and SeepingOkay, then that cell will be used instead of a random one), and Chance (the percentage chance the object will be deployed, defaults to 100).
  • [modding] Added a new part, TemperatureAdjuster, which alters local temperature. Its properties are: ChargeUse (the amount of charge used per turn active, defaults to 1), TemperatureAmount (the amount temperatures are adjusted per turn, defaults to 5), TemperatureThreshold (a temperature threshold for controlling when the part is active, defaults to 100), ThresholdAbove (if true, the part does not attempt to adjust temperatures that are at or above the TemperatureThreshold. If false, the part does not attempt to adjust temperatures that are at or below the TemperatureThreshold, defaults to true), AffectsSelf (whether the item adjust its own temperature, defaults to true), AffectsEquipper (whether the item adjusts the temperature of someone who equips it in any way, defaults to true), AffectsWearer (whether the item adjusts the temperature of someone who wears it as armor on the proper limb or limbs according to its Armor part, defaults to true), AffectsCarrier (whether the item adjusts the container's temperature when it is contained in an inventory, defaults to true), AffectsCell (whether the item adjusts the temperature of other objects in the same cell, defaults to true), AffectsAdjacentCells (whether the item adjusts the temperature of objects in adjacent cells, defaults to true), AlwaysUseCharge (if true, the item always consumes its ChargeUse amount even if it does not attempt to adjust any temperatures in a given turn, defaults to false), and IsEMPSensitive.
  • [modding] Added a new part, Smartgun, which provides a bonus to missile weapon accuracy and missile weapon to hit (on a target in the cell aimed at only) if and only if the firer has a way of receiving the smartgun data. Its properties are: Level (the amount of bonus to accuracy and to hit, defaults to 1), ChargeUse, EquipperPropertyEnables (if the equipper's value for this intproperty is > 0, the smart data is considered received and the bonuses can take effect, defaults to "TechScannerEquipped"), EquipperEventEnables (if this event fired on the equipper returns false, the smart data is considered received and the bonuses can take effect, defaults to "HandleSmartData"), and IsEMPSensitive. This part integrates with BootSequence.
  • [modding] Added a new part, HUD, which returns false for an event fired on its equipper and is intended for use with Smartgun. Its properties are: ChargeUse, EventHandled (the event the part returns false for on the equipper, defaults to "HandleSmartData"), IsEMPSensitive, and MustBeWorn. This part integrates with BootSequence.
  • [modding] The DecoyHologramEmitter, ForceEmitter, Teleporter, and VibroWeapon parts now have the property IsEMPSensitive (defaults to true).
  • [modding] The intproperty HitBonus on characters can be used to give them a to-hit bonus or penalty.
  • [modding] The intproperty MissilWeaponAccuracyBonus now works when placed on the missile weapon in addition to the firer.
  • [modding] The intproperty IncomingAimModifier on characters can be used to adjust (positive is a penalty, negative is a bonus) the aim of missile weapon attacks targeted directly on the character.
  • [modding] The tag IdleObject is no longer needed for the idle system.

May 11, 2018

  • Added a new gas type: fungicide.
  • Added three tiers of fungicide grenades.
  • Added a fungicide-emitting vent.
  • Added a new heavy weapon: fungicide pump (acid-powered).
  • Items you tinker up no longer start with liquids inside.
  • Energy cells no longer work when broken or rusted.
  • You can no longer start non-telepathic conversations with creatures who are engaged in melee combat.
  • You can no longer telepathically trade with creatures who are engaged in melee combat.
  • Fixed a bug that caused trade goods such as metal nuggets to start fluctuating in price.
  • Fixed typos in Charge text, psychic glimmer description, and arcwyrk description.
  • [modding] The <inventoryobject> element's Blueprint property now supports population targets using the prefix ':'. For example, <inventoryobject Blueprint=":DynamicObjectsTable:Guns:Tier{zonetier}" /> spawns a gun appropriate to the tier of the wielder's zone.
  • [modding] The explicit alternative ('#') syntax for the <inventoryobject> element's Blueprint property now supports meta-specifications. For example, <inventoryobject Blueprint="#Musket,*Guns 2,:DynamicObjectsTable:Guns:Tier{zonetier}" /> spawns either a musket, an item from the Guns 2 population table, or a zone-appropriate dynamic gun.
  • [modding] The EnergyCellSocket part's SlottedType property now supports the same meta-specifications as the <inventoryobject>'s Blueprint. Its default is "#Chem Cell,Chem Cell,:DynamicObjectsTable:EnergyCells:Tier{zonetier}".
  • [modding] The SolarCell part now supports the ChargeRate property (the amount of charge generated per turn in the sun, defaults to 10).
  • [modding] Added a new part, EquipChargeCell, with properties ChargeRate (the amount of charge the part restores its parent energy cell per turn the cell is equipped) and WorksWhenHeld (whether the charging behavior functions when the cell is equipped as a weapon, defaults to true).
  • [modding] Added a new part, LiquidFueledEnergyCell, which converts a liquid from its parent object's LiquidVolume part into charge, using up the liquid as it goes. Its properties are SlotType (same as EnergyCell, defaults to "EnergyCell"), LiquidID (the liquid used, same as LiquidAmmoLoader) and ChargePerDram (the amount of charge extracted from one dram of the liquid).
  • [modding] Added a newpart, LiquidFueledPowerPlant, which works similarly to EnergyCellSocket, handling TestCharge and UseCharge events. It's powered by its parent object's LiquidVolume part, using up the liquid as it goes. Its properties are LiquidID (the liquid used, same as LiquidFueledPowerCell and LiquidAmmoLoader), ChargePerDram (the amount of charge extracted from one dram of the liquid), and IsEMPSensitive (whether EMPs disable the powerplant, defaults to false).
  • [modding] The MechanicalWings part no longer uses ChargeUse to determine if EMP affects its parent object. That responsibility now falls to the power supply system.

May 4, 2018

  • Added a new item: gyrocopter backpack.
  • Added a new gas type: defoliant.
  • Added three tiers of defoliant grenades.
  • Added a defoliant-emitting vent.
  • Added a new heavy weapon: defoliant pump (acid-powered).
  • Smart use now only works on metal folding chairs if you've identified them; i.e., your default response to seeing strange tubes lying on the ground is no longer to sit on them.
  • You can no longer sprint while flying, and taking to the air while sprinting ends the sprint.
  • You can no longer use a bedroll while flying.
  • The following effects now cause flyers to crash land: asleep, exhausted, paralyzed, stuck, and stunned.
  • If you sit while flying, you now land first.
  • Falling to the ground while flying now interrupts autoexplore and autowalk.
  • NPCs can now use mechanical wings.
  • Mechanical wings no longer grant flying when wielded as a weapon.
  • You now see a message when a visible NPC starts or stops flying.
  • Mental mutations that can't be leveled no longer contribute extra points based on your Ego bonus to your psychic glimmer.
  • You can no longer have conversations with creatures who are sleeping, in stasis, stunned, confused, exhausted, or paralyzed, and vice versa.
  • Telepathy no longer allows you to trade with adjacent creatures who are frozen in blocks of ice.
  • Baetyls no longer request a particular sheet of graph paper.
  • Changed the color of sultan shrines in the alt display.
  • Changed the bit cost of some grenade types.
  • Changed the popup message when you activate an item that's booting up.
  • Fixed an issue that prevented you from attacking things that were in the same tile as other things you couldn't attack because they were flying or phased.
  • Fixed an issue that allowed you to trade with the zealot of the Six Day Stilt via telepathy.
  • Fixed some mutation-based abilities taking two turns to use instead of one.
  • Fixed a bug that caused thirst-based cooking affects to also affect your hunger.
  • Fixed an occasional error that occurred during game startup.
  • [modding] The MechanicalWings part now supports the following properties: Level (equivalent to level of the Wings mutation, defaults to 1), RequiresOngoingEffort (whether the item is manually operated and stops working because of incapacitating effects, defaults to true), WorksWhenHeld (whether the item bestows flight when wielded as a weapon, defaults to false), ChargeUse (an amount of charge to draw per turn of operation, defaults to 0; specifying a number greater than 0 also makes the item vulnerable to EMP effects), BaseFallChance (the base chance out of 200 that the user falls in a given turn (Level gets substracted from this), defaults to 5), and CrashBreakChance (the chance out of 100 that the item breaks while crashing, defaults to 1). The MechanicalWings part now also integrates with BootSequence.
  • [modding] The Wings mutation now supports the BaseFallChance property (the base chance out of 200 that the wielder falls in a given turn (Level gets substracted from this), defaults to 5).
  • [modding] The ConversationScript part now supports the following properties: Quest, PreQuestConversationID, InQuestConversationID, and PostQuestConversationID. If Quest is specified, then the other properties, if specified, override the ConversationID while the quest is unstarted, started but unfinished, and finished, respectively.
  • [modding] The GasDamaging part now supports the following properties: AffectEquipment (whether the gas also damages items equipped by characters it affects, defaults to false) and AffectCybernetics (whether the gas also damages cybernetics implanted in the characters it affects, defaults to false).

April 27, 2018

  • New item: telemetric visor.
  • Autoexplore and creature AI now avoid spacetime vortices.
  • Applicators no longer work when broken or rusted.
  • Sense Psychic now has a chance to identify psychics every time you move closer to them instead of only when they move.
  • Generalized artifact attunement for items like ganglionic teleprojector into a standard boot sequence and applied it to a few artifacts.
  • Refreshed bio-scanning bracelets. They are now tinkerable, require an energy cell, are subject to EMP, have a boot sequence, and have new name ANSI.
  • Gave Horticulturalists a solar cell to power their bio-scanning bracelets.
  • Twinning lampreys are now considered psychics.
  • Twinning lampreys are more proficient with their bites.
  • Energy cells loaded in items you start the game with are automatically identified.
  • Cybernetic implants you start the game with are automatically identified.
  • Homoelectric wrist warmers can no longer be modded with the full range of armor mods.
  • Fixed an issue that made phase webs stickier than intended.
  • Fixed occasional cases where Precognition appeared to malfunction on NPCs.
  • Fixed several instances where zones were built when it wasn't necessary to do so.
  • [modding] The gases produced by the billowing conch of the Aji are now controlled by the tag DynamicObjectsTable:AjiConch.
  • [modding] The interaction of gases with the Gas Generation mutation is now data-driven. See the gas object blueprints for details.
  • [modding] The color of gas objects is now based on the ColorString attribute of the Gas part. The GasDamaging part no longer has a ColorString.
  • [modding] The SensePsychic mutation part can now be configured with Levelable="true" if you want to make it levelable, in which case its level is added to its detection radius and the chance of identification. Specify BaseRadius="n" if you want to make its base detection radius something other than 9. You can also use the intproperty TreatAsPsychic to force Sense Psychic to sense an object even if it doesn't have mental mutations.
  • [modding] Generalized the BioScanner and Inspector parts into IntPropertyChanger, which supports these properties: AffectedProperty (the name of the property on the item's wielder that gets manipulated), Amount (the amount added to the property when the property is changed; defaults to 1), ChargeUse (an amount of charge to use per turn the item is active; defaults to 1), WorksWhenHeld (works if you wield the item in a slot other than its designated armor slot, defaults to false), and MustBeUnderstood (only works if the wielder understands the item; defaults to true).
  • [modding] Added a BootSequence part for adding a delay between wearing an item and being able to use it. If the item has an EnergyCellSocket, changing the cell reboots the item. EMP, Broken, and Rusted statuses also reset the boot sequence and prevent it from proceeding while they're active. Supported properties are: BootTime (the number of turns booting takes; defaults to 100), VariableBootTime (die roll, if specified then the higher of this and BootTime will be used), ReadoutInName (specifies whether to add a precise indication of remaining boot time to the item's name; defaults to false), ReadoutInDescription (specifies whether to add a precise indication of remaining boot time to the item's short description; defaults to false), TextInName (a text string to add to the item's name while booting), TextInDescription (a text string to add to the item's short description while booting), VerbOnBootInitialized (defaults to "beep"), VerbOnBootDone (defaults to "ding"), and VerbOnBootAborted (defaults to "bloop"). Right now, the BootSequence part integrates with IntPropertyChanger, Teleprojector, and DecoyHologramEmitter.

April 20, 2018

  • Creature AI now better copes with being in the same tile as something it's trying to kill or flee from.
  • Blood splatter no longer sticks to gases and holograms.
  • Gases no longer physically damage you if they're out of phase with you.
  • Sultan shrines and becoming nooks now show up on the alt display.
  • When you autoequip a weapon, it now defaults to equipping in an empty hand instead of replacing your primary hand's weapon. It still replaces your primary hand's weapon if all your hands are full.
  • Acid now eats through organic containers.
  • Eyeless crab shells and salthopper mandibles are no longer tagged as metal.
  • Corrupt bananas are no longer subject to electromagnetic pulses or rusting.
  • Corrupt bananas can no longer be laid as mines.
  • Scrap shovelers now have Dual Wield.
  • NPCs now take more care in avoiding fracti, campfires, torch sconces, torch posts, and arc sconces.
  • Oozes, snailmothers, ickslugs, snailmother eggs, and broken snailmother eggs no longer slip on slippery liquids.
  • NPCs no longer charge at things they shouldn't charge at.
  • Ovens are placed on top of doors less often (and so less frequently set them on fire).
  • Gases no longer shield things on the ground from being attacked.
  • Excluded merchant advertisements from baetyl requests.
  • Made items described on gravestones usually show up identified.
  • Made Hurdle, Longstrider, and Conatus grant the ability to sprint if you don't already have it.
  • Gave acid, oil, gel, and slime commerce value.
  • Made acid eat through organic containers it's poured into.
  • Hook and Drag and madpole latching no longer work if the target is out of phase with the attacker.
  • Dismembered limbs now have proper descriptions.
  • Specified that carnivores can't eat fungi.
  • Fixed the organic vs. inorganic statuses on several items.
  • Fixed a bug where pouring the entire contents of a container into another container prevented liquid effects from occurring in the second container. This allowed lava to be carried around by transferring it from one waterskin to another.
  • Fixed various instances of NPCs only wielding one of their natural weapons instead of both.
  • Fixed a bug that caused gases of different types to merge as if they were the same type.
  • Fixed a typo in gravestone text.
  • Fixed a typo in dismemberment notification.
  • Fixed a run-on sentence in Precognition messaging.
  • Updated credits.
  • [modding] You can now remove parts from an inherited blueprint by using the <removepart> element in objectblueprints.xml.
  • [modding] The object blueprint XML now supports no-close-tag form. For example: <part Name="Metal" />.
  • [modding] Creatures with the 'slimewalking' tag can now properly walk over sap, wax, and honey without impediment.
  • [modding] The xtagGrammar element now supports the IsPlural property. IsPlural="true" specifies that the object should be treated as plural for purposes of text generation.
  • [modding] Added the Except property to the NoDamage part. Damage of the excepted type bypasses the NoDamage logic and does damage.
  • [modding] Separated plants and fungi more thoroughly in the object inheritance structure, with new 'Fungus' and 'BaseFungus' blueprints, and added 'LivePlant' and 'LiveFungus' tags where appropriate.

April 13, 2018

  • Added a new gas type: normality gas. It has various space-time stabilizing and inhibiting effects on forcefields, vortices, teleportation, phasing, temporal fugue clones, time dilation, and psychic twinning.
  • Added three tiers of normality gas grenades.
  • Added a rare normality gas-emitting vent.
  • Added a new heavy weapon: normality gas pump.
  • Added a new creature: anomaly extinguisher.
  • Added a confirmation dialog when world generation completes (so you can finish reading the on-screen quote).
  • Eating a raw dreadroot tuber now causes fear.
  • Eat and disassemble are no longer the default actions for equipped severed faces.
  • Sleeping in bedrolls, sitting in chairs, lunging, and slamming no longer trigger teleport-based cooking effects.
  • Rebuked robots no longer become grazing hedonists.
  • Emission vents are now subject to electromagnetic pulses.
  • When you shake off confusion with Iron Mind, you now get an appropriate message in the message log.
  • Widgets now equip their whackers.
  • Missile weapons with unidentified energy cells no longer report their charge level.
  • Made the reload command work for liquid-loaded missile weapons.
  • Improved creature AI when out of missile ammo.
  • Spiffed up missile weapon status display in the sidebar.
  • Fixed an issue that let you use Temporal Fugue without spending energy.
  • Fixed an error in the amount of bonus reputation displayed as a baetyl reward.
  • Fixed some issues with stacking confusion effects.
  • Fixed several typos in the following text: Warden Indrix's description, Agyve's mumblings, Aggressive Stance's description, two-handed ursteel battle axe's description, icy vapor's description, rubbergum tonic's description, a Beak defect variant's description, merchant identification, some procedural histories and cooking descriptions, defensive lunge's failure message, boomrose arrow plurality, nocturnal apex's description, and Stopsvalinn-related text.
  • Added a bunch of modding functionality.
    • [modding] Added a FearOnEat part that applies a fear effect to the eater at an attack strength and duration specified by the Strength and Duration properties.
    • [modding] Made ConfuseOnEat allow the specification of the following properties: Strength, Duration, Level (die roll: confusion per mutation level), and BuildupTimeout (integer: number of turns before the effect overrides older ConfuseOnEat effects).
    • [modding] Added a new part, TreatAsSolid, for projectiles. If projectiles encounter an object in their path matching TreatOnSolid's criteria, they treat it as impassable. Supported criteria are TargetPart (the object has this part) and TargetTag (the object has this tag), the latter with an optional TargetTagValue (the object has TargetTag tag with this value). The Hits property specifies whether the projectile hits the object and has a chance to damage it (defaults to true).
    • [modding] Added a new part, DestroyContiguous, for projectiles. If projectiles encounter an object in their path matching DestroyContiguous's criteria, they roll to destroy it, and if successful, they roll to destroy objects matching the criteria in adjacent cells. Supported criteria are TargetPart and TargetTag, the latter with an optional TargetTagValue. The Chance property specifies the percentage chance for destruction (defaults to 100). The ChanceDegradation property is a cumulative reduction in the effective chance of destruction per hop to adjacent cells (defaults to 0).
    • [modding] Added new parts GasOnHit and GasOnEntering for weapons and projectiles. Weapons that hits and projectiles that traverse through cells, respectively, spawn the gas specified in the Blueprint property at a density specified in the Density property (die roll specification). GasOnHit also includes the OnWielderHit property.
    • [modding] Generalized GasAcid into GasDamaging. This new part includes the properties GasType (basic type tag like "Acid"), Noun (specifies the damage type in messages), ColorString (for tile rendering), MessageColor (applied to Noun in messaging), DamageAttributes (same as Attributes in MissileWeapon), TargetPart (only affects objects with this part), TargetTag (only affects objects with this tag), TargetTagValue (only affects objects with TargetTag and this value), TargetEquippedPart (only affects objects that have an item equipped with this part), TargetEquippedTag (only affects objects that have an item equipped with this tag), and TargetEquippedTagValue (only affects objects that have an item equipped with TargetEquippedTag and this value).
    • [modding] Generalized StasisGrenade into DeploymentGrenade. This new part includes the following properties: Blueprint (the blueprint of the objects it creates), Duration (how long the objects last, defaults to permanent), Radius (integer radius it fills with objects), Chance (the percentage chance a given cell spawns an object, defaults to 100), AtLeast (a minimum number of objects to try to deploy when Chance is in use, defaults to 0), UsabilityEvent (an event that must be successfully broadcast to the cell it lands in in order for the grenade to work, defaults to null), AccessibilityEvent (an event that must be successfully broadcast to a given cell in its radius in order to deploy an object there, defaults to null), ActivationVerb (the verb used to describe the grenade activating, defaults to "detonates"), RealRadius (whether to deploy in a circular radius rather than the usual engine "square radius"), BlockedBySolid (whether solid cells block deployment, defaults to true), BlockedByNonEmpty (whether cells must be "empty" for deployment, defaults to true), Seeping (whether BlockedBySolid uses "seeping" logic, defaults to false), DustPuff (whether the grenade emits a dust puff when it activates, defaults to true), DustPuffEach (whether each deployed object emits a dust puff, defaults to false), and NoXPValue (whether deployed objects lose their XP values, defaults to true).
    • [modding] Added a new CooldownAmmoLoader part, which makes a missile weapon require cooldown between shots. Supports the usual ProjectileObject property for loaders, a Cooldown property specifying the number of rounds, and a Readout property specifying whether the weapon shows a display of its remaining cooldown time (defaults to false).
    • [modding] Added architecture to try to make multiple ammo loaders on a missile weapon coexist peacefully. Only one loader should be given a ProjectileObject. Use this to add the CooldownAmmoLoader with other loaders for weapons that need both ammo and a cooldown time.
    • [modding] Added an AIShootCooldown part for missile weapons. Its Cooldown only applies when creature AI uses the weapon.

April 6, 2018

  • Glass bottles and phials now shatter when you throw them.
  • Cloning draught no longer clones inorganic objects.
  • You can now trade with your followers freely via conversation.
  • Changed the stun logic. You should get chain stunned much less often.
  • Added a visual effect to extradimensional items.
  • Added a sound effect for closing security doors.
  • Added a sound effect for page turning when reading a book.
  • Normalized the volume for a few sound effects.
  • When you engage in the water ritual with someone who offers to teach you blueprints, the blueprint options are no longer greyed out if the speaker has no more secrets to share.
  • Inorganic objects now have appropriate pronouns.
  • Baetyls no longer request troll axes.
  • Removed troll kings from dynamic encounters.
  • Changed the status icon for "Precognition - End Vision" to "?".
  • Achievements no longer spam the log.
  • Fixed a bunch of typos.
  • Added some descriptions.
  • Improved the use of indefinite articles and pluralization in generated text.
  • Fixed an issue with the salt desert visual effect that caused some tiles to disappear or smear across the map.
  • Fixed an XML issue with steel vinereaper's color definition.
  • Fixed a rare issue where liquid containers asked your permission to explode if they weren't owned by you.
  • Fixed a rare issue where liquid containers poured into themselves before being destroyed and thus vanished completely.
  • Fixed burst-style pickers allowing the selection of tiles beyond the range limit.

March 30, 2018

  • You can now cook with acid.
  • Added descriptions for late-mid period sultanate historic relics made from the slag deposits of ursteel blast furnaces.
  • Added some more textual flare to gossip.
  • Shield slam now works only on targets in the same phase as the attacker.
  • When you fall down an open shaft, it's now much rarer that you end up in a small chamber without access to the rest of the map.
  • You now properly get XP if you kill something with a resonance grenade.
  • Painted and engraved items in your inventory at the start of the game now properly depict historic events.
  • Fixed an issue causing manual cell recharging to improperly handle stacked cells.
  • Fixed an issue where sphynx salt injectors weren't consumed when you reverted to the start of your vision.
  • Fixed an issue causing windows and menu keys to issue spurious commands.
  • Fixed a rare issue causing infinite zone generation, leading to out-of-memory errors.

March 16, 2018

  • Extradimensional psychic hunters are now vulnerable to mental attacks regardless of their base creature types. (after all, they somehow acquired minds in their native dimensions...)
  • When you look at an extradimensional creatures or item, you now inscribe a note about its native dimension in the Gossip & Lore page of your journal.
  • Walls in other dimensions no longer block visibility unless your mind is appropriately altered.
  • You can now fly and jump over gates, fences, stakes, and rubble.
  • You can now shoot missile weapons through arrow slits, gates, fences, and over rubble.
  • Flaming jets, freezing jets, acid jets, electrical jets, and light beams now pass through arrow slits, gates, fences, and over rubble.
  • Gas and light seep through arrow slits, gates, fences, stakes, and over rubble.
  • The Pauli exclusion principle now properly applies to NPCs.
  • Turning off autoget on artifacts now takes precedence over other conflicting option flags.
  • Water ritual participants no longer offer to teach you blueprints you already know.
  • Fixed another issue that rarely caused energy cell duplication.
  • Fixed some more typos.

March 9, 2018

  • Albino ape hearts now count as meat.
  • Ogre ape hearts are now properly treated like other organs and corpses.
  • Watervine farmers now wield iron vinereapers like their descriptions say.
  • Sentient walls, doors, and tables now appear in more creature contexts. (Examples: as figurine models, Mechanimist converts, and esper assassins).
  • Cleaned up the logic around dynamic encounters and expanded the dynamic encounter framework.
  • Fixed an issue that caused improper options to occasionally appear in the item action menu of cybernetic implants.
  • Fixed an issue that caused occasionally caused zone building lockups while exploring very deep caverns (depth 30 and below).
  • Fixed a rare issue that caused historic sites to fail to build.
  • Fixed another issue that caused slotted solar cells to multiply indefinitely.
  • Fixed a slew of typos.

March 2, 2018

  • Warden Indrix no longer occasionally takes a sabbatical to another goatfolk village.
  • Clonelings no longer clone inorganic creatures.
  • You can now harvest yondercane from yonderbrush even if it's hostile as long as it's visible.
  • Extradimensional psychic assassin templars with cybernetic implants now have their names appear correctly.
  • Added new descriptions for acid gas, stun gas, sleep gas, blinding gas, and stinking gas.
  • Jewelers now occasionally stock figurines.
  • The left-most tile of the Edification relief is now correctly labeled.
  • Charge is now a prerequisite for Charging Strike.
  • Renamed 'pentacips' to 'pentaceps'.
  • Gave the tunnels beneath Grit Gate a more appropriate name.
  • Gave the 'tar-encrusted bones' tile a more appropriate color.
  • Removed the prompt to save the game before abandoning a character.
  • Added an option to disable smoke.
  • Did some restructuring of the object hierarchy.
  • Fixed a broken branch of Wardens' Esther dialog.
  • Fixed an issue causing some achievements and quests to not properly trigger when equipping an item directly from the ground.
  • Fixed an issue causing zone names to incorrectly persist across games played in the same session.
  • Fixed an issue causing energy cells to show the wrong options in their dialog menus after one was loaded into a weapon.
  • Fixed a bunch of typos.

February 23, 2018

  • We expanded the framework for creature travel AI and added new travel behavior to some creatures.
    • Some albino apes you encounter are now traveling toward Oboroqoru's lair.
    • Some feral dogs you encounter are now traveling toward humanoid settlements.
    • Some goatfolk you encounter are now traveling toward goatfolk villages.
  • Changed the 'Quit' option text to something much more accurate: 'Abandon Character'.
  • Changed the default action for books to Read.
  • Changed the default action for recoilers to Activate.
  • Crayons and plastic trees no longer rust.
  • Implanted NPCs now start with the proper amount of cybernetic license points.
  • Your party members no longer (easily) become hostile to one another.
  • Speaking to your own party members no longer causes you to regain your bearings.
  • Moved the 'Remove cell' option to the top of the cell dialog.
  • Fixed an issue where cybernetics sometimes became undroppable.
  • Fixed some common causes of extraneous zone generation.
  • Fixed an issue where having Iron Mind didn't always correctly give you the chance to shake off confusion.
  • Fixed some cases where a stack of objects was incorrectly replaced with a single object (eg., when you repaired a stack of scrapped waydroids).
  • Fixed some cases where quests to find historic relics didn't complete if you equipped the relics directly from the ground.
  • Fixed some rare cases where an invalid base object appeared in dynamic encounters.
  • Fixed several issues related to creatures determining the monetary value of their items, including inconsistent valuation when the items were socketed with energy cells.
  • Fixed several typos.
  • Fixed an issue where socketed cells occasionally replicated out of control when you recharged them.

February 16, 2018

  • We did a bunch of behind-the-scenes work on upcoming feature arcs. Across Qud creatures are dreaming of alternate starts, varied villages, and deerfolk...
  • We added metal and gemstone figurines.
    • Figurines depict creatures from across Qud.
    • Possible figurine materials include copper, silver, gold, agate, topaz, jasper, amethyst, sapphire, emerald, and peridot.
    • Wielding figurines bestows bonus reputation for each of the depicted creature's factions.
    • Figurine value and bonus reputation depends on the rarity of its material.
  • We added legendary gemcutters. You'll find their workshops as new overland encounters.
  • Slightly increased the weight of ironweave cloak.
  • Reduced the weight of rainboweave cloak.
  • Apostles now start with the Customs and Folklore skill in addition to the Tactful power. This means apostles no longer have to purchase Customs and Folklore (which was a useful purchase since they already had Tactful) to get Trash Divining.

February 9, 2018

  • We added 15 new achievements.
    • In Contemplation of Eons
      • Perform the water ritual with Oboroqoru, Ape God.
    • Three-Sludge Monte
      • Kill a trisludge.
    • Five-Sludge Monte
      • Kill a pentasludge.
    • Ten-Sludge Monte
      • Kill a decasludge.
    • What With the Disembowelment and All
      • Find one of Argyve's old apprentices.
    • Gemini
      • Wield Caslainard and Polluxus.
    • Donation Level: Kasaphescence
      • Make an offering at the Sacred Well of an artifact worth at least 200 reputation.
    • Leap, Frog.
      • Convince a frog to teach you how to jump.
    • Six Arms None the Richer
      • Have six arms.
    • Synolymb
      • ???
    • Free Falling
      • ???
    • Hole Like a Head
      • ???
    • Cosmo-Chrononaut
      • ???
    • Psst.
      • ???
    • That Was Nice
      • ???
  • Fixed an issue causing Electric Resist to not work properly.
  • Fixed an issue causing excessive zone thawing, leading to heap crashes for long-running games.
  • Modified the 'item' wish so that you can optionally specify a number of items. For example, 'item:Staff:3'.

February 2, 2018

  • Added chronology entries for the following important events in your character's life.
    • Becoming loved by a faction
    • Inventing a new recipe
    • Successfully cooking with neutron flux
    • Getting one of your limbs dismembered
    • Eating a creature's face (raw)
    • Imbuing an inanimate object with life
  • Chronology entries logged while you're on fire now read a bit differently.
  • Lurking beths appear much less frequently in early-game historic dungeons.
  • Moving very, very quickly no longer causes you to move backwards in time.
  • Creature AI now more intelligently reloads cell-based weapons.
  • Fixed an issue causing turrets to improperly use ammo.
  • Fixed an issue that caused energy cells to double-occupy sockets when creature AI reloaded cell-based weapons.
  • Level up choices are no longer trivially scummable.
  • Fixed an issue causing games to become unloadable, especially after using Precognition.
  • Fixed an error that caused games to fail to save when certain cooking effects were applied to your character.
  • Fixed an issue that caused cooking effects to still grant you mutually exclusive mutations.
  • Fixed some cases where cookbooks failed to generate correctly.
  • Fixed an issue causing effects to be improperly applied to item stacks.
  • Fixed an issue causing some ObjectCreated events to not properly trigger.
  • [modding] Mods.xml now supports modding.
  • [modding] Objects now support the customMissileOrder and customMeleeOrder tags and properties, used to define custom melee and missile sequences for the Kill goal handler.

January 26, 2018

We added some more detail to Qud's chefs.

    • Legendary chefs are now interested in learning your recipes during the water ritual.
    • Added mini restaurant tents to the Stiltgrounds, each with a chef. You can buy cooking ingredients, buy a cookbook, or sample one of the meals from the cookbook at the chef's oven. All Stiltground restaurant ovens also serve Hot and Spiny.
    • The restaurant signs currently use the same pepper icon as apothecaries. They'll get an updated sign soon.
  • There's now a tiny chance that any given creature is a mechanical version of itself.
  • The location of the oddly-hued glowpad is now a journal secret.
  • The looker popup box is now smarter about how much screen real estate it uses. It no longer overlaps the object you're looking at.
  • The description pane on the Tinker screen is now scrollable.
  • Cooking effects no longer grant mutations that are excluded by your current mutations.
  • The prerelease trade UI now displays item values properly adjusted by your Ego score and no longer displays way too many significant digits.
  • You can now scroll the looker popup box with '+' and '-' on the number row.
  • Fixed an issue that caused some bad behavior when you closed a conversation with escape instead of selecting the end option.
  • Fixed cybernetic fist equipment showing up with inappropriate mods and spawning as loot.
  • Fixed an issue that let you incorrectly beguile multiple creatures.
  • Inspiring presence no longer stacks multiple times.
  • Fixed some issues with temporary and non-temporary items stacking.
  • Fixed a memory leak in some items that create force fields.
  • Fixed an issue that caused an exception when you walked near a liquid volume with the 'show nearby objects' option enabled.
  • Fixed an issue that caused zones to be thawed too often when you transitioned between zones.
  • Added an unequip:<body part name> wish to force an object to unequip.

January 19, 2018

  • We added legendary chefs.
    • You'll find their kitchens as new overland encounters.
    • Each kitchen contains an oven where you can sample the chef's dishes.
    • Chefs may share one of their recipes during the water ritual.
    • Each chef sells a personalized cookbook.
  • Canned Have-It-All no longer contains neutron flux. This means that cooking with canned Have-It-All no longer has the chance to cause critical gravitational collapse. The makers of canned Have-It-All realize this change to their formula renders their product in violation of advertising law, but "canned Have-Most-of-It" didn't do as well in market research, so they're willing to take their chances in court.
  • You can no longer cook on the world map.
  • You can now make camp any time there's no campfire nearby.
  • When you make camp, you're no longer asked to choose a direction until it's confirmed that you can camp here.
  • Campfire sounds now respect global sound settings.
  • You can now go up or down stairs via the Use command.
  • The glowpad merchant is now a member of the Consortium of Phyta, as intended.
  • Changed the colors of the witchwood tree and its bark.
  • Restored the option to automatically dissasemble scrap.
  • Added a new prerelease UI element for ability cooldowns. You need to enable the prerelease input manager to change ability selection bindings (Options > Controls > Prerelease: Use new input manager).
  • Added item costs to the prerelease trade UI.
  • Fixed the molting basilisk poison message being displayed when non-player characters were infected.
  • Fixed an issue with the popup message generated when you travel to a known lair or workshop for the first time.
  • Fixed an issue in the prerelease input manager that allowed you to use abilities even when they were on cooldown.
  • Fixed an issue that caused projectiles to apply their on-hit effects to the attacker if they didn't penetrate the defender's armor.
  • Fixed an issue that occasionally caused injectors to apply their effect even if they didn't penetrate the defender's armor.
  • Fixed an issue with sacrificing items at the Sacred Well where whole stacks of items were improperly consumed.
  • Fixed an issue that caused some liquid containers with cookable liquids to not appear in the ingredient selection menu.
  • Fixed an issue that allowed you to select zero-volume liquid containers as cooking ingredients.
  • Fixed an issue with food preservation that resulted in the wrong number of servings being preserved.
  • Fixed some issues that caused the wrong number of servings to be consumed while cooking.
  • Fixed an issue that caused stacks of energy cells to disappear from the trade UI when you tried to recharge them.
  • Fixed some additional issues with item stacks.
  • Removed some archaic statues to non-existent sultans.
  • Fixed the game thread not properly suspending when the game window went out of focus.
  • Fixed a memory leak that occasionally occurred if the game window was out of focus for long periods of time.
  • Fixed some spelling errors.
  • Added an indication for ability cooldown and enabled state to the prerelease input manager ability selection
  • [modding] AmmoGeneric now supports a new field, SpecializedProjectileObject, that combines with the existing ProjectileObject field to allow AmmoGeneric-based magazine weapons to load several types of ammo. You use the new field to specify an ammo object whose behavior you want to mimic. For example, let's say you create two new ammo objects, each with the AmmoGeneric part. If you set the ProjectileObject field in both parts to "Projectile12Gauge", a gun that can load Projectile12Gauge ammo will be able to load both your new ammo objects. You can then set the SpecializedProjectileObject fields on both parts differently, say one to "IncendiaryBullet" and one to "ElectrifiedBullet". Now these new ammo objects will mimic the behavior of the IncendiaryBullet and ElectrifiedBullet objects respectively, and they'll both be loadable by guns that can load Projectile12Gauge ammo.

January 12, 2018

  • You can now cook with slime.
  • You can now cook with neutron flux. Do so at your own risk.
  • Named NPCs can now be hated by a faction for insulting various aspects of their culture, not just their women.
  • Named NPCs can now be admired by a faction for praising various aspects of their culture.
  • Rivers that course through the salt desert are now rivers of salt.
  • We made a bunch of performance improvements for late games (games with high-level player characters that have explored a lot of the world).
    • Reduced save file size by 30-90% across the board, but late games benefit more.
    • Greatly improved memory use in late games.
    • Fixed several issues causing objects to memory leak in late games.
    • Fixed several issues that caused more zones than necessary to be loaded into memory.
  • Objects cloned by temporary metamorphic polygel are now themselves temporary.
  • Fixed an issue that soft-locked the game when you cooked in the Rainbow Wood (and more rarely in a few other places too).
  • Fixed an issue that let you cook with more ingredients than the maximum by selecting too many ingredients, unselecting some, then cooking.
  • Fixed the formatting on some campfire popups.
  • Fixed the position of the target picker help text.
  • Fixed an issue causing some walls to be painted incorrectly after loading a saved game.
  • Improved memory use for some objects.
  • Fixed a rare issue causing objects generated during world generation to not properly spawn in game.

January 5, 2018

  • We refreshed the Photosynthetic Skin mutation to account for the recent hunger changes.
    • You can bask in the sunlight instead of eating a meal to gain a special metabolizing effect: +(20 + mutationLevel*4)% regeneration and +(mutationLevel + 3) / 2 Quickness.
    • This effect doesn't stack with other metabolizing effects and lasts for a limited time. If you're underground, you'll have to return to the surface to bask in the sunlight again.
      • Level 1-4 duration: 1 day
      • Level 5-8 duration: 2 days
      • Level 9+ duration: 3 days
    • You accure starch and lignin that you can use as special ingredients in meals you cook. You accrue 1 serving of each for every six hours in the sunlight, up to a maximum based on your mutation level.
      • Level 1-4 max servings: 1 serving of each
      • Level 5-8 max servings: 2 servings of each
      • Level 9+ max servings: 3 servings of each
    • The potency of your starch and lignin increases with mutation level.
    • Instead of becoming famished when you haven't eaten or basked in the sunlight for a while, you wilt (-10% regeneration, -5 Quickness).
    • +200 reputation with roots, trees, vines, and the Consortium of Phyta
  • Added a new music track to the village of Kyakukya.
  • Added new keybindings to zoom in and out (Options > Key Mappings > Display).
  • Renamed Heightened Speed to the more accurate Heightened Quickness.
  • Fixed several rare issues causing soft-locks during map generation.
  • Made some small improvements to the memory footprint.

2016 - 2017 - 2018 - 2019 - 2020 - 2021 - 2022 - 2023 - 2024 - beta (unstable)