1. Are you planning to upload your awesome spell or system to Hive? Please review the rules here.
    Dismiss Notice
  2. Find your way through the deepest dungeon in the 18th Mini Mapping Contest Poll.
    Dismiss Notice
  3. A brave new world lies beyond the seven seas. Join the 34th Modeling Contest today!
    Dismiss Notice
  4. Check out the Staff job openings thread.
    Dismiss Notice
Dismiss Notice
Hive 3 Remoosed BETA - NOW LIVE. Go check it out at BETA Hive Workshop! Post your feedback in this new forum BETA Feedback.
Dismiss Notice
60,000 passwords have been reset on July 8, 2019. If you cannot login, read this.

Earth's Fury v1.00

Submitted by Pharaoh_
This bundle is marked as substandard. It may contain bugs, not perform optimally or otherwise be in violation of the submission rules.
Earth's Fury

Bribes the earth into assaulting the Warden's aims. Creates a ward that channels earth energy towards the Warden, damaging any enemies caught within the connection. Enemies can be damaged once every 2 seconds.

Level 1 - 20 damage, 15 cooldown time, 5 seconds duration time.
Level 2 - 40 damage, 15 cooldown time, 10 seconds duration time.
Level 3 - 60 damage, 15 cooldown time, 15 seconds duration time.

If you use this spell, make sure you credit me, please.
Implementation info can be found within the map.

Have fun :)

