# SpellElectric Vortex

#### RMX

##### New Member
-Spell is GUI.
-Spell is MUI.
-Spell uses the indexing method.
-Spell is leakless and lagless.

Spell description -

Charges electric powers with his hands, such force of electricity can vanish units to the past, then unleashes an electrical ball that when it reaches the point, it runs an electrical vortex that stops time of units and vanishes them for 4/6/8 seconds but the fading process takes 3 seconds and when the units return they will be dealt 100/200/300 damage and confused, missing 50% on their attacks for 6 seconds.

Trigger:
• Electric Vortex On
• Events
• Unit - A unit Starts the effect of an ability
• Conditions
• (Ability being cast) Equal to Electric Vortex
• Actions
• If (All Conditions are True) then do (Then Actions) else do (Else Actions)
• If - Conditions
• EV_Times Equal to 0
• Then - Actions
• Trigger - Turn on Electric Vortex Loop &lt;gen&gt;
• Else - Actions
• Set EV_Times = (EV_Times + 1)
• Set EV_Skip = (EV_Skip + 1)
• Set EV_Off[EV_Times] = True
• -------- ----------------------------------------------------------------------------------------------------------------- --------
• Set EV_Caster[EV_Times] = (Casting unit)
• Set EV_Point[0] = (Position of EV_Caster[EV_Times])
• Set EV_Point[1] = (Target point of ability being cast)
• -------- ----------------------------------------------------------------------------------------------------------------- --------
• Set EV_Part[EV_Times] = 0
• Set EV_Level[EV_Times] = (Level of Electric Vortex for EV_Caster[EV_Times])
• Set EV_Distance[EV_Times] = (Distance between EV_Point[0] and EV_Point[1])
• Set EV_Angle[EV_Times] = (Angle from EV_Point[0] to EV_Point[1])
• Set EV_Speed[EV_Times] = 15.00
• Set EV_Max_Height[EV_Times] = 400.00
• Set EV_Raise_Speed[EV_Times] = ((EV_Speed[EV_Times] / EV_Distance[EV_Times]) x EV_Max_Height[EV_Times])
• Set EV_Max_Height[EV_Times] = 0.00
• -------- ----------------------------------------------------------------------------------------------------------------- --------
• Unit - Create 1 Dummy_For_Map for (Owner of EV_Caster[EV_Times]) at EV_Point[0] facing Default building facing degrees
• Set EV_Dummy[EV_Times] = (Last created unit)
• Special Effect - Create a special effect attached to the chest of EV_Dummy[EV_Times] using Abilities\Weapons\FarseerMissile\FarseerMissile.mdl
• Set EV_SpecialEffect[EV_Times] = (Last created special effect)
• -------- ----------------------------------------------------------------------------------------------------------------- --------
• Custom script: call RemoveLocation(udg_EV_Point[0])
• Custom script: call RemoveLocation(udg_EV_Point[1])

--------------------------------------------------------------------------
--------------------------------------------------------------------------

