Spell Multi Life Drain

Tinki3

Special Member
Reaction score
418
A spell that drains life from multiple enemy units.

Import Difficulty: Low

Target Type: AoE

Units Affected:
Enemy, Ground, Air

Spell Info:

Instantly drains life from multiple units in a 225 AOE. Maximum of 6 units can be drained from.

Level 1 - Drains up to 50 HP.
Level 2 - Drains up to 75 HP.
Level 3 - Drains up to 100 HP.
Level 4 - Drains up to 125 HP.

Before
attachmentis1.jpg

After
attachmentqc8.jpg
 

Attachments

  • Multi Life Drain (update).w3x
    19.9 KB · Views: 1,178
You know, would be better if you increased units drained per level.

-however consider balance in imba states.
 
You know, would be better if you increased units drained per level.

-however consider balance in imba states.

Well I thought it would actually be easier to make the spell drain at the maximum 6 units at once for all the levels of this spell becuase otherwise it would have made the trigger alot bigger. But I actually never thought of increasing the amount of max units drained per level, only the amount drained. Good idea though. But in the end, a pro triggerer can always change it around to suit their desires.
 
Code:
Spell Info:Instantly drains life from multiple units in a 225 AOE. Maximum of 6 units can be drained from. 
Level 1 - Drains up to 50 HP. 
Level 2 - Drains up to 75 HP. 
Level 3 - Drains up to 100 HP. 
Level 4 - Drains up to 125 HP.

All is here.
You can possibly also increase AOE, units drained, and max life drained.
Would also suit that drains from each unit individually - drains X amount from all units.


So much things to do.. :D


Very nice 2nd trigger, after bladestorm of frost. Keep it up. +repped.
 
1 : Multi-Instanceable already.
2 : Get rid of udg_Caster variable that handles (Triggering unit), just replace udg_Caster by (Triggering unit).
3 : I tested it with a bunch of units, it hurted invulnerable units. Also use the Spell Damage instead of normal.

Simply for revive, just : Hero - Revive (Triggering unit) at ((Owner of (Triggering unit)) start location).
 
(Random 6 units from TargetGroup) <- leak

And (Target point of ability being cast) is not a leak...its some sort of a variable so removing it is pointless.
And BTW if it was you could remove it right after setting TargetGroup.

Also you can make it more simple if you simply move the
Custom script: call DestroyGroup(udg_TargetGroup)
to be the very last action instead of making it on a couple of places.
You can avoid making the large If..Then by using two group variables: TempGroup and FinalGroup for example. What I had in mind is...
Code:
Set TargetGroup = (Units within 225.00 of TargetPoint matching ...)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
    If - Conditions
        (Number of units in TargetGroup) Less than or equal to 6
    Then - Actions
        Set FinalGroup = TargetGroup
    Else - Actions
        Set FinalGroup = (Random 6 units from TargetGroup)
        Custom script:   call DestroyGroup(udg_TargetGroup)
After this you can put the same actions you used for "less than 6" Then - Actions, but using FinalGroup instead of TempGroup.
 
I think i fixed everything including that leak(will update the spell map when you say its ok to SFilip):

