Aggro Question

Level 5
Joined
Feb 22, 2025
Messages
78
Is there a way to modify Aggro for specific unit to ignore dummies or certain spells?
I'm using Aggro System and Out Of Combat System v1.0
Since when certain custom spells get casted the Boss is struggling to acquire a target as shown below:

  • I think it's struggling with hidden units(Wind Walk based ability) or intervals for changing target.
  • Or is there a way to edit aggro change target interval, or should I create a custom one at this point?
Any help is welcome :)
 

Attachments

  • Boss2.mp4
    43.3 MB
Last edited:
Level 5
Joined
Feb 22, 2025
Messages
78
Bump! :ogre_kawaii: After further testing: Actually it’s not the Aggro that’s an issue, it’s the dummies that deal damage, since it’s difficult to align a system where the caster would be the one to deal damage every 0.33 seconds when a dummy shoots the dummy ability lol, is there a way to force the target to ignore dummies?
 

Uncle

Warcraft Moderator
Level 73
Joined
Aug 10, 2018
Messages
7,866
That system was "rejected" and the last comment suggested using a newer, better system:

Anyway, if you're using something like Bribe's Damage Engine then you can easily "redirect" damage:
  • Redirect Damage
    • Events
      • Game - PreDamageEvent becomes Equal to 1.00
    • Conditions
      • DamageEventAmount Greater than 0.00
    • Actions
      • -------- If a Dummy unit deals damage, cancel it, and have the Dummy's "creator" deal it instead: --------
      • -------- --------
      • Set VariableSet UDex = (Custom value of DamageEventSource)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Redirect_Damage_Link[UDex] Not equal to No unit
        • Then - Actions
          • Unit - Cause Redirect_Damage_Link[UDex] to damage DamageEventTarget, dealing DamageEventAmount damage of attack type (Damage Attack Type) and damage type (Damage Type)
          • Set VariableSet DamageEventAmount = 0.00
        • Else - Actions
^ I suggest changing UDex to your own unique Integer variable to be used exclusively in this trigger.
  • Recycle Damage Link
    • Events
      • Game - UnitIndexEvent becomes Equal to 2.00
    • Conditions
    • Actions
      • -------- Reset this variable when a custom value gets recycled, preventing new units from inheriting it's old data: --------
      • Set VariableSet Redirect_Damage_Link[UDex] = No unit
This also requires a Unit Indexer in your map since that's how I'm able to link the Dummy and Caster together. Never have more than 1 of each system!

Here's an example of using the system:
  • Demo Cast Banish
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Banish
    • Actions
      • Unit - Create 1 Dummy (Reuse Me When Possible) for (Triggering player) at (Position of (Triggering unit)) facing Default building facing degrees
      • -------- --------
      • -------- This links the Caster to the Dummy unit, allowing the Redirect Damage trigger to work it's magic: --------
      • Set VariableSet Redirect_Damage_Link[(Custom value of (Last created unit))] = (Triggering unit)
      • -------- --------
      • Unit - Add a 5.00 second Generic expiration timer to (Last created unit)
      • Unit - Add Storm Bolt (Dummy) to (Last created unit)
      • Unit - Order (Last created unit) to Human Mountain King - Storm Bolt (Target unit of ability being cast)
So you're adding one new Variable to the Dummy creation process which links it to another unit, in this case (Triggering unit) which is our caster. You could technically link it to any other Unit you want. This tells the Redirect Damage trigger who it should redirect the (Damage Source) to.

Note that these triggers are not guaranteed to function properly with either of those Aggro systems. But maybe with some tinkering you can get it to work. Also, if you only need a simple aggro system then I could help you make one, and have it interface with the above triggers so that everything works together.
 

Attachments

  • Redirect Damage 1.w3m
    70.6 KB · Views: 2
Last edited:
Level 5
Joined
Feb 22, 2025
Messages
78
That system was "rejected" and the last comment suggested using a newer, better system:

