• 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.

Death Coil with Extra Percentage Heal/Damage

Level 13
Joined
Sep 11, 2013
Messages
469
Greetings!

How can I made Death Coil to give 3% extra percentage damage of max hp of the enemy beside the Death Coil normal damage?
If the target blink or teleport before death coil reach his position, the death coil must dissapear/miss.

ideally the spell will be like this..

Target allowed - AIR / ALLIED / GROUND / STRUCTURE
LVL 1 --- 25 damage + 3% damage of max hp of the enemy
LVL 2 --- 50 damage + 3% damage of max hp of the enemy
LVL 3 --- 75 damage + 3% damage of max hp of the enemy
LVL 4 --- 100 damage + 3% damage of max hp of the enemy

Optionally - I prefer that the Death Coil must heal the allies with the same damage per level + 3% of ally max hp (if the target will be an ally)

I have no idea how to create this spell. :peasant-sad:

The help will be appreaciated!
 

Uncle

Warcraft Moderator
Level 73
Joined
Aug 10, 2018
Messages
7,887
You can have a unique Dummy unit cast Death Coil instead of your Hero. Then use a Damage Event to detect when a unit takes damage from this spell:
  • Events
    • Unit - A unit Takes damage
  • Conditions
    • (Unit-type of (Damage source)) Equal to Death Coil Dummy
  • Actions
    • ...
This assumes that a Damage Event runs when an Ally is hit by Death Coil. I'm pretty sure that it will...

Then in the Actions you would use an If Then Else to determine if the (Damage Target) is an Ally or Enemy, and modify the Heal/Damage depending on the outcome. The math for calculating the bonus amount is pretty simple, just multiply the target's Max Life by 0.03.
  • Set Variable BonusAmount = (Max life of (Damage Target) x 0.03)
However, the issue with this design is that your Dummy unit will be the source of the damage and get the kill credit, not your hero. This could cause issues for your other triggers that rely on "A unit Dies" or "A unit Takes damage", if you have any.

For example, if you had an Ability Power system for scaling Hero spell damage, or a reward system for when a Hero gets a kill, both could fail because it's the Dummy unit casting Death Coil and not the Hero. In other words, if your trigger's Conditions expect a Hero then they won't work.

Alternatively, you could trigger everything yourself using this:
An example of it in use:
 
Last edited:
Level 13
Joined
Sep 11, 2013
Messages
469
You can have a unique Dummy unit cast Death Coil instead of your Hero. Then use a Damage Event to detect when a unit takes damage from this spell:
  • Events
    • Unit - A unit Takes damage
  • Conditions
    • (Unit-type of (Damage source)) Equal to Death Coil Dummy
  • Actions
    • ...
This assumes that a Damage Event runs when an Ally is hit by Death Coil. I'm pretty sure that it will...

Then in the Actions you would use an If Then Else to determine if the (Damage Target) is an Ally or Enemy, and modify the Heal/Damage depending on the outcome. The math for calculating the bonus amount is pretty simple, just multiply the target's Max Life by 0.03.
  • Set Variable BonusAmount = (Max life of (Damage Target) x 0.03)
However, the issue with this design is that your Dummy unit will be the source of the damage and get the kill credit, not your hero. This could cause issues for your other triggers that rely on "A unit Dies" or "A unit Takes damage", if you have any.

For example, if you had an Ability Power system for scaling Hero spell damage, or a reward system for when a Hero gets a kill, both could fail because it's the Dummy unit casting Death Coil and not the Hero. In other words, if your trigger's Conditions expect a Hero then they won't work.

Alternatively, you could trigger everything yourself using this:
An example of it in use:
Hi Uncle and thanks for the answer!

I don't really understand how this should be created.. For the moment, the dummy can take the credit for the kill as long as the hero will receive the xp when is near the kill and as long as the player will receive the bounty (gold) for kill.

