| 06-22-2008, 03:35 PM | #1 |
...is impossible, right? Or is there any way (not requiring scripting) I can make two different curse abilities and make both affect the same unit at once? |
| 06-22-2008, 06:22 PM | #2 |
No, if you have two (non-aura) buff abilities based on the same base ability, then they won't stack even if they use different buffs. |
| 06-22-2008, 07:20 PM | #3 |
Does the ABuffSystem provide some way to work around this? |
| 06-22-2008, 07:36 PM | #4 |
You can do pretty much anything with triggered buffs. As long as the effect of the buff is entirely triggered, you can use self-targetting auras to display the buff on the unit instead of using buff spells (custom auras, as long as they use different buffs, stack). It can be a bit of a difficulty only if your stackable spells need a buff spell for their effect (for example, only a curse buff can give a unit a miss chance, there's no passive ability that you could give the unit to achieve the exact same effect, so you have to use the curse spell which doesn't stack). There are ways to get around that too, but they're more complicated. |
| 06-22-2008, 07:59 PM | #5 |
Yeah, I was thinking of making auras (hidden in a disabled spell book) for displaying the buffs. What scares me here is that Warcraft might be incompetent enough to check for nearby units even if the target is only 'self' (well, might not matter much anyway)... Who needs exact effects? :P A curse can be approximated by displaying a red floating text which says "miss!" when the target takes damage. Works for me. That is... does the ABuffSystem allow my scripted curse to interrupt all other onDamage events? |
| 06-22-2008, 11:24 PM | #6 | |||
Quote:
Quote:
Quote:
That's why I was going to implement a shield subsystem into the ABuff system, but that won't be out for a while. With it, the engine would refund damage before calling the ABuff damage event response functions, so by the time those functions were called they would be passed a corrected damage value. However, this would cause only the ABuff functions to treat the damage as prevented, any other damage detection triggers that call GetEventDamage() independantly would be unaware of the damage prevention taking place, as I already described in the previous paragraph. So, in short, what you're asking for can't be done, but the ABuff system will support something similar once I make the next version of it. |
| 06-23-2008, 10:51 AM | #7 | |||
Quote:
That's useful. Quote:
Well, yeah. But curse is approximately equal to evasion imo :P Quote:
Yeah, I understand that. What I wanted is what you described as a "Shield System", where I can block the other events declared in the system. |
