Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
Unit Group - Pick every unit in SP_Group[SP_Integer[1]] and do (Actions)
Loop - Actions
Set SP_Picked = (Picked unit)
Set TempPoint = (Position of SP_Picked)
Set TempGroup = (Units within 85.00 of TempPoint)
Unit Group - Pick every unit in TempGroup and do (Actions)
Loop - Actions
Set TempPicked = (Picked unit)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(TempPicked is A structure) Equal to False
(TempPicked is in SP_Paralyzed[SP_Integer[1]]) Equal to False
(TempPicked is alive) Equal to True
TempPicked Not equal to SP_Caster[SP_Integer[1]]
(Unit-type of TempPicked) Not equal to DummyId
(TempPicked belongs to an enemy of SP_Player[SP_Integer[1]]) Equal to True
Then - Actions
Unit - Pause TempPicked
Animation - Change TempPicked's animation speed to 0.00% of its original speed
Unit Group - Add TempPicked to SP_Paralyzed[SP_Integer[1]]
Else - Actions
Set TempPicked = No unit
Custom script: call DestroyGroup(udg_TempGroup)
Custom script: call RemoveLocation(udg_TempPoint)
Set SP_Picked = No unit
Unit Group - Pick every unit in SP_Paralyzed[SP_Integer[1]] and do (Actions)
Loop - Actions
Set SP_Temp = (Picked unit)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(SP_Temp is alive) Equal to True
Then - Actions
Unit - Cause SP_Caster[SP_Integer[1]] to damage SP_Temp, dealing SP_CurDPS[SP_Integer[1]] damage of attack type Attack_Type and damage type Damage_Type
Else - Actions
Unit Group - Remove SP_Temp from SP_Paralyzed[SP_Integer[1]]
Animation - Change SP_Temp's animation speed to 100.00% of its original speed
Set SP_Temp = No unit
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Mana of SP_Caster[SP_Integer[1]]) Less than SP_MPS[SP_Level[SP_Integer[1]]]
Then - Actions
Unit - Order SP_Caster[SP_Integer[1]] to Stop
Else - Actions
SP EndCall
Events
Unit - A unit Stops casting an ability
Conditions
(Ability being cast) Equal to AbilityId
Actions
For each (Integer SP_Integer[2]) from 1 to SP_Integer[0], do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
SP_Caster[SP_Integer[2]] Equal to (Triggering unit)
Then - Actions
Unit Group - Pick every unit in SP_Group[SP_Integer[2]] and do (Actions)
Loop - Actions
Set SP_Picked = (Picked unit)
Unit - Remove SP_Picked from the game
Set SP_Picked = No unit
Unit Group - Pick every unit in SP_Paralyzed[SP_Integer[2]] and do (Actions)
Loop - Actions
Set SP_Temp = (Picked unit)
Unit - Unpause SP_Temp
Animation - Change SP_Temp's animation speed to 100.00% of its original speed
Set SP_Angle[SP_Integer[2]] = SP_Angle[SP_Integer[0]]
Set SP_Caster[SP_Integer[2]] = SP_Caster[SP_Integer[0]]
Set SP_DPS[SP_Integer[2]] = SP_DPS[SP_Integer[0]]
Set SP_EndDistance[SP_Integer[2]] = SP_EndDistance[SP_Integer[0]]
Set SP_Group[SP_Integer[2]] = SP_Group[SP_Integer[0]]
Set SP_Group2[SP_Integer[2]] = SP_Group2[SP_Integer[0]]
Set SP_Last[SP_Integer[2]] = SP_Last[SP_Integer[0]]
Set SP_Level[SP_Integer[2]] = SP_Level[SP_Integer[0]]
Set SP_MPS[SP_Integer[2]] = SP_MPS[SP_Integer[0]]
Set SP_Player[SP_Integer[2]] = SP_Player[SP_Integer[0]]
Set SP_Point[SP_Integer[2]] = SP_Point[SP_Integer[0]]
Set SP_StartDistance[SP_Integer[2]] = SP_StartDistance[SP_Integer[0]]
Set SP_Target[SP_Integer[2]] = SP_Target[SP_Integer[0]]
Set SP_Integer[2] = SP_Integer[0]
Set SP_Caster[SP_Integer[0]] = No unit
Set SP_Last[SP_Integer[0]] = No unit
Set SP_Integer[0] = (SP_Integer[0] - 1)
Set SP_Integer[1] = (SP_Integer[1] - 1)
Set SP_Integer[2] = (SP_Integer[2] - 1)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
SP_Integer[0] Equal to 0
Then - Actions
Trigger - Turn off SP Loop <gen>
Else - Actions
Usage:
* Note: Be sure to enable "Automatically create unknown variables while pasting trigger data" on the General tab of your World Editor Preferences.
- Copy the whole Shadow Paralysis folder to your map.
- Configure everything listed in the REQUIRED VARIABLES section.
* v1.0 - initial release
* v1.1 - Reworked the whole code.
* v1.2 - Fixed some leaks on SP Loop Trigger.
* v1.3 - Fixed issues with SP EndCall and is now fully MUI.
* v1.4 - Optimized several variables and also added few configurations.
You store picked unit in a variable above this but you should use it in these conditions.
((Picked unit) is A structure) Equal to False
((Picked unit) is in SP_Paralyzed[SP_Integer[1]]) Equal to False
((Picked unit) is alive) Equal to True
(Picked unit) Not equal to SP_Caster[SP_Integer[1]]
(Unit-type of (Picked unit)) Not equal to DummyId
((Picked unit) belongs to an enemy of (Owner of SP_Caster[SP_Integer[1]])) Equal to True
This should be in your de-indexing code.
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
SP_Integer[0] Equal to 0
Then - Actions
Trigger - Turn off (This trigger)
Else - Actions
You should include a changelog so people know what you fixed.
Never rename a version from 1.0 to 1.0[reworked] What is your next version ? 1.0[reworked again] ?
Just name it v1.1
Thanks for noticing, I forgot to store that one...
I'll fix it right away.
You should include a changelog so people know what you fixed.
Never rename a version from 1.0 to 1.0[reworked] What is your next version ? 1.0[reworked again] ?
Just name it v1.1
-Set SP_Group[SP_Integer[0]] = (Random 0 units from (Units in (Playable map area)))
^That is an unnecessarily heavy action and created leaks that are unavoidable with GUI. Use
Custom script : Set udg_SP_Group[udg_SP_Integer[0]] = CreateGroup()
-Set SP_Group[SP_Integer[0]] = (Random 0 units from (Units in (Playable map area)))
^That is an unnecessarily heavy action and created leaks that are unavoidable with GUI. Use
Custom script : Set udg_SP_Group[udg_SP_Integer[0]] = CreateGroup()
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.