• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

[General] Buff Inquiries

Status
Not open for further replies.
Level 3
Joined
Apr 21, 2009
Messages
42
Hi,

1) How the game know if the buff is negative or positive? According to http://classic.battle.net/war3/basics/spellbasics.shtml "Abolish magic automatically removes positive buffs from enemy units, and negative buffs from friendly units when in autocast mode. If you use the spell manually it will remove all buffs. Spell Breaker's Spell Steal removes positive buffs from enemy and negative buffs from friendly units. All other Dispels remove all buffs from their targets. "
-- What I want is even i cast it manually, the skill would only dispel either a positive or negative, depending on the custom skill I would create

2) How can you remove Magic Immunity from Avatar buff?

3) Is there any way to check if a certain unit lost its buff aside from checking 1 second? Because I think it may cause a lag on the game

4) Aside from Doom buff, is there any buff or way to make the buff "undispellable"?



Thanks for all the answers!
 
Level 18
Joined
Sep 14, 2012
Messages
3,413
1) I think some buff get positive or negative by their usage : if the buff is originally a negative buff, if you create another based on it, it will be a negative buff.

2) I don't know if it's possible :/
Anyway i used Metamorphosis for a case like this .

3) Check every 0.03 second it's way better. To check a buff in GUI just do this :
  • Buff
    • Events
      • Time - Every 0.03 seconds of game time
    • Conditions
      • ( -Your unit- has buff -Your buff-) Equal to True
    • Actions
      • Unit - Do some stuff
4) If you wan't a buff to never be dispelled make a trigger checking if the unit got the buff and if not just add it.
 
Level 3
Joined
Apr 21, 2009
Messages
42
1) I think some buff get positive or negative by their usage : if the buff is originally a negative buff, if you create another based on it, it will be a negative buff.
-- but if i want to create a skill that would only remove a +/- buff, manually clicking it to a target unit removes all buffs on the target unit, won't it? Well haven't tested it, but this is the theory based on the link above.

2) I don't know if it's possible :/
Anyway i used Metamorphosis for a case like this .
-- There's a Data Row there that states as "Magic Reduction" and default value is 0. This could be the answer.
-- Metamorphosis doesn't add damage though.

3) Check every 0.03 second it's way better. To check a buff in GUI just do this :
  • Buff
    • Events
      • Time - Every 0.03 seconds of game time
    • Conditions
      • ( -Your unit- has buff -Your buff-) Equal to True
    • Actions
      • Unit - Do some stuff
-- I just set it to 0.01 to make a certain event really timed very precisely when the buff is over

4) If you wan't a buff to never be dispelled make a trigger checking if the unit got the buff and if not just add it.
-- Hmmm, not sure how to do this though since I got a lot of custom dispelling abilities. Well if this is really the only way then I have no choice but check them 1by1. Problem is when I remove-then-add the buff again if it was debuff, then the timer for that buff would restart... well unless extensive timer based check is used, this is possible.
 
Level 18
Joined
Sep 14, 2012
Messages
3,413
For the one it's preset on every war3 abilities/buff, infact when you use the healing spray to deal damage you need to set negative values. You have to set the buff in object editor.

Metamorphosis can do better than add damage it change the unit and the changed unit can have better damage/armor/ect...

I really suggest to use 0.03 it has been prove that it's the best.
 
Level 3
Joined
Apr 21, 2009
Messages
42
For the one it's preset on every war3 abilities/buff, infact when you use the healing spray to deal damage you need to set negative values. You have to set the buff in object editor.
-- Won't this causes the game to be confuse much more? Since the ability/buff itself is + but the effect is negative. As an example is the purge, it does +/- depending who's the target

Metamorphosis can do better than add damage it change the unit and the changed unit can have better damage/armor/ect...
-- I totally agree, it just that the +damage to be added to the hero would be constant +200 to the current base damage of the caster
 
Level 18
Joined
Sep 14, 2012
Messages
3,413
-- Won't this causes the game to be confuse much more? Since the ability/buff itself is + but the effect is negative. As an example is the purge, it does +/- depending who's the target


-- I totally agree, it just that the +damage to be added to the hero would be constant +200 to the current base damage of the caster

For the buff it's like constants.

For the constant damage just use spellbook !
 
Level 3
Joined
Apr 21, 2009
Messages
42
1. Use Searing Arrows as base ability then trigger it with a Dummy caster using Spell Steal.
3. Use Unit Indexer and 0.03 Periodic Event.

Got 1. Fixed, thanks!
3. Unit Indexer engine? Ok, I'll try that


Btw, Is there a way to turn on/off Windwalk/Divine Shield? I already change game constants to TRUE and change the settings on the object editor but still won't turn on/off
 
Level 3
Joined
Apr 21, 2009
Messages
42
Use some damage system, I think a good one is by rulerofiron, then use dummy to cast Invisibility and base the spell on Immolation so you can toggle it.

I got the windwalk trigger working. i thought it can be done w/o triggers.

So how about #2?



Btw, I'm just gonna add this on this particular thread, you might know the answer

When a unit has been struck by a poison buff w/ an attack/skill when does the time reset? For example: The unit has been hit by Envenomed Weapons, we know that the damage is done per second. What if on 1.8second the unit has been again by poison sting, does that mean the timer would reset to 0sec instead of continuing to 2 seconds dealing the 2nd poison damage? Causing the poison damage to be delayed (since it's going to be re-timed) ... making the first poison damage of the Envenomed Weapons deal only once... or even...no poison damage at all ?
 
Status
Not open for further replies.
Top