Trigger:
• Electric Vortex Loop
• Events
• Time - Every 0.02 seconds of game time
• Conditions
• Actions
• Custom script: local real x1
• Custom script: local real y1
• Custom script: local real z1
• Custom script: local real x2
• Custom script: local real y2
• Custom script: local real z2
• For each (Integer EV) from 1 to EV_Times, do (Actions)
• Loop - Actions
• If (All Conditions are True) then do (Then Actions) else do (Else Actions)
• If - Conditions
• EV_Off[EV] Equal to True
• Then - Actions
• If (All Conditions are True) then do (Then Actions) else do (Else Actions)
• If - Conditions
• Or - Any (Conditions) are true
• Conditions
• EV_Part[EV] Equal to 0
• EV_Part[EV] Equal to 2
• Then - Actions
• If (All Conditions are True) then do (Then Actions) else do (Else Actions)
• If - Conditions
• EV_Distance[EV] Less than or equal to 0.00
• Then - Actions
• If (All Conditions are True) then do (Then Actions) else do (Else Actions)
• If - Conditions
• EV_Part[EV] Equal to 0
• Then - Actions
• Set EV_Part[EV] = 1
• Set EV_Distance[EV] = ((10.15 + (2.00 x (Real(EV_Level[EV])))) / 0.02)
• Set EV_Point[4] = (Position of EV_Dummy[EV])
• -------- ----------------------------------------------------------------------------------------------------------------- --------
• For each (Integer EV_Looper[0]) from 1 to 6, do (Actions)
• Loop - Actions
• Set EV_Times = (EV_Times + 1)
• Set EV_Skip = (EV_Skip + 1)
• Set EV_Off[EV_Times] = True
• Set EV_Caster[EV_Times] = EV_Dummy[EV]
• Set EV_Level[EV_Times] = EV_Level[EV]
• -------- ----------------------------------------------------------------------------------------------------------------- --------
• Set EV_Point[5] = (EV_Point[4] offset by 300.00 towards (60.00 x (Real(EV_Looper[0]))) degrees)
• Set EV_Part[EV_Times] = 2
• Set EV_Distance[EV_Times] = (Distance between EV_Point[4] and EV_Point[5])
• Set EV_Distance_Decoy[EV_Times] = 300.00
• Set EV_Angle[EV_Times] = (Angle from EV_Point[4] to EV_Point[5])
• Set EV_Speed[EV_Times] = 3.00
• Set EV_Max_Height[EV_Times] = (Current flying height of EV_Dummy[EV])
• Set EV_Raise_Speed[EV_Times] = ((EV_Speed[EV_Times] / EV_Distance[EV_Times]) x EV_Max_Height[EV_Times])
• -------- ----------------------------------------------------------------------------------------------------------------- --------
• Unit - Create 1 Dummy_For_Map for (Owner of EV_Caster[EV_Times]) at EV_Point[4] facing Default building facing degrees
• Animation - Change EV_Dummy[EV_Times] flying height to (Current flying height of EV_Dummy[EV]) at 0.00
• Set EV_Dummy[EV_Times] = (Last created unit)
• Custom script: set udg_EV_Z[udg_EV_Times] = GetLocationZ(udg_EV_Point[4])
• Custom script: set x1 = GetUnitX(udg_EV_Dummy[udg_EV])
• Custom script: set y1 = GetUnitY(udg_EV_Dummy[udg_EV])
• Custom script: set z1 = GetUnitFlyHeight(udg_EV_Dummy[udg_EV])
• Custom script: set z1 = (z1 + 60) + (udg_EV_Z[udg_EV_Times])
• Custom script: set x2 = GetUnitX(udg_EV_Dummy[udg_EV_Times])
• Custom script: set y2 = GetUnitY(udg_EV_Dummy[udg_EV_Times])
• Custom script: set z2 = GetUnitFlyHeight(udg_EV_Dummy[udg_EV_Times])
• Custom script: set z2 = (z2 + 60) + (udg_EV_Z[udg_EV_Times])
• Custom script: set udg_EV_Light[udg_EV_Times] = AddLightningEx(&quot;CLPB&quot;, false, x1, y1, z1, x2, y2, z2)
• Special Effect - Create a special effect attached to the chest of EV_Dummy[EV_Times] using Abilities\Weapons\FarseerMissile\FarseerMissile.mdl
• Set EV_SpecialEffect[EV_Times] = (Last created special effect)
• Custom script: call RemoveLocation(udg_EV_Point[5])
• -------- ----------------------------------------------------------------------------------------------------------------- --------
• Set EV_Group[EV] = (Units within 300.00 of EV_Point[4] matching (((Owner of (Matching unit)) Not equal to (Owner of EV_Dummy[EV])) and ((((Matching unit) is A structure) Not equal to True) and ((((Matching unit) is A flying unit) Not equal to True) and ((((Matching unit) belong
• Unit Group - Pick every unit in EV_Group[EV] and do (Actions)
• Loop - Actions
• Set EV_Times = (EV_Times + 1)
• Set EV_Skip = (EV_Skip + 1)
• Set EV_Off[EV_Times] = True
• Set EV_Part[EV_Times] = 4
• Set EV_Caster[EV_Times] = (Picked unit)
• Set EV_Dummy[EV_Times] = EV_Caster[EV]
• Set EV_Level[EV_Times] = EV_Level[EV]
• Set EV_Distance[EV_Times] = 0.00
• Set EV_Raise_Speed[EV_Times] = 300.00
• Set EV_Speed[EV_Times] = 3.00
• Set EV_Angle[EV_Times] = ((100.00 x 0.02) / EV_Speed[EV_Times])
• Animation - Change EV_Caster[EV_Times]&#039;s animation speed to 0.00% of its original speed
• Unit - Pause EV_Caster[EV_Times]
• Custom script: call DestroyGroup(udg_EV_Group[udg_EV])
• Custom script: call RemoveLocation(udg_EV_Point[4])
• Else - Actions
• If (All Conditions are True) then do (Then Actions) else do (Else Actions)
• If - Conditions
• EV_Part[EV] Equal to 2
• Then - Actions
• Set EV_Part[EV] = 3
• Set EV_Distance[EV] = EV_Distance_Decoy[EV]
• Set EV_Angle[EV] = 0.10
• Set EV_Speed[EV] = 0.15
• Set EV_Max_Height[EV] = 150.00
• Set EV_Raise_Speed[EV] = (EV_Max_Height[EV] / 2.00)
• Else - Actions
• Else - Actions
• Set EV_Distance[EV] = (EV_Distance[EV] - EV_Speed[EV])
• If (All Conditions are True) then do (Then Actions) else do (Else Actions)
• If - Conditions
• EV_Part[EV] Equal to 0
• Then - Actions
• Set EV_Max_Height[EV] = (EV_Max_Height[EV] + EV_Raise_Speed[EV])
• Else - Actions
• Set EV_Max_Height[EV] = (EV_Max_Height[EV] - EV_Raise_Speed[EV])
• If (All Conditions are True) then do (Then Actions) else do (Else Actions)
• If - Conditions
• EV_Part[EV] Equal to 2
• Then - Actions
• Custom script: set x1 = GetUnitX(udg_EV_Caster[udg_EV])
• Custom script: set y1 = GetUnitY(udg_EV_Caster[udg_EV])
• Custom script: set z1 = GetUnitFlyHeight(udg_EV_Caster[udg_EV])
• Custom script: set z1 = (z1 + 60) + (udg_EV_Z[udg_EV])
• Custom script: set x2 = GetUnitX(udg_EV_Dummy[udg_EV])
• Custom script: set y2 = GetUnitY(udg_EV_Dummy[udg_EV])
• Custom script: set z2 = GetUnitFlyHeight(udg_EV_Dummy[udg_EV])
• Custom script: set z2 = (z2 + 60) + (udg_EV_Z[udg_EV])
• Custom script: call MoveLightningEx(udg_EV_Light[udg_EV], false, x1, y1, z1, x2, y2, z2)
• Else - Actions
• -------- ----------------------------------------------------------------------------------------------------------------- --------
• Set EV_Point[2] = (Position of EV_Dummy[EV])
• Set EV_Point[3] = (EV_Point[2] offset by EV_Speed[EV] towards EV_Angle[EV] degrees)
• Unit - Move EV_Dummy[EV] instantly to EV_Point[3]
• Custom script: call RemoveLocation(udg_EV_Point[2])
• Custom script: call RemoveLocation(udg_EV_Point[3])
• -------- ----------------------------------------------------------------------------------------------------------------- --------
• Animation - Change EV_Dummy[EV] flying height to EV_Max_Height[EV] at 0.00
• Else - Actions
• If (All Conditions are True) then do (Then Actions) else do (Else Actions)
• If - Conditions
• Or - Any (Conditions) are true
• Conditions
• EV_Part[EV] Equal to 3
• EV_Part[EV] Equal to 8
• Then - Actions
• If (All Conditions are True) then do (Then Actions) else do (Else Actions)
• If - Conditions
• EV_Max_Height[EV] Less than or equal to 0.00
• Then - Actions
• If (All Conditions are True) then do (Then Actions) else do (Else Actions)
• If - Conditions
• EV_Part[EV] Equal to 3
• Then - Actions
• Set EV_Part[EV] = 6
• Set EV_Distance[EV] = ((((Real(EV_Level[EV])) x 2.00) + 2.00) / 0.02)
• Else - Actions
• Set EV_Off[EV] = False
• Set EV_Skip = (EV_Skip - 1)
• Set EV_Point[9] = (Position of EV_Dummy[EV])
• Special Effect - Create a special effect at EV_Point[9] using Abilities\Spells\Human\Thunderclap\ThunderClapCaster.mdl
• Special Effect - Destroy (Last created special effect)
• Custom script: call RemoveLocation(udg_EV_Point[9])
• Lightning - Destroy EV_Light[EV]
• Special Effect - Destroy EV_SpecialEffect[EV]
• Unit - Add a 0.01 second Generic expiration timer to EV_Dummy[EV]
• Else - Actions
• Set EV_Max_Height[EV] = (EV_Max_Height[EV] - 1.00)
• Set EV_Point[6] = (Position of EV_Dummy[EV])
• Set EV_Point[7] = (Position of EV_Caster[EV])
• Set EV_Point[8] = (EV_Point[7] offset by EV_Distance[EV] towards ((Angle from EV_Point[7] to EV_Point[6]) + EV_Angle[EV]) degrees)
• Custom script: call SetUnitX(udg_EV_Dummy[udg_EV], GetLocationX(udg_EV_Point[8]))
• Custom script: call SetUnitY(udg_EV_Dummy[udg_EV], GetLocationY(udg_EV_Point[8]))
• Custom script: set x1 = GetUnitX(udg_EV_Caster[udg_EV])
• Custom script: set y1 = GetUnitY(udg_EV_Caster[udg_EV])
• Custom script: set z1 = GetUnitFlyHeight(udg_EV_Caster[udg_EV])
• Custom script: set z1 = (z1 + 60) + (udg_EV_Z[udg_EV])
• Custom script: set x2 = GetUnitX(udg_EV_Dummy[udg_EV])
• Custom script: set y2 = GetUnitY(udg_EV_Dummy[udg_EV])
• Custom script: set z2 = GetUnitFlyHeight(udg_EV_Dummy[udg_EV])
• Custom script: set z2 = (z2 + 60) + (udg_EV_Z[udg_EV])
• Custom script: call MoveLightningEx(udg_EV_Light[udg_EV], false, x1, y1, z1, x2, y2, z2)
• Custom script: call RemoveLocation(udg_EV_Point[6])
• Custom script: call RemoveLocation(udg_EV_Point[7])
• Custom script: call RemoveLocation(udg_EV_Point[8])
• If (All Conditions are True) then do (Then Actions) else do (Else Actions)
• If - Conditions
• EV_Max_Height[EV] Less than or equal to EV_Raise_Speed[EV]
• Then - Actions
• Set EV_Angle[EV] = (EV_Angle[EV] - EV_Speed[EV])
• Else - Actions
• Set EV_Angle[EV] = (EV_Angle[EV] + EV_Speed[EV])
• Set EV_Angle[EV] = (EV_Angle[EV] mod 360.00)
• Else - Actions
• If (All Conditions are True) then do (Then Actions) else do (Else Actions)
• If - Conditions
• Or - Any (Conditions) are true
• Conditions
• EV_Part[EV] Equal to 4
• EV_Part[EV] Equal to 7
• Then - Actions
• If (All Conditions are True) then do (Then Actions) else do (Else Actions)
• If - Conditions
• EV_Raise_Speed[EV] Less than or equal to 0.00
• Then - Actions
• If (All Conditions are True) then do (Then Actions) else do (Else Actions)
• If - Conditions
• EV_Part[EV] Equal to 4
• Then - Actions
• If (All Conditions are True) then do (Then Actions) else do (Else Actions)
• If - Conditions
• EV_Distance[EV] Greater than or equal to 100.00
• Then - Actions
• Set EV_Part[EV] = 5
• Set EV_Distance[EV] = ((((Real(EV_Level[EV])) x 2.00) + 2.00) / 0.02)
• Set EV_Raise_Speed[EV] = 0.00
• Unit - Hide EV_Caster[EV]
• Else - Actions
• Set EV_Distance[EV] = (EV_Distance[EV] + EV_Angle[EV])
• Else - Actions
• If (All Conditions are True) then do (Then Actions) else do (Else Actions)
• If - Conditions
• EV_Part[EV] Equal to 7
• Then - Actions
• If (All Conditions are True) then do (Then Actions) else do (Else Actions)
• If - Conditions
• EV_Distance[EV] Less than or equal to 0.00
• Then - Actions
• Set EV_Off[EV] = False
• Set EV_Skip = (EV_Skip - 1)
• Animation - Change EV_Caster[EV]&#039;s animation speed to 100.00% of its original speed
• Unit - Unpause EV_Caster[EV]
• Unit - Cause EV_Dummy[EV] to damage EV_Caster[EV], dealing ((Real(EV_Level[EV])) x 100.00) damage of attack type Spells and damage type Normal
• Else - Actions
• Set EV_Distance[EV] = (EV_Distance[EV] - EV_Angle[EV])
• Else - Actions
• Animation - Change EV_Caster[EV]&#039;s vertex coloring to (100.00%, 100.00%, 100.00%) with EV_Distance[EV]% transparency
• Else - Actions
• Set EV_Raise_Speed[EV] = (EV_Raise_Speed[EV] - 3.00)
• Else - Actions
• If (All Conditions are True) then do (Then Actions) else do (Else Actions)
• If - Conditions
• Or - Any (Conditions) are true
• Conditions
• EV_Part[EV] Equal to 1
• EV_Part[EV] Equal to 5
• EV_Part[EV] Equal to 6
• Then - Actions
• If (All Conditions are True) then do (Then Actions) else do (Else Actions)
• If - Conditions
• EV_Distance[EV] Less than or equal to 0.00
• Then - Actions
• If (All Conditions are True) then do (Then Actions) else do (Else Actions)
• If - Conditions
• EV_Part[EV] Equal to 1
• Then - Actions
• Set EV_Off[EV] = False
• Set EV_Skip = (EV_Skip - 1)
• Special Effect - Destroy EV_SpecialEffect[EV]
• Unit - Add a 0.01 second Generic expiration timer to EV_Dummy[EV]
• Else - Actions
• If (All Conditions are True) then do (Then Actions) else do (Else Actions)
• If - Conditions
• EV_Part[EV] Equal to 5
• Then - Actions
• Set EV_Part[EV] = 7
• Set EV_Distance[EV] = 100.00
• Unit - Unhide EV_Caster[EV]
• Else - Actions
• If (All Conditions are True) then do (Then Actions) else do (Else Actions)
• If - Conditions
• EV_Part[EV] Equal to 6
• Then - Actions
• Set EV_Part[EV] = 8
• Set EV_Angle[EV] = 0.10
• Set EV_Max_Height[EV] = 150.00
• Set EV_Distance[EV] = EV_Distance_Decoy[EV]
• Else - Actions
• Else - Actions
• Set EV_Distance[EV] = (EV_Distance[EV] - 1.00)
• Else - Actions
• Else - Actions
• If (All Conditions are True) then do (Then Actions) else do (Else Actions)
• If - Conditions
• EV_Skip Equal to 0
• Then - Actions
• Set EV_Times = 0
• Trigger - Turn off Electric Vortex Loop &lt;gen&gt;
• Else - Actions

The Following GUI MUI ... method uses Rrecycling and fully EFFICIENT !

#### Attachments

• Electric Vortex.w3x
45.8 KB · Views: 307
• Electrix.jpg
245.4 KB · Views: 359

#### Hatebreeder

##### So many apples
First of all, put all your Code in Spoiler wrapers.
Second, it's a quite innovative Spell, though, I'd only use it for cinematics (Since it takes way too long... And is avoidable and other several personal preferance reasons).

But, for a GUI spell it is pretty impressive.
+ REP

#### RMX

##### New Member
It can be used for cinematics since it does take to long to get to the targeted point, but you could increase the speed wich will not take that amount of time and it will be good as new

#### LurkerAspect

##### Now officially a Super Lurker
Wow, now that's what I call an American Hamburger of Actions

Looks good :thup:

#### Jesus4Lyf

##### Good Idea™
I don't think the timing is practical.

#### RMX

##### New Member
Thinking :S .. don't think ACT !

#### RMX

##### New Member
UPDATED ... Added Special effects ... Fixed BUG ext...

#### RMX

##### New Member
Added Picture like REQUEST .. now can it be APPROVED !

BUMP !!!!!!!

#### Komaqtion

##### You can change this now in User CP.
You can't bump with 24 hours !!!!

And you should probably add some easy-to-change configurables at the top of the trigger

#### RMX

##### New Member
Sure i'll add those in next version

#### Jesus4Lyf

##### Good Idea™
Seriously, everyone wants comments, but bumping that often is ridiculous.

I hate to be the one to say it, but please respect other people's submissions by not bumping or by bumping infrequently.

General chit-chat
Help Users
• No one is chatting at the moment.
• The Helper:
If you are new to the site please check out the Recipe and Food Forum https://www.thehelper.net/forums/recipes-and-food.220/
• Monovertex:
How come you're so into recipes lately? Never saw this much interest in this topic in the old days of TH.net
• Monovertex:
Hmm, how do I change my signature?
• tom_mai78101:
Signatures can be edit in your account profile. As for the old stuffs, I'm thinking it's because Blizzard is now under Microsoft, and because of Microsoft Xbox going the way it is, it's dreadful.
• The Helper:
I am not big on the recipes I am just promoting them - I use the site as a practice place promoting stuff
+2
• Monovertex:
@tom_mai78101 I must be blind. If I go on my profile I don't see any area to edit the signature; If I go to account details (settings) I don't see any signature area either.
• The Helper:
You can get there if you click the bell icon (alerts) and choose preferences from the bottom, signature will be in the menu on the left there https://www.thehelper.net/account/preferences
• The Helper:
I think I need to split the Sci/Tech news forum into 2 one for Science and one for Tech but I am hating all the moving of posts I would have to do
• The Helper:
What is up Old Mountain Shadow?
• The Helper:
Happy Thursday!
+1
• Varine:
Crazy how much 3d printing has come in the last few years. Sad that it's not as easily modifiable though
• Varine:
I bought an Ender 3 during the pandemic and tinkered with it all the time. Just bought a Sovol, not as easy. I'm trying to make it use a different nozzle because I have a fuck ton of Volcanos, and they use what is basically a modified volcano that is just a smidge longer, and almost every part on this thing needs to be redone to make it work
• Varine:
Luckily I have a 3d printer for that, I guess. But it's ridiculous. The regular volcanos are 21mm, these Sovol versions are about 23.5mm
• Varine:
So, 2.5mm longer. But the thing that measures the bed is about 1.5mm above the nozzle, so if I swap it with a volcano then I'm 1mm behind it. So cool, new bracket to swap that, but THEN the fan shroud to direct air at the part is ALSO going to be .5mm to low, and so I need to redo that, but by doing that it is a little bit off where it should be blowing and it's throwing it at the heating block instead of the part, and fuck man
• Varine:
I didn't realize they designed this entire thing to NOT be modded. I would have just got a fucking Bambu if I knew that, the whole point was I could fuck with this. And no one else makes shit for Sovol so I have to go through them, and they have... interesting pricing models. So I have a new extruder altogether that I'm taking apart and going to just design a whole new one to use my nozzles. Dumb design.
• Varine:
Can't just buy a new heatblock, you need to get a whole hotend - so block, heater cartridge, thermistor, heatbreak, and nozzle. And they put this fucking paste in there so I can't take the thermistor or cartridge out with any ease, that's 30 dollars. Or you can get the whole extrudor with the direct driver AND that heatblock for like 50, but you still can't get any of it to come apart
• Varine:
Partsbuilt has individual parts I found but they're expensive. I think I can get bits swapped around and make this work with generic shit though
• Ghan:
Heard Houston got hit pretty bad by storms last night. Hope all is well with TH.
• The Helper:
Power back on finally - all is good here no damage
+2
• V-SNES:
Happy Friday!
+1
• The Helper:
New recipe is another summer dessert Berry and Peach Cheesecake - https://www.thehelper.net/threads/recipe-berry-and-peach-cheesecake.194169/