Code:
Multi Life Drain
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Multi Life Drain 
    Actions
        Set Caster = (Triggering unit)
        Set Damage = (((Level of Multi Life Drain  for Caster) x 25) + 25)
        Set TargetPoint = (Target point of ability being cast)
        Set TargetGroup = (Units within 225.00 of TargetPoint matching ((((Matching unit) belongs to an enemy of (Owner of Caster)) Equal to True) and ((((Matching unit) is dead) Not equal to True) and ((((Matching unit) is A structure) Not equal to True) and ((((Matching unit) is Mag
        Animation - Play Caster's slam animation
        Special Effect - Create a special effect attached to the origin of Caster using Abilities\Spells\Undead\AnimateDead\AnimateDeadTarget.mdl
        Special Effect - Destroy (Last created special effect)
        Special Effect - Create a special effect attached to the head of Caster using Abilities\Spells\NightElf\FaerieDragonInvis\FaerieDragon_Invis.mdl
        Special Effect - Destroy (Last created special effect)
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                (Number of units in TargetGroup) Less than 1
            Then - Actions
            Else - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        (Number of units in TargetGroup) Less than or equal to 6
                    Then - Actions
                        Unit Group - Pick every unit in TargetGroup and do (Actions)
                            Loop - Actions
                                Set UnitLife = (Life of (Picked unit))
                                Special Effect - Create a special effect attached to the chest of (Picked unit) using Abilities\Spells\Undead\DeathCoil\DeathCoilSpecialArt.mdl
                                Special Effect - Destroy (Last created special effect)
                                Unit - Cause Caster to damage (Picked unit), dealing (Real(Damage)) damage of attack type Spells and damage type Normal
                                Set RealLife = (Life of (Picked unit))
                                Set Drain_Amount = (UnitLife - RealLife)
                                Unit - Set life of Caster to ((Life of Caster) + Drain_Amount)
                    Else - Actions
                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            If - Conditions
                                (Number of units in TargetGroup) Greater than 6
                            Then - Actions
                                Set FinalGroup = (Random 6 units from TargetGroup)
                                Unit Group - Pick every unit in FinalGroup and do (Actions)
                                    Loop - Actions
                                        Set UnitLife = (Life of (Picked unit))
                                        Special Effect - Create a special effect attached to the chest of (Picked unit) using Abilities\Spells\Undead\DeathCoil\DeathCoilSpecialArt.mdl
                                        Special Effect - Destroy (Last created special effect)
                                        Unit - Cause Caster to damage (Picked unit), dealing (Real(Damage)) damage of attack type Spells and damage type Normal
                                        Set RealLife = (Life of (Picked unit))
                                        Set Drain_Amount = (UnitLife - RealLife)
                                        Unit - Set life of Caster to ((Life of Caster) + Drain_Amount)
                                Custom script:   call DestroyGroup(udg_FinalGroup)
                            Else - Actions
        Custom script:   call DestroyGroup(udg_TargetGroup)
 
Not really what I had in mind.
Code:
Multi Life Drain
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Multi Life Drain 
    Actions
        Set Caster = (Triggering unit)
        Set Damage = (((Level of Multi Life Drain  for Caster) x 25) + 25)
        Set TargetGroup = (Units within 225.00 of (Target point of ability being cast) matching ...)
        Set FinalGroup = (Random 6 units from TargetGroup)
        Custom script:   call DestroyGroup(udg_TargetGroup)
        Animation - Play Caster's slam animation
        Special Effect - Create a special effect attached to the origin of Caster using Abilities\Spells\Undead\AnimateDead\AnimateDeadTarget.mdl
        Special Effect - Destroy (Last created special effect)
        Special Effect - Create a special effect attached to the head of Caster using Abilities\Spells\NightElf\FaerieDragonInvis\FaerieDragon_Invis.mdl
        Special Effect - Destroy (Last created special effect)
        Unit Group - Pick every unit in FinalGroup and do (Actions)
            Loop - Actions
                Set UnitLife = (Life of (Picked unit))
                Special Effect - Create a special effect attached to the chest of (Picked unit) using Abilities\Spells\Undead\DeathCoil\DeathCoilSpecialArt.mdl
                Special Effect - Destroy (Last created special effect)
                Unit - Cause Caster to damage (Picked unit), dealing (Real(Damage)) damage of attack type Spells and damage type Normal
                Set RealLife = (Life of (Picked unit))
                Set Drain_Amount = (UnitLife - RealLife)
                Unit - Set life of Caster to ((Life of Caster) + Drain_Amount)
        Custom script:   call DestroyGroup(udg_FinalGroup)
 
The spell was really neat! :D
I voted Very Good in the poll. This spell was just what I needed in my map. Thnx!!!! :D
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top