17,530 Commits over 1,614 Days - 0.45cph!
Keep Desire now also checks if an item dispenser dispenses anything required by a MachineProcessActionDesire before fulfilling
Freeing up hands only happens when near the target
fixed people being stuck holding two branches for the fire
Various food/hunting AI related tweaks
Consideration editor cleanup
Removed "allowed no considerations" flag on some AI data types, as it was redundant
Renamed Hunt/AttackMove Goal to "Hunt" cause wtf
Merge hunting behaviours into Human/Food module
UnlockDatabase static init on load, skip unlock defs that are not flag as game valid
Can Carry Unit Condition now checks if the target unit is already being carried.
Removed some duplicate desire selectors in hunting goal plans
examples of possible ways to lod trees, tree_oak_LODTYPE_A and tree_oak_LODTYPE_B
example of tree with empty assets setup to position FX
More food/hunting AI work
WeaponParameters.OnValidate error check for items with combat abilities of type "throw" that do not have the appropriate projectile setting
Fixed a bunch of data types not calling base.OnValidateInternal
Hand axe is no longer throwable
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)
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
Subtracting unit occluder stuff from main
Entity log clear button, max logs display field
Desire removal on GP failure WIP
Replaced Unit.Combat debug logs with EntityComponent.Log variants for auto context/entity log support
Unit.Combat.TryAttackTarget cleanup
Fixed SetDestinationSettings radius modes breaking early due to bad distance check
Removed target list from Unit.Combat, replaced info class with struct. Refactored a bunch of code
Added Item.CanBeUsedAs method
Combat skill gain will now apply the threat bonus regardless of who is attacking or not at the time, also cleaned it up a bit
Added DispensableWrapper.IsUsableAsDispensedItem, indicating that the dispenser entity itself can be used in place of the item it dispensers (e.g. in crafting, machine procesess, etc)
Removed Stick and Firewood.
Renamed Big Stick to Stick.
Branches and Logs can now be put directly into the fire.
OnValidate things in SpawnPopulation and ItemSpawner to remove null spawns.
birch tree mouseover works
Spawn refresh button in Debug Tools World tab under "biome"
Spawn tweaks
BehaviourChainFilter.OnValidate no longer forces FilterBySmartObjectViability to be false if certain conditions are not met
fixed game mode starting unlocks not being force unlocked.
added some unlocks to testbox game mode.
Acquire Materials For Fire now ignores entites with disabled SmartObject.
EntityValueConsideration now checks for carried tools not only held.
fixed a case in which units wouldn't actually free up their hands to use a tool.
people will now consider dispensables that don't destroy the entity before considering those that do.
Fixes to combat targetting
Disabled force density on oak spawner, was spawning so many trees it was crashing the editor
TakeFromDispenser will now break if the dispenser is being held by another unit
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
Fixed SmartObject.CanSubscribe not checking if there are existing subscriptions when the plan we want to subscribe to is exclusive
Consuming a Consumable now applies the relevant food value half upon consume and the other half over the duration specified in the data.
Consuming now has a duration.
Added TargetFilterConsideration for scoring entities corresponding to the given criteria.
Added a ConsumeValue mode to EntityValueConsideration.
Updated some data on consumables.