Impossible.
Or, well. Impossible to do flawlessly.
You can filter out physical damage in the new DDSs, so if you got no abilities with physical damage that would work.
Though some units basic attacks do magic damage so that would not work either.
I'd advice against trying to do this.
If you trigger the AoE ability, you can make it so that your other ability that uses damage detection ignores triggered damage.
function UnitDamageTargetTagged takes unit source, widget target, real damage, ..., integer tag returns nothing
local integer temp = udg_damageTag
set udg_damageTag = tag
call UnitDamageTarget( source, target, damage, ... )
set udg_damageTag = temp
endfunction
If the damage is triggered then you can tag it however you like, so yes you can make your other spell ignore triggered damage from this spell but not triggered damage from other spells. To tag a damage packet, we usually set a global variable to some value before dealing damage and then set it back to its previous value after dealing damage. Something like this:
JASS:function UnitDamageTargetTagged takes unit source, widget target, real damage, ..., integer tag returns nothing local integer temp = udg_damageTag set udg_damageTag = tag call UnitDamageTarget( source, target, damage, ... ) set udg_damageTag = temp endfunction
Though some units basic attacks do magic damage so that would not work either.
I'd advice against trying to do this.
What does your trigger currently look like with the normal damage detection? I can show you how to make it use Damage Engine with spell damage disregarded.
And how does one implement this? Also disabling the trigger wouldn't work since what if another player has the passive too? Then while the other is using the ability he won't get any triggers from the passive![]()
Yeah... NO
This will disable the trigger for like 0.000001 seconds (maybe few more 0s).
I can't really imagine anyone needing the passive in that exact moment.
To install Damage Engine, I have included a video on the same page where you can download it from. It is found in the "how to install" section: http://www.hiveworkshop.com/forums/spells-569/gui-damage-engine-v3-6-0-1-a-201016/
Flames lvl 1
Events
Game - DamageEvent becomes Equal to 1.00
Conditions
IsDamageSpell Equal to False
(DamageEventTarget belongs to an enemy of (Owner of DamageEventSource)) Equal to True
(DamageEventSource has buff Flames of Azzinoth (level 1)) Equal to True
(Unit-type of DamageEventSource) Equal to Doom Lord
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Random integer number between 1 and 11) Equal to 1
Then - Actions
Set FlameLoc = (Position of DamageEventTarget)
Unit - Create 1 Flames of Azzinoth (Level 1) for (Owner of DamageEventSource) at FlameLoc facing Default building facing degrees
Unit - Add a 30.00 second Generic expiration timer to (Last created unit)
Custom script: call RemoveLocation(udg_FlameLoc)
Else - Actions
Also, in the future when you want to share triggers: http://www.hiveworkshop.com/forums/miscellaneous-tutorials-456/how-easily-post-triggers-163285/
If you read what I said earlier you'd know that the AOE you place down is active for about 20 seconds so that's why i said that..
Well, you have your problem solved, but just so you know for the future, you could do it like this too:
loop actions:
turn off trigger
deal damage
turn on trigger
wait 1.00 seconds
This way the trigger wouldn't be off for the full durations![]()