-
Are you planning to upload your awesome spell or system to Hive? Please review the rules here.Dismiss Notice
-
The poll for our 11th Music Contest is up! Help us choose the most awesome cinematic tracks by casting a vote!Dismiss Notice
-
Melee Mapping contest #3 - Poll is up! Vote for the best 4v4 melee maps!Dismiss Notice
-
The 30th edition of the Modeling Contest is finally up! The Portable Buildings need your attention, so come along and have a blast!Dismiss Notice
-
The Aftermath has been revealed for the 19th Terraining Contest! Be sure to check out the Results and see what came out of it.Dismiss Notice
Death Grip (Hero Ability) 1.07
Submitted by
Laercio
- Tags:
- Passive / Aura, GUI / Triggers
- Filesize:
- 22.44 KB
- Rating:
-
(2 votes)
- Downloads:
- 681
- Uploaded:
- Jun 26, 2013
- Updated:
- Jul 23, 2013
- Resources:
- 1
- Author(s):
- Laercio
- State:
- Approved

This bundle is marked as approved. It works and satisfies the submission rules.
This is my version of the Death Grip spell from WoW
Features:
-Damages the target based in the percentage of it's current life (configurable)
-Grips the target and the aplies the damage over the time it is being moved
-Fully configurable (damage, final "distance" between caster and target, effect used and duration via the Config Trigger)
-Can be easily installed in your map (one CnP of the trigger category and one CnP of the ability)
The trigger above is initially off and is turned on while the spell is "working".
If you use the ability I used on the map, maybe you must enter the "DG Configuration" trigger and do this:
I think that's all guys. Feedback, constructive criticism and help is welcome.
1.00 - Uploaded
1.01a - Fixed an action that was calculating the damage the wrong way
1.01b - Turned on the instructions in the test map
1.02 - Stored (Picked Unit) into a variable in the Loop trigger
1.03a - Fixed an issue that was calculating the damage using the wrong value
1.03b - Removed leak in Loop trigger
1.03c - The Loop trigger now is turned off when the unit group is empty
1.03d - The effect leak is fixed (now you can cast twice in the same unit)
1.04 - Polished the triggers
1.04a - Polished the triggers
1.04b - Polished the Triggers
1.04c - Fixed Loop trigger
1.05 - Polished Triggers
1.05a - Polished Triggers
1.06 - Remade the movement action, removed variables from the loop and stored damage and handle of caster in the hashtable
1.06a - Polished the triggers
1.06b - Polished the triggers...
1.07 - Effect is no longer removed and created again, removed useless variables, changed the icon (now icon has disabled variation), hashtable is now created in the configuration trigger. The location variable is now in the right place, inside the "then" actions, in the loop...
Credits:
- Maker (for great tips and a good review (preview))
- Forsaken (for giving me the idea and requesting this via PM, and review)
- deathismyfriend (for great tips on the triggers)
Fell free to change the icon and the values to fit your map.
Give credits if you use/edit this spell.
Keywords:
Death Knight, Death, Grip, Knockback, Movement, DoT, Damage, Damage Over Time, Undead, WOW, World of Warcraft.
Features:
-Damages the target based in the percentage of it's current life (configurable)
-Grips the target and the aplies the damage over the time it is being moved
-Fully configurable (damage, final "distance" between caster and target, effect used and duration via the Config Trigger)
-Can be easily installed in your map (one CnP of the trigger category and one CnP of the ability)
Config
-
DG Configuration
-
Events
-
Map initialization
-
-
Conditions
-
Actions
-
-------- Creating the Hashtable --------
-
Hashtable - Create a hashtable
-
Set HashGrip = (Last created hashtable)
-
-------- Set the Total Damage for each level of the ability --------
-
Set DG_Damage[1] = 0.15
-
Set DG_Damage[2] = 0.30
-
Set DG_Damage[3] = 0.45
-
-------- Casting Time --------
-
Set DG_CastingTime = 1.35
-
-------- Set Effects to be used --------
-
Set DG_TargetEffect = Abilities\Spells\Undead\DarkSummoning\DarkSummonMissile.mdl
-
Set DG_Attach_Target = chest
-
-------- Set Collision of the Caster --------
-
Set DG_Collision = 125.00
-
-------- Set the used Ability --------
-
Set DGAbility = Death Grip
-
-
Cast
-
DG Target
-
Events
-
Unit - A unit Starts the effect of an ability
-
-
Conditions
-
(Ability being cast) Equal to DGAbility
-
-
Actions
-
-------- Turn on the loop --------
-
Trigger - Turn on DG Loop <gen>
-
-------- Setting variables --------
-
Set DG_Caster = (Triggering unit)
-
Set DG_Target = (Target unit of ability being cast)
-
Custom script: set udg_DGTargetKey = GetHandleId(udg_DG_Target)
-
Set DGPoint1 = (Position of DG_Caster)
-
Set DGPoint2 = (Position of DG_Target)
-
Set DG_Angle = (Angle from DGPoint2 to DGPoint1)
-
Set DG_Timer = DG_CastingTime
-
Set DG_CurrentDist = (((Distance between DGPoint1 and DGPoint2) - DG_Collision) x (0.03 / DG_Timer))
-
Set DG_Life = (Life of DG_Target)
-
Set DGDamageLoop = ((DG_Life x DG_Damage[(Level of DGAbility for DG_Caster)]) / (DG_CastingTime / 0.03))
-
-------- Check if Unit is already with Special Effect, if not, create the special effect --------
-
If ((3 is stored as a Handle of DGTargetKey in HashGrip) Equal to True) then do (-------- Do Nothing --------) else do (Special Effect - Create a special effect attached to the DG_Attach_Target of DG_Target using DG_TargetEffect)
-
-------- Removing Leaks --------
-
Custom script: call RemoveLocation(udg_DGPoint1)
-
Custom script: call RemoveLocation(udg_DGPoint2)
-
-------- Saving values in the Hashtable --------
-
Hashtable - Save DG_Angle as 0 of DGTargetKey in HashGrip
-
Hashtable - Save DG_CurrentDist as 1 of DGTargetKey in HashGrip
-
Hashtable - Save DG_Timer as 2 of DGTargetKey in HashGrip
-
Hashtable - Save Handle Of(Last created special effect) as 3 of DGTargetKey in HashGrip
-
Hashtable - Save DGDamageLoop as 4 of DGTargetKey in HashGrip
-
Hashtable - Save Handle OfDG_Caster as 5 of DGTargetKey in HashGrip
-
-------- Add the target to the unit group --------
-
Unit Group - Add DG_Target to DG_Group
-
-
Loop
-
DG Loop
-
Events
-
Time - Every 0.03 seconds of game time
-
-
Conditions
-
Actions
-
Unit Group - Pick every unit in DG_Group and do (Actions)
-
Loop - Actions
-
Set DG_Target = (Picked unit)
-
Custom script: set udg_DGTargetKey = GetHandleId(udg_DG_Target)
-
-------- Load values from the Hashtable --------
-
Set DG_Timer = (Load 2 of DGTargetKey from HashGrip)
-
-------- ----------------------- --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
DG_Timer Greater than 0.00
-
(Life of (Load 5 of DGTargetKey in HashGrip)) Greater than 0.00
-
-
Then - Actions
-
-------- Moving unit --------
-
Set DGPoint1 = (Position of DG_Target)
-
Set DGPoint2 = (DGPoint1 offset by (Load 1 of DGTargetKey from HashGrip) towards (Load 0 of DGTargetKey from HashGrip) degrees)
-
Unit - Move DG_Target instantly to DGPoint2
-
Custom script: call RemoveLocation(udg_DGPoint1)
-
Custom script: call RemoveLocation(udg_DGPoint2)
-
-------- Decrease Timer for the movement of the unit --------
-
Hashtable - Save (DG_Timer - 0.03) as 2 of DGTargetKey in HashGrip
-
-------- Apply the damage on the unit --------
-
Unit - Set life of DG_Target to ((Life of DG_Target) - (Load 4 of DGTargetKey from HashGrip))
-
-
Else - Actions
-
-------- When the spell is done, clear the values... --------
-
Special Effect - Destroy (Load 3 of DGTargetKey in HashGrip)
-
Hashtable - Clear all child hashtables of child DGTargetKey in HashGrip
-
Unit Group - Remove DG_Target from DG_Group
-
-------- This actions checks if the unit group is empty and turns off the trigger if that case --------
-
If ((DG_Group is empty) Equal to True) then do (Trigger - Turn off (This trigger)) else do (-------- Do Nothing :) --------)
-
-
-
-
-
-
The trigger above is initially off and is turned on while the spell is "working".
If you use the ability I used on the map, maybe you must enter the "DG Configuration" trigger and do this:
-
-------- Set the used Ability --------
-
Set DGAbility = Death Grip
I think that's all guys. Feedback, constructive criticism and help is welcome.
Changelog
1.00 - Uploaded
1.01a - Fixed an action that was calculating the damage the wrong way
1.01b - Turned on the instructions in the test map
1.02 - Stored (Picked Unit) into a variable in the Loop trigger
1.03a - Fixed an issue that was calculating the damage using the wrong value
1.03b - Removed leak in Loop trigger
1.03c - The Loop trigger now is turned off when the unit group is empty
1.03d - The effect leak is fixed (now you can cast twice in the same unit)
1.04 - Polished the triggers
1.04a - Polished the triggers
1.04b - Polished the Triggers
1.04c - Fixed Loop trigger
1.05 - Polished Triggers
1.05a - Polished Triggers
1.06 - Remade the movement action, removed variables from the loop and stored damage and handle of caster in the hashtable
1.06a - Polished the triggers

1.06b - Polished the triggers...
1.07 - Effect is no longer removed and created again, removed useless variables, changed the icon (now icon has disabled variation), hashtable is now created in the configuration trigger. The location variable is now in the right place, inside the "then" actions, in the loop...
Credits:
- Maker (for great tips and a good review (preview))
- Forsaken (for giving me the idea and requesting this via PM, and review)
- deathismyfriend (for great tips on the triggers)
Fell free to change the icon and the values to fit your map.
Give credits if you use/edit this spell.
Keywords:
Death Knight, Death, Grip, Knockback, Movement, DoT, Damage, Damage Over Time, Undead, WOW, World of Warcraft.
Contents
Page 1 of 2