Alpha 45

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)