JASS:
I used bribe's damage detection for this... basically what im trying to do is create a ministun over time in the shape of breathe of fire.
-
Set Damage Copy
-

Events
-


Game - DamageModifierEvent becomes Equal to 1.00
-
-

Conditions
-


DamageEventOverride Equal to False
-
-

Actions
-


Unit Group - Pick every unit in (Units in (Playable map area)) and do (Actions)
-



Loop - Actions
-




If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-





If - Conditions
-






((Triggering unit) Equal to (Random unit from g)) and ((Triggering unit) Equal to DamageEventTarget)
-
-





Then - Actions
-






Set Point = (Position of (Triggering unit))
-






Set TriggCheck = (TriggCheck + 1)
-






Set DamageEventAmount = (DamageEventAmount - DamageEventAmount)
-






Unit - Create 1 Dummy for (Owner of DamageEventSource) at Point facing (Position of (Triggering unit))
-






Set DummyTemp = (Last created unit)
-






Wait until ((DummyTemp is alive) Equal to True), checking every 0.10 seconds
-






Unit - Add Dummy Storm Bolt to DummyTemp
-






Unit - Add a 2.00 second Generic expiration timer to (Triggering unit)
-






Custom script: call RemoveLocation (udg_Point)
-
-





Else - Actions
-
-
-
-


For each (Integer A) from 1 to 60, do (Set timer = (timer + 1))
-


Wait until (timer Equal to 60), checking every 1.00 seconds
-


Set timer = 0
-


Unit Group - Pick every unit in (Units in (Playable map area)) and do (Actions)
-



Loop - Actions
-




If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-





If - Conditions
-






((Triggering unit) Equal to (Random unit from g)) and ((Triggering unit) Equal to DamageEventTarget)
-
-





Then - Actions
-






Set Point = (Position of (Triggering unit))
-






Set TriggCheck = (TriggCheck + 1)
-






Unit - Create 1 Dummy for (Owner of DamageEventSource) at Point facing (Position of (Triggering unit))
-






Set DummyTemp = (Last created unit)
-






Wait until ((DummyTemp is alive) Equal to True), checking every 0.10 seconds
-






Unit - Add Dummy Storm Bolt to DummyTemp
-






Custom script: call RemoveLocation (udg_Point)
-






Unit - Add a 2.00 second Generic expiration timer to (Triggering unit)
-
-





Else - Actions
-
-
-
-


For each (Integer A) from 1 to 60, do (Set timer = (timer + 1))
-


Wait until (timer Equal to 60), checking every 1.00 seconds
-


Set timer = 0
-


Unit Group - Pick every unit in (Units in (Playable map area)) and do (Actions)
-



Loop - Actions
-




If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-





If - Conditions
-






((Triggering unit) Equal to (Random unit from g)) and ((Triggering unit) Equal to DamageEventTarget)
-
-





Then - Actions
-






Set Point = (Position of (Triggering unit))
-






Set TriggCheck = (TriggCheck + 1)
-






Unit - Create 1 Dummy for (Owner of DamageEventSource) at Point facing (Position of (Triggering unit))
-






Set DummyTemp = (Last created unit)
-






Wait until ((DummyTemp is alive) Equal to True), checking every 0.10 seconds
-






Unit - Add Dummy Storm Bolt to DummyTemp
-






Custom script: call RemoveLocation (udg_Point)
-






Unit - Add a 2.00 second Generic expiration timer to (Triggering unit)
-
-





Else - Actions
-
-
-
-


For each (Integer A) from 1 to 60, do (Set timer = (timer + 1))
-


Wait until (timer Equal to 60), checking every 1.00 seconds
-


Set timer = 0
-


Custom script: call DestroyGroup (udg_g)
-
-
-
Setup
-

Events
-


Unit - A unit Starts the effect of an ability
-
-

Conditions
-


(Ability being cast) Equal to Breath of Gloom (Neutral Hostile)
-
-

Actions
-


Unit Group - Pick every unit in (Units owned by (Triggering player)) and do (Actions)
-



Loop - Actions
-




Unit Group - Add (Triggering unit) to g
-
-
-
-
