I'm making a map inspired by Zombie World: Unity. In that game, they have a bug where if you get any buffs that increase energy regen by a % amount, it will cause any abilities that drain energy to actually drain faster rather than slower.
Well, I have discovered why after encountering the same issue. Let's use random numbers to display the issue.
Energy Regeneration Rate: +3/sec
Cloak Energy Regeneration Rate: -4/sec
Total Regen While Cloaking: -1/sec
But, now let's say you get a buff that gives you 100% (2x) more energy regeneration.
Energy Regeneration Rate: +6/sec
Cloak Energy Regeneration Rate: -4/sec
Total EXPECTED Regen While Cloaking: +2/sec
Total ACTUAL Regen While Cloaking: -2/sec
Why? Because the % increase is happening AFTER the flat decrease. So, it's 2*(3-4), not (2*3)-4.
Is there any workaround for this? I have to use Buffs due to the nature of the game (upgrades for energy regen, several buffs for energy regen, etc.), but what can I do about Cloak? If nothing else, I could use triggers to constantly drain energy manually, but I'd like to see if there is a Data-method for doing this first. Basically, I just want Cloak (and similar energy-draining abilities) to always be evaluated after other behaviors. Is there any way to control the Execution Order of Behaviors?
I made a workaround (see below; make cloak drain 0 energy and then simulate it with a trigger), but it causes the unit's energy display to constantly flicker between numbers. If I change the time and amount (to keep the ratio of -8/sec), it will behave differently (for whatever reason?).
I'd still like to know if there's a way to do this properly with behaviors.
Hi, all.
I'm making a map inspired by Zombie World: Unity. In that game, they have a bug where if you get any buffs that increase energy regen by a % amount, it will cause any abilities that drain energy to actually drain faster rather than slower.
Well, I have discovered why after encountering the same issue. Let's use random numbers to display the issue.
Energy Regeneration Rate: +3/sec
Cloak Energy Regeneration Rate: -4/sec
Total Regen While Cloaking: -1/sec
But, now let's say you get a buff that gives you 100% (2x) more energy regeneration.
Energy Regeneration Rate: +6/sec
Cloak Energy Regeneration Rate: -4/sec
Total EXPECTED Regen While Cloaking: +2/sec
Total ACTUAL Regen While Cloaking: -2/sec
Why? Because the % increase is happening AFTER the flat decrease. So, it's 2*(3-4), not (2*3)-4.
Is there any workaround for this? I have to use Buffs due to the nature of the game (upgrades for energy regen, several buffs for energy regen, etc.), but what can I do about Cloak? If nothing else, I could use triggers to constantly drain energy manually, but I'd like to see if there is a Data-method for doing this first. Basically, I just want Cloak (and similar energy-draining abilities) to always be evaluated after other behaviors. Is there any way to control the Execution Order of Behaviors?
Thanks.
I made a workaround (see below; make cloak drain 0 energy and then simulate it with a trigger), but it causes the unit's energy display to constantly flicker between numbers. If I change the time and amount (to keep the ratio of -8/sec), it will behave differently (for whatever reason?).
I'd still like to know if there's a way to do this properly with behaviors.