Spellpack Lightning Rouge

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
eoxp3.png


Unaffected
eounaffectedqm1.png


Affected
eoaffectedsl6.png


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
linkdd9.png


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
chargedspearsmy5.png


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
ls1kj6.png

Collision
ls2we3.png


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
 

Attachments

  • Lightning Rouge.w3x
    42.2 KB · Views: 221

Squll2

je'ne sais pas
Reaction score
76
Some nice ideas and work have gone behind this +rep

in future though you should try using different SFX for each spell because you used that lightning model about 3 times.
 

THE_X

New Member
Reaction score
49
cool ideas has some issues with the spear (if the unit is initaly in front of the caster then it drags the caster tward the unit be4 the spear even gets to the unit, and the spear targets dead units,) easy fixes tho
 

Draphoelix

It's not the wintercold that's killing me
Reaction score
132
Link could've been done without triggers.
Modified aerial shackels

I've tried that. But then I won't have one chain lightning shooting each second.

Thanks for the comments.

I'll fix that.
 

Kazuga

Let the game begin...
Reaction score
110
Hm the first one looks a bit like my lightning anger^^, really cool spells though. Good job +rep.
 

Furberg

Ultra Cool Member
Reaction score
45
Its some cool spells you got here, good job making them. But i found a bug on the ulti, here is a picture of it:

What happend: I used ulti from long distance - then the spear attached to a unit, but the Lightning effect was not on unit - Caster stops on point where Lightning effect was and is stuck there moving slightly forward and back.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top