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!
Environment - Create a 0.20 second Temporary crater deformation at Point with radius 225.00 and depth 64.00
Animation - Change FCUnit[Integr]'s animation speed to 100.00% of its original speed
Set Group = (Units within 225.00 of Point matching (((Matching unit) belongs to an enemy of (Owner of FCUnit[Integr])) Equal to True))
Set Group2 = (Units within 225.00 of Point matching (((Matching unit) is A flying unit) Equal to True))
Unit Group - Remove all units of Group2 from Group
Unit Group - Pick every unit in Group and do (Actions)
Loop - Actions
Unit - Cause FCUnit[Integr] to damage (Picked unit), dealing FCDamage[Integr] damage of attack type Spells and damage type Normal
Custom script: call RemoveLocation(udg_Point)
Custom script: call RemoveRect(udg_Region)
Custom script: call DestroyGroup(udg_Group)
Custom script: call DestroyGroup(udg_Group2)
Else - Actions
Else - Actions
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
FCInstancesRunning Less than or equal to 0
Then - Actions
Trigger - Turn off (This trigger)
Set FCIndex = 0
Else - Actions
PSF Cast
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to AAA Parasitic Shadowfiend
Actions
Set PSFInstancesRunning = (PSFInstancesRunning + 1)
Set PSFIndex = (PSFIndex + 1)
Set PSFOwner[PSFIndex] = (Triggering unit)
Set PSFTarget[PSFIndex] = (Target unit of ability being cast)
Set PSFDmg[PSFIndex] = ((Real((Level of AAA Parasitic Shadowfiend for (Triggering unit)))) x 5.00)
Set Integer = ((Level of AAA Parasitic Shadowfiend for (Triggering unit)) x 3)
Set PSFCharges[PSFIndex] = (18 - Integer)
Set PSFNumberofSpawns[PSFIndex] = (Level of AAA Parasitic Shadowfiend for (Triggering unit))
Trigger - Turn on PSF Loop 1 sec <gen>
PSF Loop 1 sec
Events
Time - Every 1.00 seconds of game time
Conditions
Actions
For each (Integer Integer) from 0 to PSFIndex, do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
PSFCharges[Integer] Greater than 0
Then - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(PSFTarget[Integer] is alive) Equal to True
Then - Actions
Set PSFCharges[Integer] = (PSFCharges[Integer] - 1)
Unit - Cause PSFOwner[Integer] to damage PSFTarget[Integer], dealing PSFDmg[Integer] damage of attack type Spells and damage type Normal
Special Effect - Create a special effect attached to the chest of PSFTarget[Integer] using Abilities\Spells\Undead\DeathandDecay\DeathandDecayDamage.mdl
Special Effect - Destroy (Last created special effect)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
PSFCharges[Integer] Equal to 0
Then - Actions
Set PSFInstancesRunning = (PSFInstancesRunning - 1)
Set Point = (Position of PSFTarget[Integer])
Unit - Create PSFNumberofSpawns[Integer] Parasitic Shadowfiend for (Owner of PSFOwner[Integer]) at Point facing Point
Custom script: call RemoveLocation(udg_Point)
Else - Actions
Else - Actions
Set PSFCharges[Integer] = 0
Set PSFInstancesRunning = (PSFInstancesRunning - 1)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
PSFInstancesRunning Less than or equal to 0
Then - Actions
Trigger - Turn off (This trigger)
Set PSFIndex = 0
Else - Actions
PSF 2 Attack Event
Events
Unit - A unit Is attacked
Conditions
(Unit-type of (Attacking unit)) Equal to Parasitic Shadowfiend
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Attacked unit) is in PSF2Group) Equal to False
Then - Actions
Set PSFIndex_Copy = (PSFIndex_Copy + 1)
Unit Group - Add (Attacked unit) to PSF2Group
Set PSF2Target[PSFIndex_Copy] = (Attacked unit)
Set PSF2Charges[PSFIndex_Copy] = 10
Set PSF2OwnerPlayer[PSFIndex_Copy] = (Owner of (Attacking unit))
Trigger - Turn on PSF2 Loop 1 sec <gen>
Else - Actions
PSF2 Loop 1 sec
Events
Time - Every 1.00 seconds of game time
Conditions
Actions
For each (Integer Integer_Copy) from 0 to PSFIndex_Copy, do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
PSF2Charges[Integer_Copy] Greater than 0
Then - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(PSF2Target[Integer_Copy] is alive) Equal to True
Then - Actions
Set PSF2Charges[Integer_Copy] = (PSF2Charges[Integer_Copy] - 1)
Special Effect - Create a special effect attached to the chest of PSF2Target[Integer_Copy] using Abilities\Spells\Undead\DeathandDecay\DeathandDecayDamage.mdl
Special Effect - Destroy (Last created special effect)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
PSF2Charges[Integer_Copy] Equal to 0
Then - Actions
Unit Group - Remove PSF2Target[Integer_Copy] from PSF2Group
Set Point = (Position of PSF2Target[Integer_Copy])
Unit - Create 2 Parasitic Shadowfiend for PSF2OwnerPlayer[Integer_Copy] at Point facing Point
Custom script: call RemoveLocation(udg_Point)
Else - Actions
Else - Actions
Set PSF2Charges[Integer_Copy] = 0
Unit Group - Remove PSF2Target[Integer_Copy] from PSF2Group
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
For GUI this is about as good as it gets, I just advise adding a lot of comments to the work you did so if you ever need to update it, you can follow along with your original thinking.
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.