Triggers
  • Earths Fury 1
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Earth's Fury
    • Actions
      • Set EF_Points[1] = (Position of (Triggering unit))
      • Set EF_Points[2] = (Target point of ability being cast)
      • Unit - Create 1 Dummy (Earth's Fury) for (Owner of (Triggering unit)) at EF_Points[2] facing Default building facing degrees
      • -------- Expiration Timer (Change value 7.00) [Affects the dummy's longetivity & the Terrain deformation] --------
      • Hashtable - Save (5.00 x (Real((Level of Earth's Fury for (Triggering unit))))) as (Key expiration) of (Key (Last created unit)) in EF_Hash
      • Unit - Add a (Load (Key expiration) of (Key (Last created unit)) from EF_Hash) second Generic expiration timer to (Last created unit)
      • Environment - Create a (Load (Key expiration) of (Key (Last created unit)) from EF_Hash) second Temporary crater deformation at EF_Points[2] with radius 50.00 and depth -280.00
      • Unit Group - Add (Last created unit) to EF_Group
      • -------- Attach the Triggering unit on Dummy --------
      • Hashtable - Save Handle Of(Triggering unit) as (Key caster) of (Key (Last created unit)) in EF_Hash
      • -------- Damage Dealt --------
      • Hashtable - Save (20.00 x (Real((Level of Earth's Fury for (Triggering unit))))) as (Key damage) of (Key (Last created unit)) in EF_Hash
      • -------- Lightning Creation --------
      • Lightning - Create a Spirit Link lightning effect from source EF_Points[1] to target EF_Points[2]
      • Hashtable - Save Handle Of(Last created lightning effect) as (Key lightning) of (Key (Last created unit)) in EF_Hash
      • -------- Leak Removal --------
      • Custom script: call RemoveLocation (udg_EF_Points[1])
      • Custom script: call RemoveLocation (udg_EF_Points[2])
      • -------- Fire Earth's Fury 2 up --------
      • Trigger - Turn on Earths Fury 2 <gen>

  • Earths Fury 2
    • Events
      • Time - Every 0.10 seconds of game time
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (EF_Group is empty) Equal to True
        • Then - Actions
          • Trigger - Turn off (This trigger)
        • Else - Actions
          • Unit Group - Pick every unit in EF_Group and do (Actions)
            • Loop - Actions
              • Set EF_Points[3] = (Position of (Picked unit))
              • Set EF_Points[4] = (Position of (Load (Key caster) of (Key (Picked unit)) in EF_Hash))
              • Lightning - Move (Load (Key lightning) of (Key (Picked unit)) in EF_Hash) to source EF_Points[3] and target EF_Points[4]
              • Unit - Make (Picked unit) face (Load (Key caster) of (Key (Picked unit)) in EF_Hash) over 0.00 seconds
              • -------- I save the Picked unit, because we will need it later on --------
              • -------- Warning! The Picked Unit is stored in a Handle-type variable, to maintain the MUI-enhancement! --------
              • Set Unit = (Picked unit)
              • Hashtable - Save Handle Of(Picked unit) as (Key dummies) of (Key Unit) in EF_Hash
              • -------- --------
              • For each (Integer EF_Integer) from 1 to ((Integer((Distance between EF_Points[3] and EF_Points[4]))) / 20), do (Actions)
                • Loop - Actions
                  • Set EF_MultiplePoints[EF_Integer] = (EF_Points[3] offset by ((Real(EF_Integer)) x 20.00) towards (Angle from EF_Points[3] to EF_Points[4]) degrees)
                  • -------- This will detect whether there are units within the angle between the ward dummy and the hero or not. --------
                  • Set EF_DetectUnits = (Units within 128.00 of EF_MultiplePoints[EF_Integer] matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an enemy of (Owner of (Picked unit))) Equal to True))))
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (Number of units in EF_DetectUnits) Not equal to 0
                    • Then - Actions
                      • Unit Group - Pick every unit in EF_DetectUnits and do (Actions)
                        • Loop - Actions
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • ((Picked unit) is in (Load (Key tempgroup) of (Key Unit) in EF_Hash)) Equal to False
                            • Then - Actions
                              • Trigger - Turn off (This trigger)
                              • Hashtable - Save Handle OfEF_DamageUnits as (Key tempgroup) of (Key Unit) in EF_Hash
                              • Unit Group - Add (Picked unit) to (Load (Key tempgroup) of (Key Unit) in EF_Hash)
                              • Hashtable - Save Handle OfEF_DamageTimer as ((Key timerhandle) x (Number of units in (Load (Key tempgroup) of (Key Unit) in EF_Hash))) of (Key (Picked unit)) in EF_Hash
                              • Countdown Timer - Start (Load ((Key timerhandle) x (Number of units in (Load (Key tempgroup) of (Key Unit) in EF_Hash))) of (Key (Picked unit)) in EF_Hash) as a One-shot timer that will expire in 2.50 seconds
                              • Hashtable - Save (Number of units in (Load (Key tempgroup) of (Key Unit) in EF_Hash)) as (Key howmany) of (Key (Last started timer)) in EF_Hash
                              • Set EF_Times = (Load (Key howmany) of (Key (Last started timer)) from EF_Hash)
                              • Hashtable - Save Handle Of(Picked unit) as ((Key unithandle) x EF_Times) of (Key (Last started timer)) in EF_Hash
                              • Hashtable - Save Handle OfEF_DamageUnits as (Key tempgroup) of (Key (Last started timer)) in EF_Hash
                              • Floating Text - Create floating text that reads (String((Load (Key damage) of (Key Unit) from EF_Hash))) above (Picked unit) with Z offset 0.00, using font size 11.00, color (100.00%, 100.00%, 40.00%), and 0.00% transparency
                              • Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees
                              • Floating Text - Change (Last created floating text): Disable permanence
                              • Floating Text - Change the lifespan of (Last created floating text) to 4.00 seconds
                              • Floating Text - Change the fading age of (Last created floating text) to 2.50 seconds
                              • Unit - Cause (Load (Key dummies) of (Key Unit) in EF_Hash) to damage (Picked unit), dealing (Load (Key damage) of (Key Unit) from EF_Hash) damage of attack type Normal and damage type Normal
                              • Special Effect - Create a special effect attached to the chest of (Picked unit) using Objects\Spawnmodels\Undead\ImpaleTargetDust\ImpaleTargetDust.mdl
                              • Special Effect - Destroy (Last created special effect)
                              • Trigger - Turn on (This trigger)
                            • Else - Actions
                    • Else - Actions
                  • Custom script: call RemoveLocation (udg_EF_MultiplePoints[bj_forLoopAIndex])
                  • Custom script: call DestroyGroup (udg_EF_DetectUnits)
              • Custom script: call RemoveLocation (udg_EF_Points[3])
              • Custom script: call RemoveLocation (udg_EF_Points[4])

  • Earths Fury 3
    • Events
      • Unit - A unit Dies
    • Conditions
      • (Unit-type of (Triggering unit)) Equal to Dummy (Earth's Fury)
    • Actions
      • Unit Group - Remove (Triggering unit) from EF_Group
      • Lightning - Destroy (Load (Key lightning) of (Key (Triggering unit)) in EF_Hash)
      • Hashtable - Clear all child hashtables of child (Key (Load (Key caster) of (Key (Triggering unit)) in EF_Hash)) in EF_Hash
      • Hashtable - Clear all child hashtables of child (Key (Triggering unit)) in EF_Hash
      • Unit - Remove (Triggering unit) from the game

  • Earths Fury 4
    • Events
      • Time - EF_DamageTimer expires
    • Conditions
    • Actions
      • For each (Integer B) from 1 to (Load (Key howmany) of (Key (Expiring timer)) from EF_Hash), do (Actions)
        • Loop - Actions
          • Unit Group - Remove (Load ((Key unithandle) x (Integer B)) of (Key (Expiring timer)) in EF_Hash) from (Load (Key tempgroup) of (Key (Expiring timer)) in EF_Hash)
          • Hashtable - Clear all child hashtables of child (Key (Load ((Key unithandle) x (Integer B)) of (Key (Expiring timer)) in EF_Hash)) in EF_Hash
      • Hashtable - Clear all child hashtables of child (Key (Expiring timer)) in EF_Hash


Changelog:

- Removed the terrain deformation effect, due to request.
- Changed the model of the summoned ward.
- Tiny modifications on triggers for better functionality.
- Reduced the damage delay from 2.5 to 2.00 seconds.

Keywords:
Earth, Sand, Ward, Summon, Totem, Strike, Fury, Lightning, Nature, Magic
Contents

... (Map)

Reviews
Moderator
7 November 2015 Bribe: Rejecting due to the status of this resource being "needs fix" for years. 12:17, 17th Jun 2010 Hanky: I found some leaks. Fix them please. After you have done this message me or one of the other spell moderators.
  1. 7 November 2015
    Bribe: Rejecting due to the status of this resource being "needs fix" for years.

    12:17, 17th Jun 2010
    Hanky:
    I found some leaks. Fix them please. After you have done this message me or one of the other spell moderators.
     
  2. Kingz

    Kingz

    Joined:
    Jun 5, 2008
    Messages:
    2,470
    Resources:
    6
    Spells:
    5
    Tutorials:
    1
    Resources:
    6
    Post the triggers.
     
  3. Pharaoh_

    Pharaoh_

    Joined:
    Nov 6, 2008
    Messages:
    8,128
    Resources:
    11
    Icons:
    3
    Skins:
    1
    Spells:
    6
    Tutorials:
    1
    Resources:
    11
  4. Kingz

    Kingz

    Joined:
    Jun 5, 2008
    Messages:
    2,470
    Resources:
    6
    Spells:
    5
    Tutorials:
    1
    Resources:
    6
    Btw it seems you are using terrain deformations.

    Get them out of the spell, they tend to cause lag.
     
  5. Pharaoh_

    Pharaoh_

    Joined:
    Nov 6, 2008
    Messages:
    8,128
    Resources:
    11
    Icons:
    3
    Skins:
    1
    Spells:
    6
    Tutorials:
    1
    Resources:
    11
    To be honest, it didn't seem to lag at all. :/
     
  6. Kingz

    Kingz

    Joined:
    Jun 5, 2008
    Messages:
    2,470
    Resources:
    6
    Spells:
    5
    Tutorials:
    1
    Resources:
    6
    They don't lag now, but they in fact are the things that cause the most pressure on the proccessor/graphic card.

    EDIT:

    The spell idea is totally strange, you can bribe earth? :p

    Change it into something more fitting.

    Also consider changing the ward model, atm it is ...bad :p
     
    Last edited: Jan 14, 2010
  7. Pharaoh_

    Pharaoh_

    Joined:
    Nov 6, 2008
    Messages:
    8,128
    Resources:
    11
    Icons:
    3
    Skins:
    1
    Spells:
    6
    Tutorials:
    1
    Resources:
    11
    Heh, well, it's an alternative way of telling "calls upon/summons/asks for assistance/bla bla". :)
    The spell is our issue, not the tooltip. The ward model.. I'd use something better, but that would require import of model; I'll try to get something better though. Did you like the spell or not?
     
  8. Maker

    Maker

    Joined:
    Mar 6, 2006
    Messages:
    9,174
    Resources:
    17
    Maps:
    2
    Spells:
    14
    Tutorials:
    1
    Resources:
    17
    You could set this conversion to variable so you don't have to do it twice:
    • (Real((Level of Earth's Fury for (Triggering unit))))


    This line and the "load expiration" are weird since you only use the value in that trigger.
    • Hashtable - Save (5.00 x (Real((Level of Earth's Fury for (Triggering unit))))) as (Key expiration) of (Key (Last created unit)) in EF_Hash

    You don't need to save/load it to/from hashtable. Just calculate the value and apply it.


    I'd use indexes of [1] and [2] here, but it's not a big deal.
    • Set EF_Points[3] = (Position of (Picked unit))
    • Set EF_Points[4] = ...


    Do this check in the "unit dies" trigger. That way it gets checked fewer times.
    • (EF_Group is empty) Equal to True


    Do you ever destroy this group:
    • Hashtable - Save Handle OfEF_DamageUnits as (Key tempgroup) of (Key Unit) in EF_Hash


    Why do you turn on/off the trigger inside Earth Fury 2 trigger?
     
  9. Pharaoh_

    Pharaoh_

    Joined:
    Nov 6, 2008
    Messages:
    8,128
    Resources:
    11
    Icons:
    3
    Skins:
    1
    Spells:
    6
    Tutorials:
    1
    Resources:
    11
    Hello, thank you for the review :)

    1) I guess it's no problem, since the spell is supposed to work with levels and I wouldn't want an exta variable for that (too many already).

    2) I did it like that, so that users can easily change the value. Again, loads of variables would come up.

    3) The unit dies trigger makes as many checks as the one you proposed. "EF_Group is empty" Boolean would be the same with the Unit-type comparison I make, since this exact unit-type (Dummy (Earth's Fury)) is used only for the spell.

    4) I tried to destroy it in the final trigger, the "Time - Timer expires" one, and it creates problems (it doubles the damage & the floating texts). I set it in a variable, like this:
    Set EF_UnitGroupLoad = ((Load Key(tempgroup) of (Key(Expiring Timer))) in EF_Hash)
    Custom script: call DestroyGroup (udg_EF_UnitGroupLoad)
    but it doesn't work properly, as I already said :/
    Well, I don't think it's much of a problem here, since I clear every value attached to the timer afterwards.
     
  10. Bluebay

    Bluebay

    Joined:
    May 7, 2008
    Messages:
    100
    Resources:
    7
    Icons:
    1
    Maps:
    1
    Spells:
    5
    Resources:
    7
    Hi, you're spell ( and sorry if I offence :s ) has a weird effect o_o. I can't evaluate the triggering because I don't like using handles. But it seems clear (no leaks). 3/5 for the general rate.

    Oh, and convert the Real damages into Integer, because it looks like you deals 60000 damages (and it's a bit... huge.. =P ).
     
  11. Pharaoh_

    Pharaoh_

    Joined:
    Nov 6, 2008
    Messages:
    8,128
    Resources:
    11
    Icons:
    3
    Skins:
    1
    Spells:
    6
    Tutorials:
    1
    Resources:
    11
    I don't really get the whole "weird" thing here. There are way more complex spells than this, what's weird? The hero summons at a target place a ward and between them, every unit gets damaged every 2.5 seconds. What's weird? :S
    Plus, just because you don't like handles, you can't judge a spell like that. I'm sorry I tend to avoid the old-fashioned indexing systems which are a huge column of triggering.
     
  12. Bluebay

    Bluebay

    Joined:
    May 7, 2008
    Messages:
    100
    Resources:
    7
    Icons:
    1
    Maps:
    1
    Spells:
    5
    Resources:
    7
    Ok, I offenced you :) sorry then. No, I'm just telling you the effect is strange oO. I did not explained why :

    1°) Why is the dealing effect is dust ? (I know it's earth, but it would be using a lightning effect, no ?)

    2°) (And that's my fault) I though it was using a knockback.

    3°) For the second time, convert Real damages into Integer please.

    4°) You should reduce the time delay for the damages, it would look more realistic (if you want it to be).

    And please read correctly what I said : I rated your spell with the effect because I don't know how to rate it with the Handles, because I don't use them !
     
  13. Pharaoh_

    Pharaoh_

    Joined:
    Nov 6, 2008
    Messages:
    8,128
    Resources:
    11
    Icons:
    3
    Skins:
    1
    Spells:
    6
    Tutorials:
    1
    Resources:
    11
    Ok, I changed the model of the ward, the tooltip, the damage displayed into integer and the damage delay from 2.5 -> 2.
    Thank you for your feedback so far ;)
     
  14. Adiktuz

    Adiktuz

    Joined:
    Oct 16, 2008
    Messages:
    9,674
    Resources:
    23
    Models:
    2
    Packs:
    1
    Maps:
    1
    Spells:
    16
    Tutorials:
    1
    JASS:
    2
    Resources:
    23
    maybe you can make the deformations to be optional because they really cause so much lag for users that don't have the latest hardwares.
     
  15. Maker

    Maker

    Joined:
    Mar 6, 2006
    Messages:
    9,174
    Resources:
    17
    Maps:
    2
    Spells:
    14
    Tutorials:
    1
    Resources:
    17
    Modify the triggers like this:

    Triggers
    • Earths Fury 2
      • Events
        • Time - Every 0.10 seconds of game time
      • Conditions
      • Actions
        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • (EF_Group is empty) Equal to True
          • Then - Actions
            • Trigger - Turn off (This trigger)
          • Else - Actions
            • Game - Display to (All players) the text: Check 1
            • Unit Group - Pick every unit in EF_Group and do (Actions)
              • Loop - Actions
                • Set EF_Points[3] = (Position of (Picked unit))
                • Set EF_Points[4] = (Position of (Load (Key caster) of (Key...
                • ...


    • Earths Fury 3
      • Events
        • Unit - A unit Dies
      • Conditions
      • Actions
        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • (Unit-type of (Triggering unit)) Equal to Dummy (Earth's Fury)
          • Then - Actions
            • Game - Display to (All players) the text: Check 2
            • Unit Group - Remove (Triggering unit) from EF_Group
            • Lightning - Destroy (Load (Key lightning) of (Key (Triggering unit)) in EF_Hash)
            • Hashtable - Clear all child hashtables of child (Key (Load (Key caster) of (Key (Triggering unit)) in EF_Hash)) in EF_Hash
            • Hashtable - Clear all child hashtables of child (Key (Triggering unit)) in EF_Hash
            • Unit - Remove (Triggering unit) from the game
          • Else - Actions


    You should also turn on/off the "unit dies" trigger.
     
  16. Pharaoh_

    Pharaoh_

    Joined:
    Nov 6, 2008
    Messages:
    8,128
    Resources:
    11
    Icons:
    3
    Skins:
    1
    Spells:
    6
    Tutorials:
    1
    Resources:
    11
    Ok, I removed the Terrain Deformation.
    Maker, the first trigger you propose modifications to has nothing different with the original trigger. The second trigger I really can't tell what's the difference between this:
    Your Trigger
    • Earths Fury 3
      • Events
        • Unit - A unit Dies
      • Conditions
      • Actions
        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • (Unit-type of (Triggering unit)) Equal to Dummy (Earth's Fury)
          • Then - Actions
            • Unit Group - Remove (Triggering unit) from EF_Group
            • Lightning - Destroy (Load (Key lightning) of (Key (Triggering unit)) in EF_Hash)
            • Hashtable - Clear all child hashtables of child (Key (Load (Key caster) of (Key (Triggering unit)) in EF_Hash)) in EF_Hash
            • Hashtable - Clear all child hashtables of child (Key (Triggering unit)) in EF_Hash
            • Unit - Remove (Triggering unit) from the game
          • Else - Actions


    and this:

    Original Trigger
    • Earths Fury 3
      • Events
        • Unit - A unit Dies
      • Conditions
        • (Unit-type of (Triggering unit)) Equal to Dummy (Earth's Fury)
      • Actions
        • Unit Group - Remove (Triggering unit) from EF_Group
        • Lightning - Destroy (Load (Key lightning) of (Key (Triggering unit)) in EF_Hash)
        • Hashtable - Clear all child hashtables of child (Key (Load (Key caster) of (Key (Triggering unit)) in EF_Hash)) in EF_Hash
        • Hashtable - Clear all child hashtables of child (Key (Triggering unit)) in EF_Hash
        • Unit - Remove (Triggering unit) from the game
        • Else - Actions


    Anyway, I updated it & Turned - on & off the trigger with the "A unit dies event". :)
     
    Last edited: Jan 15, 2010
  17. Maker

    Maker

    Joined:
    Mar 6, 2006
    Messages:
    9,174
    Resources:
    17
    Maps:
    2
    Spells:
    14
    Tutorials:
    1
    Resources:
    17
    It was to demonstrate how often the checks are made. There's those
    • Game - Display to (All players) the text: *text*


    So it prints something on the screen when the check is made, helps to see which runs more often.
     
  18. Frunck

    Frunck

    Joined:
    Nov 11, 2009
    Messages:
    172
    Resources:
    1
    Spells:
    1
    Resources:
    1
    This isn't mui :(
     
  19. Adiktuz

    Adiktuz

    Joined:
    Oct 16, 2008
    Messages:
    9,674
    Resources:
    23
    Models:
    2
    Packs:
    1
    Maps:
    1
    Spells:
    16
    Tutorials:
    1
    JASS:
    2
    Resources:
    23
    really? ^^