103 Commits over 213 Days - 0.02cph!
Fixed interaction UI icon alignment being shit
NPC weapon attack speed reduced
AttackingState: fixed AI agents getting stuck in place, trying to move all the time
Scale agent bloodamount so they're not one huge blood cell on death
Bunch of assorted error fixing
Unfucked main menu lighting
First pass at crackhead joints/shapes
Fixed another few errors that have cropped up now
Fixed a bunch of reported errors
Fixed broken damage/death sound references in crackhead NPC
Fixed fucked ambient lighting
Hostile NPCs will attack anything that isn't a friend
Rip out leaderboards page for now
Fixed slider control being positioned wrong
Fixed blocked door after crowbar pickup area
Fixed not being able to change weapons/pick up new ones
Fixed a couple of wonky collision meshes that were making it impossible to finish the demo
New map compile
Remove light trigger volumes since performance is good without em
Proper validation in PlayerInventory
Interaction system error fixes
Mark a door as technically open if the starting rotation is non-zero, means you can push preset ajar doors
Minor adjustments to door to match design
Adjust base door rotate speed
Make doors behave as we wanted them to
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