The character overhaul begins!!!
Pretty much every line here will be in reference to the BP AI Parent unless otherwise stated
Removed the references to the debug faction component
Removed the references to the old HUD
Removed Level Streaming Check function, we don’t use world partition anymore so we dont need it anymore.
Collapsed a section of the graph dealing with facial animations to a new function called SetupNPCHeadAnim for the sake of readability
Removed the references to the Physical Animation Component, we disabled it a bit ago because of performance concerns.
Removed the Set Physical Animation Graph.
Added an event called UpdateQuiverMesh to allow us to change the quiver mesh, right now only one quiver mesh is ever used, theoretically if an NPC changed arrows during combat we would need this.
Added a Has Ammo Boolean variable to the BTGS_InventoryComponent we already have a function for this, but it requires us to search through the entire inventory which is costly so this is more of a cached value.
Added an item validation check and IsMarksman check into the choose best weapon function for better event graph readability.
Moved the Choose Best Arrow function to after choose best weapon no reason to run a loop to check for arrows if we arent even choosing a bow.
Added an item validation check to the ChooseBestShield function.
Finally Removed the entire patrol system, it wasnt really doing much as there was never a reference to a patrol blueprint. We dont do patrolling AI, Synapse AI will take over all those functions anyway.
Fixed a bug in combat execution that a previous optimization broke. Basically we were calling the interface event for begin attack on the wrong component.
Removed the player valid check timer it wasn’t doing much anymore and we have much better player proximity optimization now anyway.
Removed refs and setup function for the original stats widget
Moved the Weapon range calculations into a new event for better readability and an eventual plan to move it to a different component.
Removed Ref to the Physical animation component inside of the Resource component
Removed Ref to the Physical animation component inside of the Taking Damage component
Added an interface event called GetIsStunned_OnInterface to the BTGS Interface so we can pass that value around instead of relying on a hard ref to the melee component.
Added an interface event called GetIsMidDraw_OnInterface to the BTGS Interface so we can pass that value around instead of relying on a hard ref to the combat status component.
Got the the old temp non combat AI Integrated into the main behavior tree
Added an interface event called ToggleHealthWidget_OnInterface to the BTGS Interface so we turn the health UI on and off via a Service on the behavior tree.
Completely removed the old AI activation system, we now handle whether or not the NPC is in combat between the behavior tree and the AI controller.
Many many other changes inside the BP Ai Parent… the code is so much cleaner and more efficient.