Anyway, if you're using something like Bribe's Damage Engine then you can easily "redirect" damage:
  • Redirect Damage
    • Events
      • Game - PreDamageEvent becomes Equal to 1.00
    • Conditions
      • DamageEventAmount Greater than 0.00
    • Actions
      • -------- If a Dummy unit deals damage, cancel it, and have the Dummy's "creator" deal it instead: --------
      • -------- --------
      • Set VariableSet UDex = (Custom value of DamageEventSource)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Redirect_Damage_Link[UDex] Not equal to No unit
        • Then - Actions
          • Unit - Cause Redirect_Damage_Link[UDex] to damage DamageEventTarget, dealing DamageEventAmount damage of attack type (Damage Attack Type) and damage type (Damage Type)
          • Set VariableSet DamageEventAmount = 0.00
        • Else - Actions
^ I suggest changing UDex to your own unique Integer variable to be used exclusively in this trigger.
  • Recycle Damage Link
    • Events
      • Game - UnitIndexEvent becomes Equal to 2.00
    • Conditions
    • Actions
      • -------- Reset this variable when a custom value gets recycled, preventing new units from inheriting it's old data: --------
      • Set VariableSet Redirect_Damage_Link[UDex] = No unit
This also requires a Unit Indexer in your map since that's how I'm able to link the Dummy and Caster together. Never have more than 1 of each system!

Here's an example of using the system:
  • Demo Cast Banish
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Banish
    • Actions
      • Unit - Create 1 Dummy (Reuse Me When Possible) for (Triggering player) at (Position of (Triggering unit)) facing Default building facing degrees
      • -------- --------
      • -------- This links the Caster to the Dummy unit, allowing the Redirect Damage trigger to work it's magic: --------
      • Set VariableSet Redirect_Damage_Link[(Custom value of (Last created unit))] = (Triggering unit)
      • -------- --------
      • Unit - Add a 5.00 second Generic expiration timer to (Last created unit)
      • Unit - Add Storm Bolt (Dummy) to (Last created unit)
      • Unit - Order (Last created unit) to Human Mountain King - Storm Bolt (Target unit of ability being cast)
So you're adding one new Variable to the Dummy creation process which links it to another unit, in this case (Triggering unit) which is our caster. You could technically link it to any other Unit you want. This tells the Redirect Damage trigger who it should redirect the (Damage Source) to.

Note that these triggers are not guaranteed to function properly with either of those Aggro systems. But maybe with some tinkering you can get it to work. Also, if you only need a simple aggro system then I could help you make one, and have it interface with the above triggers so that everything works together.
Sorry for late reply. I tested everything without using the threat system and the target(boss) still behaves erratically if it gets hit by dummies of Withering Fire or BHS spell- It acknowledges the true caster but its animations are bugged and choppy( tries to swing but stops)--- I also tried setting the dummies to neutral passive but to no avail, also tried something like this( but I'm not sure it helps):

  • Damage Override
    • Events
      • Game - PreDamageEvent becomes Equal to 1.00
      • Game - OnDamageEvent becomes Equal to 1.00
    • Conditions
      • (Unit-type of DamageEventSource) Equal to Withering Fire
    • Actions
      • Set DamageEventOverride = True
      • Set DamageEventSource = |cffff0a32Sylvanas Windrunner|r 0020 <gen>
      • Custom script: call ZTS_ModifyThreat(udg_BHS_Dummy, udg_BHS_Target, -1, false)
--------------------------------
At this point I don't know what the issue is, but it's surely related to the AI of computer controlled units.
The only idea I have after numerous testing is to force the target to attack the unit it was attacking before recieving the damage from dummies.
* Note that BHS spell is based on WindWalk and after Sylv becomes visible that's when the target starts to have issues with attacking.
 
Level 5
Joined
Feb 22, 2025
Messages
78
Sorry for the hustle, the issue was the Firebolt ability.... Even with setting the duration to 0.10 it still performed a slight stunn.... I changed it to Shadow Strike, everything works fine :ogre_haosis:
 
Top