549 Commits over 215 Days - 0.11cph!
Raid positions are now checked to ensure they can reach the player's camp - prevents spawning raids inside cliffs
Don't calculate lag locations (used for party movement) if we're not in a party
Added a rock spawner near the starting area on Island_01 so the first building is easier to make
Fixed smartobjects initialising their interactions before their interaction positions (caused the interaction to not init successfully, made buildings impossible to interact with)
Reverted wolf aggression back to 2 (was 2 before raid changes, ambient pre-existing wolves are too aggressive on island_01)
Added a Raiding effect that gets applied to units to increase aggression during raids
Added random ranges for time between raids
Added a starting delay for raids (set to 24h, so raids start on the second night)
Added a button to launch a raid immediately in the diplomacy inspector
Exposed raid sizes on the diplomacy parameters
Merging raids branch - can toggle raids off completely by unchecking RunRaids on the Tribe group diplomacy component
Occlusion casts to head rather than transform to fix highlight turning on because transform was too close to ground collider
Merging unit_occluders branch, units in the players tribe will now get their highlight turned on when blocked by Resource or Ground layers
Clean up/remove old fader occlusion system
Cleaned up some now unneeded raid creation stuff
Added some combat target tinkering in the raid desire to try and make raiding animals more aggressive
Reworked raid creation - Diplomacy component now has a raid time and possible units to spawn in the raid. It then spawns these units as a collection and triggers the existing raid mechanics.
This is instead of creating a collection out of existing units, this approach didn't really work in proper game scenes since animals were often killed or scattered.
Switched night time consideration to use the TimeRangeParameters system
TOD Light consideration can now look at the date time instead of light intensity (light intensity goes back up at night thanks to moon light, so it's not a good indicator of is it night time)
Raids should now happen at night
Updated blackboard syntax based on main changes
Updated UnitStatusUtility to return friendly if unit a and unit b are player controlled
Tweaked aggression values to make animals more dangerous (just wolves right now) and fixed some issues with calculating hostility
Raid target falls back to just going to the player camp location if no valid interactions (like eating) are available
Tribe spawner now tracks ItemViews as well as BuildingViews so proper items are spawned with the premade tribes
Added a MoveAwayFromFire goal to animal idle, lets torches and campfires act as deterrents to animals
Player's group diplomacy component now tracks the last time the group was raided and added a 12-24hr cooldown so raids don't happen too often
Raid gets disbanded once the target interaction is no longer valid
More raid stuff, animals will now eat food they find in your camp
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