Because the old arms CC for PvP, which i downloaded from here, now stopped working, i've decided to modify new Singular to PvP situations. I'm actually don't know language used in CCs, so i've just edited existing one using my head and basic programming skills.
Here changes what i did:
All credits goes to original CC creator Apoc, as it says in code comments.
Attention! This one was modified for PvP random Battlegrounds, so using it in PvE behavior or other may result in reduced DPS instead of original CC, but i've tried to not change much in "PvE section" (well, i'm sure tanks will be mad if it fears packs
)
To install it, just download arms.cs and place it in ...\<Honorbuddy folder>\Routines\Singular\ClassSpecific\Warrior\
If you want to keep old CC, just rename existing there arms.cs into something, then copy this one.
View attachment Arms.cs
Feel free to comment or optimize it, my first time postin as you can see
PS english is not my native, sorry for mistakes...
PS2 would be nice, if someone will tell how to add using of Safeguard to nearest ally if rooted\immobilized
EDIT: it having problem with detecting priests fears for berserker rage, please help if someone can, i'm trying to fix but nothing simple works...
Changed Sections:
Buffs:
Normal rotation:
AoE rotation:
Here changes what i did:
- Added using of slows (will prefer Piercing Howl if learned, otherwise Hamstring)
- Added using of defensive cooldowns (Demoralizing Banner on 40%, Enraged Regeneration on 35%, Rallying Cry on 30%, Die by the Sword and Disarm on 25% [last ones not simultaneously])
- Removed restrictions of Avatar and Bloodbath to be used only on bosses, Skull Banner now will be used only in combo with Recklessness
- Shockwave moved from AoE rotation to normal, target requirement reduced to 1; Shockwave and Storm Bolt will not be casted if target is already stunned
- Dragon Roar removed from AoE rotation, deleted radius check (will cast only if target in melee radius, to prevent wasting it on pets or in middle of charge)
- Added Shattering Throw if target is in bubble/bop/iceblock (not tested much, but should works)
- Moved Berserker Rage to defensive (will use it to break fear, not tested much too)
- Added Intimidating Shout to AoE rotation
- Execute\nonExecute situations merged into one (dunno why there was two almost identically pieces of code, HS with 3+ stacks of TFB is anyway better than Execute)
- Removed requirement of CS debuff for Slam (for what else to dump rage, if already >60%?)
- Moved Whirlwind down in priority list for AoE (almost useless in PvP, but still better than Overpower IMO)

Attention! This one was modified for PvP random Battlegrounds, so using it in PvE behavior or other may result in reduced DPS instead of original CC, but i've tried to not change much in "PvE section" (well, i'm sure tanks will be mad if it fears packs

To install it, just download arms.cs and place it in ...\<Honorbuddy folder>\Routines\Singular\ClassSpecific\Warrior\
If you want to keep old CC, just rename existing there arms.cs into something, then copy this one.
View attachment Arms.cs
Feel free to comment or optimize it, my first time postin as you can see

