Alpha 45

**Version chronology**

**External links**

## Major player-facing additions this month

* Building quality mechanics! Add decor to make your workshops & houses more pleasant (or don't!)
* Revamped military AI! Soldiers will consistantly rally and follow orders with our newer, stronger AI infrastructure
* Haunting Spectres! They’re spooky.
* Additional opportunities for madness and the occult!
* Point lights! Bring some cheer to those dark, creepy nights.
* Enhanced murder.
* Character memories have been cleaned up, extended, and given a longer-term record in the character UI.
* (Continuing work on Secret Things, deep and dark.)

## Engine, misc

* FIXED: OS X crashes when cancelling assignment via assignment beacon
* FIXED: OS X crashes when crops are finished being harvested
* FIXED: some leaking memory (what a mess!)
* replaced dynamic allocations for moving tags about in the game space dictionary with a static pool of memory and a large buffer
* replaced dynamic allocations of particle system VBOs and memory during the render frame with a pool of VBO resources to draw from; eliminates a memory leak and General Badness with drivers that do not like you creating/deleting VBOs on the fly all that much, and should also provide a modest speed increase.

## Save/Load

* FIXED: Display of work schedule data is no longer reset on load.
* FIXED: environmental light values now set correctly after save/load

## Combat AI / Decision Tree

* added a bunch more code to the decision tree parser, specifically “enough code to make it work” and “enough code to unbreak the editor.”
* replaced all old military logic with military decision tree code (it is smarter! also: should fix rallying)
* FIXED: require\_work\_party\_rally\_point not firing consistently

## Renderer / Lighting Rewrite

* added dynamic point lights! they can be attached to a model placer for rigid body and skeletal models
* lights can now be attached to/removed from placers; UPM version 2.9 created
* the renderer now applies interior ambient lighting for objects inside buildings, and tracks it on the interior
* renderer now does lighting in a completely different way for the two existing lights, but this will probably be invisible to the user. It is, however, necessary for everything else.
* things can now cast shadows on farms (and other decal-type zones)
* increased transparency of semi-transparent building walls.

## Spectres

* added Haunting Spectres
* added Vengeful Spectres
* added job for Vicar to confront spectre (+ticker message is created when vicar confronts spectre)
* added spectre report event (spectres can be reported once per night)

## Building Quality / Workshops

* added Building Quality system! You will now have to balance the ratio of work modules to decor in your buildings. Nicer buildings mean happier colonists!
* and added building quality display on UI for workshops/houses
* buildings now robustly track modules they contain.
* added 14 new decor modules
* appropriate decor has been added to all buildings’ default module lists
* many modules have been renamed
* many modules have new descriptions
* performed reorganization of our workshop edb to be actually legible
* added icons for mounted aurochs/rhino heads
* balance: build costs on all decor have been adjusted
* FIXED: orientation/placement on a number of previously unused models
* FIXED: script error when building clotheslines
* FIXED: issue w/ some decor modules not deconstructing correctly
* FIXED: footprint size on carpets

## Madness

* balance: added various eldritch means which help sustain madness levels
* added evil book prop
* added madness sustaining memory creation for colonists w/ cult\_seed tag
* added madness-sustaining effect for colonists w/ occult\_mark\_black\_magic
* made vermin corpses last longer to encourage Beetle Curses
* Increased weighting on many madness jobs
* balance: contact with Obeliskians made slightly more maddening & for longer (due to rarity)
* FIXED: rare scripterror when attempting to spawn eldritch artifact

## Cults

* added ability to order shrines destroyed
* added attack\_object\_until\_destroyed.fsm
* cultists will become upset if your order shrines destroyed, especially at whoever destroyed the shrine
* balance: slightly increased chance to perform cult recruitment
* added cultist madness-sustaining memories + new icons for some of them
* balance: many more experiences can now trigger “cult seed” depending on character traits
* balance: more strange/terrible events may now provoke cult formation
* FIXED: possible error cases when cultist leader dies
* FIXED: cult leadership now transitions correctly when leader dies
* FIXED: cult group ending due to lack of sufficiently enthusiastic leadership scripterror
* FIXED: cultist preaching was pushing memory to wrong party in conversation

## Offices (Chapel, Pub, Barber)

* Pub jobs cleaned up to be vastly more efficient at actually stocking and serving drinks
* Barber/Pub/Chapel: if a colonist seeks treatment/confession/a pint of beer and can’t find a barber/vicar/pub worker nearby, they will abort waiting and create an alert
* cleaned up confession fsm to not be a huge mess, and thus
* FIXED: vicars giving confession will no longer permanently paralyze colonists

## Religion

* colonists will now pray at wall shrines
* added access point to wall shrines
* made praying at wall shrines something both Spiritually Inclined and Staunch Traditionalists can do

## Murder

* made significant improvements to how colonists decide to engage in murder
* added Beetle Curse (murder)
* added Tree Curse (murder)
* added Occult Murder witnessed event
* killing someone for the first time will now record their name in the memory
* cleaned up memories for killing and killing memory creation
* FIXED: murder due to hunger

## Death

* balance: corpses will only spawn vermin after being left out for a day
* made a ForceDropEverything receiver in ai\_agent.go which drops every damn thing being held; all agents now call this upon death
* as such, removed a bunch of extra ForceDropTools calls from all the agent scripts
* therefore FIXED: commodity drops upon character death
* corpses will now only reset their burial job at sunrise rather than every 10 seconds (it was spammy)

## Memories & Character

* can now query LEQ or GEQ on happy, sad, angry, fearful (for internal scripting)
* did more memory creation cleanup in citizen.go
* cleanup: moved creation of building quality memories into citizen.go
* cleaned up defs for bunch of data back-end for memory events
* balance: tweaked many some memory descriptions & values
* did an audit of all memory icons and changed/updated/fixed where necessary
* memories will now use greater range in icons
* re-added conscription/de-conscription memories
* cleaned up more food memories
* cleaned up immigrant & bandit seed memories
* re-jiggered all damage/murder memories & frontier justicing & murder witnessing
* reworked food memory creation to more cleanly use makeMemory function
* did more memory creation cleanup in citizen.go; changed lots of previously hardcoded memory values to read from histories.edb
* cleanup: removed a bunch of memory creation / justice tagging from ai\_damage.go and put it in citizen.go where it belongs
* FIXED: minor starvation scripterror in citizen.go
* FIXED: some memories were not being triggered correctly
* FIXED: some more broken memory creation logic
* FIXED: some broken memory icons
* FIXED: some broken icons in thoughticons.xml

## UI Misc

* removed all UI filters for military crews except for hunting (Hauling is not a suitable job for the brave troops of Her Majesty’s 40th Civil Engineering Brigade)
* re-added friendship ticker notification
* stockpile UI edited for better usability
* added new code hooks for building UI windows
* new Office UI code refactored to apply generally to all buildings
* did framework code for skill progression info on character.
* did fixes to various minor bugs in UI element sizing
* did fix to tooltip searching in UI code
* did fixes to icon -> tag lookup table
* made gabions log warning refer to “logs” rather than “timber” and say it may be a range problem
* polished up some icons, added some other new icons. Just a good bunch of icons.
* FIXED: was possible to order dissection of an Obeliskians more than once on the same specimen
* FIXED: various crashes in character info panel, hopefully without breaking anything
* FIXED: various broken icons

# Typos=

* fixed various event typos
* fixed typo in memories
* FIXED: various typos & grammar (farm text, immigration event)
* FIXED: various typos

## Events, misc

* audited and improved spawn locations for all fishperson events
* added one-time bailout event if you have more workers than you can allocate to all of your overseers
* below 3 chars bailout only gives overseers now and is somewhat rewritten
* some events have been given more detailed descriptions for number of ai agents involved
* doubled timeout length for all events
* updated job filters tutorial
* contextual tutorials will no longer fire if the main tutorial is still going
* balance: reduced max bandits that major bandit attack can send
* FIXED: scripterror in certain decision case of “Colonists Denounce Cowardice Vs Bandits”

## Misc

* Small code cleanup to Colonists Denounce Cowardice
* increased log search range for half-size gabions (it was super low)
* hunger incrementing moved to evening instead of night
* balance: fishpeople made less likely to turn murderous when intimidated by soldiers
* FIXED: aborting a “Gather Building Materials” job due to an explosive injury would put the job in the wrong assignment, causing it to be completed infinitely
* FIXED: “isObjectInRadiusWithTagReverseMustOwnTwoTags” function never checked the second tag

## ????

* added Grape Vine crop (commented out)
* added Wine commodity & production (commented out)
* drew grapes + wine icons, attached to commodities (commented out)
* re-added poetic memories to use hearExclamation (Poets just don’t spawn right now)
* cleaned up some junk code from bandit.go
* started some defs for Obeliskian tech/commodities
* adding infrastructure for obeliskian forge (not fully implemented)
* added Nicholas’s new Arcane Symbols to the documentation on spacial maps (I have no idea what this means)