Neo in Madness.cs you can remove the slashes in front of Electrocute and Overload... I only remark them out for ops usage...
Neo in your Deception remade the Line in BehaviorType.Combat "Spell.Cast("Lightning Charge", ret => !BuddyTor.Me.HasBuff("Lightning Charge"))," needs to be "Spell.Cast("Surging Charge", ret => !BuddyTor.Me.HasBuff("Surging Charge"))," as Deception doesn't use Lightning Charge. I checked to see if my code had it and it doesn't. You must have rewrote Deception Assassin out of your Madness Assassin re-edit. Your Balance Shadow suffers the same basic mistake in which you used "Spell.Cast("Shadow Technique", ret => !BuddyTor.Me.HasBuff("Shadow Technique"))," under BehaviorType.Combat and it should be "Spell.Cast("Force Technique", ret => !BuddyTor.Me.HasBuff("Force Technique")),". Just trying to help you, I did the same thing prior to finalizing the CC.
Kickazz thanks for building a preliminary rotation for Kinetic Combat. However, I did notice some problems. Tumult in any rotation is a waste of a GCD by threat and rotation standards and your Force Breach should all ways be used, and the #1 ability in rotation as it is an extremely high threat ability and is a huge debuff to them as far as accuracy reduction. Also, Slow Time which is like Darkness Assassin's Wither should never wait to fall off. It should, however, wait until at least the last couple seconds. It's priority is proper in your rotation as it is considered #2. I will post the Darkness Rotation soon once I finalize it to the was Neo wants it and and you would just convert the rotation from there as they are mirrored specs. I am not a "know-it-all", I only reiterate known information I have gathered since I have been working on the classes of Assassin and Shadow.
Neo, I need help debugging the problem on this as it locks up on Force Lightning from time to time. Force Lightning does need these conditions as unless it has the full 3 stacks of Harnessed Darkness it can be interfered with and is then inefficient in a rotation. Code: // Darkness Assassin v1.0 - Cystacae // Known Bugs: For some reason it is glitchy on Force Lightning randomly and will lock rotation until a Force Lightning is cast. I need assistance in debugging. Stealth to Maul maybe glitchy also as it is for other specs. using System; using System.Linq; using Buddy.BehaviorTree; using Buddy.Common; using Buddy.CommonBot; using Buddy.Swtor; using WingIt.Dynamics; using Action = Buddy.BehaviorTree.Action; namespace WingIt.Routines { public static class AssassinDarkness { [Behavior(BehaviorType.Pull)] [Class(CharacterClass.Inquisitor, AdvancedClass.Assassin, SkillTreeId.AssassinDarkness)] public static Composite AssassinDarknessPull() { return new PrioritySelector( Spell.Cast("Force Speed", ret => BuddyTor.Me.CurrentTarget.Distance >= Global.meleeDist && BuddyTor.Me.CurrentTarget.Distance <= 4f), Movement.MoveTo(ret => BuddyTor.Me.CurrentTarget.Position, Global.meleeDist), Spell.Cast("Maul", ret => BuddyTor.Me.HasBuff("Stealth")) ); } [Behavior(BehaviorType.Combat)] [Class(CharacterClass.Inquisitor, AdvancedClass.Assassin, SkillTreeId.AssassinDarkness)] public static Composite AssassinDarknessCombat() { return new PrioritySelector( Spell.WaitForCast(), Movement.StopInRange(Global.meleeDist), // General Abilities Spell.Cast("Force Speed", ret => BuddyTor.Me.CurrentTarget.Distance >= Global.meleeDist && BuddyTor.Me.CurrentTarget.Distance <= 4f), Spell.Cast("Dark Charge", ret => !BuddyTor.Me.HasBuff("Dark Charge")), Spell.Cast("Mark of Power", ret => !BuddyTor.Me.HasBuff("Mark of Power")), Spell.Cast("Unbreakable Will", ret => BuddyTor.Me.IsStunned), Spell.Cast("Recklessness", castWhen => BuddyTor.Me.InCombat && !BuddyTor.Me.HasBuff("Recklessness")), // Crowd Controls Spell.Cast("Whirlwind", on => Helpers.ccTarget(), castWhen => Helpers.Targets.Count() >= 2), Spell.Cast("Electrocute", on => Helpers.ccTarget(), castWhen => Helpers.Targets.Count() >= 2), Spell.Cast("Spike", on => Helpers.ccTarget(), castWhen => Helpers.Targets.Count(t => t.Distance <= .4f) >= 2), // Interrupts Spell.Cast("Jolt", ret => BuddyTor.Me.CurrentTarget.IsCasting), Spell.Cast("Electrocute", ret => BuddyTor.Me.CurrentTarget.IsCasting), Spell.Cast("Spike", ret => BuddyTor.Me.CurrentTarget.IsCasting), Spell.Cast("Overload", ret => BuddyTor.Me.CurrentTarget.IsCasting), // Defensive Cooldowns Spell.Cast("Dark Ward", ret => AbilityManager.CanCast("Dark Ward") && (!BuddyTor.Me.HasBuff("Dark Ward") || BuddyTor.Me.Buffs.FirstOrDefault(B => B.Name == "Dark Ward" && B.Duration == TimeSpan.FromSeconds(20)).TimeLeft.Seconds < 2 || BuddyTor.Me.HasBuff("Dark Ward") && BuddyTor.Me.Buffs.FirstOrDefault(B => B.Name == "Dark Ward").Stacks < 2)), Spell.Cast("Deflection", ret => BuddyTor.Me.InCombat && BuddyTor.Me.HealthPercent <= 70), Spell.Cast("Force Shroud", ret => BuddyTor.Me.InCombat && BuddyTor.Me.HealthPercent <= 60), Spell.Cast("Overcharge Saber", castWhen => BuddyTor.Me.InCombat && BuddyTor.Me.HealthPercent <= 40), // General Attack Sequence Spell.Cast("Discharge", castWhen => BuddyTor.Me.HasBuff("Dark Charge")), Spell.Cast("Wither", ret => AbilityManager.CanCast("Wither") && (!BuddyTor.Me.CurrentTarget.HasDebuff("Wither (Force)") || BuddyTor.Me.CurrentTarget.Debuffs.FirstOrDefault(B => B.Name == "Wither (Force)" && B.Duration == TimeSpan.FromSeconds(15)).TimeLeft.Seconds < 2)), Spell.CastOnGround("Death Field", castWhen => AbilityManager.CanCast(" Death Field") && Helpers.Targets.Count() >= 1 && BuddyTor.Me.CurrentTarget.Distance <= Global.rangeDist, location => BuddyTor.Me.CurrentTarget.Position), Spell.Cast("Force Lightning", ret => BuddyTor.Me.HasBuff("Harnessed Darkness") && BuddyTor.Me.Buffs.FirstOrDefault(B => B.Name == "Harnessed Darkness").Stacks == 3 && BuddyTor.Me.ResourceStat > 45), Spell.Cast("Assassinate", castWhen => BuddyTor.Me.CurrentTarget.HealthPercent <= 30), Spell.Debuff("Crushing Darkness", castWhen => AbilityManager.CanCast("Crushing Darkness") && BuddyTor.Me.HasBuff("Raze") && !BuddyTor.Me.CurrentTarget.HasDebuff("Crushed (Force)")), Spell.Cast("Shock", ret => BuddyTor.Me.HasBuff("Energize") && BuddyTor.Me.ResourceStat > 45), Spell.Cast("Lacerate", castWhen => Helpers.Targets.Count() >= 2 && BuddyTor.Me.ResourceStat > 45), Spell.Cast("Thrash", castWhen => BuddyTor.Me.ResourceStat > 45), Spell.Cast("Saber Strike", ret => true), // Movement Movement.MoveTo(ret => BuddyTor.Me.CurrentTarget.Position, Global.meleeDist) ); } [Behavior(BehaviorType.OutOfCombat)] [Class(CharacterClass.Inquisitor, AdvancedClass.Assassin, SkillTreeId.AssassinDarkness)] public static Composite AssassinDarknessRest() { return new PrioritySelector( Spell.Cast("Seethe", ret => BuddyTor.Me.HealthPercent <= 90), Spell.Cast("Stealth", castWhen => !BuddyTor.Me.HasBuff("Stealth")), Spell.Cast("Dark Charge", ret => !BuddyTor.Me.HasBuff("Dark Charge")), Spell.Cast("Mark of Power", ret => !BuddyTor.Me.HasBuff("Mark of Power")) ); } } }
Until I can get help on the problem with Darkness.cs I can't create a proper Kinetic Combat priority listing as Darkness abilities are the same as Kinetic Combat to the extact just different names of abilities. I will be working on Concealment and Lethality Operative and then making the conversion for the Scoundrel counterparts. I will not be doing the healing tree for either spec as I have no experience with them and never want to heal as I played a Holy Priest for eons in World of Warcraft. Put it blankly I have no interest. If anyone wants to build on of those feel, free to. I will not be assisting unless by chance I get crazy and do healing again which I don't see in the future atm.
I am new to all of this, but I would like to take a whack at the advanced cc's for bh powertech. Any pointers other than what has already been stated would be appreciated
OK been away for a bit but I have some Commando updates will mess around converting to BH tomorrow maybe, Added burn phases End Key toggles or Power/Crit Relic Buffs Added Disable Combat Movement can move around no stuttering like LazyRaider helpful to avoid AOE etc. PgDn toggles this on/off. Added Disable All Combat PgUp Toggles. Commando - View attachment Gunnery.cs Commando - View attachment AssaultSpecialist.cs Vanguard - View attachment Tact.cs Vanguard - View attachment AssaultSpecialist.cs Have Fun And Please Give FeedBack - Working on CC/AOE Next
Hey Proto, a you going to try to port those to power tech bh? If so I would be happy to help test them, I have a level 50 power tech.
OK more Updates will work on CC/AOE and Tank/healer specs. View attachment Trooper-BountyHunter.zip As Always Please test and leave feedback Thanks.
Please answer my question. If theres a problem with it, try to fix it or tell me what the problem is, instead of creating the same code for every class.. btw, you use ResourceStat => 2 - does he get below 8 cells?
during burn phase yes then recharge cells. if you wana fix it so he stops casting restbuff when rested i will remove my rest code also ther are spec specific/lvl specific buff code in my rests
Did you test it in a bossfight? You can put every buff or spell u wanna cast during out of combat into the OOC behaviour except the rest ones, ok ?
yup it works kinda ok atm with me able to disable combat for key bits of figths still have a few move issues but small just wish i could disable the damn targeting and it would be awsome.
Noted... I did it purely because I was new to this and I did some minor mimicking of the code. I will remove it from future codes here on in... well I actually have, recently, since I have mimicked your rewrite.
In mercanery there is file named firebug. But no spec for merc called firebug. Maybe move that file to your trooper folder see if works?
Thank for the idea, i have created a copy of firebug.cs from the mercenary folder to the powertech folder, changed the word Mercenary to Powertech and it is working. Not perfect but working. I m using protopally files right now =) Not the default one.