Optimizations and bug Fixes!

Started the process of optimizing a bunch of the files related to our VFX files a significant point of performance issues for us.

Fixed a bug in the scaling of our crowd actors

Removed the old code and cleaned up the code for reducing magic in the magic component.

Added a loop to destroy all the components in the character when they die instead of having them all plugged into one destroy so we can do an is valid check.

There was a bug where spells that hit anything would give experience and attempt to do damage or effects to it.

Fixed a bug in checking for offhand weapons in the melee component.

Added a validated get for the magic component inside the bp ability parent before reducing magic.

Fixed a bug where spell would never go away if you dropped a charged wand

Fixed a null ref when trying to destroy a slowly cast spell in the player character

Fixed a bug where spawned wand spells would be destroyed if you dropped the wand

Added a lifespan of 30 seconds spells spawned from wands

Fixed a bug where spells hitting weapons wouldnt actually damage the one holding it, this was originally designed this way, but it just isnt fun and looks like a bug to users.

Fixed bug where we would try to stop magic charge on interface on an invalid spell

Added a delay and do once to the crowd sound triggers to make sure we werent just playing a bunch of sounds over each other.

Fixed a bug in the endless NPC spawner where hair would spawn with helmets

Added a function to the BP AI Parent to check if an npc has a backup weapon, this returns a boolean for melee or ranged, purpose is to have a check inside the behavior tree so we can try to switch weapons to melee if player is too close or marksman if they are too far away.

Added an interface event to the BTGS AI Interface called Does NPC Have Backup Weapons this returns a cached value from the previously implemented function to check the same. This cached value is updated every time the character is spawned or reevaluates their weapons

Added a function to the BTGS AI Interface to return whether or not we are currently revaluating the npcs weapon

The NPCs now have a chance to switch to Melee weapons if they have one and you get close to them while they are in ranged combat mode.

Added a cooldown for how often hit reactions can play it was possible for the player to basically permanently stun lock the NPC making things way too easy.

Removed the ref to the old HUD from all the creatures

Removed the old Attack Group checking code from the AI controller, we no longer use attack groups

Removed the old attack group setting code from the AI controller.

Fixed a missing weapon socket on the base skeleton

Fixed a bug inadvertently created earlier when i fixed the null off hand weapon issue in the melee component. Becuase of the new execution flow we were never unsetting the IsAttemptingShieldBash Boolean leading to npcs playing the wrong attack animations and not actually doing any damage.

Added an interface event for DoesPlayHaveSpawnedSpell? I’m sure this’ll come in handy in a bunch of places later, but right now i need it to let the NPC know if a player is using magic as of right now they only understand if the player is holding a melee or ranged weapon.

Added an interface event for GetPlayerSpawnedSpells Returns the left or right spawned spell.

Added the check for magic in the EnemyIsRangedOrMagic function inside the setting ai behavior service.

Adjusted the distance that is considered valid for an npc to be from the player before attacking with a melee weapon they were far too close before. Current calculation is 80 percent of weapon length plus the length of a metahuman arm which is around 90cm I believe.

Fixed a null reference in the top and bottom blocking code for spawning particle effects that would happen if the NPCs shield broke during combat.

Shortened the distance an npc could be from the player when using hand to hand weapons

Fixed a bug in the melee component where we tried to get the world location of a component that didnt exist.

NPCs now have a chance to switch to a ranged weapon if they have one and you get too far from them while they are in melee combat mode.

NPCs now have a chance to switch to a melee weapon if they have one and you get too close to them while they are in magic combat mode.

Next
Next

The combat polishing begins!