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!
You are using an out of date browser. It may not display this or other websites correctly. You should upgrade or use an alternative browser.
Triggers
Diabolic Edict MUI GUI 1.2.w3x
Variables
Diabolic Edict
Readme
DiabolicEdictCast
DiabolicEdictPeriodic
Enter map-specific custom script code below. This text will be included in the map script after variables are declared and before any trigger code.
Name
Type
is_array
initial_value
TempGroup
group
No
TempPoint
location
No
TempUnit
unit
No
This is in now way meant to stand as a top-quality GUI lesson of talent.
I submit it as a template for other effects, and to show how to get limited but working local timers in GUI for Multi-Unit-Instanceability.
History:
1.0
This spell was originally made by Zack1996 on request of me.
I had forgotten to ask him to make it MUI, so i ended up modifying it into MUI myself.
If you use it your map i would appreciate credit, and Zack1996 aswell.
//=======================================
How do i import it into my map:
-copy paste the "diabolic edict" spell into your map,
-copy paste the diabolic edict dummy unit,
-copy paste the "diabolic edict PERIODIC" trigger first,
-copy paste the "diabolic edict CAST" trigger next,
-Make sure every time a spell is mentioned in the "Diabolic edict cast" trigger, it is the one you copied.
-Make sure the unit created at the start of that same trigger is the one you copied.
Can i use this as a template for other effects?
-of course, just modify the unit to what you want as an AoE SFX and base dummy unit
-you may change the effects in the "Diabolic edict periodic" trigger to whatever you want.
*If you just want it to damage instead of killing, just change the value in the "cause triggering unit to damage TempUnit" line.
Hp = "local timer event".
Custom value = For a dummy unit, shows how much time remains on the timer of the spell that created that unit.
Mana = When it becomes lower than the custom value, the effect will fire (the kills).
DiabolicEdictCast
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Diabolic Edict
Actions
Set Variable Set TempPoint = (Target point of ability being cast)
-------- Unit type, change it to your liking: --------
Unit - Create 1 . Diabolic Edict for (Triggering player) at TempPoint facing Default building facing degrees
-------- Security anti bug, but its most likely useless: --------
Unit - Add a (6.00 + (Real((Level of Diabolic Edict for (Triggering unit))))) second Generic expiration timer to (Last created unit)
-------- Put here since when should the effect fire: --------
Unit - Set mana of (Last created unit) to ((Real((Level of Diabolic Edict for (Triggering unit)))) + 0.00)
-------- Put here the initial value of the timer: --------
Unit - Set the custom value of (Last created unit) to ((Level of Diabolic Edict for (Triggering unit)) + 4)
Animation - Change (Last created unit) 's animation speed to 500.00 % of its original speed
Custom script: call RemoveLocation(udg_TempPoint)
Trigger - Add to DiabolicEdictPeriodic <gen> the event ((Last created unit)'s life becomes Less than or equal to 1.00)
Hp = "local timer event". Counts down the timer.
Custom value = For a dummy unit, shows how much time remains on the timer of the spell that created that unit.
Mana = When it becomes lower than the custom value, the effect will fire (the kills).
DiabolicEdictPeriodic
Events
Conditions
Actions
Set Variable Set TempPoint = (Position of (Triggering unit))
-------- How you want your timer text displayed: --------
Floating Text - Create floating text that reads ((String((Custom value of (Triggering unit)))) + !) at TempPoint with Z offset 0 , using font size 15.00 , color ( (100.00 - (12.50 x (Real((Custom value of (Triggering unit)))))) %, ((Real((Custom value of (Triggering unit)))) x 12.50) %, 0.00 %), and 0 % transparency
Floating Text - Change (Last created floating text) : Disable permanence
Floating Text - Set the velocity of (Last created floating text) to 64 towards 90 degrees
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.10 seconds
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Real((Custom value of (Triggering unit)))) Less than or equal to 0.00
Then - Actions
-------- End of the spell/timer: --------
Unit - Explode (Triggering unit) .
Set Variable Set TempGroup = (Units within 700.00 of TempPoint matching ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an enemy of (Triggering player).) Equal to True)).)
Set Variable Set TempUnit = (Random unit from TempGroup)
Unit - Cause (Triggering unit) to damage TempUnit , dealing 1000000000.00 damage of attack type Chaos and damage type Universal
Special Effect - Create a special effect attached to the origin (Unexpected type: 'attachpoint') of TempUnit using Objects\Spawnmodels\Undead\UndeadDissipate\UndeadDissipate.mdl
Special Effect - Destroy (Last created special effect)
Special Effect - Create a special effect at TempPoint using Objects\Spawnmodels\Undead\UDeathSmall\UDeathSmall.mdl
Special Effect - Destroy (Last created special effect)
Custom script: call DestroyGroup(udg_TempGroup)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Real((Custom value of (Triggering unit)))) Greater than (Mana of (Triggering unit))
Then - Actions
-------- Actions when the timer is not within effect values (in this case, nothing.) --------
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Real((Custom value of (Triggering unit)))) Less than or equal to (Mana of (Triggering unit))
Then - Actions
-------- Actions you want when timer is within effect values: --------
Set Variable Set TempGroup = (Units within 700.00 of TempPoint matching ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an enemy of (Triggering player).) Equal to True)).)
Set Variable Set TempUnit = (Random unit from TempGroup)
Unit - Cause (Triggering unit) to damage TempUnit , dealing 1000000000.00 damage of attack type Chaos and damage type Universal
Special Effect - Create a special effect attached to the origin (Unexpected type: 'attachpoint') of TempUnit using Objects\Spawnmodels\Undead\UndeadDissipate\UndeadDissipate.mdl
Special Effect - Destroy (Last created special effect)
Custom script: call DestroyGroup(udg_TempGroup)
Else - Actions
-------- Keepin the timer working: --------
Unit - Set life of (Triggering unit) to 2.00
Unit - Set the custom value of (Triggering unit) to ((Custom value of (Triggering unit)) - 1)
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.