Cyanogen1
Member
- Joined
- Mar 5, 2014
- Messages
- 156
i fixed it...kinda... this my version for HATRED assasins... copy+paste it into C:\...\Routines\DefaultCombat\Routines\Advanced\Sorcerer\Madness.cs
ofc you will override sorcerer madness file but there is no other way around to force load right discipline....
Code:using Buddy.BehaviorTree; using DefaultCombat.Core; using DefaultCombat.Helpers; namespace DefaultCombat.Routines { //public class Hatred : RotationBase public class Madness : RotationBase { public override string Name { get { return "Assasin Hatred 3.2"; } } public override Composite Buffs { get { return new PrioritySelector( Spell.Buff("Lightning Charge"), Spell.Buff("Mark of Power"), Spell.Buff("Stealth", ret => !Rest.KeepResting() && !DefaultCombat.MovementDisabled) ); } } public override Composite Cooldowns { get { return new LockSelector( Spell.Buff("Unbreakable Will", ret => Me.IsStunned), Spell.Buff("Overcharge Saber", ret => Me.HealthPercent <= 85), Spell.Buff("Deflection", ret => Me.HealthPercent <= 60), Spell.Buff("Force Shroud", ret => Me.HealthPercent <= 50), Spell.Buff("Recklessness", ret => Me.BuffCount("Static Charge") < 1), Spell.Buff("Force Cloak", ret => Me.HealthPercent <= 15), Spell.Buff("Blackout", ret => Me.ForcePercent <= 40) ); } } public override Composite SingleTarget { get { return new LockSelector( //Spell.Buff("Force Speed", ret => !DefaultCombat.MovementDisabled && Me.CurrentTarget.Distance >= 1f && Me.CurrentTarget.Distance <= 3f), //Movement CombatMovement.CloseDistance(Distance.Melee), Spell.Cast("Jolt", ret => Me.CurrentTarget.IsCasting && !DefaultCombat.MovementDisabled), Spell.CastOnGround("Death Field"), Spell.Cast("Assassinate", ret => Me.CurrentTarget.HealthPercent <= 30), Spell.Cast("Demolish", ret => Me.HasBuff("Raze")&& Me.Level >= 57), Spell.Cast("Crushing Darkness", ret => Me.HasBuff("Raze")&& Me.Level < 57), Spell.DoT("Creeping Terror", "Creeping Terror"), Spell.DoT("Discharge", "Shocked (Discharge)"), Spell.Cast("Leeching Strike", ret => Me.Level >= 41), Spell.Cast("Thrash", ret => Me.ForcePercent >38), Spell.Cast("Saber Strike", ret => Me.ForcePercent <38) //Spell.Buff("Force Speed", ret => Me.CurrentTarget.Distance >= 1.1f && Me.IsMoving && Me.InCombat) ); } } public override Composite AreaOfEffect { get { return new LockSelector( Spell.DoT("Discharge", "Shocked (Discharge)"), Spell.DoT("Creeping Terror", "Creeping Terror"), Spell.CastOnGround("Death Field", ret => Targeting.ShouldAOE), Spell.Cast("Lacerate", ret => Me.ForcePercent >= 60 && Targeting.ShouldPBAOE) ); } } } }
this will work for EVERY other discipline which have same problem with wrong discipline detection by bot, for example :
powertech -pyrotech need open
C:\...\Routines\DefaultCombat\Routines\Advanced\PowerTech\Pyrotech.cs
and copy+paste it into
C:\...\Routines\DefaultCombat\Routines\Advanced\Mercenary\InnovativeOrdnance.cs
but make sure top part of InnovativeOrdnance.cs routine remains unchanged
Code:public class InnovativeOrdnance : RotationBase
this one line will force load your pyrotech rotation from wrongly detected InnovativeOrdnance discipline
Why didn't I think of this...lol.