PS english is not my native, sorry for mistakes...
PS2 would be nice, if someone will tell how to add using of Safeguard to nearest ally if rooted\immobilized
EDIT: it having problem with detecting priests fears for berserker rage, please help if someone can, i'm trying to fix but nothing simple works...
Changed Sections:
Buffs:
Code:
Spell.BuffSelf("Battle Stance"),
Spell.BuffSelf("Die by the Sword", ret => Me.HealthPercent <= 25),
Spell.BuffSelf("Rallying Cry", ret => Me.HealthPercent <= 30),
Spell.BuffSelf("Enraged Regeneration", ret => Me.HealthPercent <= 35 && (Me.ActiveAuras.ContainsKey("Enrage") || StyxWoW.Me.RagePercent >= 60)),
Spell.CastOnGround("Demoralizing Banner", ctx => StyxWoW.Me.Location, ret => Me.HealthPercent <= 40 && !Me.ActiveAuras.ContainsKey("Skull Banner")),
Spell.BuffSelf("Recklessness", ret => (Me.CurrentTarget.IsBoss || SingularRoutine.CurrentWoWContext != WoWContext.Instances) && Me.CurrentTarget.IsWithinMeleeRange ),
Spell.BuffSelf("Skull Banner", ret => Me.ActiveAuras.ContainsKey("Recklessness") ),
Spell.BuffSelf("Avatar", ret => (Me.CurrentTarget.IsBoss || SingularRoutine.CurrentWoWContext != WoWContext.Instances) && Me.CurrentTarget.IsWithinMeleeRange ),
Spell.BuffSelf("Bloodbath", ret => (Me.CurrentTarget.IsBoss || SingularRoutine.CurrentWoWContext != WoWContext.Instances) && Me.CurrentTarget.IsWithinMeleeRange ),
Spell.BuffSelf("Berserker Rage", ret => Unit.HasAuraWithMechanic(StyxWoW.Me, WoWSpellMechanic.Horrified, WoWSpellMechanic.Fleeing))
Normal rotation:
Code:
// Only drop DC if we need to use HS for TFB. This lets us avoid breaking HS as a rage dump, when we don't want it to be one.
new Throttle( Spell.Cast("Deadly Calm", ret => NeedTasteForBloodDump)),
new Throttle( Spell.Cast("Heroic Strike", ret => NeedHeroicStrikeDump)),
Spell.Cast("Shattering Throw", ret => StyxWoW.Me.RagePercent >= 25 && Unit.HasAuraWithMechanic(StyxWoW.Me.CurrentTarget, WoWSpellMechanic.Invulnerable, WoWSpellMechanic.Invulnerable2)),
Spell.Cast("Piercing Howl", ret => Me.CurrentTarget.IsPlayer && SpellManager.CanCast("Piercing Howl") && !StyxWoW.Me.CurrentTarget.HasAura("Piercing Howl") && Me.CurrentTarget.Distance <= 15),
Spell.Cast("Hamstring", ret => Me.CurrentTarget.IsPlayer && !SpellManager.CanCast("Piercing Howl") && !StyxWoW.Me.CurrentTarget.HasAura("Hamstring")),
Spell.Cast("Disarm", ret => Me.HealthPercent <= 24 && !Me.ActiveAuras.ContainsKey("Die by the Sword")),
Spell.Cast("Colossus Smash", ret => !StyxWoW.Me.CurrentTarget.HasAura("Colossus Smash")),
Spell.Cast("Execute", ret => StyxWoW.Me.CurrentTarget.HealthPercent <= 20),
Spell.Cast("Mortal Strike"),
Spell.Cast("Dragon Roar", ret => (Me.CurrentTarget.IsBoss || SingularRoutine.CurrentWoWContext != WoWContext.Instances) && Me.CurrentTarget.IsWithinMeleeRange),
Spell.Cast("Shockwave", ret => Me.CurrentTarget.IsWithinMeleeRange && !Unit.HasAuraWithMechanic(StyxWoW.Me.CurrentTarget, WoWSpellMechanic.Stunned)),
Spell.Cast("Storm Bolt", ret => !Unit.HasAuraWithMechanic(StyxWoW.Me.CurrentTarget, WoWSpellMechanic.Stunned)),
Spell.Cast("Overpower"),
Spell.Cast("Slam", ret => StyxWoW.Me.RagePercent >= 60)
AoE rotation:
Code:
Spell.Cast("Thunder Clap"),
Spell.Cast("Intimidating Shout", ret => Me.CurrentTarget.Distance <= 8),
Spell.Cast("Bladestorm", ret => aoeCount(ret) >= 3),
Spell.Cast("Mortal Strike"),
Spell.Cast("Colossus Smash", ret => !StyxWoW.Me.CurrentTarget.HasMyAura("Colossus Smash")),
Spell.Cast("Whirlwind"),
Spell.Cast("Overpower")
Last edited: