Backstab Problem

Justice

New Member
Reaction score
5
I don't want to deal damage to attacked unit if it's not attacked (another says this trigger shouldn't run until attacked unit takes damage)
Is there a way to do that ?
Trigger:
  • Viceclaws
    • Events
      • Unit - A unit Is attacked
    • Conditions
      • ((Attacking unit) has buff Viceclaws ) Equal to True
      • ((Attacked unit) belongs to an enemy of (Owner of (Attacking unit))) Equal to True
    • Actions
      • Set Backstab_Caster = (Attacking unit)
      • Set Backstab_Target = (Attacked unit)
      • Set Backstab_Point[1] = (Position of Backstab_Caster)
      • Set Backstab_Point[2] = (Position of Backstab_Target)
      • Set Backstab_Angle = (Angle from Backstab_Point[1] to Backstab_Point[2])
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Or - Any (Conditions) are true
            • Conditions
              • And - All (Conditions) are true
                • Conditions
                  • (Facing of Backstab_Caster) Less than or equal to ((Facing of Backstab_Target) + 120.00)
                  • (Facing of Backstab_Caster) Greater than or equal to ((Facing of Backstab_Target) - 120.00)
              • And - All (Conditions) are true
                • Conditions
                  • Backstab_Angle Less than or equal to ((Facing of Backstab_Target) + 120.00)
                  • Backstab_Angle Greater than or equal to ((Facing of Backstab_Target) - 120.00)
        • Then - Actions
          • Unit - Cause Backstab_Caster to damage Backstab_Target, dealing ((60.00 x (Real((Level of Viceclaws jfa for (Attacking unit))))) + 1.00) damage of attack type Hero and damage type Normal
          • Special Effect - Create a special effect attached to the chest of Backstab_Target using Objects\Spawnmodels\Critters\Albatross\CritterBloodAlbatross.mdl
          • Special Effect - Destroy (Last created special effect)
        • Else - Actions
      • Custom script: call RemoveLocation (udg_Backstab_Point[1])
      • Custom script: call RemoveLocation (udg_Backstab_Point[2])
 

Sooda

Diversity enchants
Reaction score
318
'Unit is Attacked' event fires when unit gets order (automatic or not) to attack enemy. You want 'Unit takes damage' which fires when unit gets hurt and its health drops.
Easiest is to search our spells index (in my signature) and use one already made back-stab abilities.

If you really want to make it yourself you need two triggers (or even three).
First will pick all units on map at Map Initialization and adds them one by one to third trigger event '<Unit> takes Damage', where <Unit> is Picked Unit (You use Unit Group to get all units on playable map). Second trigger adds all new units who enter to playable map to third trigger.

In third trigger you use 'Damage Source' or 'Triggering Unit' both point to who made damage. Then there is Victim to whom damage was made.

Healing abilities are made similarly, but in actions before setting (healing) target (Victim) life you have to use 'If/ Then/ Else' check, like check is Victim Life greater than 0.405 (or was it 0.406? Though any number is fine). It is needed to counter damage delay in trigger. Else you heal and still damage is done. 'If/ Then/ Else' makes damage first and heal later.
 

Justice

New Member
Reaction score
5
i don't understand well but i will do what you said but if i can't do can you give me an example ?
 

mr-death

Acolyte
Reaction score
51
About 'detecting attacks', you might want to see this nearby thread,
http://www.thehelper.net/forums/showthread.php?t=139218

But then, as you can see, all systems of 'detecting attacks' have its pros and cons.

I usually use the same method as Sooda has mentioned. But then, it will include any other 'damage' such as shadow strike, doom, immolation, etc. So you'd have to give conditions to filter those damage down to just the attack damage.

You might want to use 'buff checking' to detect attacks as Grymlax said on the thread above, but then, it'd be another problem.

As you might know "Defense of the Ancients allstars", this game probably have the same problem 'detecting attacks':
Tauren Chieftain's skill Echo Stomp supposed to paralyze enemies until they are attacked, however if you have splash damage, all of the splashed units will be count as 'attacked' although they are not attacked. And if you have an AoE periodical damage (such as in immolation), whenever you order to attack, even if the target is not in your range, it will be count as 'attacked' when it touches the AoE periodical damage. However, I haven't analyze much about Lifestealer's skill Feast.

I've thought about using an event "Unit is attacked", and get another trigger to wait until the attacked unit gets the damage from the attacking unit. That could be another way else to detect attacks. Yet, we can't predict which is detected: a lucky periodical damage, or the attack damage.

And I have the last shortcut: Orb of Slow/Orb of Lightning.
They'll detect your attack as soon as it lands on the target, and cast an ability.

Make that ability deals the backstab damage, with the backstab conditions, job's done.
 

Ayanami

칼리
Reaction score
288
Something like this?

Basically, I used Envenomed Spears as the Backstab ability. By using the buff placed by envenomed spears, you can detect the damage dealt by the Stealth Assassin on each attack.
 
General chit-chat
Help Users

      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