• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Electric Lead [1.02]

This bundle is marked as useful / simple. Simplicity is bliss, low effort and/or may contain minor bugs.
-I removed 1 trigger at all
-I Removed 1 leak in [end] trigger
-I make [Start effect of an ability]
-Improved description
-Add Configerable DATA
-Removed 3 leaks in [cast] trigger
-Removed 1 unit at all
-Changed trigger names
-Improved

Keywords:
Electic, Lead, damage, knock-back, mana burn
Contents

Electric lead 1.02 (Map)

Reviews
12th Dec 2015 IcemanBo: Too long time as NeedsFix. Rejected. 14:23, 19th Jul 2010 TriggerHappy: Give your triggers more unique names please. Use the "Starts the effect of an ability" event instead. You never clean the leaks in your cast...

Moderator

M

Moderator

12th Dec 2015
IcemanBo: Too long time as NeedsFix. Rejected.

14:23, 19th Jul 2010
TriggerHappy:

Give your triggers more unique names please.
Use the "Starts the effect of an ability" event instead.
You never clean the leaks in your cast trigger.
 
Level 5
Joined
May 27, 2009
Messages
94
first of all you need to delete the leaks inside the triggers cause you are leaking in the them and those.
Secondly its none mui, read a guide about hashtables or indexes cause its against the siterules.
 
