11,277 Commits over 3,500 Days - 0.13cph!
Refactored GingerbreadNPC so it doesn't override Scarecrow, ready for future changes.
Switch Gingerbread NPC to use ginger bread brain.
Added separate ginger bread AI design file.
Added GingerBread brain.
Removed temp code from ScarecrowBrain.
Moved ScarecrowNPC and ScarecrowBrain to new Gingerbread folder.
Added gingerbread custom states.
more junkpile cover point improvements
Fixed junkpile_i cover points
Junkpile scientists are now more defensive in behaviour when player is further away. Attack range reduced.
Added sneak and non-vision max distance settings to AIBrain
Merge from client_ai_state_and_blendshapes
Gingerbread men maniacally alternate between happy and angry facial blendshapes when in an aggressive state.
EntityComponents can now be serialized.
BaseAIBrain now serialises and syncs current AI state client-side if SendClientCurrentState is enabled.
Added PlayerModel.SetBlendShapesMode()
Gingerbread men now toggle between idle/angry face blendshapes.
ProtoBuf / codegen.
Gonna merge this tomorrow morning after I've doubled checked it all.
Junkpile bushes now block AI line of sight.
Fix for TakeCover state when no entity in memory. Used last attacked from position instead of just returning.
Also play weapon drop sound when a weapon is throw-mounted.
Added client rpcs to play the inventory sounds when mounting/grabbing weapons directly
Only allow items with rackconfig to be placed on rack.
Can now place held item directly onto hovered empty target rack mount by pressing E.
Better menu option toggling.
Some cleanup.
can now throw weapons onto racks
Setup vertical mount weaponrock colliders
Can now take weapons directly from the rack
horizontal mount weapon rack
Fixed a bug I accidentally refactored in for weapon skin display
Added RackMountConfig to all weapons and set them all up so they rotate/position uniformally.
Added a rack mount config script to apply to items.
Quick tool script for saving weapon rack mount settings.
Position items based on their rack mount config.
Reduced slots and increased spacing
More request control wip.
Override ShouldNetworkOwnerInfo for frankenstein too.
Can now relinquish control of a pet wthout disowning it.
Added relinquish to pet wheel.
Pets load their default AI design when pet control link is cleared.
IsControllingPet() now works client & server.
Only allow harness access/linking when not currently controlling a pet.
▇██▉▌▊▉ ▊▌▌▉▇▆ ▌▅ ▋▌▌▌▅▊▉ ▊▋ ▍▇▄ ▊ ▅▄▋▌▇▉▄▄▆ ▅▄▉ ▊▅▋▊ ▊▉▉▄▇ ▄▉▉▉▋▇▌▌ ▋▉ ▉▉▌█▋▅▋▄ ▋▌▅█▋▋▆▉
fixed client/server compile errors
More distinction between ownership and active control.
Can now clear active control link without disowning a pet.
Map markets get correctly destroyed for uncontrolled but still owned pets.
Dogs get disowned when removing harness.
More cleanup.
wip ownership rework/simplficationa cross pet types
Simplify IPetEntity and refactored related code.
Bunch of refactoring and simplifying for ownership/petbrain related stuff.
Pet inventory can now hold non-harness items.
Drop all items if harness removed.
Only allow owner to access inventory.
animal vs pet target/threat behaviour changes
Increase base health.
Added a player damage multiplier.