So.. What I did..
  • Death Coil
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Death Coil - Channel
    • Actions
      • Game - Display to (All players) the text: work
      • Set VariableSet DeathCoilPoint1 = (Position of (Casting unit))
      • Set VariableSet DeathCoilPoint2 = (DeathCoilPoint1 offset by 135.00 towards (Facing of (Casting unit)) degrees.)
      • Unit - Create 1 Death Coil Dummy for (Owner of (Casting unit)) at DeathCoilPoint2 facing (Facing of (Casting unit)) degrees
      • Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
      • Unit - Add Death Coil XXX to (Last created unit)
      • Unit - Set level of Death Coil XXX for (Last created unit) to (Level of Death Coil - Channel for (Triggering unit))
      • Unit - Order (Last created unit) to Undead Death Knight - Death Coil (Target unit of ability being cast)
      • Custom script: call RemoveLocation(udg_DeathCoilPoint1)
      • Custom script: call RemoveLocation(udg_DeathCoilPoint2)
  • DeathCoilDamage
    • Events
      • Unit - A unit Takes damage
    • Conditions
      • (Unit-type of (Damage source)) Equal to Death Coil Dummy
    • Actions
      • Game - Display to (All players) the text: work2
      • Set VariableSet DeathCoilReal = ((Max life of (Damage Target)) x 0.50)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • ((Damage Target) belongs to an ally of (Owner of (Damage source)).) Equal to True
        • Then - Actions
          • Unit - Cause (Damage source) to damage (Damage Target), dealing (-1.00 x DeathCoilReal) damage of attack type Spells and damage type Normal
        • Else - Actions
          • Unit - Cause (Damage source) to damage (Damage Target), dealing DeathCoilReal damage of attack type Spells and damage type Normal
The second trigger is definitely broken because the damage will go to infinite loop and will crash the game, but I don't know how to fix that since the spell is not a normal attack.. :peasant-confused:
 

Uncle

Warcraft Moderator
Level 73
Joined
Aug 10, 2018
Messages
7,887
You don't have to cause more damage, you can directly modify the damage that was dealt. Also, you don't need two Points for the Dummy unit and you don't need to change it's facing angle. Dummy units can cast spells instantly without having to turn.
  • Death Coil
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Death Coil - Channel
    • Actions
      • Game - Display to (All players) the text: work
      • Set VariableSet DeathCoilPoint = (Position of (Triggering unit))
      • Unit - Create 1 Death Coil Dummy for (Owner of (Triggering unit)) at DeathCoilPoint facing default building degrees
      • Custom script: call RemoveLocation(udg_DeathCoilPoint)
      • Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
      • Unit - Add Death Coil XXX to (Last created unit)
      • Unit - Set level of Death Coil XXX for (Last created unit) to (Level of (Ability being cast) for (Triggering unit))
      • Unit - Order (Last created unit) to Undead Death Knight - Death Coil (Target unit of ability being cast)
  • DeathCoilDamage
    • Events
      • Unit - A unit Takes damage
    • Conditions
      • (Unit-type of (Damage source)) Equal to Death Coil Dummy
    • Actions
      • Game - Display to (All players) the text: work2
      • Set VariableSet DeathCoilReal = ((Max life of (Damage Target)) x 0.50)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • ((Damage Target) belongs to an ally of (Owner of (Damage source)).) Equal to True
        • Then - Actions
          • Event Response - Set Damage of Unit Damaged Event to ((Damage taken) - DeathCoilReal)
        • Else - Actions
          • Event Response - Set Damage of Unit Damaged Event to ((Damage taken) + DeathCoilReal)
Your Dummy unit should have these EXACT settings:
1) Copy and paste the Locust.
2) Set it's Model, Shadow, Attacks Enabled, and Movement Type to NONE.
3) Set it's Base Speed to 0.
4) Optionally import and use the Vexorian Dummy model to get access to Attachment Points.
5) Optionally adjust the Art fields to prevent weird rotations. I forget the names but stuff like Interpolation and Launch settings.
 
Last edited:
Level 1
Joined
May 11, 2025
Messages
1
салам!

Кантип мен Death Coilди кадимки зыяндан тышкары душмандын максимум л.г. 3% кошумча пайыздык зыянын бере алам?
Өлүм катушкасы өз абалына жеткенге чейин максаттуу ирмеп же телепорт болсо, өлүм катушкасы жок болушу/сагынып кетиши керек.

идеалында сыйкыр ушундай болот..

Максаттуу уруксат - АБА / СОЮЗ / ЖЕР / ТҮЗҮМ
LVL 1 --- 25 зыян + душмандын максималдуу күчү 3% зыян
LVL 2 --- 50 зыян + душмандын максималдуу күчү 3% зыян
LVL 3 --- 75 зыян + душмандын максималдуу күчү 3% зыян
LVL 4 --- 100 зыян + душмандын максималдуу 3% зыяны

Кошумча - мен Өлүм Катушкасы союздаштарды бирдей зыян менен + 3% союздаштын максималдуу күчү менен айыктырышын каалайм (эгер максат союздаш болсо)

Бул сыйкырды кантип түзүүнү билбейм.:peasant-sad:

Жардам ыраазы болот!
А үчүн аны менен кенен сүйлөшүш керек ачык айтып
|
 
Top