Feature Friday - May 18, 2018
19 May - AlphaBeard
- 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.
Full release is now in 2019 according to their roadmap -page.
I want to play this game. Should I wait forever it be released on gog or should I buy it now on steam? I don't like steam, but I don't want to wait until 2021 to play this game. The final release is always postponed or what?
Feature Friday - May 25, 2018
May 25 - ptychomancer
- 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).
Feature Friday - June 1, 2018
June 1 - AlphaBeard
- 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.
Feature Friday - June 8, 2018
June 8 - ptychomancer
- 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.
In this 2018 GDC talk, Freehold Games' Jason Grinblat walks through the novel approach he used to generate histories for Caves of Qud, laying out some commonalities across games that generate histories, then demonstrating how he avoided building a full historical simulation by generating historical events and rationalizing them after the fact.
I think it flavours the setting, like all the other stuff that make this world unique. I don't read it all, especially at the beginning, but when my character pass level 10 or so, I become more invested in the lore of the time.I skipped all of the procedurally generated text, its not interesting to read and there is no gameplay advantage to doing it either.
I think it flavours the setting, like all the other stuff that make this world unique. I don't read it all, especially at the beginning, but when my character pass level 10 or so, I become more invested in the lore of the time.I skipped all of the procedurally generated text, its not interesting to read and there is no gameplay advantage to doing it either.
I think that would be good. But I think there is just two guys working at it (I could be wrong though), and the procedurally generated stuff is in the veins of roguelike after all.I think it flavours the setting, like all the other stuff that make this world unique. I don't read it all, especially at the beginning, but when my character pass level 10 or so, I become more invested in the lore of the time.I skipped all of the procedurally generated text, its not interesting to read and there is no gameplay advantage to doing it either.
They could just write the lore and it would be better than these procedurally generated texts, though. They could even still randomly generate which historical vignettes get used each game.
I think that would be good. But I think there is just two guys working at it (I could be wrong though), and the procedurally generated stuff is in the veins of roguelike after all.I think it flavours the setting, like all the other stuff that make this world unique. I don't read it all, especially at the beginning, but when my character pass level 10 or so, I become more invested in the lore of the time.I skipped all of the procedurally generated text, its not interesting to read and there is no gameplay advantage to doing it either.
They could just write the lore and it would be better than these procedurally generated texts, though. They could even still randomly generate which historical vignettes get used each game.
Feature Friday - June 15, 2018 & Upcoming Patch Schedule
15 JUNE - ALPHABEARD
We have an announcement regarding our upcoming patch schedule. We're nearing the release of our next feature arc, Generated Villages and Alternate Starts (Part 1), which will finalize the last of our major systems and let us transition to fully fleshing out the game's content and main narrative. The prospective release date for this feature arc is July 10th. As it approaches, we'll be concentrating all of our effort on the arc, and so today's patch will be the last official weekly update until the arc is released.
Sometime soon (likely next week), we'll be posting an early version of the feature arc to a beta branch. If you'd like to help us test it, stay tuned for details. Otherwise, we'll see you back on July 10th.
Live and drink, friends.
- Added two energy cell mods: high-capacity and metered.
- Added an eyewear mod: polarized.
- Reduced the volume of most slime puddles to below the swimming threshold.
- Pools that are deep enough to swim in no longer cause you to slip.
- Temporal fugue clones no longer have the chance to spawn their own psychic hunters.
- Fixed an issue preventing campfires from increasing the ambient temperature around them.
- Fixed an issue that caused liquid splash sounds not to play.
- Fixed an issue that caused hidden objects to stop autoexplore.
- Fixed a typo in On the Origins and Nature of the Dark Calculus.
- Fixed a typo in Disquisition on the Malady of the Mimic.
- Fixed a typo with quests in the chronology.
- [modding] Walls and fences that use the PaintedWall part can now use the tag PaintPart. Walls and fences specifying this tage treat adjacent objects with the part specified in the value of the PaintPart tag as if they were also walls and fences (this affects the orientation of the painted tile).
- [modding] Added a new power systems part, Circuitry, that absorbs charge provided via ChargeAvailable events and makes it available for one turn using TestCharge and UseCharge. Charge not used after one turn is lost. This streamlined part replaces the need to have two different power source parts for each power source, one that provides charge via ChargeAvailable and one that provides it directly via TestCharge/UseCharge. Its fields are MaxCharge (an optional maximum amount of charge the part can hold; defaults to 0, unlimited), ChargeDisplayStyle (usual way to display charge level, defaults to none), TechScanChargeDisplayStyle (techscan way to display charge level, defaults to none), and IsEMPSensitive (defaults to true).
- [modding] Removed the parts EquipPower and SolarPower. Instead use Circuitry and either EquipCharge or SolarArray.
- [modding] Added a charge display style (as used by various power systems parts) for "amount", which shows the raw numeric charge amount.
- [modding] Added a mechanism for BroadcastPowerReceiver where satellite power can be occluded by random environmental factors. The core behavior is controlled by three settings in GlobalConfig.json: SatellitePowerOcclusionChance (the permillage chance of unoccluded satellite power becoming occluded on a given turn, defaults to 5), SatellitePowerDeocclusionChance (the permillage chance of occluded satellite power becoming unoccluded on a given turn, defaults to 15), and SatellitePowerOcclusionReasons (a comma-separated list of potential reasons why satellite power is occluded, selected at random). The BroadcastPowerReceiver part has these new fields: IgnoresSatellitePowerOcclusion (if true, occlusion does not affect the part, defaults to false) and SatellitePowerOcclusionReadout (if this is true or the player has techscanning, the fact that satellite power is occluded and the reason why is displayed in the item's short description, defaults to false).
- [modding] Gave BroadcastPowerReceiver a new field, Obvious. If set to true, or if the player has techscanning, the existence of the broadcast power receiver is indicated in the item's short description. Defaults to false.
- [modding] Added a new part, PowerOutlet, that provides charge to items (in its cell or adjacent cells) that have PowerCord parts. It has the following properties: ChargeRate (the amount of charge provided per turn, defaults to 200), GridSupplied (if true, the part is assumed to draw its ChargeRate from a not-otherwise-represented power grid, otherwise it must draw its charge from its parent object with TestCharge and UseCharge by using the available charge in the parent object or its ChargeRate, whichever is less. Defaults to false), and IsEMPSensitive (defaults to true).
- [modding] Added a new part, PowerCord, that makes the item receive charge from items with PowerOutlets in the same cell or adjacent cells and distribute it with a ChargeAvailable event. It has the following properties: ChargeRate (the amount of charge it can redistribute per turn, defaults to 50) and IsEMPSensitive (defaults to true).
- [modding] Added a new part, ModWallSocket, for adding power outlets to walls.
- [modding] Refactored common functionality from a number of parts into an IPoweredPart base class that implements the following properties: ChargeUse (an amount of charge that must be available via TestCharge for the part to function, defaults to 1), IsBootSensitive (whether the part is disabled if a BootSequence is present that hasn't finished booting, defaults to true), IsEMPSensitive (whether the part is disabled by the item being EMPed, defaults to true), MustBeUnderstood (whether the part is disabled if not equipped or if equipped by the player and not understood, defaults to false), WorksIfEquipped (whether the part is enabled to function by being equipped, defaults to false), WorksIfHanging (whether the part is enabled to function if the item has a Hangable part that reports the item is currently hanging, defaults to false), WorksIfInCell (whether the part is enabled to function if the item is on the ground, defaults to false), and WorksIfWorn (whether the part is enabled to function if the item is equipped as armor on the correct limb(s) per its Armor part, defaults to false). If none of the "WorksIf" fields are enabled, the part doesn't require any of those conditions to work. IPoweredPart provides a standard base IsDisabled() method to check these issues. Any part previously implementing IsEMPSensitive now inherits from this base class, with part-specific default values for relevant fields replicating their previous behavior.
- [modding] The WorksWhenHeld property on the EquipCharge, IntPropertyChanger, and MultiIntPropertyChanger parts has been replaced by the WorksIfEquipped property they inherit from IPoweredPart.
- [modding] Added a new property to the Hangable part, HangingTile, that (if specified) overrides the object's render tile while it's hanging.
- [modding] TestCharge and UseCharge events now support multiple charge stores cooperating to fulfill a single event. This means that where previously a TestCharge for 10 charge on an object that had two parts each able to supply 5 charge failed because neither had 10 charge, now it succeeds.
- [modding] Added a new property to the BroadcastPowerTransmitter part, TransmitRate, that (if set to something other than zero) is used as a maximum on the amount of charge that can be transmitted in a given CollectCharge event. The part also now uses as much charge as is available from its parent object (up to the amount requested in CollectCharge and/or the TransmitRate limit) instead of trying to approximate it by successively halving the amount requested.
- [modding] Added a new, highly experimental part, PowerTransmission, intended for supporting physically-laid-out power grids. It inherits IPoweredPart. Its properties are: ChargeRate (the amount of charge that it can carry per TestCharge/UseCharge/QueryCharge event, defaults to 500), CurrentReadout (if this is true, or the player has techscanning, a display of the charge available through the object appears in its short description, defaults to false), and IsWire (whether the object is a physical wire (affecting messaging), defaults to false). All objects in cardinally adjacent cells that have PowerTransmission parts form a power grid that TestCharge, UseCharge, and QueryCharge events are shared across, limited by the ChargeRate of the parts in the grid.
- [modding] Added a new part, ModWiring, for adding power transmission wiring to walls. ModWallSocket now also includes power transmission wiring automatically.
- [modding] Added a new part, DeployableInfrastructure, for items that can be deployed into environmental infrastructure. Its properties are: DeployVerb (used in messaging, defaults to "deploy"), ModName (if specified, the name of an item mod that's applied to walls or non-takeable, solid, real, and inanimate objects in target cells), ObjectBlueprint (if specified, a blueprint that will be instanced in targeted cells that do not contain a wall or non-takeable, solid, real, inanimate object), SkillRequired (if specified, the name of a skill that must be possessed to deploy the object), SkipModIfPart (if specified, don't install the mod specified by ModName if the target object has the specified part), Cells (the number of cells targeted using a field picker that must start adjacent to the user, defaults to 1), and EnergyCost (the energy cost to deploy, defaults to 1000).
- [modding] Added a new part FoodProcessor that makes an item automatically butcher and preserve objects in its inventory. It inherits IPoweredPart and sets the default of ChargeUse to 500.
Generated Villages & Alternate Starts Beta Patch
June 29 - ptychomancer
We put up a beta branch for the Generated Villages & Alternate Starts patch!
Want to help us test it? In Steam, switch to the beta branch: right-click Caves of Qud > Properties > Betas > select 'beta'.
Please post your bugs here! There are many rough edges; we'll be fixing bugs & adding more detail and variety in the coming week.
If you'd rather wait for the full release, we'll see you back around July 10th.
Live and drink, friends.
I'd probably wait until the tenth so they can squash more bugs first—people are reporting plenty of issues on steam.ok NOW ill give it another try. My biggest issue was the boring ass repetitive early game.