13,523 Commits over 2,922 Days - 0.19cph!
Added human wake up logic to the animal sleep system, seems to work ok? Animals weren't waking up in testbox scenes, presumably there just isn't enough stuff to wake them up
WIP raid objectives, animals will only raid if there is food in the camp
Reworked raid objective (just position for now) into a new RaidDesire desire type. Can eventually be used to store an objective for a raid (eat from this spit, attack this building, etc)
WIP hostile raiding implementation
-Only implemented on wolves
-Similar system to Human Party system (should theoretically work with hostile tribes as well)
-A collection of 2-4 units is created at night, the collection leader then finds the players territory and starts moving towards it
Updated CameraOcclusion system to use new unit highlighting system
Updating occluder branch from main
Can now ignite an unlit igniteable while holding a lit item (previously only the opposite was possible)
{BLACKBOARD_ITEM} keyword can now be used on goal plans
Added an extra indicator when placing items to indicate where an item will go and what it's rotation will be (outline material used for building placement is hard to see on small items like torches/baskets)
Can now specify on a placeable item whether it can be rotated, defaults to true and marked torch and basket as false (rotation has no impact on these)
Fixed being able to trigger place item on something that isn't held
Items now store if they were placed when saving, fixes placed items getting physics enabled after loading a game
Added baskets to the advanced crafting unlock (reach apprentice whittling)
Added a missing ProtoInclude for PersistedIgniteableData
Marked basket as placeable so that a full basket can be set down in camp for people to eat from
Attachment Point containers will now resort their items when an item is dropped
Added a Use Attachment Points field to Container that parents items to attachment points in the container hierarchy. Recursively looks for a transform named "AP_XX" to parent to (eg. AP_06 or AP_12)
Hooked up two meshes to particle system shape components to stop chopped down birch trees from spamming warnings while playing - this was done on the prefabs directly, there could be changes needed on the TreeModelEditor to prevent this happening in future
Target keyword can now be used in Goal Plan Variant descriptions - fixes a bunch of in-game text showing {Target}
Marked take branch interactions on trees as Require Item Pick Up (branches were flying away when taken from trees)
Added a WeaponEquipPoint field to CombatAbilityParameters to specify how a weapon should be held for the given combat ability. Set Bow-Shoot to LHand, everything else defaults to RHand.
Fixed combat ability selector not using the right target and failing all distance checks
Quivers now get equipped on back slots and are not held in hands
Fixed party movement distance check not working
Fixed a bad selector target in CombatAbilitySelector
Fixed a bad target blackboard read in SleepInTerritory
Added a Select Random Position in territory so that the animal would actually go to it's territory to sleep
Building upgrades can be unlocked via the unlock system (set the required unlock in the upgrade parameters on the building), if no unlock is assigned the upgrade will be available
Added grass crafting unlock: Inspect grass to unlock grass upgrades for buildings and the grass bed
Locked pelt upgrades for buildings behind the basic leatherwork unlock
Filled in some missing data to make bear headress wearable/craftable
Made deer and bear headwear unlock definitions (unlock advanced leatherworking and inspect a bear/deer)
Fixed wolf not being carryable
RTSCamera now remembers what unit it was following when saving/loading
Misc grave fixes
Machine process can now define the conjunction used on the process ability, so it now supports "Cook Rabbit ON Spit" as well as "Bury Jim IN Grave"
Added some info text to the MachineProcessSettings editor to show an example of the machine process text
Unlocks can now be unlocked via a trigger
Graves unlock is now unlocked when a member of the player's tribe is killed
Fixed some more issues with dead/buried units
Debug tool spawn section now has a recent tab that lists the last 10 items/units/buildings that were spawned
Added a grave building that can be used to bury a dead unit
Can only be spawned via the debug tool (there's an unlock definition for it, but it has no conditions yet)
Also fixed exceptions when mousing over a unit that was killed via debug tools
Added the territory module to the bear and added a select random position in territory so bears don't wander as much and murder tribes
Fixed objectives not loading properly and fixed objectives UI display not being updated after loading
Removed time hack on session load, doesn't seem to work anymore
Time fix on load
Fix units trying to recook an already cooked thing
Fixed FindAndPutCorpseOnFire being set to desire creation mode instead of execute
Added new Eat a Piece interaction to the DispenserFoodValue consideration - units can now successfully skin a corpse, put it on the spit and eat from it without player intervention!
Fix dead units getting their navmesh agent turned on because of another navmesh fix
Fixed machines not persisting their entity list, which fixes animals on spits not being clickable after a load
Fixed misleading cookable tooltip text
Added an Eat a Piece interaction to corpses that is available once a corpse has been cooked that doesn't require an axe
Fixed spit missing building requirements (now requires 3x sticks)
New dispensable wrapper spawn mode: OnNavmesh - spawns the dispensable on the navmesh with some random fuzzyness
Fixes meat spawning on top of the campfire collider and being really hard to click
TakeFromDispenser will now break if the dispenser is being held by another unit
Disabled force density on oak spawner, was spawning so many trees it was crashing the editor
First pass on a system to fade objects that are occluding the player's view
For an item to be faded, it needs to be part of the hierarchy of a collider on the Resources layer AND tagged with the "Occlude" tag
When an item that passes these conditions is found it will be set to the FadeMaterial on the new CameraOcclusion component, and it's materials will be reverted once that item is no longer occluding the view
Manually tagged the leaves on the Birch and Oak trees - tagging isn't part of the model import process yet so this will need to be reapplied after a model update
The fade material is just a transparent standard shader, this could definitely be improved
Hacky fix for navmesh agents not "attaching" to the navmesh when loading a game (doing a Warp() to their own position and changing the timescale seems to attach them)
Unit now stores a UnitDeathReason + UnitKilledBySettings to store how a unit died and what killed it
Those two fields + the death time are now persisted
Unit Detail View tab no longer shows what the unit is feeling if they are dead, instead shows the "Dead for x hours" text we use on the toooltip
Fixed carried units appearing in a units portrait view
Tabbing to an unselectable unit will now skip to the next selectable unit rather than stopping