The spell's name is Intervene; this is it's effect -- taken straight from the level description from my map. (Although I edited it for the workshop's formatting):
The Iron Juggernauts aids the targeted allied unit, intervening any enemy attack against them for a duration. Intevened enemies must attack the Iron Juggernaut instead.
Duration:
5/10/15/20/25
Cooldown:
30/25/20/15/10
The trigger works fine except for one particularly irritating problem. As you can see, HIJIntervene_Stacks is the variable that keeps the amount of instances on a single unit (So that it can be casted multiple times on a single unit without overwriting)
The instancing stacks don't even seem to work at all; which is a real bummer -- since if you cast Intervene on an ally three times with the max level of the ability before it's effect expires; you lose those casts. They don't reset the timer.
This is the first time I've really used Tank-Commander's 'MUI Spells Using Artificial Waits' tutorial; and so I'm still getting the hang of it. Any help would be absolutely appreciated!
The Iron Juggernauts aids the targeted allied unit, intervening any enemy attack against them for a duration. Intevened enemies must attack the Iron Juggernaut instead.
Duration:
5/10/15/20/25
Cooldown:
30/25/20/15/10
-
HIJ Intervene Cast
-
Events
-
Unit - A unit Starts the effect of an ability
-
-
Conditions
-
(Ability being cast) Equal to Intervene (Iron Juggernaut)
-
-
Actions
-
Set HIJIntervene_MaxIndex = (HIJIntervene_MaxIndex + 1)
-
Set HIJIntervene_Caster[HIJIntervene_MaxIndex] = (Triggering unit)
-
Set HIJIntervene_CasterSpecific[(Player number of (Owner of (Triggering unit)))] = (Triggering unit)
-
Set HIJIntervene_Target[HIJIntervene_MaxIndex] = (Target unit of ability being cast)
-
Set HIJIntervene_AbilityLevel[HIJIntervene_MaxIndex] = (Level of Intervene (Iron Juggernaut) for (Triggering unit))
-
Set HIJIntervene_Counter[HIJIntervene_MaxIndex] = 0
-
-------- ----- --------
-
-------- Start trigger actions --------
-
-------- ----- --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
HIJIntervene_Stacks[HIJIntervene_MaxIndex] Equal to 0
-
-
Then - Actions
-
Set HIJIntervene_Stacks[HIJIntervene_MaxIndex] = (HIJIntervene_Stacks[HIJIntervene_MaxIndex] + 1)
-
Unit Group - Add HIJIntervene_Target[HIJIntervene_MaxIndex] to HIJIntervene_Group[(Player number of (Owner of HIJIntervene_Caster[HIJIntervene_MaxIndex]))]
-
Unit - Add [SFX] Intervene Effect to HIJIntervene_Target[HIJIntervene_MaxIndex]
-
Floating Text - Create floating text that reads Intervene! above HIJIntervene_Target[HIJIntervene_MaxIndex] with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
-
Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees
-
Floating Text - Change (Last created floating text): Disable permanence
-
Floating Text - Change the lifespan of (Last created floating text) to 1.50 seconds
-
Floating Text - Change the fading age of (Last created floating text) to 0.75 seconds
-
-
Else - Actions
-
Set HIJIntervene_Stacks[HIJIntervene_MaxIndex] = (HIJIntervene_Stacks[HIJIntervene_MaxIndex] + 1)
-
-
-
-------- ----- --------
-
-------- End trigger actions --------
-
-------- ----- --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
HIJIntervene_MaxIndex Equal to 1
-
-
Then - Actions
-
Trigger - Turn on HIJ Intervene Loop <gen>
-
-
Else - Actions
-
-
-
-
HIJ Intervene Loop
-
Events
-
Time - Every 1.00 seconds of game time
-
-
Conditions
-
Actions
-
For each (Integer HIJIntervene_CurrentIndex) from 1 to HIJIntervene_MaxIndex, do (Actions)
-
Loop - Actions
-
Set HIJIntervene_Counter[HIJIntervene_CurrentIndex] = (HIJIntervene_Counter[HIJIntervene_CurrentIndex] + 1)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
HIJIntervene_Counter[HIJIntervene_CurrentIndex] Equal to (5 x HIJIntervene_AbilityLevel[HIJIntervene_CurrentIndex])
-
-
Then - Actions
-
-------- ----- --------
-
-------- Start trigger actions --------
-
-------- ----- --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
HIJIntervene_Stacks[HIJIntervene_CurrentIndex] Equal to 0
-
-
Then - Actions
-
Unit Group - Remove HIJIntervene_Target[HIJIntervene_CurrentIndex] from HIJIntervene_Group[(Player number of (Owner of HIJIntervene_Caster[HIJIntervene_CurrentIndex]))]
-
Unit - Remove [SFX] Intervene Effect from HIJIntervene_Target[HIJIntervene_CurrentIndex]
-
Floating Text - Create floating text that reads Intervene Expires! above HIJIntervene_Target[HIJIntervene_CurrentIndex] with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
-
Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees
-
Floating Text - Change (Last created floating text): Disable permanence
-
Floating Text - Change the lifespan of (Last created floating text) to 1.50 seconds
-
Floating Text - Change the fading age of (Last created floating text) to 0.75 seconds
-
-
Else - Actions
-
Set HIJIntervene_Stacks[HIJIntervene_CurrentIndex] = (HIJIntervene_Stacks[HIJIntervene_MaxIndex] - 1)
-
-
-
-------- ----- --------
-
-------- End trigger actions --------
-
-------- ----- --------
-
Set HIJIntervene_Caster[HIJIntervene_CurrentIndex] = HIJIntervene_Caster[HIJIntervene_MaxIndex]
-
Set HIJIntervene_Target[HIJIntervene_CurrentIndex] = HIJIntervene_Caster[HIJIntervene_MaxIndex]
-
Set HIJIntervene_AbilityLevel[HIJIntervene_CurrentIndex] = HIJIntervene_AbilityLevel[HIJIntervene_MaxIndex]
-
Set HIJIntervene_Counter[HIJIntervene_CurrentIndex] = HIJIntervene_Counter[HIJIntervene_MaxIndex]
-
Set HIJIntervene_Stacks[HIJIntervene_CurrentIndex] = HIJIntervene_Stacks[HIJIntervene_MaxIndex]
-
Set HIJIntervene_MaxIndex = (HIJIntervene_MaxIndex - 1)
-
Set HIJIntervene_CurrentIndex = (HIJIntervene_CurrentIndex - 1)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
HIJIntervene_MaxIndex Equal to 0
-
-
Then - Actions
-
Trigger - Turn off (This trigger)
-
-
Else - Actions
-
-
-
Else - Actions
-
-
-
-
-
The instancing stacks don't even seem to work at all; which is a real bummer -- since if you cast Intervene on an ally three times with the max level of the ability before it's effect expires; you lose those casts. They don't reset the timer.
This is the first time I've really used Tank-Commander's 'MUI Spells Using Artificial Waits' tutorial; and so I'm still getting the hang of it. Any help would be absolutely appreciated!
Last edited: