• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.
  • Create a faction for Warcraft 3 and enter Hive's 19th Techtree Contest: Co-Op Commanders! Click here to enter!
  • Create a void inspired texture for Warcraft 3 and enter Hive's 34th Texturing Contest: Void! Click here to enter!
  • The Hive's 21st Texturing Contest: Upgrade is now concluded, time to vote for your favourite set of icons! Click here to vote!

Spell request

Status
Not open for further replies.
Level 37
Joined
Mar 6, 2006
Messages
9,243
  • Deat Coil
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Death Coil
    • Actions
      • Set Temp_Loc_1 = (Position of (Triggering unit))
      • Set Temp_Loc_2 = (Position of (Target unit of ability being cast))
      • -------- -------------------- --------
      • Set Temp_Real_1 = (Distance between Temp_Loc_1 and Temp_Loc_2)
      • -------- /1000 should be replaced by the speed of your missile in object editor --------
      • Set Temp_Real_2 = (Temp_Real_1 / 1000.00)
      • -------- -------------------- --------
      • -------- Temp_Real_3 = damage done. 0.04 = 4% for example --------
      • -------- Temp_Real_4 = the ratio between damage done. and health returned --------
      • -------- With 0.5 value, you get 50% of damage done back as health --------
      • -------- -------------------- --------
      • Set Temp_Real_3 = 0.04
      • Set Temp_Real_4 = 0.50
      • -------- -------------------- --------
      • Set Temp_Real_5 = (Temp_Real_3 x Temp_Real_4)
      • -------- -------------------- --------
      • Hashtable - Save Temp_Real_2 as (Key pos) of (Key (Triggering unit)) in Death_Coil_Hash
      • Hashtable - Save Temp_Real_3 as (Key dmg) of (Key (Triggering unit)) in Death_Coil_Hash
      • Hashtable - Save Temp_Real_5 as (Key ret) of (Key (Triggering unit)) in Death_Coil_Hash
      • Hashtable - Save Handle Of(Target unit of ability being cast) as (Key target) of (Key (Triggering unit)) in Death_Coil_Hash
      • -------- -------------------- --------
      • Unit Group - Add (Triggering unit) to Death_Coil_Group
      • -------- -------------------- --------
      • Custom script: call RemoveLocation(udg_Temp_Loc_1)
      • Custom script: call RemoveLocation(udg_Temp_Loc_2)
      • -------- -------------------- --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Deat Coil Loop <gen> is on) Equal to False
        • Then - Actions
          • Trigger - Turn on Deat Coil Loop <gen>
        • Else - Actions
  • Deat Coil Loop
    • Events
      • Time - Every 0.05 seconds of game time
    • Conditions
    • Actions
      • Unit Group - Pick every unit in Death_Coil_Group and do (Actions)
        • Loop - Actions
          • -------- -------------------- --------
          • Set Temp_Real_1 = (Load (Key pos) of (Key (Picked unit)) from Death_Coil_Hash)
          • -------- -0.05 should be replaced with the "every x.xx seconds" in the event --------
          • Set Temp_Real_1 = (Temp_Real_1 - 0.05)
          • -------- -------------------- --------
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Temp_Real_1 Less than or equal to 0.00
            • Then - Actions
              • Set Temp_Unit_1 = (Load (Key target) of (Key (Picked unit)) in Death_Coil_Hash)
              • Set Temp_Real_2 = (Load (Key dmg) of (Key (Picked unit)) from (Last created hashtable))
              • Set Temp_Real_3 = (Load (Key ret) of (Key (Picked unit)) from (Last created hashtable))
              • -------- -------------------- --------
              • Unit - Cause (Picked unit) to damage Temp_Unit_1, dealing ((Max life of Temp_Unit_1) x Temp_Real_2) damage of attack type Spells and damage type Normal
              • Unit - Set life of (Picked unit) to ((Life of (Picked unit)) + ((Max life of (Picked unit)) x Temp_Real_3))
              • -------- -------------------- --------
              • Unit Group - Remove (Picked unit) from Death_Coil_Group
              • -------- -------------------- --------
              • Hashtable - Clear all child hashtables of child (Key (Picked unit)) in Death_Coil_Hash
            • Else - Actions
              • Hashtable - Save Temp_Real_1 as (Key pos) of (Key (Picked unit)) in Death_Coil_Hash
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Number of units in Death_Coil_Group) Equal to 0
        • Then - Actions
          • Trigger - Turn off (This trigger)
        • Else - Actions
  • Melee Initialization
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Hashtable - Create a hashtable
      • Set Death_Coil_Hash = (Last created hashtable)
Here you go. Units can resist the amount of damage you do, so it can be less than 4%. However you always get 2% of your max health back. Set the damage type to chaos to make full damage.

I based the skill on Death Coil. Removed the amount healed.
 
Level 37
Joined
Mar 6, 2006
Messages
9,243
I changed the spell so that it does:

Level 1: 4 % of target's max HP reduction, 2 % of your max HP returned.
Level 2: 6 % of target's max HP reduction, 3 % of your max HP returned.
Level 3: 8 % of target's max HP reduction, 4 % of your max HP returned.

Those are still quite low amounts. If you hit a footman with lvl 3 spell, you do ~34 damage.

But the spell is easy to customize.
 

Attachments

  • Death Coil.w3x
    27.8 KB · Views: 85
Last edited:
Level 25
Joined
Feb 9, 2009
Messages
1,801
Map Won't open Apparently things are missing.

Trigger Function does no exist in database: InitHashtableBJ
Trigger Function does no exist in database: GetLastCreatedHashableBJ
Trigger Function does no exist in database: SaveRealBJ

This application has encountered a critical error: Not enough storage to process this command.

program: C:\program files\warcraft iii\worldedit.exe
Object: .PAVCWETriggerFunction@@

Press A not to die
 
Last edited:
Status
Not open for further replies.
Top