Level 7
Joined
Dec 19, 2009
Messages
249
Level 6
Joined
Jun 14, 2009
Messages
124


  • Cast
    • Events
      • Unit - A unit Begins channeling an ability
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Ability being cast) Equal to Electric Lead [C]
        • Then - Actions
          • -------- set level of ability --------
          • Set EI_level = (Real((Level of Electric Lead [C] for (Triggering unit))))
          • -------- set caster --------
          • Set EI_CASTER = (Triggering unit)
          • -------- iniz. points and units --------
          • Set EI_Position[1] = (Position of (Triggering unit))
          • Set EI_Target = (Target unit of ability being cast)
          • Set EI_Position[2] = (Position of (Target unit of ability being cast))
          • -------- set distance beetween caster and target. which will update with time --------
          • Set EI_Distance = (Distance between EI_Position[1] and EI_Position[2])
          • -------- point for circle. It will be update with time too --------
          • Set EI_Position[EI_integer[1]] = (EI_Position[2] offset by 125.00 towards EI_Degrees[1] degrees)
          • -------- create lightning --------
          • Lightning - Create a Spirit Link lightning effect from source EI_Position[1] to target EI_Position[2]
          • Set EI_Lightning = (Last created lightning effect)
          • -------- set lightning color --------
          • Lightning - Change color of EI_Lightning to (0.00 0.00 1.00) with 1.00 alpha
          • -------- unit for duration --------
          • Unit - Create 1 duration for (Owner of (Triggering unit)) at EI_Position[1] facing e degrees
          • Set EI_unit[0] = (Last created unit)
          • -------- 5s- action time --------
          • Unit - Add a 5.00 second Generic expiration timer to EI_unit[0]
          • -------- ruther... --------
          • Trigger - Turn on loop and move <gen>
          • Trigger - Turn on end <gen>
          • Trigger - Turn on end 2 <gen>
        • Else - Actions


  • Loop And Move
    • Events
      • Time - Every 0.01 seconds of game time
    • Conditions
    • Actions
      • -------- for circle --------
      • Set EI_Degrees[1] = (EI_Degrees[1] + 4.50)
      • Set EI_Position[EI_integer[1]] = (EI_Position[2] offset by 125.00 towards EI_Degrees[1] degrees)
      • -------- position update --------
      • Set EI_Position[1] = (Position of EI_CASTER)
      • Set EI_Position[2] = (Position of EI_Target)
      • -------- special effect --------
      • Unit - Create 1 LF_mover for (Owner of EI_CASTER) at EI_Position[EI_integer[1]] facing EI_Degrees[1] degrees
      • Set EI_unit[1] = (Last created unit)
      • Unit - Add a 0.30 second Generic expiration timer to EI_unit[1]
      • Set EI_group[1] = (Units within 50.00 of EI_Position[EI_integer[1]] matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is Magic Immune) Equal to False) and (((Matching unit) belongs to an enemy of (Owner of EI_CASTER)) Equal to True))))
      • -------- group damage --------
      • Unit Group - Pick every unit in EI_group[1] and do (Actions)
        • Loop - Actions
          • Unit - Cause EI_CASTER to damage (Picked unit), dealing ((EI_Distance x EI_level) / 100.00) damage of attack type Spells and damage type Force
      • -------- so, target will facing caster while ability casting --------
      • Unit - Make EI_Target face EI_CASTER over 0.00 seconds
      • -------- and also with caster=> target --------
      • Unit - Make EI_CASTER face EI_Target over 0.00 seconds
      • -------- target moving to caster --------
      • Set EI_Position[EI_integer[2]] = (EI_Position[2] offset by 2.00 towards (Facing of EI_Target) degrees)
      • Unit - Move EI_Target instantly to EI_Position[EI_integer[2]], facing EI_Position[1]
      • -------- lightning position update --------
      • Lightning - Move EI_Lightning to source EI_Position[1] and target EI_Position[2]
      • -------- moving all enemies from target --------
      • -------- (if it not target) --------
      • Set EI_group[2] = (Units within 115.00 of EI_Position[2] matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is Magic Immune) Equal to False) and (((Matching unit) belongs to an enemy of (Owner of EI_CASTER)) Equal to True))))
      • Unit Group - Pick every unit in EI_group[2] and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • EI_Target Not equal to (Picked unit)
            • Then - Actions
              • Set EI_Position[3] = (Position of (Picked unit))
              • Set EI_Position[EI_integer[3]] = (EI_Position[3] offset by 2.50 towards (Angle from EI_Position[2] to EI_Position[3]) degrees)
              • Unit - Move (Picked unit) instantly to EI_Position[EI_integer[3]], facing EI_Position[3]
            • Else - Actions


  • End
    • Events
      • Unit - A unit Dies
    • Conditions
    • Actions
      • -------- if unit die(created earlyer) than triger turn off --------
      • -------- and remove leaks --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Or - Any (Conditions) are true
            • Conditions
              • (Unit-type of (Triggering unit)) Equal to (Unit-type of EI_unit[0])
              • (Triggering unit) Equal to EI_Target
        • Then - Actions
          • -------- burn 1/2 mana when cast is over --------
          • Unit - Set mana of EI_Target to ((Mana of EI_Target) / 2.00)
          • Unit - Remove EI_unit[1] from the game
          • Unit - Remove EI_unit[2] from the game
          • Set EI_group[3] = (Units within 125.00 of EI_Position[1] matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is Magic Immune) Equal to False) and (((Matching unit) belongs to an enemy of (Owner of EI_CASTER)) Equal to True))))
          • Unit Group - Pick every unit in EI_group[3] and do (Actions)
            • Loop - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Picked unit) Not equal to EI_Target
                • Then - Actions
                  • Set EI_Position[4] = (Position of (Picked unit))
                  • Unit - Move (Picked unit) instantly to (EI_Position[3] offset by EI_Degrees[1] towards (Angle from EI_Position[2] to EI_Position[3]) degrees), facing (Position of (Triggering unit))
                • Else - Actions
          • Custom script: call RemoveLocation(udg_EI_Position[1])
          • Custom script: call RemoveLocation(udg_EI_Position[2])
          • Custom script: call RemoveLocation(udg_EI_Position[3])
          • Custom script: call RemoveLocation(udg_EI_Position[4])
          • Custom script: call RemoveLocation(udg_EI_Position[udg_EI_integer[1]])
          • Custom script: call RemoveLocation(udg_EI_Position[udg_EI_integer[2]])
          • Custom script: call RemoveLocation(udg_EI_Position[udg_EI_integer[3]])
          • Custom script: call DestroyGroup(udg_EI_group[1])
          • Custom script: call DestroyGroup(udg_EI_group[2])
          • Set EI_Degrees[1] = 0.00
          • Set EI_unit[0] = No unit
          • Set EI_unit[1] = No unit
          • Lightning - Destroy EI_Lightning
          • Trigger - Turn off Loop And Move <gen>
          • Trigger - Turn off (This trigger)
        • Else - Actions


  • End 2
    • Events
      • Unit - A unit Stops casting an ability
    • Conditions
    • Actions
      • -------- if cast is off than triger turn off --------
      • -------- and remove leaks --------
      • Unit - Remove EI_unit[1] from the game
      • Unit - Remove EI_unit[2] from the game
      • Set EI_group[3] = (Units within 125.00 of EI_Position[1] matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is Magic Immune) Equal to False) and (((Matching unit) belongs to an enemy of (Owner of EI_CASTER)) Equal to True))))
      • Unit Group - Pick every unit in EI_group[3] and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Picked unit) Not equal to EI_Target
            • Then - Actions
              • Set EI_Position[4] = (Position of (Picked unit))
              • Unit - Move (Picked unit) instantly to (EI_Position[3] offset by EI_Degrees[1] towards (Angle from EI_Position[2] to EI_Position[3]) degrees), facing (Position of (Triggering unit))
            • Else - Actions
      • Custom script: call RemoveLocation(udg_EI_Position[1])
      • Custom script: call RemoveLocation(udg_EI_Position[2])
      • Custom script: call RemoveLocation(udg_EI_Position[3])
      • Custom script: call RemoveLocation(udg_EI_Position[4])
      • Custom script: call RemoveLocation(udg_EI_Position[udg_EI_integer[1]])
      • Custom script: call RemoveLocation(udg_EI_Position[udg_EI_integer[2]])
      • Custom script: call RemoveLocation(udg_EI_Position[udg_EI_integer[3]])
      • Custom script: call DestroyGroup(udg_EI_group[1])
      • Custom script: call DestroyGroup(udg_EI_group[2])
      • Set EI_Degrees[1] = 0.00
      • Set EI_unit[0] = No unit
      • Set EI_unit[1] = No unit
      • Lightning - Destroy EI_Lightning
      • Trigger - Turn off Loop And Move <gen>
      • Trigger - Turn off (This trigger)




I juste dont Have Time To Do A Better Review, I Do This Faster.

THE SPELL IS NO MUI!

Well I Found Leaks Like Klingo Said

You Have To Add More Changeable DATA

Idea Is Good

I Dont Like How The Unit Move

NEVER Use .01 or .02
  • Time - Every 0.01 seconds of game time
Why Did You Store The Unit In A Variable, Juste Use Last Created Unit
  • Unit - Add a 0.30 second Generic expiration timer to EI_unit[1]
Coding : 8 / 25 Its Leak, Not MUI And You Have To Fix Some Things

Idea : 21 / 25 Nothings To Say

Eye Candy : 17 / 25 I Like The Effect But The Move Is Very Bad

Legal : 10 / 25 Nothing To Say

Total : 56 / 100

Status : Rejected

 
Last edited:
Top