How to add modifier that will change status value by multiplication.

For example I have a move speed = 100.
I add 2 modifiers -50%.
I want the result to be 25 = 100 * (1-0.5) * (1- 0.5).
But currently if I add 2 percent bonuses -50% the value becomes 0 = 100 * ( 1 + - 0.5 + -0.5).

So how do I do multiplicative modifiers?
Post edited by TextusGames on
  • All percent modifiers are combined before they're applied, so the result you're seeing is the way the system (currently) works.
    Please consider rating/reviewing my products on the Asset Store (hopefully positively), as that helps tremendously with getting found.
    If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
  • edited April 2021
    I need modifiers that will be combined multiplicatively (with each other and with other modifiers)
    (they need to be applied as last group).

    Example one:
    Player has debuff (slow) -50% speed;
    And player is in mud (also -50% speed);
    A would like player to still be able to move with 25% speed (achieavable with multiplicative modifiers).
    But with current system player will stuck at place (speed = 0). (this is not desirable).

    Eaxample two:
    Player has 50 base max health;
    Player has 10 items equiped.
    Which all adds +100% max health.

    current max health = 500 = 50 * (100 + 100 +100 +100 +100 +100 + 100 +100 +100 +100) /100

    I need a buff that increases a max health by exactly +50% (independently from already added +X% modifiers)

    buffed max health = 500 * 1.5 = 750;

    but currently if I add +50% modifier it will give me only a small increase (5% instead of intended 50%).

    new base health = 525 = 50 * 1050/100;
    (worse of all the real increase is not known it depends on already added modifiers)

    I do not know how to solve this problems without multiplicative modifiers.

    @gamingislove Could you add multiplicative modifiers?
    (Or how can I solve this problems otherwise?)



    Post edited by TextusGames on
  • One way to solve this is mark desired stat as combined and calculate it by formula.
    You than can create some several stats called multipliers.
    And in formula u just multiply stat value by whose multipliers.

    But this will need to be dome for each stat you need multiplicative change. And if you need many separate multipliers you will need to create new stat and implement it in formula.

    It is still a working solution.
    But multiplicative modifiers would be easier to use.
  • I'll look into adding support for this.
    Please consider rating/reviewing my products on the Asset Store (hopefully positively), as that helps tremendously with getting found.
    If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
  • Thank you.
  • Combined Value is always a good idea I think.
    For most of my stats I have

    Final Stat (Combined Value) = ((BaseStat + StatBonus)*StatMultiplier)/StatPenalty)*GlobalStatMutltiplier

    Optionally some stats are also given level bonus + (Level*StatLvlMultiplier)

    I also created a custom formula node that lets me easily turn percent multipliers into 0-1 value multipliers so I don't have to divide by 100 all the time.

    GlobalStatMutltiplier is also very useful if you want to bump up all the damage, all tone down all the health, etc.
  • Next update will add a Multiply setting to percent status value bonuses to support this.
    Please consider rating/reviewing my products on the Asset Store (hopefully positively), as that helps tremendously with getting found.
    If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
  • @gamingislove
    It was a quest for me to find multiply setting in 2.33 :)
    But I found it.)
    Just tested this and it works as expected.
    I added several effects with multiplicative and additive percent modifiers. In different combinations several times and final value was consistent.
    Good Job.
    Thanks for adding that ability it is a good addition.
Sign In or Register to comment.