Soulslike Framework Docs
  • Welcome to Soulslike Framework!
  • Framework Overview
    • About the Framework
    • Features & Systems
    • Before Purchasing
    • Personal Assistance
  • Getting Started
    • Setting up Animations
      • Setup Locomotion Blendspaces
      • Setup Custom Montages
    • Using the Utility Tools
      • Easy Setup Tool
      • Asset Creators
      • Asset Browsers
    • Actor Tags
    • Finding References
  • Workflow
    • Using a Custom Character
    • Creating & Editing Actions
    • Creating & Editing Stats/Attributes
    • Creating & Editing Status Effects
    • Creating & Editing Buffs
    • Creating & Editing Items
      • Creating & Editing Weapons
    • Creating an Enemy
    • Creating Cinematics
  • Animation Notifies
    • Damaging & Combo's
      • Register Attack Notify
      • Weapon Trace Notify
        • AI Weapon Trace Notify
      • Fist Trace Notify
        • AI Fist Trace Notify
      • Area of Effect Damage Notify
      • Spawn Projectile Notify
        • AI Spawn Projectile Notify
    • Defensive
      • Try Guard Notify
      • Hyper Armor Notify
      • Invincibility Frame Notify
    • Feedback
      • Weapon Trail Notify
        • AI Weapon Trail Notify
      • Camera Shake Notify
        • World Camera Shake Notify
      • Launch Field Notify
      • Chaos Field Notify
      • Footstep Notify
    • Miscellaneous
      • Input Buffer Notify
      • Interrupt Montage Notify
      • Camera Sequence Notify
      • Set Movement Mode Notify
      • AI State Notify
      • AI Rotate Towards Target Notify
      • Adjust Stat Notify
  • Components / Managers
    • Player Specific Components
      • Input Buffer
      • Action Manager
      • Combat Manager
      • Interaction Manager
      • Inventory Manager
      • Equipment Manager
      • Ladder Manager
      • Progress Manager
      • Save/Load Manager
      • Radar & Radar Element Components
      • Central Debug Component
    • Shared Components
      • Stat/Attribute Manager
      • Status Effect Manager
      • Weapon Collision Manager
      • Buff Manager
      • Loot Drop Manager
    • AI-Only Components
      • AI Interaction Manager
      • AI Behavior Manager
      • AI Combat Manager
      • AI Boss Manager
  • Extending Functionality
    • Using Motion Warping
    • Custom Saving/Loading
    • Adding New Settings
    • Extending Weapon Animsets
    • Weapon Specific Impact Sounds
    • Resetting Enemies After Resting
Powered by GitBook
On this page

Was this helpful?

  1. Extending Functionality

Resetting Enemies After Resting

PreviousWeapon Specific Impact Sounds

Last updated 2 months ago

Was this helpful?

In Soulslike Framework, there isn't specific functionality for "resetting" enemies after resting. However, it is not difficult to implement such logic. In this page, we'll go over this briefly.

Building a Simple Resetting Logic for Enemies

Head into the Soulslike Enemy (B_Soulslike_Enemy) class, which is the parent for all enemies. Go into the "INITIALIZATION" collapsed graph. Here, we will cache some transform data:

Next, lets begin building an event which will be responsible for resetting Enemy data. Create a new event and name it as you like. You will notice that you do not have some of the methods used in this event below:

Now, we'll create those missing methods that will help us reset the enemy data. Head into AC_AI_CombatManager and go into the "DEATH HANDLING" collapsed graph. Create a new event "Event ResetDeath" and connect it like this to the Do Once node:

Next, head into AC_AI_BehaviorManager and add a new event "Event Reinitialize" to actually reinitialize the behavior component:

That's it! Now you will be able to fully build the Event ResetEnemies. Now, we must ensure that we call this new event we've created when we are resting. To do this, head into the AC_InteractionManager component and go into the "RESTING" collapsed graph. Create a new event which will trigger resetting for all actors of type Soulslike Enemy:

Call this new event wherever you like. For this example, I will call it when we're leaving/exiting resting mode:

Finally, we'll fix an issue inside BTT_GetStrafePoint which causes some null reference errors upon resetting the enemy. Head into the task blueprint and adjust the "SetStrafeLocations" method:

Result: