• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!

[Trigger] One problem with GDD(GUI Friendly Damage Detection)...

Status
Not open for further replies.
Level 2
Joined
Jan 13, 2010
Messages
7
I made this ability:
Bleed (passive ability)
Gladiator Wild can cause his attacks deal stackable damage over time and slow as they impact the foe. Stacks up to 5 times. Lasts 15 seconds.
Level 1 - 3 damage per second and 5% slow.
Level 2 - 6 damage per second and 5% slow.
Level 3 - 9 damage per second and 5% slow.
Level 4 - 12 damage per second and 5% slow.
Exemple: At lvl 2, 1 attack cause 6 damege/sec and 5% slow, on 2 attacks cause 12 damage/sec and 10% slow, on 3 attacks cause 18 damage/sec and 15% slow, and continuous... (max 5 times)

But, when the unit cast a any AoE spell, all the targets get the effect of bleed strike. This effect should apply only in target of attack. How can i get only the attacked target?

NOTE: Bleed Strike(N) = Shadow Strike

  • Bleed
    • Events
      • Game - GDD_Event becomes Equal to 0.00
    • Conditions
      • (Level of Bleed for GDD_DamageSource) Greater than 0
    • Actions
      • Set TurkleCasterPosition = (Position of GDD_DamagedUnit)
      • Unit - Create 1 Dummy Unit (Custom Campaign) for (Owner of GDD_DamageSource) at TurkleCasterPosition facing Default building facing degrees
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Or - Any (Conditions) are true
            • Conditions
              • (GDD_DamagedUnit has buff Bleeding (5)) Equal to True
              • (GDD_DamagedUnit has buff Bleeding (4)) Equal to True
        • Then - Actions
          • Unit - Add Bleed Strike[5] to (Last created unit)
          • Unit - Set level of Bleed Strike[5] for (Last created unit) to (Level of Bleed for GDD_DamageSource)
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Or - Any (Conditions) are true
                • Conditions
                  • (GDD_DamagedUnit has buff Bleeding (3)) Equal to True
            • Then - Actions
              • Unit - Add Bleed Strike[4] to (Last created unit)
              • Unit - Set level of Bleed Strike[4] for (Last created unit) to (Level of Bleed for GDD_DamageSource)
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Or - Any (Conditions) are true
                    • Conditions
                      • (GDD_DamagedUnit has buff Bleeding (2)) Equal to True
                • Then - Actions
                  • Unit - Add Bleed Strike[3] to (Last created unit)
                  • Unit - Set level of Bleed Strike[3] for (Last created unit) to (Level of Bleed for GDD_DamageSource)
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Or - Any (Conditions) are true
                        • Conditions
                          • (GDD_DamagedUnit has buff Bleeding (1)) Equal to True
                    • Then - Actions
                      • Unit - Add Bleed Strike[2] to (Last created unit)
                      • Unit - Set level of Bleed Strike[2] for (Last created unit) to (Level of Bleed for GDD_DamageSource)
                    • Else - Actions
                      • Unit - Add Bleed Strike[1] to (Last created unit)
                      • Unit - Set level of Bleed Strike[1] for (Last created unit) to (Level of Bleed for GDD_DamageSource)
      • Unit - Order (Last created unit) to Night Elf Warden - Shadow Strike GDD_DamagedUnit
      • Unit - Add a 0.50 second Generic expiration timer to (Last created unit)
      • Custom script: call RemoveLocation (udg_TurkleCasterPosition)
 
Level 2
Joined
Jan 13, 2010
Messages
7
Its not working, hmmm, i turn off before the first "If" and turn on in the end...
I need know how get only the target attacked, only one target, and if i cast a AOE spell dont apply this effect on targets...
 
Level 28
Joined
Jan 26, 2007
Messages
4,789
Magtheridon is saying that, inside the trigger that runs when you cast an AOE spell, you turn off the Bleed-trigger.
At the end of the AOE-trigger, turn Bleed back on.

You have to do that for all AOE-triggers.
If the spell does not have a trigger, create one.

Just use the event "Starts the effect of an ability",
condition (perhaps multiple OR if you have more untriggered AOE-spells) ability equal to AOE-spell,
action: turn off Bleed - wait a second or so - turn on Bleed.


Another method is giving your unit the Orb of Corruption-ability (one that doesn't do anything). Set the duration to 0.01 or something and in your trigger, check whether the targeted unit has the corruption-buff.
If it does, that means it was a physical attack, so spells (including AOE-spells) won't trigger the system.
 
Status
Not open for further replies.
Top