17,530 Commits over 1,614 Days - 0.45cph!
Fixed Consumable Effect Settings.
More InteractionPosition stuffs
Fixing stupid CanSubscribe checks
Interaction tweaks
GoToSmartObject tweaks
Added UnsubscribeOnCompletion flag to InteractionSettings, allowing SO subscription to persist after completion of the SmartBehaviour ActionChain
DM will call SmartObject.Unsubscribe when applicable
Shifted about some Agent+DM code to Agent+SmartBehaviour that deals with auto-completing a "current" SmartBehaviour if it's action chain is completed and a new behaviour is being stacked on top of it.
SmartObject.TrySubscribe overload with interaction name lookup
Added back in Forget if Interrupted to interactions.
Added Behaviour.OnBehaviourActivated for callbacks, SmartObject only counts subscription and allocates InteractionPositions when the relevant SmartBehaviour is active
Added BehaviourStack.Contains method
Buffering Agent.Effects in TickEffects
Fixed potential NRE when calling Consumable.Consume()
Removed Agent.SubscriptionCount, now simply check against the Stack.Behaviours.Count in DM
Overriding some methods in SmartBehaviour to deal with subscription handling better
Added ItemManager to Globals object
TribeStatArea spawns and adds stick to the campfire
Data tweaks (Forget if Interrupt on various Interactions)
Break out of foreach after removing an item, else we get invalid operation.
BehaviourGroup tinkering, added display of active Behaviour Group to Unit debugger
Wolf anim controller improvements
More effect refactoring, effect debug view tweaks, asset path and type in BE assets dicts, removing old test assets
RemoveStatModifier overload
Tweaks
Updated human prefabs
stats use float
effect remove fix
Effect and trigger data cleanup, tweaks and fixes around Effect state handling and ActionChain callbacks
Effect editor tweak to ensure you cannot set RemoveOnCompletion and a Start Trigger
Fixed minor tickable modifier bug when it applies to BaseValue, it now applies to statBaseValue.
Added Eating Effect to Consumables, which required a Duration (tick) support in Effect.
Misc tweaks to Effect.
Rewrote to a list of effects pending removal, rather than removing them on the spot. No longer need to buffer effects list before ticking it.
Moved Duration for Timed Stat Modifiers and Timed Effects to tick every 15th TOD Minute, rather than every TOD Hour.
Consideration refactor, allowing considerations to consider both Myself and Target from a DecisionContext in certain... contexts.
Tweaking BehaviourGroup membership
Fixed a stupid thing in SuitableMateCosideration
Fixed Agents getting stuck in a BehaviourGroup
Testing some performance tweaks in Unit+Senses and Stat.Tick (implemented IComparable on IStatModifierTickable for faster OrderBy
EffectSettingsEditor tweak
Pushed number of agents we tick on minute and hour up to 200 (from 20), so that it's slightly more performant with scaling numbers of agents.
Added Consideration types for unit age, gender and relationships
Removed SuitableMate Consideration type
ConsiderationSettingsEditor now shows properties from child types in the settings block
BehaviourGroup tick checks for required member count when executing behaviours and breaks/disbands the group if there are no longer enough members.
▆▅█▋ ▆▄▅▍▇ ▌▉ ▅▊▄▌▋▌▉▊██▋, █▇▄▄▍▇▆▆ ▌▍▊▆▇▄ ▋▊ ▌▌▋▌▍▆▍ ▊▄▅▆ ▇█▆ ▇▄▅▉▊▅▊
▅▅▌▋▄▄ ▉█▇ ▊▋▄▅▋ ▋▊▊ ▋▆▇▇▄▋▄ ▍▌ ▉▊▊▄ ▌█▉▄ ▊▋▍▄▌▅█ ▆▊ ▉▉▆ ▆▉▉▇▉▋... ▇▋▆▄ █ ▋▋▆█▌ ▌▆▌▇█▅ ▄▄▋▉ ▍▄▍▅█▆▉▊ ▊▍ ▅▇▉ ▄▄▋▌▉▆
CompareSpeciesConsideration
First pass SmartObject subscription refactor, added Subscription object
Added debug option to DSE settings
fixed bad string formatting
Fixed Machine.OnDepositItem flagging the parent smartobject as ignored by DM
Fixed groups not removing themselves from agent manager
senses tweak and more hooks
Subscription/InteractionPosition tweaks, ActionChain constructor overloaded to take Behaviour