- Joined
- Dec 12, 2008
- Messages
- 7,385
I'm writing a system that allows you to slow units given any percentage, and any duration,
but I'm facing several problems;
First, I thought that I could go about adding aura abilities with negative movement speed
bonuses to a unit (I'll make sure those auras are based on different abilities (One ability for
-1% movespeed, another for -2%, -4%, -8, -16, -32, and -64) so that they could stack),
but then I realized that the Warcraft III engine handles these auras with a low-frequency
timer, so I scrapped that idea.
Second, I thought I could simply cast slow abilities on units, but those don't stack!
I'd have to have 100 different abilities for percentages between 1 and 100, which
isn't worth it at all.
My only other option is to use one of those Movement speed libraries, but that
would force the mapmaker to use custom movement speeds with that library
for every unit! (Registry and shit)
What else can I do?
I can always write a system that only supports slows if the percentage is a multiple
of 5 (Not bad), but I want to know if there's another method for this.
but I'm facing several problems;
First, I thought that I could go about adding aura abilities with negative movement speed
bonuses to a unit (I'll make sure those auras are based on different abilities (One ability for
-1% movespeed, another for -2%, -4%, -8, -16, -32, and -64) so that they could stack),
but then I realized that the Warcraft III engine handles these auras with a low-frequency
timer, so I scrapped that idea.
Second, I thought I could simply cast slow abilities on units, but those don't stack!
I'd have to have 100 different abilities for percentages between 1 and 100, which
isn't worth it at all.
My only other option is to use one of those Movement speed libraries, but that
would force the mapmaker to use custom movement speeds with that library
for every unit! (Registry and shit)
What else can I do?
I can always write a system that only supports slows if the percentage is a multiple
of 5 (Not bad), but I want to know if there's another method for this.