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
  • Using the Utility Tools to Create & Edit Status Effects
  • Advanced: Creating Custom Trigger Behavior

Was this helpful?

  1. Workflow

Creating & Editing Buffs

PreviousCreating & Editing Status EffectsNextCreating & Editing Items

Last updated 3 months ago

Was this helpful?

Using the Utility Tools to Create & Edit Status Effects

  1. Run the Soulslike Status Effect Creator from the Soulslike Framework editor dropdown or head into /SoulslikeFramework/_Utility/Creators and right-click and Run Utility Widget -> EUW_StatusEffectCreator:

  1. Fill in the details as you desire:

  1. On the Ranks dropdown, you might notice something different. The RelevantData property is of type FInstancedStruct. This property can be used to send in any type of data to the Status Effect logic class. Search for "FStatus" to see Status Effect related structs provided by the framework:

  1. For this example, lets use FStatusEffectStatChanges to just adjust some stats when this status effect is triggered. We'll adjust FP & Stamina:

  1. Finalize by clicking Create Status Effect.

  2. To test your new Status Effect, put one of the actors B_StatusEffectArea or B_StatusEffectOneShot into your level. Configure its StatusEffectToApply & Effect Rank properties:

  1. You will notice the new Status Effect build up when overlapping this actor:

  1. And when Buildup reaches 100%, your Status Effect will be triggered:

Advanced: Creating Custom Trigger Behavior

If you want a unique trigger behavior for a Status Effect , you can easily override the EffectTriggered function inside your new Status Effect logic class and customize it.

DA_StatusEffect_Frostbite is an example Status Effect that has custom behavior. When triggered, it will reduce stamina and decrease the player's movement speed. You can also inspect this Status Effect to get an idea on how to implement your own custom logic.

  1. Start by creating a new Struct and add in properties that you will be relevant for your effect. In this example, we will make our new Plague status effect adjust the stats of the player AND reduce the scale of the player. For this, we will add 3 properties to our struct:

    1. FStatusEffectStatChanges (Stat Changes)

    2. Float (New Scale)

    3. Float (Duration)

  1. Run the Soulslike Status Effect Browser from the Soulslike Framework editor dropdown or head into /SoulslikeFramework/_Utility/Browsers and right-click and Run Utility Widget -> EUW_StatusEffectBrowser.

  1. Find our new Status Effect and adjust its RelevantData property to use our new Struct:

  1. Click on Open Logic to open the class blueprint. Override the EffectTriggered method and start writing your logic. You can take a look at the parent Status Effect Object class and/or the Frostbite Status Effect for reference.

The example above will:

  • Adjust all provided Stats negatively

  • Set the Owner (player character)'s scale to the desired value, and after the duration, reset it back to 1.0f.

IMPORTANT: Overriding the EffectTriggered method means that you lose access to the parent trigger functionality. This means that if you create a new Rank with a different RelevantData type, it will not execute unless you're specifically handling that data type.

You can Add Call to Parent but this might result in unwanted behavior.

An acceptable way of doing this would be through copying some of the EffectTriggered logic from the parent Status Effect Object class to your new Status Effect class.