This is a work in progress::
KissAssist works great for dumping threat, but is pretty lacking when it comes to keeping threat stable on a tank.
The idea here is I'm casting Aggro spells on the current mob based on how much threat other members in the group have on the mob.
Keep in mind right now I only look at the first param in the Aggro definition aka Spell/Ability name... I have threat hardcoded to 75% right now. If a group member has >=75% threat on my current target I do something about it.
My SK Setup:
Paste this into the KissAssist.mac
Find Sub AggroCheck in KissAssist and add this to the first two lines of the Sub Routine:
KissAssist works great for dumping threat, but is pretty lacking when it comes to keeping threat stable on a tank.
The idea here is I'm casting Aggro spells on the current mob based on how much threat other members in the group have on the mob.
Keep in mind right now I only look at the first param in the Aggro definition aka Spell/Ability name... I have threat hardcoded to 75% right now. If a group member has >=75% threat on my current target I do something about it.
My SK Setup:
Rich (BB code):
[Aggro]
AggroOn=1
Aggro1=Hate's Attraction|55|<|mob
Aggro2=Unflinching Acrimony|55|<|mob
Aggro3=Stream of Hatred|55|<|mob
Aggro4=Mindless Hatred|55|<|mob
Aggro5=Veil of Darkness|55|<|mob
Paste this into the KissAssist.mac
Rich (BB code):
Sub ToneThreat
/declare AggroSpell string local
/declare g int local
/declare i int local
/if (!${Role.Equal[pullertank]} && !${Role.Equal[tank]}) /return
/for g 1 to ${Group}
/if (${Group.Member[${g}].PctAggro} < 75) /goto :NextGroupMember
/for i 1 to ${Aggro.Size}
/varset AggroSpell ${Aggro[${i}].Arg[1,|]}
/if (${Group.Member[${g}].PctAggro} >= 75 && (${Cast.Ready[${AggroSpell}]} || ${Me.AbilityReady[${AggroSpell}]} || (${Me.CombatAbilityReady[${AggroSpell}]} && !${Me.ActiveDisc.ID}))) {
/call CastWhat "${AggroSpell}" ${Target.ID} Aggro
/if (${Macro.Return.Equal[CAST_SUCCESS]}) {
/echo Casting >> ${AggroSpell} << to control AGGRO on ${Spawn[${Target.ID}].CleanName}.
/if (!${AggroOffTimer} && ${Me.Feigning}) {
/varset AggroOffTimer 10s
}
/return
}
}
/next i
:NextGroupMember
/next g
/return
Find Sub AggroCheck in KissAssist and add this to the first two lines of the Sub Routine:
Rich (BB code):
/call ToneThreat
/if (${Role.Equal[pullertank]} || ${Role.Equal[tank]}) /return


