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
-
-
-
-