Deal damage % of health

adeoin

Member
Reaction score
11
I made a warstomp that deals damage by percentage of health but the trigger doesnt seem to be running at all.

Level 1 - Deals 15% of health

Level 2 - Deals 30% of health

Level 3 - Deals 45% of health


Trigger:
  • Violent Slam
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Violent Slam
    • Actions
      • Set Caster = (Casting unit)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Level of Violent Slam for (Casting unit)) Equal to 1
        • Then - Actions
          • Unit - Cause (Casting unit) to damage circular area after 0.00 seconds of radius 500.00 at (Position of (Casting unit)), dealing ((Life of Caster) x 0.15) damage of attack type Spells and damage type Normal
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Level of Violent Slam for (Casting unit)) Equal to 2
        • Then - Actions
          • Unit - Cause (Casting unit) to damage circular area after 0.00 seconds of radius 500.00 at (Position of (Casting unit)), dealing ((Life of (Casting unit)) x 0.30) damage of attack type Spells and damage type Normal
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Level of Violent Slam for (Casting unit)) Equal to 1
        • Then - Actions
          • Unit - Cause (Casting unit) to damage circular area after 0.00 seconds of radius 500.00 at (Position of (Casting unit)), dealing ((Life of (Casting unit)) x 0.45) damage of attack type Spells and damage type Normal
        • Else - Actions
 

BlueMirage

Trust, but doubt.
Reaction score
39
Easier way to do it:

Trigger:
  • Unit Group - Pick every unit in (Units within 512.00 of (Position of (Triggering unit)) matching (((Matching unit) belongs to an enemy of (Owner of (Triggering unit))) Equal to True)) and do (Actions)
    • Loop - Actions
      • Unit - Cause (Triggering unit) to damage (Picked unit), dealing ((0.15 x (Real((Level of (Ability being cast) for (Triggering unit))))) x (Life of (Triggering unit))) damage of attack type Spells and damage type Normal

The trigger will take less space like this. However, it leaks. Search how to fix them if you're interested.

My guess is that your skill didn't work because you were using Damage Area. I've never experimented with that action, so I don't know how it works. I don't reccomend using it.
 

adeoin

Member
Reaction score
11
does your trigger cause 15% of health damage?

EDIT: I tried what you said its not working

Trigger:
  • Violent Slam
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Violent Slam
    • Actions
      • Set Caster = (Casting unit)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Level of Violent Slam for (Caster)) Equal to 1
        • Then - Actions
          • Unit Group - Pick every unit in (Units within 400.00 of (Position of (Caster))) and do (Actions)
            • Loop - Actions
              • Unit - Cause Caster to damage (Picked unit), dealing (0.15 x ((Real((Level of (Ability being cast) for (Triggering unit)))) x (Life of Caster))) damage of attack type Spells and damage type Normal
        • Else - Actions
 

BlueMirage

Trust, but doubt.
Reaction score
39
It works for me.

This is what my trigger looks at the moment:

Trigger:
  • Untitled Trigger 001
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
    • Actions
      • Unit Group - Pick every unit in (Units within 512.00 of (Position of (Triggering unit)) matching (((Matching unit) belongs to an enemy of (Owner of (Triggering unit))) Equal to True)) and do (Actions)
        • Loop - Actions
          • Unit - Cause (Triggering unit) to damage (Picked unit), dealing ((0.15 x (Real((Level of (Ability being cast) for (Triggering unit))))) x (Life of (Triggering unit))) damage of attack type Spells and damage type Normal

Add the Ability condition and you should be good to go. Remove the variable and the If/Then/Else, there's no point in having those at all.
 

Carnerox

The one and only.
Reaction score
84
Try removing
Try removing the IF/Then/Else, and just have

Trigger:
  • Events
    • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Violent Slam
    • Actions
      • Set Caster = (Casting unit)
      • Unit Group - Pick every unit in (Units within 400.00 of (Position of (Caster))) and do (Actions)
        • Loop - Actions
          • Unit - Cause Caster to damage (Picked unit), dealing (0.15 x ((Real((Level of (Ability being cast) for


If this doesn't work then i'll code it.
 

Komaqtion

You can change this now in User CP.
Reaction score
469
That's what this is here for:
Trigger:
  • ((0.15 x (Real((Level of (Ability being cast) for (Triggering unit))))) x (Life of (Triggering unit)))
 

BlueMirage

Trust, but doubt.
Reaction score
39
Nope, you don't. You can define the damage done by the spell by including the level of the skill activated as a variable. Compare the following two:

Trigger:
  • Unit - Cause (Triggering unit) to damage (Picked unit), dealing ((0.15 x (Life of Triggering unit))) damage of ...


Trigger:
  • Unit - Cause (Triggering unit) to damage (Picked unit), dealing ((0.15 x (Real((Level of (Ability being cast) for (Triggering unit))))) x (Life of (Triggering unit))) damage of ...


Since the amount of damage depending on health is linear, we can define 0.15, 0.3 and 0.45 as (0.15 x Level) instead of having to use 3 definitions.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top