If you can post what needs to be updated I can take care of it. But I also don't have a Juggernaut. I basically only play 4 characters: Guardian, Sage, Commando, Scoundrel.
Did you see my post about discipline cannot be determined dirty fix? You can incorporate changes like that but yeah you need the skill rotation first
Lethality rotation Hello Folks! anyone with an operative could test this rotation and give some backup? PHP: public override Composite SingleTarget { get { return new PrioritySelector( Spell.Cast("Hidden Strike", ret => Me.IsStealthed && Me.IsBehind(Me.CurrentTarget)), //Movement CombatMovement.CloseDistance(Distance.Melee), Spell.Cast("Lethal Strike", ret => Me.IsStealthed) , Spell.Cast("Lethal Strike", ret => Me.CurrentTarget.HasDebuff("Corrosive Dart") && // Me.CurrentTarget.DebuffTimeLeft("Corrosive Dart") <= 2 || Me.CurrentTarget.DebuffTimeLeft("Corrosive Dart") >= 7) , Spell.Cast("Corrosive Dart", ret => // Me.HasBuff("Cut Down") && (!Me.CurrentTarget.HasDebuff("Corrosive Dart") || Me.CurrentTarget.DebuffTimeLeft("Corrosive Dart") <= 2) && !Me.IsStealthed) , Spell.Cast("Corrosive Grenade", ret => // Me.HasBuff("Cut Down") && (!Me.CurrentTarget.HasDebuff("Corrosive Grenade") || Me.CurrentTarget.DebuffTimeLeft("Corrosive Grenade") <= 2) && !Me.IsStealthed) , Spell.Cast("Toxic Blast", ret => Me.BuffCount("Tactical Advantage") < 2 && Me.CurrentTarget.HasDebuff("Corrosive Dart") && Me.CurrentTarget.HasDebuff("Corrosive Grenade") && !Me.IsStealthed) , Spell.Cast("Shiv", ret => Me.BuffCount("Tactical Advantage") < 2 && Me.CurrentTarget.HasDebuff("Corrosive Dart") && Me.CurrentTarget.HasDebuff("Corrosive Grenade") && !Me.IsStealthed) , Spell.Cast("Corrosive Assault", ret => Me.HasBuff("Tactical Advantage") && Me.CurrentTarget.HasDebuff("Corrosive Dart") && Me.CurrentTarget.HasDebuff("Corrosive Grenade") && !Me.IsStealthed) // , //Spell.Cast("Overload Shot", // ret => // Me.EnergyPercent > 85 && // !Me.HasBuff("Tactical Advantage") && // Spell.GetCCD("Shiv") > 1500 && // AbilityManager.KnownAbilities(a => a.Name.Contains("Shiv")).CooldownTime > 1.5 && // AbilityManager.KnownAbilities(a => a.Name.Contains("Toxic Blast")).CooldownTime > 1.5 && // Spell.GetCCD("Toxic Blast") > 1500 && // Me.CurrentTarget.HasDebuff("Corrosive Dart") && // Me.CurrentTarget.HasDebuff("Corrosive Grenade") && // !Me.IsStealthed) // , //Spell.Cast("Rifle Shot", // ret => // !Me.HasBuff("Tactical Advantage") && // Spell.GetCooldown("Shiv") > 15000 && // Spell.GetCooldown("Toxic Blast") > 15000 && // !Buddy.CommonBot.AbilityManager.CanCast("Shiv", Me.CurrentTarget) && // !Buddy.CommonBot.AbilityManager.CanCast("Toxic Blast", Me.CurrentTarget) && // Me.CurrentTarget.HasDebuff("Corrosive Dart") && // Me.CurrentTarget.HasDebuff("Corrosive Grenade") && // !Me.IsStealthed) ); } } The rotation its sloppy when it uses rifle shot or overload shot, since GCD messes with the cancast checks, thats why its all as coment. How the bot get the information from the game? The game have cooldown timers, that we can see when we enable texts on game interface. Is there a way to read the game memory and get those timer values as a check? that would be an HUGE improvement on how we could tune the rotations.
getting bot stuck after N period of time using operative and default routine. any ideas? Logs: https://www.dropbox.com/s/5m20kb03ny8reb8/BuddyWing%206524%202015-12-02-21.24.42.log?dl=0 https://www.dropbox.com/s/wjevcyl9u1z5az7/BuddyWing%207800%202015-12-02-23.41.32.log?dl=0
here is my merc ars rotation its for 65 not for leveling Code: // Copyright (C) 2011-2015 Bossland GmbH // See the file LICENSE for the source code's detailed license using Buddy.BehaviorTree; using DefaultCombat.Core; using DefaultCombat.Helpers; namespace DefaultCombat.Routines { public class Arsenal : RotationBase { public override string Name { get { return "Mercenary Arsenal"; } } public override Composite Buffs { get { return new PrioritySelector( Spell.Buff("High Velocity Gas Cylinder"), Spell.Buff("Hunter's Boon") ); } } public override Composite Cooldowns { get { return new LockSelector( Spell.Buff("Determination", ret => Me.IsStunned), Spell.Buff("Vent Heat", ret => Me.ResourcePercent() >= 40), Spell.Buff("Supercharged Gas", ret => Me.BuffCount("Supercharge") == 10), Spell.Buff("Energy Shield", ret => Me.HealthPercent <= 70), Spell.Buff("Kolto Overload", ret => Me.HealthPercent <= 30), Spell.Buff("Thermal Sensor Override", ret => Me.ResourceStat <= 60) ); } } public override Composite SingleTarget { get { return new LockSelector( Spell.Cast("Rapid Shot", ret => Me.ResourcePercent() < 60), //Movement CombatMovement.CloseDistance(Distance.Ranged), //Rotation Spell.Cast("Disabling Shot", ret => Me.CurrentTarget.IsCasting && !DefaultCombat.MovementDisabled), Spell.Cast("Blazing Bolts", ret => Me.HasBuff("Barrage")), Spell.Cast("Heatseeker Missiles", ret => Me.CurrentTarget.HasDebuff("Heat Signature")), Spell.Cast("Electro Net"), Spell.Cast("Rail Shot", ret => Me.BuffCount("Tracer Lock") == 5), Spell.Cast("Priming Shot"), Spell.Cast("Power Surge"), Spell.Cast("Tracer Missile"), Spell.Cast("Rapid Shots") ); } } public override Composite AreaOfEffect { get { return new Decorator(ret => Targeting.ShouldAoe, new PrioritySelector( Spell.CastOnGround("Sweeping Blasters")) ); } } } }
Why no Death From Above for AOE? Its a good damage skill but without any conditions. Single target priority is ok. Just like in the Dulfy's guide.
alltrueist, did you see my bug post on Github about Shield Tech for Powertech? dicipline Cannotbedetermined
So I worked on the rest routine back in the day and never got completely back to it. While I had resolved the run into the sunset bug when moving and initiating rest the logoff/quit menu would pop from time to time. Took a few mins and tracked that down. In rest.cs change Code: While (Me.IsCasting) { SendMessage(_swtorhWnd, (int)0x100, (IntPtr)(char)0x1b, (IntPtr)0); Thread.Sleep(100); } to Code: if (Me.IsCasting) { SendMessage(_swtorhWnd, (int)0x100, (IntPtr)(char)0x1b, (IntPtr)0); Thread.Sleep(100); } The simple change of while to if handles it. The iscasting wouldn't always switch off as fast as it should which caused esc to be pressed twice and not just a single time. I put about 2 hours of kill grinds against this code and it worked like a champ. Sorry I was away so long and never got around to completing the solution for you all.
Anyone else get massive FPS drops while using this as a Combat Bot/LazyRaider? I'm talking from 90+ that drops down to 10-15 FPS. The computer is severely overkill for the game, so I wouldn't think it's that. It's acting like Framelock is too high or something. Using it has a Sage healer.
Healing is a bit wonky at the moment. I'd recommend using one of the other specs until Ama finds time to rewrite the healing and targeting stuff. If it's too bad, you can try to edit some of the LockSelectors in your rotation file to PrioritySelectors, although that will decrease the bot's effectiveness.