78 Commits over 90 Days - 0.04cph!
Fixed incorrect IsAllowedTransitionState logic
AlertState uses scoring and FromStates (from Idle, or Patrol only)
Start designing FromStates, state entry scores
PatrolState is implemented using scoring system now
Actually apply TimeSinceFootstepEvent
Stop reacting to our own footsteps
General cleanup
Give the other guy a patrol path so he can return to it after battering the crackhead
Update AI playground scene
Helper utility to walk AI actors to a set destination (RTS style)
Refactor AttackingState to be derived from Chase, AI can fight eachother kinda now
Fallback for if the attacker lost its target somehow
AI broadcast footstep stimuli too
States can override the actor's wish speed
Patrol State can define a delay between navigating to the next patrol point, random speed each time too (https://files.facepunch.com/tony/1b1411b1/sbox-dev_CXoCBRrtRs.mp4)
Port Alex's work on patrol paths over to the main branch, with a few changes.
Building blocks for AI relationships (friendly tags, enemy tags, no tags found = neutral), added line of sight debugging (op_dev_ai_los)
New AI playground
Kill StateMachine experiment and all associated code
Moved player movement temporarily into OnUpdate because I'm having some problems with FixedUpdate
Fixed insufficient stack overflow
Moved Editor folder, updated .gitignore to reflect new changes
Type updates on demo_02_level
StateTransitionDelegate returns a bool (to permit a transition)
StateMachineResource can spit out a GameStateMachine with more digestible info for a state machine to use
Add ability to click a connection and edit its transition via actiongraph
Make StateMachineNode.Identifier ReadOnly
Show last 5 characters of identifier for debugging
Refactor, hook up connections, started work on storing transition actions
Show state name overrides separately
Use EditorJsonOptions instead of defining our own
Draw entry nodes differently to normal nodes
Add node ui style, inspector, can create existing StateMachine.State types (https://files.facepunch.com/tony/1b2111b1/sbox-dev_MptZKRQPCW.mp4)
More boilerplate for nodes / graph
Start blocking out state machine resource + editor window
Doubled reach for crowbar attacks
Add ActionGraph node for quickly creating a prop
Hook up block anim for new npc
Fixed melee hit effect not playing, removed some serialized timesince/timeuntils in anim states
Run the hit effect on every hit attack
animgraph: Updated parameters to include new states
AttackingState: run Agent.LookAt every frame instead of on state tick (which is staggered at 0.2s or so, so it was very jittery before)
Kill off stimuli if it's based on old information. Idle state uses full body anim
Play actor voices a bit infront of their mouth
Hook weapon_attack_idle in
animator: lerp wish move
Don't drain durability for npc weapon
AI can maintain movement while trying to attack the player
Position weapon on the npc properly
Machine states can define upper, lower, and full body states
Fixed MeleeWeaponAttack NRE
Added dev var for overriding player movement speed
This doesn't work
Set up animgraph to have upper body / lower body states, and full body takeover state
Add new_crackhead prefab that uses the new animator
Fixed some more missing components on the player (?)
Fixed issues with player prefab (dunno where this came from)
Consumables inventory moved away from objectives UI
Fixed weapon sounds being unlinked
Fixed stamina infinitely draining
Moved stamina drain/regen to mechanic instead of playercontroller
Posture regenerates over time
Fixed assuming max posture is 100
Update posture UI color
Add PostureMechanic.Default
Calculate posture damage separate from damage inflicted, so weapons can be better at breaking posture