- Joined
- Mar 27, 2012
- Messages
- 3,232
I've been thinking a lot about doing my own way of applying buffs and their effects.
Why?
*Greater control over how the buffs work
*Custom stats
*The possibility to make each spell have different "strength". Imagine a slow that slows the target by a squareroot of your intelligence*5%
*Making the strength of buffs relative to some custom stats you have(slow resistance, etc)
However, I'm not entirely sure how to do it all.
Basically the functionality that I'm having trouble with is attaching effects to buffs.
I wish I could do something like:
30 meaning 30 points. Which on normal units would give a 30% slow.
The effect would also have to disable once the buff disappears for ANY reason.
How should I store the buff effects? I think I pretty much need a "buff indexer" for that, which is definitely NOT what I want to make. That would be a huge pain.
How do I check if a buff has worn off, when there can be hundreds of buffed units? Do I have to constantly loop through them all? If I loop fast, then it can cause lag. If I loop slow, then it will be, well, slow.
Why?
*Greater control over how the buffs work
*Custom stats
*The possibility to make each spell have different "strength". Imagine a slow that slows the target by a squareroot of your intelligence*5%
*Making the strength of buffs relative to some custom stats you have(slow resistance, etc)
However, I'm not entirely sure how to do it all.
Basically the functionality that I'm having trouble with is attaching effects to buffs.
I wish I could do something like:
JASS:
call AddBuffEffect(u,SLOW,30,'B000')
call AddBuffEffect(unit,type,amount,buff)
The effect would also have to disable once the buff disappears for ANY reason.
How should I store the buff effects? I think I pretty much need a "buff indexer" for that, which is definitely NOT what I want to make. That would be a huge pain.
How do I check if a buff has worn off, when there can be hundreds of buffed units? Do I have to constantly loop through them all? If I loop fast, then it can cause lag. If I loop slow, then it will be, well, slow.
Last edited: