Draphoelix
It's not the wintercold that's killing me
- Reaction score
- 132
My second resource and this is a pack of easy simple spells for a lightning hero. (Bolded part is not pros).
Note: Every spell uses periodic event
MUI (Haven't tried but should be)
GUI
Leakless (Should be)
Lagless (Can lag at first cast)
The energy orb backstab condition is from gref's backstab thingy.
To use it in your map:
Copy all custom objects and footman.
Check the box - Use unknown variables
Copy the triggers and past
Energy Orb
Unaffected
Affected
Code:
Link
Code:
Charged Spears
Code:
Lightning Spear
Throw
Collision
Code:
Note: Every spell uses periodic event
MUI (Haven't tried but should be)
GUI
Leakless (Should be)
Lagless (Can lag at first cast)
The energy orb backstab condition is from gref's backstab thingy.
To use it in your map:
Copy all custom objects and footman.
Check the box - Use unknown variables
Copy the triggers and past
Energy Orb
Unaffected
Affected
Code:
Code:
EB Cast
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Energy Orb
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
EB_CV Less than 1000
Then - Actions
Set EB_CV = (EB_CV + 1)
Else - Actions
Set EB_CV = 1
Set EB[EB_CV] = (Triggering unit)
Set EB_Loc[EB_CV] = (Position of (Triggering unit))
Set EB_Target[EB_CV] = (Target point of ability being cast)
Set EB_Face[EB_CV] = (Angle from EB_Loc[EB_CV] to EB_Target[EB_CV])
Unit - Create 1 Orb for (Owner of (Triggering unit)) at EB_Loc[EB_CV] facing Default building facing degrees
Animation - Change (Last created unit) flying height to 55.00 at 100000.00
Set EB_Orb[EB_CV] = (Last created unit)
Unit - Turn collision for (Last created unit) Off
Unit - Set the custom value of (Last created unit) to EB_CV
Unit - Add Storm Crow Form to (Last created unit)
Unit Group - Add (Last created unit) to EB_Group
Code:
EB Fly
Events
Time - Every 0.03 seconds of game time
Conditions
(Number of units in EB_Group) Greater than 0
Actions
Unit Group - Pick every unit in EB_Group and do (Actions)
Loop - Actions
Set EB_CV2 = (Custom value of (Picked unit))
Set EB_Point[EB_CV2] = (Position of (Picked unit))
Set EB_Point_Copy[EB_CV2] = (EB_Point[EB_CV2] offset by 20.00 towards EB_Face[EB_CV2] degrees)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Distance between EB_Point[EB_CV2] and EB_Target[EB_CV2]) Less than (((Distance between EB_Loc[EB_CV2] and EB_Target[EB_CV2]) / 10.00) x 7.00)
(Distance between EB_Point[EB_CV2] and EB_Target[EB_CV2]) Greater than ((Distance between EB_Loc[EB_CV2] and EB_Target[EB_CV2]) / 3.00)
Then - Actions
Animation - Change (Picked unit) flying height to ((Current flying height of (Picked unit)) + (10.00 - ((Current flying height of (Picked unit)) / 10.00))) at 1000000000.00
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Distance between EB_Point_Copy[EB_CV2] and EB_Target[EB_CV2]) Less than or equal to ((Distance between EB_Loc[EB_CV2] and EB_Target[EB_CV2]) / 2.00)
Then - Actions
Animation - Change (Picked unit) flying height to ((Current flying height of (Picked unit)) - (19.00 - ((Current flying height of (Picked unit)) / 6.00))) at 1000000000.00
Else - Actions
Animation - Change (Picked unit) flying height to ((Current flying height of (Picked unit)) + (28.00 - ((Current flying height of (Picked unit)) / 6.00))) at 1000000000.00
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Distance between EB_Point_Copy[EB_CV2] and EB_Target[EB_CV2]) Less than 80.00
Then - Actions
Unit - Add a 3.00 second Generic expiration timer to EB_Orb[EB_CV2]
Custom script: call RemoveLocation(udg_EB_Point_Copy[udg_EB_CV2])
Custom script: call RemoveLocation(udg_EB_Loc[udg_EB_CV2])
Custom script: call RemoveLocation(udg_EB_Target[udg_EB_CV2])
Unit Group - Remove EB_Orb[EB_CV2] from EB_Group
Else - Actions
Unit - Move (Picked unit) instantly to EB_Point_Copy[EB_CV2]
Custom script: call RemoveLocation(udg_EB_Point_Copy[udg_EB_CV2])
Custom script: call RemoveLocation(udg_EB_Point[udg_EB_CV2])
Code:
EB Bom
Events
Unit - A unit Dies
Conditions
(Unit-type of (Triggering unit)) Equal to Orb
Actions
Set EB_CV3 = (Custom value of (Triggering unit))
Set EB_DieLoc[EB_CV3] = (Position of (Triggering unit))
Set EB_EnemyGroup = (Units within 500.00 of EB_DieLoc[EB_CV3])
Unit Group - Pick every unit in EB_EnemyGroup and do (Actions)
Loop - Actions
Set EB_EnemyLoc[EB_CV3] = (Position of (Picked unit))
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Abs((((Angle from EB_DieLoc[EB_CV3] to EB_EnemyLoc[EB_CV3]) mod 360.00) - ((Facing of (Picked unit)) mod 360.00)))) Greater than 120.00
(Abs((((Angle from EB_DieLoc[EB_CV3] to EB_EnemyLoc[EB_CV3]) mod 360.00) - ((Facing of (Picked unit)) mod 360.00)))) Less than 240.00
Then - Actions
Unit - Create 1 Footman for (Owner of EB[EB_CV3]) at EB_DieLoc[EB_CV3] facing Default building facing degrees
Unit - Order (Last created unit) to Human Mountain King - Storm Bolt (Picked unit)
Else - Actions
Custom script: call RemoveLocation(udg_EB_DieLoc[udg_EB_CV3])
Custom script: call DestroyGroup(udg_EB_EnemyGroup)
Custom script: call RemoveLocation(udg_EB_EnemyLoc[udg_EB_CV3])
Link
Code:
Code:
Thin
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Link
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
Link_CV Less than 1000
Then - Actions
Set Link_CV = (Link_CV + 1)
Else - Actions
Set Link_CV = 1
Set Link_Target[Link_CV] = (Target unit of ability being cast)
Set Link_Caster[Link_CV] = (Triggering unit)
Set Link_Loc_Copy[Link_CV] = (Position of Link_Caster[Link_CV])
Unit - Create 1 Footman for (Owner of (Triggering unit)) at Link_Loc_Copy[Link_CV] facing Default building facing degrees
Unit - Set the custom value of (Last created unit) to Link_CV
Unit - Turn collision for (Last created unit) Off
Unit Group - Add (Last created unit) to Link_Gr
Unit - Add a 10.00 second Generic expiration timer to (Last created unit)
Custom script: call RemoveLocation(udg_Link_Loc_Copy[udg_Link_CV_Copy])
Code:
Thing
Events
Time - Every 1.00 seconds of game time
Conditions
(Number of units in Link_Gr) Greater than 0
Actions
Unit Group - Pick every unit in Link_Gr and do (Actions)
Loop - Actions
Set Link_CV_Copy = (Custom value of (Picked unit))
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Link_Caster[Link_CV_Copy] has buff Aerial Shackles (Caster)) Equal to True
Then - Actions
Set Link_Loc[Link_CV_Copy] = (Position of Link_Caster[Link_CV_Copy])
Unit - Create 1 Footman for (Owner of Link_Caster[Link_CV_Copy]) at Link_Loc[Link_CV_Copy] facing Default building facing degrees
Unit - Turn collision for (Last created unit) Off
Unit - Order (Last created unit) to Orc Far Seer - Chain Lightning Link_Target[Link_CV_Copy]
Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
Custom script: call RemoveLocation(udg_Link_Loc[udg_Link_CV_Copy])
Else - Actions
Charged Spears
Code:
Code:
Check
Events
Time - Every 0.05 seconds of game time
Conditions
Actions
Set ChargeGroup = (Units in (Playable map area))
Unit Group - Pick every unit in ChargeGroup and do (Actions)
Loop - Actions
Set Check_Loc = (Position of (Picked unit))
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
Or - Any (Conditions) are true
Conditions
((Picked unit) has buff Cold Arrows (Info)) Equal to True
((Picked unit) has buff Cold Arrows (Non-stacking)) Equal to True
((Picked unit) has buff Cold Arrows (Stacking)) Equal to True
(Random integer number between 1 and 10) Less than or equal to 2
Then - Actions
Unit - Create 1 Footman for (Random player from (All enemies of (Owner of (Picked unit)))) at Check_Loc facing Default building facing degrees
Unit - Add Dummy Clap to (Last created unit)
Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
Unit - Order (Last created unit) to Undead Lich - Frost Nova (Picked unit)
Custom script: call RemoveLocation(udg_Check_Loc)
Custom script: call DestroyGroup(udg_ChargeGroup)
Else - Actions
Lightning Spear
Throw
Collision
Code:
Code:
Cast
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Light Spear
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
SLightSpear_CV Less than 1000
Then - Actions
Set SLightSpear_CV = (SLightSpear_CV + 1)
Else - Actions
Set SLightSpear_CV = 1
Set S_Boolean[SLightSpear_CV] = False
Set S[SLightSpear_CV] = (Triggering unit)
Set S_Loc[SLightSpear_CV] = (Position of S[SLightSpear_CV])
Set S_Target[SLightSpear_CV] = (Target point of ability being cast)
Unit - Create 1 Spear for (Owner of S[SLightSpear_CV]) at S_Loc[SLightSpear_CV] facing (Angle from S_Loc[SLightSpear_CV] to S_Target[SLightSpear_CV]) degrees
Set S_Spear[SLightSpear_CV] = (Last created unit)
Lightning - Create a Chain Lightning - Primary lightning effect from source S_Loc[SLightSpear_CV] to target Spear_Loc[SLightSpear_CV]
Set S_Light[SLightSpear_CV] = (Last created lightning effect)
Lightning - Create a Chain Lightning - Primary lightning effect from source S_Loc[SLightSpear_CV] to target Spear_Loc[SLightSpear_CV]
Set S_Light_Copy[SLightSpear_CV] = (Last created lightning effect)
Unit - Create 1 Footman for (Owner of (Triggering unit)) at S_Loc[SLightSpear_CV] facing (Default flying height of (Triggering unit)) degrees
Set S_Dummy[SLightSpear_CV] = (Last created unit)
Unit - Turn collision for (Last created unit) Off
Unit - Set the custom value of (Last created unit) to SLightSpear_CV
Unit Group - Add (Last created unit) to S_Group
Code:
Move
Events
Time - Every 0.03 seconds of game time
Conditions
(Number of units in S_Group) Greater than 0
Actions
Unit Group - Pick every unit in S_Group and do (Actions)
Loop - Actions
Set SLightSpear_CV_Copy = (Custom value of (Picked unit))
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
S_Boolean[SLightSpear_CV_Copy] Equal to True
Then - Actions
Set S_Loc[SLightSpear_CV] = (Position of S[SLightSpear_CV])
Set S_MovePoint[SLightSpear_CV_Copy] = (S_Loc[SLightSpear_CV_Copy] offset by 20.00 towards (Angle from S_Loc[SLightSpear_CV_Copy] to S_Target[SLightSpear_CV_Copy]) degrees)
Unit - Move S[SLightSpear_CV_Copy] instantly to S_MovePoint[SLightSpear_CV_Copy]
Lightning - Move S_Light[SLightSpear_CV_Copy] to source S_Loc[SLightSpear_CV_Copy] and target S_Target[SLightSpear_CV_Copy]
Lightning - Move S_Light_Copy[SLightSpear_CV_Copy] to source S_Loc[SLightSpear_CV_Copy] and target S_Target[SLightSpear_CV_Copy]
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Distance between S_Loc[SLightSpear_CV_Copy] and S_Target[SLightSpear_CV_Copy]) Less than or equal to 200.00
Then - Actions
Unit - Create 1 Footman for (Owner of S[SLightSpear_CV_Copy]) at S_Target[SLightSpear_CV_Copy] facing Default building facing degrees
Unit - Turn collision for (Last created unit) Off
Unit - Add Dummy Clap to (Last created unit)
Unit - Increase level of Dummy Clap for (Last created unit)
Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
Unit - Order (Last created unit) to Undead Lich - Frost Nova S_TargetUnit[SLightSpear_CV_Copy]
Lightning - Destroy S_Light[SLightSpear_CV_Copy]
Lightning - Destroy S_Light_Copy[SLightSpear_CV_Copy]
Custom script: call RemoveLocation(udg_S_Loc[udg_SLightSpear_CV_Copy])
Custom script: call RemoveLocation(udg_S_Target[udg_SLightSpear_CV_Copy])
Custom script: call RemoveLocation(udg_Spear_Loc[udg_SLightSpear_CV_Copy])
Unit - Kill S_Spear[SLightSpear_CV_Copy]
Unit - Kill S_Dummy[SLightSpear_CV_Copy]
Set S_Check[SLightSpear_CV_Copy] = 0
Unit Group - Remove S_Dummy[SLightSpear_CV_Copy] from S_Group
Else - Actions
Else - Actions
Set Spear_Loc[SLightSpear_CV_Copy] = (Position of S_Spear[SLightSpear_CV_Copy])
Set S_MovePoint[SLightSpear_CV_Copy] = (Spear_Loc[SLightSpear_CV_Copy] offset by 20.00 towards (Angle from S_Loc[SLightSpear_CV_Copy] to S_Target[SLightSpear_CV_Copy]) degrees)
Unit - Move S_Spear[SLightSpear_CV_Copy] instantly to S_MovePoint[SLightSpear_CV_Copy]
Set S_Check[SLightSpear_CV_Copy] = (S_Check[SLightSpear_CV_Copy] + 1)
Lightning - Move S_Light[SLightSpear_CV_Copy] to source S_Loc[SLightSpear_CV_Copy] and target S_MovePoint[SLightSpear_CV_Copy]
Lightning - Move S_Light_Copy[SLightSpear_CV_Copy] to source S_Loc[SLightSpear_CV_Copy] and target S_MovePoint[SLightSpear_CV_Copy]
Custom script: call RemoveLocation(udg_S_MovePoint[udg_SLightSpear_CV_Copy])
Set S_EnemyG = (Units in (Region centered at Spear_Loc[SLightSpear_CV_Copy] with size (115.00, 115.00)) matching (((Unit-type of (Matching unit)) Not equal to Spear) and ((Unit-type of (Matching unit)) Not equal to Lightning Rouge)))
Set S_TargetUnit[SLightSpear_CV_Copy] = (Random unit from S_EnemyG)
Custom script: call DestroyGroup(udg_S_EnemyG)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
S_TargetUnit[SLightSpear_CV_Copy] Not equal to No unit
Then - Actions
Set S_Boolean[SLightSpear_CV_Copy] = True
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
S_Check[SLightSpear_CV_Copy] Greater than or equal to 100
Then - Actions
Lightning - Destroy S_Light[SLightSpear_CV_Copy]
Lightning - Destroy S_Light_Copy[SLightSpear_CV_Copy]
Custom script: call RemoveLocation(udg_S_Loc[udg_SLightSpear_CV_Copy])
Custom script: call RemoveLocation(udg_S_Target[udg_SLightSpear_CV_Copy])
Custom script: call RemoveLocation(udg_Spear_Loc[udg_SLightSpear_CV_Copy])
Unit - Kill S_Spear[SLightSpear_CV_Copy]
Unit - Kill S_Dummy[SLightSpear_CV_Copy]
Set S_Check[SLightSpear_CV_Copy] = 0
Unit Group - Remove S_Dummy[SLightSpear_CV_Copy] from S_Group
Else - Actions