• 🏆 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!

Zeal & Flood 1.5

This bundle is marked as useful / simple. Simplicity is bliss, low effort and/or may contain minor bugs.
Two "Attack Spam" Spells.
Zeal is just like the Diablo II Paladin's (Hits several enemies in a row)
Flood is a ranged version of the Zeal (Fires several balls of fire at enemies in a row)
If you use this on your map/campaign, give me credits.

  • Zeal Cast
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Zeal
    • Actions
      • -------- Saves the Max hits of the Caster --------
      • Hashtable - Save (2 + (Level of Zeal for (Triggering unit))) as 0 of (Key (Triggering unit)) in Zeal_HT
      • -------- Pauses the Caster, making it unable to interupt the Striking --------
      • Unit - Pause (Triggering unit)
      • -------- If the Zealers' Group is empty, the turns on the Loop Trigger --------
      • If ((Zealers is empty) Equal to True) then do (Trigger - Turn on Zeal Loop <gen>) else do (Do nothing)
      • -------- Adds the Caster to the Zealers' Group, rendering him possible to strike enemies --------
      • Unit Group - Add (Triggering unit) to Zealers
  • Zeal Loop
    • Events
      • Time - Every 0.60 seconds of game time
    • Conditions
    • Actions
      • -------- The Body of the Spell --------
      • Unit Group - Pick every unit in Zealers and do (Actions)
        • Loop - Actions
          • -------- Loads the Location of the Caster and Sets the Possible targets for Hitting group --------
          • Set Points[1] = (Position of (Picked unit))
          • Set Zeal_Pos_Targets = (Units within 175.00 of Points[1] matching ((((Matching unit) is A structure) Not equal to True) and ((((Matching unit) is A ground unit) Equal to True) and ((((Matching unit) is Ethereal) Not equal to True) and ((((Matching unit) is dead) Not equal to True)
          • -------- If the Zeal_Pos_Targets group is empty, then unpauses the caster and removes leaks --------
          • -------- If the Zeal_Pos_Targets group isn't empty, then does the 'hitting'. One loop if for One hit! --------
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Zeal_Pos_Targets is empty) Equal to True
            • Then - Actions
              • Unit - Unpause (Picked unit)
              • Unit - Order (Picked unit) to Stop
              • Unit Group - Remove (Picked unit) from Zealers
              • If ((Zealers is empty) Equal to True) then do (Trigger - Turn off (This trigger)) else do (Do nothing)
              • Hashtable - Clear all child hashtables of child (Key (Picked unit)) in Zeal_HT
            • Else - Actions
              • -------- Chooses a random enemy for hitting from possible targets' Group. --------
              • Unit Group - Pick every unit in (Random 1 units from Zeal_Pos_Targets) and do (Set Hit_Target = (Picked unit))
              • -------- Faces the Caster at the Chosen Target --------
              • Unit - Make (Picked unit) face Hit_Target over 0.00 seconds
              • -------- Plays the attack animation of the Caster --------
              • Animation - Play (Picked unit)'s attack animation
              • -------- Causes damage. Change the Amount of the Damage here! --------
              • Unit - Cause (Picked unit) to damage Hit_Target, dealing (Random real number between (2.00 x (Real((Strength of (Picked unit) (Include bonuses))))) and (4.00 x (Real((Strength of (Picked unit) (Include bonuses)))))) damage of attack type Hero and damage type Normal
              • -------- Plays the 'Blood of Hit Target' Animation (Stampede Impact Animation) --------
              • Special Effect - Create a special effect attached to the chest of Hit_Target using Abilities\Spells\Other\Stampede\StampedeMissileDeath.mdl
              • Special Effect - Destroy (Last created special effect)
              • -------- Changes the Hits left for the Caster. --------
              • Hashtable - Save ((Load 0 of (Key (Picked unit)) from Zeal_HT) - 1) as 0 of (Key (Picked unit)) in Zeal_HT
              • -------- If hits left is 0, then makes Caster free to use again, clears the hashtable and if the Zealers' Group is empty, turns of this trigger. --------
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Load 0 of (Key (Picked unit)) from Zeal_HT) Equal to 0
                • Then - Actions
                  • Unit - Unpause (Picked unit)
                  • Unit - Order (Picked unit) to Stop
                  • Unit Group - Remove (Picked unit) from Zealers
                  • If ((Zealers is empty) Equal to True) then do (Trigger - Turn off (This trigger)) else do (Do nothing)
                  • Hashtable - Clear all child hashtables of child (Key (Picked unit)) in Zeal_HT
                • Else - Actions
          • -------- Removes rest of the Leaks --------
          • Custom script: call RemoveLocation(udg_Points[1])
          • Custom script: call DestroyGroup(udg_Zeal_Pos_Targets)
  • Flood Cast
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Flood
    • Actions
      • -------- Saves the Max hits of the Caster --------
      • Hashtable - Save (2 + (Level of Flood for (Triggering unit))) as 0 of (Key (Triggering unit)) in Flood_HT
      • -------- Pauses the Caster, making it unable to interupt the Striking --------
      • Unit - Pause (Triggering unit)
      • -------- If Flooders' Group is empty, turns on the Flood Loop Trigger, rendering caster possible to shoot at enemies --------
      • If ((Flooders is empty) Equal to True) then do (Trigger - Turn on Flood Loop <gen>) else do (Do nothing)
      • -------- Adds the Caster to the Flooders' Group, allowing to shoot --------
      • Unit Group - Add (Triggering unit) to Flooders
  • Flood Loop
    • Events
      • Time - Every 0.55 seconds of game time
    • Conditions
    • Actions
      • Unit Group - Pick every unit in Flooders and do (Actions)
        • Loop - Actions
          • -------- Sets Location of the Caster and Locates Possible Targets. Change AoE in the 'Set - Flood_Possible_Targets' action --------
          • Set Points[1] = (Position of (Picked unit))
          • Set Flood_Pos_Targets = (Units within 625.00 of Points[1] matching ((((Matching unit) is A structure) Not equal to True) and ((((Matching unit) is Mechanical) Not equal to True) and ((((Matching unit) is Magic Immune) Not equal to True) and ((((Matching unit) is dead) Not equal to T
          • -------- If the Possible Targets' Group is empty, makes the caster available for use again --------
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Flood_Pos_Targets is empty) Equal to True
            • Then - Actions
              • Unit - Unpause (Picked unit)
              • Unit - Order (Picked unit) to Stop
              • Unit Group - Remove (Picked unit) from Flooders
              • -------- Turns of this trigger if there aren't any more units in effect of this trigger --------
              • If ((Flooders is empty) Equal to True) then do (Trigger - Turn off (This trigger)) else do (Do nothing)
              • Hashtable - Clear all child hashtables of child (Key (Picked unit)) in Flood_HT
            • Else - Actions
              • -------- If the Possible Targets' Group isn't empty, then chooses a random target from possible targets' group --------
              • Unit Group - Pick every unit in (Random 1 units from Flood_Pos_Targets) and do (Set Shot_Target = (Picked unit))
              • -------- Faces the Caster at the Chosen Target --------
              • Unit - Make (Picked unit) face Shot_Target over 0.00 seconds
              • -------- Plays the Caster's spell animation as an attack animation in Zeal --------
              • Animation - Play (Picked unit)'s spell animation
              • -------- Creates and stores a Projectile unit in a hashtable for sliding loop. --------
              • Unit - Create 1 Flood Ball for (Owner of (Picked unit)) at Points[1] facing (Angle from (Position of (Picked unit)) to (Position of Shot_Target)) degrees
              • Hashtable - Save Handle Of(Picked unit) as 0 of (Key (Last created unit)) in Shot_HT
              • Hashtable - Save Handle OfShot_Target as 1 of (Key (Last created unit)) in Shot_HT
              • -------- If the Projectiles' Group is empty, then turns on the Sliding trigger, rendering the projectile available for flight --------
              • If ((Shots is empty) Equal to True) then do (Trigger - Turn on Flood Shot Slide <gen>) else do (Do nothing)
              • Unit Group - Add (Last created unit) to Shots
              • -------- Reduces hits left by one --------
              • Hashtable - Save ((Load 0 of (Key (Picked unit)) from Flood_HT) - 1) as 0 of (Key (Picked unit)) in Flood_HT
              • -------- If the Hits left is equals to 0, then fixes the Caster for using again and clears the hashtable --------
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Load 0 of (Key (Picked unit)) from Flood_HT) Equal to 0
                • Then - Actions
                  • Unit - Unpause (Picked unit)
                  • Unit - Order (Picked unit) to Stop
                  • Unit Group - Remove (Picked unit) from Flooders
                  • -------- Turns of this trigger if there aren't any more units in effect of this trigger --------
                  • If ((Flooders is empty) Equal to True) then do (Trigger - Turn off (This trigger)) else do (Do nothing)
                  • Hashtable - Clear all child hashtables of child (Key (Picked unit)) in Flood_HT
                • Else - Actions
          • -------- Clears the rest of the Leaks --------
          • Custom script: call RemoveLocation(udg_Points[1])
          • Custom script: call DestroyGroup(udg_Flood_Pos_Targets)
  • Flood Shot Slide
    • Events
      • Time - Every 0.03 seconds of game time
    • Conditions
    • Actions
      • Unit Group - Pick every unit in Shots and do (Actions)
        • Loop - Actions
          • -------- Sets the Locations of the Projectile unit and Shot target --------
          • Set Points[1] = (Position of (Picked unit))
          • Set Points[2] = (Position of (Load 1 of (Key (Picked unit)) in Shot_HT))
          • -------- Sets a location in to which the projectile could be moved --------
          • -------- The number after word 'by' determines the speed of the Projectile. --------
          • -------- To get a normal speed moved per second, divide this number into interval of the event. --------
          • -------- My Projectile Unit's Speed is 21/0.03=700 units per second --------
          • Set Points[3] = (Points[1] offset by 21.00 towards (Angle from Points[1] to Points[2]) degrees)
          • -------- If the Distance between the Projectile and Target is Greater than 100, then moves Projectile to Points[3] --------
          • -------- If the Distance between the Projectile and Target is Less than 100, Deals damage and plays impact animation --------
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Distance between Points[1] and Points[2]) Greater than or equal to 100.00
            • Then - Actions
              • Unit - Move (Picked unit) instantly to Points[3]
            • Else - Actions
              • -------- Plays the Impact animation on Target --------
              • Special Effect - Create a special effect attached to the chest of (Load 1 of (Key (Picked unit)) in Shot_HT) using Abilities\Weapons\RedDragonBreath\RedDragonMissile.mdl
              • Special Effect - Destroy (Last created special effect)
              • -------- Deals damage. Change the amount of Damage here --------
              • Unit - Cause (Load 0 of (Key (Picked unit)) in Shot_HT) to damage (Load 1 of (Key (Picked unit)) in Shot_HT), dealing (Random real number between (Real((2 x (Intelligence of (Load 0 of (Key (Picked unit)) in Shot_HT) (Include bonuses))))) and (4.00 x (Real((Intelligence of (Load 0 of (Key (Picked unit)) in Shot_HT) (Include bonuses)))))) damage of attack type Spells and damage type Normal
              • -------- Removes the Projectile unit from group. --------
              • Unit Group - Remove (Picked unit) from Shots
              • -------- If the there are no more projectiles affected by this trigger, then turns this trigger off --------
              • If ((Shots is empty) Equal to True) then do (Trigger - Turn off (This trigger)) else do (Do nothing)
              • -------- Clears the hashtable and removes the projectile unit from game --------
              • Hashtable - Clear all child hashtables of child (Key (Picked unit)) in Shot_HT
              • Unit - Remove (Picked unit) from the game
          • -------- Removes the Locations (Rest of the Leaks) --------
          • Custom script: call RemoveLocation(udg_Points[1])
          • Custom script: call RemoveLocation(udg_Points[2])
          • Custom script: call RemoveLocation(udg_Points[3])

1.0 First Release
1.1 Improved description
1.2 Added trigger to description, removed saving the caster into a hashtable as the caster is paused and added to the Zealots' Group. (thanks to krisserz)
1.3 Turns of the loop trigger if there is no unit in Zealots' group, doesn't nullify the Hit_Target.
1.4 Doesn't hit Etherals anymore. Removes locations and destroys group at the end of loop. Fixed the SFX leak
1.5 Added comments to the trigger. Created Flood (Ranged Version of Zeal). Uploaded new screenshot


Keywords:
Diablo II, Zeal, Pally, Paladin, Melee, Strikes, Instant Cast, Spam, Shots, Fire, Random
Contents

The Zeal and Flood (Map)

Reviews
12th Dec 2015 IcemanBo: Too long time as NeedsFix. Rejected. 19:41, 16th Jun 2010 Hanky: I found some things that have to be improved: - Fix those group leaks - Remove those DoNothing functions After you have fixed those stuff message me or...

Moderator

M

Moderator

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

19:41, 16th Jun 2010
Hanky:
I found some things that have to be improved:
- Fix those group leaks
- Remove those DoNothing functions

After you have fixed those stuff message me or one of the other spell moderators.
 
Level 18
Joined
Feb 28, 2009
Messages
1,970
I just looked through triggers and:
1. Turn off the loop somewhen
2.
  • Hashtable - Save Handle Of(Triggering unit) as 1 of (Key (Triggering unit)) in Hashtable
I see no point of this coz you add this unit to group and pick it so useless is also
  • Set Point = (Position of (Load 1 of (Key (Picked unit)) in Hashtable))
and other actions with (Load 1 of (Key (Picked unit)) in Hashtable) coz this is just picked unit
3.
  • Set Hit_Target = No Unit
What is this for? (you never set it to any value)
 
Level 9
Joined
Oct 31, 2009
Messages
121
I just looked through triggers and:
1. Turn off the loop somewhen
2.
  • Hashtable - Save Handle Of(Triggering unit) as 1 of (Key (Triggering unit)) in Hashtable
I see no point of this coz you add this unit to group and pick it so useless is also
  • Set Point = (Position of (Load 1 of (Key (Picked unit)) in Hashtable))
and other actions with (Load 1 of (Key (Picked unit)) in Hashtable) coz this is just picked unit
3.
  • Set Hit_Target = No Unit
What is this for? (you never set it to any value)


1. If I turned off the loop, it would simply stop functioning if someone else casts it (try it)
2. Fixed, thanks for noticement.
3. Removing the only left memory leak
 
Level 18
Joined
Feb 28, 2009
Messages
1,970
3. Removing the only left memory leak
You never store it so there is no point of existin this in variables.
Also global unit variable doesn`t leak.

1. If I turned off the loop, it would simply stop functioning if someone else casts it (try it)
If you do it right it won`t.
(make integer variable which will incarase when the spell is casted and decrase when the spell finishes)

EDIT: And hide triggers with
JASS:
[hidden="TITLE"]HERE PUT TRIGGERS[/hidden]
 
Level 19
Joined
Feb 25, 2009
Messages
2,004
The "Hit_Target" is a global variable, thus its overriten each time the spell is cast, so, you don't need to null it.

As I can see, you don't have documentation, which violates one of the THW spell section rules.

Also, you can just check if the specific unit-group for the loop is empty and then turn off the loop.

  • Special Effect - Create a special effect attached to the chest of Hit_Target using Abilities\Spells\Other\Stampede\StampedeMissileDeath.mdl
This leaks, it is never destroyed.

Also you can sum the points of damage before using the "Damage" action, and since its a constant value, you can make an initialiazation trigger for this things.

Edit: By documentation I meant trigger-comments which explains what the trigger(s) do.
 
Level 19
Joined
Feb 4, 2009
Messages
1,313
  • Zeal Loop
    • Events
      • Time - Every 0.60 seconds of game time
    • Conditions
    • Actions
      • Unit Group - Pick every unit in Zealots and do (Actions)
        • Loop - Actions
          • Set Point = (Position of (Load 1 of (Key (Picked unit)) in Hashtable))
          • -------- remove the point after the if and not somewhere in it and not twice --------
          • -------- better use picked unit then loading the unit again and again cause hashtables are slow --------
          • -------- it still works on invisible/flying/etheral units --------
          • Set Enemies = (Units within 175.00 of Point matching ((((Matching unit) is A structure) Not equal to True) and (((((Matching unit) is dead) Not equal to True) and (((Matching unit) is A ground unit) Equal to True)) and (((Matching unit) belongs to an enemy of (Owner of (Lo
          • -------- destroy the group after the if --------
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Enemies is empty) Equal to True
            • Then - Actions
              • -------- better use the channel ability to pause the caster so it does not corrupt the order queue --------
              • -------- better use picked unit then loading the unit again and again cause hashtables are slow --------
              • Unit - Unpause (Load 1 of (Key (Picked unit)) in Hashtable)
              • -------- better use picked unit then loading the unit again and again cause hashtables are slow --------
              • Unit - Order (Load 1 of (Key (Picked unit)) in Hashtable) to Stop
              • -------- remove the point after the if and not somewhere in it and not twice --------
              • Custom script: call RemoveLocation(udg_Point)
              • -------- destroy the group after the if --------
              • Custom script: call DestroyGroup(udg_Enemies)
              • Unit Group - Remove (Picked unit) from Zealots
              • Hashtable - Clear all child hashtables of child (Key (Picked unit)) in Hashtable
            • Else - Actions
              • -------- why not "set hit_target = random unit of enemys"? --------
              • Unit Group - Pick every unit in (Random 1 units from Enemies) and do (Set Hit_Target = (Picked unit))
              • -------- better use picked unit then loading the unit again and again cause hashtables are slow --------
              • Unit - Make (Load 1 of (Key (Picked unit)) in Hashtable) face Hit_Target over 0.00 seconds
              • Animation - Play (Load 1 of (Key (Picked unit)) in Hashtable)'s attack animation
              • -------- better use picked unit then loading the unit again and again cause hashtables are slow --------
              • Unit - Cause (Load 1 of (Key (Picked unit)) in Hashtable) to damage Hit_Target, dealing (Random real number between (2.00 x (Real((Strength of (Load 1 of (Key (Picked unit)) in Hashtable) (Include bonuses))))) and (4.00 x (Real((Strength of (Load 1 of (Key (Picked unit)) in Hashtable) (Include bonuses)))))) damage of attack type Hero and damage type Normal
              • -------- you leak a special effect --------
              • -------- destroy it with "destroy last created special effect --------
              • Special Effect - Create a special effect attached to the chest of Hit_Target using Abilities\Spells\Other\Stampede\StampedeMissileDeath.mdl
              • -------- remove the point after the if and not somewhere in it and not twice --------
              • Custom script: call RemoveLocation(udg_Point)
              • -------- destroy the group after the if --------
              • Custom script: call DestroyGroup(udg_Enemies)
              • Hashtable - Save ((Load 0 of (Key (Picked unit)) from Hashtable) - 1) as 0 of (Key (Picked unit)) in Hashtable
              • -------- units dont leak --------
              • Set Hit_Target = No unit
              • -------- i would prefer to add this condition in the first if so you dont have to use the same code twice --------
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Load 0 of (Key (Picked unit)) from Hashtable) Equal to 0
                • Then - Actions
                  • -------- same as mentioned in the first if --------
                  • Unit - Unpause (Load 1 of (Key (Picked unit)) in Hashtable)
                  • Unit - Order (Load 1 of (Key (Picked unit)) in Hashtable) to Stop
                  • Custom script: call RemoveLocation(udg_Point)
                  • Unit Group - Remove (Picked unit) from Zealots
                  • Hashtable - Clear all child hashtables of child (Key (Picked unit)) in Hashtable
                • Else - Actions
the rules demand a screenshot(yours is horrible) and comments/description

edit:
since I am writing very slow some bugs were pointed out already

1. Made the removing locations and destroying groups at the end of the loop. (thanks for noticement)
2. It DIDN'T EVER HIT the fliers, only ground units.
3. Made it unable to hit etherals.
4. Fixed the leak of the SFX (Borrowed the trigger from Blizzard's Candy fight)
5. Minimaze your post's trigger, like I did!!!
6. Make a better screenshot and I'll use it gladly.

2. sry wanted to say magic immune (since it is a physical spell it might be ok though but it's unusual)
5. nope I want to force the dude whoever made this code to add the cool jass minimize thing to normal trigger tags too and that won't work if I use hidden tags :p
6. sure why not but since I then made much more of your spell then you did I will have you to delete it and upload it myself :p
 
Last edited:
Level 9
Joined
Oct 31, 2009
Messages
121
  • Zeal Loop
    • Events
      • Time - Every 0.60 seconds of game time
    • Conditions
    • Actions
      • Unit Group - Pick every unit in Zealots and do (Actions)
        • Loop - Actions
          • Set Point = (Position of (Load 1 of (Key (Picked unit)) in Hashtable))
          • -------- remove the point after the if and not somewhere in it and not twice --------
          • -------- better use picked unit then loading the unit again and again cause hashtables are slow --------
          • -------- it still works on invisible/flying/etheral units --------
          • Set Enemies = (Units within 175.00 of Point matching ((((Matching unit) is A structure) Not equal to True) and (((((Matching unit) is dead) Not equal to True) and (((Matching unit) is A ground unit) Equal to True)) and (((Matching unit) belongs to an enemy of (Owner of (Lo
          • -------- destroy the group after the if --------
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Enemies is empty) Equal to True
            • Then - Actions
              • -------- better use the channel ability to pause the caster so it does not corrupt the order queue --------
              • -------- better use picked unit then loading the unit again and again cause hashtables are slow --------
              • Unit - Unpause (Load 1 of (Key (Picked unit)) in Hashtable)
              • -------- better use picked unit then loading the unit again and again cause hashtables are slow --------
              • Unit - Order (Load 1 of (Key (Picked unit)) in Hashtable) to Stop
              • -------- remove the point after the if and not somewhere in it and not twice --------
              • Custom script: call RemoveLocation(udg_Point)
              • -------- destroy the group after the if --------
              • Custom script: call DestroyGroup(udg_Enemies)
              • Unit Group - Remove (Picked unit) from Zealots
              • Hashtable - Clear all child hashtables of child (Key (Picked unit)) in Hashtable
            • Else - Actions
              • -------- why not "set hit_target = random unit of enemys"? --------
              • Unit Group - Pick every unit in (Random 1 units from Enemies) and do (Set Hit_Target = (Picked unit))
              • -------- better use picked unit then loading the unit again and again cause hashtables are slow --------
              • Unit - Make (Load 1 of (Key (Picked unit)) in Hashtable) face Hit_Target over 0.00 seconds
              • Animation - Play (Load 1 of (Key (Picked unit)) in Hashtable)'s attack animation
              • -------- better use picked unit then loading the unit again and again cause hashtables are slow --------
              • Unit - Cause (Load 1 of (Key (Picked unit)) in Hashtable) to damage Hit_Target, dealing (Random real number between (2.00 x (Real((Strength of (Load 1 of (Key (Picked unit)) in Hashtable) (Include bonuses))))) and (4.00 x (Real((Strength of (Load 1 of (Key (Picked unit)) in Hashtable) (Include bonuses)))))) damage of attack type Hero and damage type Normal
              • -------- you leak a special effect --------
              • -------- destroy it with "destroy last created special effect --------
              • Special Effect - Create a special effect attached to the chest of Hit_Target using Abilities\Spells\Other\Stampede\StampedeMissileDeath.mdl
              • -------- remove the point after the if and not somewhere in it and not twice --------
              • Custom script: call RemoveLocation(udg_Point)
              • -------- destroy the group after the if --------
              • Custom script: call DestroyGroup(udg_Enemies)
              • Hashtable - Save ((Load 0 of (Key (Picked unit)) from Hashtable) - 1) as 0 of (Key (Picked unit)) in Hashtable
              • -------- units dont leak --------
              • Set Hit_Target = No unit
              • -------- i would prefer to add this condition in the first if so you dont have to use the same code twice --------
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Load 0 of (Key (Picked unit)) from Hashtable) Equal to 0
                • Then - Actions
                  • -------- same as mentioned in the first if --------
                  • Unit - Unpause (Load 1 of (Key (Picked unit)) in Hashtable)
                  • Unit - Order (Load 1 of (Key (Picked unit)) in Hashtable) to Stop
                  • Custom script: call RemoveLocation(udg_Point)
                  • Unit Group - Remove (Picked unit) from Zealots
                  • Hashtable - Clear all child hashtables of child (Key (Picked unit)) in Hashtable
                • Else - Actions


the rules demand a screenshot(yours is horrible) and comments/description

1. Made the removing locations and destroying groups at the end of the loop. (thanks for noticement)
2. It DIDN'T EVER HIT the fliers, only ground units.
3. Made it unable to hit etherals.
4. Fixed the leak of the SFX (Borrowed the trigger from Blizzard's Candy fight)
5. Minimaze your post's trigger, like I did!!!
6. Make a better screenshot and I'll use it gladly.
 
Level 9
Joined
Oct 31, 2009
Messages
121
2. sry wanted to say magic immune (since it is a physical spell it might be ok though but it's unusual)
5. nope I want to force the dude whoever made this code to add the cool jass minimize thing to normal trigger tags too and that won't work if I use hidden tags :p
6. sure why not but since I then made much more of your spell then you did I will have you to delete it and upload it myself :p

2. It's phisical damage spell (play the Diablo II as Zealot and you will see), so I wont change anything.
5. Please, dont suck? You see, It streches all the site for 2-window size -_-
6. It's only sugestion, but for me My photo is good. Dont Touch it! :D
 
Top