Modifiers
n00dBuffs comes equipped with a modifier system that can control various aspects of your game based on the buff that was applied; from increasing or decreasing speed, to applying a visual overlay, modifiers provide an agnostic way for your buffs to add a level of detail to your gameplay mechanics.
Speed Reduction Example
The Core buff type has some generic functions to handle common implementations such as modifying the character speed. Let's use that in this example
Create a child of BP_N00dBuffType and name it BP_FatiguePoison
Move it into the n00dBuffsExample folder
Open it and override Apply
Call SetCharacterWalkSpeed with a multiplier of 0.9
Create a float parameter called OriginalWalkSpeed to reapply on destroy
Every time a buff is removed (debuff) and there is a stack count greater than 0, RemoveFromStack is called
When this buff has none left in the stack, Destroy is called. This is where we will call SetCharacterWalkSpeed with our original walk speed