• Visit Rebornbuddy
  • Default Combat Test Edition

    Discussion in 'Archives' started by wired203, Mar 14, 2016.

    Thread Status:
    Not open for further replies.
    1. Logandros

      Logandros Moderator Moderator

      Joined:
      Nov 20, 2012
      Messages:
      370
      Likes Received:
      21
      Trophy Points:
      18
      Cryogenesis

      I think you would also need to update the Jedi Knight Basics and remove:

      Code:
      		public override Composite Buffs
      		{
      			get
      			{
      				return new PrioritySelector(
      					Spell.Buff("Shii-Cho Form")    [B][COLOR="#FF0000"]<----- remove from line 22[/COLOR][/B]
      					);
      			}
      		}
       
    2. Cryogenesis

      Cryogenesis Moderator Moderator

      Joined:
      Jul 13, 2010
      Messages:
      2,128
      Likes Received:
      13
      Trophy Points:
      38
      Has it been removed from patch 5.0?
       
    3. Logandros

      Logandros Moderator Moderator

      Joined:
      Nov 20, 2012
      Messages:
      370
      Likes Received:
      21
      Trophy Points:
      18
      Here is a try at Consular:

      Consular.cs

      Code:
      // Copyright (C) 2011-2016 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 Consular : RotationBase
      	{
      		public override string Name
      		{
      			get { return "Basic Consular"; }
      		}
      
      		public override Composite Buffs
      		{
      			get { return new PrioritySelector(); }
      		}
      
      		public override Composite Cooldowns
      		{
      			get { return new PrioritySelector(); }
      		}
      
      		public override Composite SingleTarget
      		{
      			get
      			{
      				return new PrioritySelector(
      					CombatMovement.CloseDistance(Distance.Melee),
      					Spell.Cast("Project", ret => Me.Force > 75),
      					Spell.Cast("Saber Strike")
      					);
      			}
      		}
      
      		public override Composite AreaOfEffect
      		{
      			get
      			{
      				return new Decorator(ret => Targeting.ShouldAoe,
      					new PrioritySelector(
      						Spell.Cast("Force Wave", ret => Me.CurrentTarget.Distance <= Distance.MeleeAoE))
      					);
      			}
      		}
      	}
      }
      Serenity.cs

      Code:
      // Copyright (C) 2011-2016 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
      {
      	internal class Serenity : RotationBase
      	{
      		public override string Name
      		{
      			get { return "Shadow Serenity"; }
      		}
      
      		public override Composite Buffs
      		{
      			get
      			{
      				return new PrioritySelector(
      					Spell.Buff("Force Valor"),
      					Spell.Cast("Guard", on => Me.Companion,
      						ret => Me.Companion != null && !Me.Companion.IsDead && !Me.Companion.HasBuff("Guard")),
      					Spell.Buff("Stealth", ret => !Rest.KeepResting() && !DefaultCombat.MovementDisabled)
      					);
      			}
      		}
      
      		public override Composite Cooldowns
      		{
      			get
      			{
      				return new PrioritySelector(
      					Spell.Buff("Force of Will"),
      					Spell.Buff("Battle Readiness", ret => Me.HealthPercent <= 85),
      					Spell.Buff("Deflection", ret => Me.HealthPercent <= 60),
      					Spell.Buff("Resilience", ret => Me.HealthPercent <= 50),
      					Spell.Buff("Force Potency")
      					);
      			}
      		}
      
      		public override Composite SingleTarget
      		{
      			get
      			{
      				return new PrioritySelector(
      					Spell.Buff("Force Speed",
      						ret => !DefaultCombat.MovementDisabled && Me.CurrentTarget.Distance >= 1f && Me.CurrentTarget.Distance <= 3f),
      
      					//Movement
      					CombatMovement.CloseDistance(Distance.Melee),
      
      					//Low Energy
      					Spell.Cast("Mind Crush", ret => Me.ForcePercent < 25 && Me.HasBuff("Force Strike")),
      					Spell.Cast("Saber Strike", ret => Me.ForcePercent < 25),
      
      					//Rotation
      					Spell.Cast("Mind Snap", ret => Me.CurrentTarget.IsCasting && !DefaultCombat.MovementDisabled),
      					Spell.CastOnGround("Force in Balance"),
      					Spell.Cast("Sever Force", ret => !Me.CurrentTarget.HasDebuff("Sever Force")),
      					Spell.DoT("Force Breach", "Crushed (Force Breach)"),
      					Spell.Cast("Squelch", ret => Me.HasBuff("Force Strike") && Me.Level >= 57),
      					Spell.Cast("Mind Crush", ret => Me.HasBuff("Force Strike") && Me.Level < 57),
      					Spell.Cast("Spinning Strike", ret => Me.CurrentTarget.HealthPercent <= 30 || Me.HasBuff("Crush Spirit")),
      					Spell.Cast("Serenity Strike", ret => Me.HealthPercent <= 70),
      					Spell.Cast("Double Strike"),
      					Spell.Buff("Force Speed", ret => Me.CurrentTarget.Distance >= 1.1f && Me.IsMoving && Me.InCombat)
      					);
      			}
      		}
      
      		public override Composite AreaOfEffect
      		{
      			get
      			{
      				return new Decorator(ret => Targeting.ShouldPbaoe,
      					new PrioritySelector(
      						Spell.DoT("Force Breach", "Crushed (Force Breach)"),
      						Spell.Cast("Sever Force", ret => !Me.CurrentTarget.HasDebuff("Sever Force")),
      						Spell.CastOnGround("Force in Balance"),
      						Spell.Cast("Whirling Blow", ret => Me.ForcePercent > 70)
      						));
      			}
      		}
      	}
      }
      KeneticCombat.cs

      Code:
      // Copyright (C) 2011-2016 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
      {
      	internal class KeneticCombat : RotationBase
      	{
      		public override string Name
      		{
      			get { return "Shadow Kenetic Combat"; }
      		}
      
      		public override Composite Buffs
      		{
      			get
      			{
      				return new PrioritySelector(
      					Spell.Buff("Force Valor"),
      					Spell.Cast("Guard", on => Me.Companion, ret => Me.Companion != null && !Me.Companion.IsDead && !Me.Companion.HasBuff("Guard")),
      					Spell.Buff("Stealth", ret => !Rest.KeepResting() && !DefaultCombat.MovementDisabled)
      					);
      			}
      		}
      
      		public override Composite Cooldowns
      		{
      			get
      			{
      				return new PrioritySelector(
      					Spell.Buff("Kinetic Ward", ret => Me.BuffCount("Kinetic Ward") <= 1 || Me.BuffTimeLeft("Kinetic Ward") < 3),
      					Spell.Buff("Force of Will"),
      					Spell.Buff("Battle Readiness", ret => Me.HealthPercent <= 85),
      					Spell.Buff("Deflection", ret => Me.HealthPercent <= 60),
      					Spell.Buff("Resilience", ret => Me.HealthPercent <= 50),
      					Spell.Buff("Force Potency")
      					);
      			}
      		}
      
      		public override Composite SingleTarget
      		{
      			get
      			{
      				return new PrioritySelector(
      					Spell.Buff("Force Speed",
      						ret => !DefaultCombat.MovementDisabled && Me.CurrentTarget.Distance >= 1f && Me.CurrentTarget.Distance <= 3f),
      
      					//Movement
      					CombatMovement.CloseDistance(Distance.Melee),
      
      					//Rotation
      					Spell.Cast("Saber Strike", ret => Me.ForcePercent < 25),
      					Spell.Cast("Mind Snap", ret => Me.CurrentTarget.IsCasting && !DefaultCombat.MovementDisabled),
      					Spell.Cast("Force Stun", ret => Me.CurrentTarget.IsCasting && !DefaultCombat.MovementDisabled),
      					Spell.Cast("Telekinetic Throw", ret => Me.BuffCount("Harnessed Shadows") == 3),
      					Spell.Cast("Slow Time"),
      					Spell.Cast("Project", ret => Me.HasBuff("Particle Acceleration")),
      					Spell.Cast("Shadow Strike", ret => Me.HasBuff("Shadow Wrap")),
      					Spell.Cast("Spinning Strike", ret => Me.CurrentTarget.HealthPercent <= 30),
      					Spell.Cast("Force Breach"),
      					Spell.Cast("Double Strike"),
      					Spell.Cast("Force Speed", ret => Me.CurrentTarget.Distance >= 1.1f && Me.IsMoving && Me.InCombat)
      					);
      			}
      		}
      
      		public override Composite AreaOfEffect
      		{
      			get
      			{
      				return new Decorator(ret => Targeting.ShouldPbaoe,
      					new PrioritySelector(
      						Spell.Cast("Slow Time"),
      						Spell.Cast("Force Breach"),
      						Spell.Cast("Whirling Blow", ret => Me.ForcePercent >= 60 && Me.CurrentTarget.Distance <= 0.5f)
      						));
      			}
      		}
      	}
      }
      Infiltration.cs

      Code:
      // Copyright (C) 2011-2016 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
      {
      	internal class Infiltration : RotationBase
      	{
      		public override string Name
      		{
      			get { return "Shadow Infiltration"; }
      		}
      
      		public override Composite Buffs
      		{
      			get
      			{
      				return new PrioritySelector(
      					Spell.Buff("Force Valor"),
      					Spell.Cast("Guard", on => Me.Companion,	ret => Me.Companion != null && !Me.Companion.IsDead && !Me.Companion.HasBuff("Guard")),
      					Spell.Buff("Stealth", ret => !Rest.KeepResting() && !DefaultCombat.MovementDisabled)
      					);
      			}
      		}
      
      		public override Composite Cooldowns
      		{
      			get
      			{
      				return new PrioritySelector(
      					Spell.Buff("Force of Will"),
      					Spell.Buff("Battle Readiness", ret => Me.HealthPercent <= 85),
      					Spell.Buff("Deflection", ret => Me.HealthPercent <= 60),
      					Spell.Buff("Resilience", ret => Me.HealthPercent <= 50),
      					Spell.Buff("Force Potency")
      					);
      			}
      		}
      
      		public override Composite SingleTarget
      		{
      			get
      			{
      				return new PrioritySelector(
      					Spell.Cast("Spinning Kick", ret => Me.IsStealthed),
      					Spell.Buff("Force Speed",	ret => !DefaultCombat.MovementDisabled && Me.CurrentTarget.Distance >= 1f && Me.CurrentTarget.Distance <= 3f),
      
      					//Movement
      					CombatMovement.CloseDistance(Distance.Melee),
      
      					//Interrupts
      					Spell.Cast("Mind Snap", ret => Me.CurrentTarget.IsCasting && !DefaultCombat.MovementDisabled),
      					Spell.Cast("Force Stun", ret => Me.CurrentTarget.IsCasting && !DefaultCombat.MovementDisabled),
      					Spell.Cast("Low Slash", ret => Me.CurrentTarget.IsCasting && !DefaultCombat.MovementDisabled),
      
      					//Rotation
      					Spell.Cast("Force Breach", ret => Me.BuffCount("Breaching Shadows") == 3),
      					Spell.Cast("Shadow Strike", ret => Me.HasBuff("Stealth") || Me.HasBuff("Infiltration Tactics")),
      					Spell.Cast("Vaulting Slash", ret => Me.HasBuff("Stealth")),
      					Spell.Cast("Project", ret => Me.BuffCount("Circling Shadows") == 2),
      					Spell.Cast("Spinning Strike", ret => Me.CurrentTarget.HealthPercent <= 30),
      					Spell.Cast("Clairvoyant Strike"),
      					Spell.Cast("Force Speed", ret => Me.CurrentTarget.Distance >= 1.1f && Me.IsMoving && Me.InCombat)
      					);
      			}
      		}
      
      		public override Composite AreaOfEffect
      		{
      			get
      			{
      				return new PrioritySelector(
      					Spell.Cast("Whirling Blow", ret => Me.ForcePercent >= 60 && Targeting.ShouldPbaoe)
      					);
      			}
      		}
      	}
      }
      Someone will need to verify code and priority for lines 61 and 62 of Infiltration.cs
       
      Last edited: Dec 2, 2016
    4. Logandros

      Logandros Moderator Moderator

      Joined:
      Nov 20, 2012
      Messages:
      370
      Likes Received:
      21
      Trophy Points:
      18
      Shii-Cho Form is now a passive ability.

      from patch notes
       
    5. alltrueist

      alltrueist Active Member

      Joined:
      Dec 10, 2012
      Messages:
      1,424
      Likes Received:
      16
      Trophy Points:
      38
      All "stance" abilities are now passive. That includes Trooper/BH "cells", Shadow/Assassin "techniques", and Knight/Warrior "forms".
       
    6. Cryogenesis

      Cryogenesis Moderator Moderator

      Joined:
      Jul 13, 2010
      Messages:
      2,128
      Likes Received:
      13
      Trophy Points:
      38
      So basically they removed the stances that didn't matter...
      Ok that means removal of all forms stances like alltrueist mentioned
       
    7. ManFriday

      ManFriday New Member

      Joined:
      Apr 26, 2013
      Messages:
      216
      Likes Received:
      1
      Trophy Points:
      0
      will the Routine be ready before release of Xpac on 2nd December ?
       
    8. Logandros

      Logandros Moderator Moderator

      Joined:
      Nov 20, 2012
      Messages:
      370
      Likes Received:
      21
      Trophy Points:
      18
      Since the bot is still waiting to be updated we cannot test the routines on our end. So unless they are updating it behind the scenes while working on the botbase I would guess no.
       
    9. Cryogenesis

      Cryogenesis Moderator Moderator

      Joined:
      Jul 13, 2010
      Messages:
      2,128
      Likes Received:
      13
      Trophy Points:
      38
      Btw early access is already live
       
    10. Logandros

      Logandros Moderator Moderator

      Joined:
      Nov 20, 2012
      Messages:
      370
      Likes Received:
      21
      Trophy Points:
      18
      My changes for Jedi Consular seem to be working for Serenity and Kenetic Combat. However the bot is unable to correctly detect Infiltration. I checked this with a few other out of date combat routines as well as default. All have an issue detecting Infiltration so the bot may need changes elsewhere for that.
       
    11. Logandros

      Logandros Moderator Moderator

      Joined:
      Nov 20, 2012
      Messages:
      370
      Likes Received:
      21
      Trophy Points:
      18
      Cryogenesis, do you know how and where the bot detects the advanced class. Also do you know the setting for full logging? I tried Debug instead of Info but that didn't give me any additional logging.
       
    12. Cryogenesis

      Cryogenesis Moderator Moderator

      Joined:
      Jul 13, 2010
      Messages:
      2,128
      Likes Received:
      13
      Trophy Points:
      38
      Is advanced class detection fucked up again?
      The way the bot does it, is via a base spell only available to the advanced class. If that spell has been renamed/removed the bot may not detect its class...

      Its hard coded in the bot, and needs to be altered by Aevitas if something changed on that part.

      This is what i gave Aevitas in plain text (not the coded part):
      Code:
      INFO: http://dulfy.net/2014/10/13/swtor-disciplines-calculator-swtor_miner/?link=dGEAAAEKAwECAAAAAAAAAAAA
      
      WATCH OUT FOR DOUBLE LVL 10 ABILITIES!!! (-1 to -4)
      
      
      --REPUBLIC--
      
      Class, Advanced, Discipline, Level 10 ability, DPS/TANK/HEAL
      Trooper, Commando, Combat Medic, Advanced Medical Probe, HEAL
      Trooper, Commando, Gunnery, Grav Round, DPS
      Trooper, Commando, Assault Specialist, Incendiary Round, DPS
      Trooper, Vanguard, Shield Specialist, Riot Gas, TANK
      Trooper, Vanguard, Plasmatech, Shockstrike, DPS
      Trooper, Vanguard, Tactics, Gut, DPS
      Smuggler, Scoundrel, Sawbones, Underworld Medicine, HEAL
      Smuggler, Scoundrel, Scrapper, Sucker Punch, DPS
      Smuggler, Scoundrel, Ruffian, Brutal Shots, DPS
      Smuggler, Gunslinger, Sharpshooter, Aimed Shot, DPS
      Smuggler, Gunslinger, Saboteur, Sabotage Charge, DPS
      Smuggler, Gunslinger, Dirty Fighting, Shrap Bomb, DPS
      Jedi Consular, Shadow (Shadow (Jedi Shadow)), Kinetic Combat, Kinetic Ward, TANK
      Jedi Consular, Shadow (Jedi Shadow), Infiltration, Shadow Technique, DPS
      -1 Jedi Consular, Shadow (Jedi Shadow), Serenity, Force in Balance, DPS
      Jedi Consular, Sage (Jedi Sage), Seer, Deliverence, HEAL
      Jedi Consular, Sage (Jedi Sage), Telekinetics, Telekinetic Wave, DPS
      -1 Jedi Consular, Sage (Jedi Sage), Balance, Force in balance, DPS
      Jedi Knight, Guardian (Jedi Guardian), Defense, Warding Strike, TANK
      Jedi Knight, Guardian (Jedi Guardian), Vigilance, Plasma Brand, DPS
      -2 Jedi Knight, Guardian (Jedi Guardian), Focus, Focused Burst, DPS
      Jedi Knight, Sentinel (Jedi Sentinel), Watchman, Force Melt, DPS
      Jedi Knight, Sentinel (Jedi Sentinel), Combat, Ataru Form, DPS
      -2 Jedi Knight, Sentinel (Jedi Sentinel), Concentration, Focused Burst, DPS
      
      
      --EMPIRE--
      
      Bounty Hunter, Mercenary, Bodyguard, Healing Scan, HEAL
      Bounty Hunter, Mercenary, Arsenal, Tracer Missile, DPS
      Bounty Hunter, Mercenary, Innovative Ordnance, Incendiary Missile, DPS
      Bounty Hunter, Powertech, Shield Tech, Oil Slick, TANK
      Bounty Hunter, Powertech, Pyrotech, Flaming Fist, DPS
      Bounty Hunter, Powertech, Advanced Prototype, Retractable Blade, DPS
      Imperial Agent, Operative, Medicine, Kolto Injection, HEAL
      Imperial Agent, Operative, Concealment, Laceration, DPS
      Imperial Agent, Operative, Lethality, Corrosive Assault, DPS
      Imperial Agent, Sniper, Markmanship, Ambush, DPS
      Imperial Agent, Sniper, Engineering, Explosive Probe, DPS
      Imperial Agent, Sniper, Virulence, Corrosive Grenade, DPS
      Sith Inquisitor, Assassin (Sith Assassin), Darkness, Dark Ward, TANK
      Sith Inquisitor, Assassin (Sith Assassin), Deception, Surging Charge, DPS
      -3 Sith Inquisitor, Assassin (Sith Assassin), Hatred, Death Field, DPS
      Sith Inquisitor, Sorcerer (Sith Sorcerer), Corruption, Dark Infusion, HEAL
      Sith Inquisitor, Sorcerer (Sith Sorcerer), Lightning, Chain Lightning, DPS
      -3 Sith Inquisitor, Sorcerer (Sith Sorcerer), Madness, Death Field, DPS
      Sith Warrior, Juggernaut (Sith Juggernaut), Immortal, Aegis Assault, TANK
      Sith Warrior, Juggernaut (Sith Juggernaut), Vengeance, Shatter, DPS
      -4 Sith Warrior, Juggernaut (Sith Juggernaut), Rage, Raging Burst, DPS
      Sith Warrior, Marauder (Sith Marauder), Annihilation, Force Rend, DPS
      Sith Warrior, Marauder (Sith Marauder), Carnage, Ataru Form, DPS
      -4 Sith Warrior, Marauder (Sith Marauder), Fury, Raging Burst, DPS
      
      Full logging, doesnt work like it used to. It hasnt been altered GUI or settings wise, so you cant change it sadly.
      Might need to pork Aevitas in updating it.
       
    13. Logandros

      Logandros Moderator Moderator

      Joined:
      Nov 20, 2012
      Messages:
      370
      Likes Received:
      21
      Trophy Points:
      18

      Yes so it looks like the problem is, Shadow Technique is now passive. How does the bot detect these does it just look at the spell tree of spells regardless if they have been learned yet?

      From patch notes:

      Code:
      Infiltration
      [LIST]
      [*]Shadow Technique is now a passive ability.
      [*]Shadow Technique modifies the effects of Force Breach. Force Breach: Unleash your Breaching Shadows, dealing internal damage. This damage scales up with each stack of Breaching Shadows.
      [*]New Active Ability: Vaulting Slash. Lash the target with an acrobatic strike, dealing weapon damage. Only usable from stealth or within 15 seconds of performing a critical strike.
      [*]Circling Shadows (Update): Double Strike, Whirling Blow, Clairvoyant Strike, Vaulting Slash, Shadow Strike, and Spinning Strike grant Circling Shadows, reducing the Force cost of your next Project or Psychokinetic Blast by 25%. Stacks up to 2 times.
      [*]Shadow’s Respite (Update): While in stealth mode and for 15 seconds (up from 6 seconds) after leaving stealth mode, Force regeneration is increased by 25% (down from 50%).
      [*]Masked Assault (Redesign): Shadow Strike grants 15 seconds of Shadow’s Respite. While Shadow’s Respite is active, all damage taken is reduced by 15%.
      [/LIST]
      
       
    14. Logandros

      Logandros Moderator Moderator

      Joined:
      Nov 20, 2012
      Messages:
      370
      Likes Received:
      21
      Trophy Points:
      18
      I'm trying to understand you -1 through -4 but looking just at the shadow specs it would go like this for the lvl 10 abilities:

      Code:
      Jedi Consular, Shadow (Jedi Shadow), Kinetic Combat, Cascading Debris, TANK
      Jedi Consular, Shadow (Jedi Shadow), Infiltration, Vaulting Slash, DPS
      Jedi Consular, Shadow (Jedi Shadow), Serenity, Force in Balance, DPS
      Unless I'm over simplifying this ^^ that should be correct
       
    15. Cryogenesis

      Cryogenesis Moderator Moderator

      Joined:
      Jul 13, 2010
      Messages:
      2,128
      Likes Received:
      13
      Trophy Points:
      38
      You are right, im editing everything for Aevitas to update.
      Thanks for the notification, Shadow had the most alterations, some more changed also.
      Will upload the new list in a moment
       
    16. Logandros

      Logandros Moderator Moderator

      Joined:
      Nov 20, 2012
      Messages:
      370
      Likes Received:
      21
      Trophy Points:
      18
      Let me know if you need help with any other classes, or class detection.
       
    17. Cryogenesis

      Cryogenesis Moderator Moderator

      Joined:
      Jul 13, 2010
      Messages:
      2,128
      Likes Received:
      13
      Trophy Points:
      38
      So going through the patchnotes, Dulfy and SWTOR miner stuff i got the new list:
      Code:
      INFO: http://dulfy.net/2014/10/13/swtor-disciplines-calculator-swtor_miner/?link=dGEAAAEKAwECAAAAAAAAAAAA
      
      WATCH OUT FOR DOUBLE LVL 10 ABILITIES!!! (-1 to -4)
      
      
      --REPUBLIC--
      
      Class, Advanced, Discipline, Level 10 ability, DPS/TANK/HEAL
      Trooper, Commando, Combat Medic, Advanced Medical Probe, HEAL
      Trooper, Commando, Gunnery, Grav Round, DPS
      Trooper, Commando, Assault Specialist, Incendiary Round, DPS
      Trooper, Vanguard, Shield Specialist, Riot Gas, TANK
      Trooper, Vanguard, Plasmatech, Shockstrike, DPS
      Trooper, Vanguard, Tactics, Gut, DPS
      Smuggler, Scoundrel, Sawbones, Underworld Medicine, HEAL
      Smuggler, Scoundrel, Scrapper, Sucker Punch, DPS
      Smuggler, Scoundrel, Ruffian, Brutal Shots, DPS
      Smuggler, Gunslinger, Sharpshooter, Aimed Shot, DPS
      Smuggler, Gunslinger, Saboteur, Explosive Charge, DPS <!-- Altered in 5.0 -->
      Smuggler, Gunslinger, Dirty Fighting, Shrap Bomb, DPS
      Jedi Consular, Shadow (Shadow (Jedi Shadow)), Kinetic Combat, Cascading Debris, TANK <!-- Altered in 5.0 -->
      Jedi Consular, Shadow (Jedi Shadow), Infiltration, Vaulting Slash, DPS <!-- Altered in 5.0 -->
      -1 Jedi Consular, Shadow (Jedi Shadow), Serenity, Force in Balance, DPS
      Jedi Consular, Sage (Jedi Sage), Seer, Deliverence, HEAL
      Jedi Consular, Sage (Jedi Sage), Telekinetics, Telekinetic Wave, DPS
      -1 Jedi Consular, Sage (Jedi Sage), Balance, Force in balance, DPS
      Jedi Knight, Guardian (Jedi Guardian), Defense, Warding Strike, TANK
      Jedi Knight, Guardian (Jedi Guardian), Vigilance, Plasma Brand, DPS
      -2 Jedi Knight, Guardian (Jedi Guardian), Focus, Focused Burst, DPS
      Jedi Knight, Sentinel (Jedi Sentinel), Watchman, Force Melt, DPS
      Jedi Knight, Sentinel (Jedi Sentinel), Combat, Lance, DPS <!-- Altered in 5.0 -->
      -2 Jedi Knight, Sentinel (Jedi Sentinel), Concentration, Focused Burst, DPS
      
      
      --EMPIRE--
      
      Bounty Hunter, Mercenary, Bodyguard, Healing Scan, HEAL
      Bounty Hunter, Mercenary, Arsenal, Tracer Missile, DPS
      Bounty Hunter, Mercenary, Innovative Ordnance, Incendiary Missile, DPS
      Bounty Hunter, Powertech, Shield Tech, Oil Slick, TANK
      Bounty Hunter, Powertech, Pyrotech, Flaming Fist, DPS
      Bounty Hunter, Powertech, Advanced Prototype, Retractable Blade, DPS
      Imperial Agent, Operative, Medicine, Kolto Injection, HEAL
      Imperial Agent, Operative, Concealment, Laceration, DPS
      Imperial Agent, Operative, Lethality, Corrosive Assault, DPS
      Imperial Agent, Sniper, Markmanship, Ambush, DPS
      Imperial Agent, Sniper, Engineering, Explosive Probe, DPS
      Imperial Agent, Sniper, Virulence, Corrosive Grenade, DPS
      Sith Inquisitor, Assassin (Sith Assassin), Darkness, Depredating Volts, TANK <!-- Altered in 5.0 -->
      Sith Inquisitor, Assassin (Sith Assassin), Deception, Reaping Strike, DPS <!-- Altered in 5.0 -->
      -3 Sith Inquisitor, Assassin (Sith Assassin), Hatred, Death Field, DPS
      Sith Inquisitor, Sorcerer (Sith Sorcerer), Corruption, Dark Infusion, HEAL
      Sith Inquisitor, Sorcerer (Sith Sorcerer), Lightning, Chain Lightning, DPS
      -3 Sith Inquisitor, Sorcerer (Sith Sorcerer), Madness, Death Field, DPS
      Sith Warrior, Juggernaut (Sith Juggernaut), Immortal, Aegis Assault, TANK
      Sith Warrior, Juggernaut (Sith Juggernaut), Vengeance, Shatter, DPS
      -4 Sith Warrior, Juggernaut (Sith Juggernaut), Rage, Raging Burst, DPS
      Sith Warrior, Marauder (Sith Marauder), Annihilation, Force Rend, DPS
      Sith Warrior, Marauder (Sith Marauder), Carnage, Gore, DPS <!-- Altered in 5.0 -->
      -4 Sith Warrior, Marauder (Sith Marauder), Fury, Raging Burst, DPS
      
      1 to 4 mean ability that has been double used with one class, which may cause issues with spec detection
       
    18. Cryogenesis

      Cryogenesis Moderator Moderator

      Joined:
      Jul 13, 2010
      Messages:
      2,128
      Likes Received:
      13
      Trophy Points:
      38
      The full logging setting was "ExtremelySpammy". editing it in the settings file doesnt chance anything for me. I might be right on that part, as the logging code has been changed to correspond with all other bots.
      Might as well be taken out the loglevel that is.
       
    19. Cryogenesis

      Cryogenesis Moderator Moderator

      Joined:
      Jul 13, 2010
      Messages:
      2,128
      Likes Received:
      13
      Trophy Points:
      38
      - Upload on the entire knight class -

      (this is without the basic update)
       

      Attached Files:

    20. Cryogenesis

      Cryogenesis Moderator Moderator

      Joined:
      Jul 13, 2010
      Messages:
      2,128
      Likes Received:
      13
      Trophy Points:
      38
      These specs need to be double checked on the "Vicious Throw" ability. Vengeance got it renamed to Hew, but i still find Vicious Throw naming in the Data mining.

      Vengeance:
      Code:
      // Copyright (C) 2011-2016 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
      {
      	internal class Vengeance : RotationBase
      	{
      		public override string Name
      		{
      			get { return "Juggernaut Vengeance"; }
      		}
      
      		public override Composite Buffs
      		{
      			get
      			{
      				return new PrioritySelector(
      					Spell.Buff("Unnatural Might")
      					);
      			}
      		}
      
      		public override Composite Cooldowns
      		{
      			get
      			{
      				return new PrioritySelector(
      					Spell.Buff("Unleash", ret => Me.IsStunned),
      					Spell.Buff("Enraged Defense", ret => Me.HealthPercent <= 70),
      					Spell.Buff("Saber Reflect", ret => Me.HealthPercent <= 60),
      					Spell.Buff("Saber Ward", ret => Me.HealthPercent <= 50),
      					Spell.Buff("Endure Pain", ret => Me.HealthPercent <= 30),
      					Spell.Buff("Enrage", ret => Me.ActionPoints <= 6)
      					);
      			}
      		}
      
      		public override Composite SingleTarget
      		{
      			get
      			{
      				return new PrioritySelector(
      					Spell.Cast("Saber Throw",
      						ret => !DefaultCombat.MovementDisabled && Me.CurrentTarget.Distance >= 0.5f && Me.CurrentTarget.Distance <= 3f),
      					Spell.Cast("Force Charge",
      						ret => !DefaultCombat.MovementDisabled && Me.CurrentTarget.Distance >= 1f && Me.CurrentTarget.Distance <= 3f),
      
      					//Movement
      					CombatMovement.CloseDistance(Distance.Melee),
      
      					//Rotation
      					Spell.Cast("Disruption", ret => Me.CurrentTarget.IsCasting && !DefaultCombat.MovementDisabled),
      					Spell.Cast("Force Scream", ret => Me.BuffCount("Savagery") == 2),
      					Spell.Cast("Hew" ret => Me.HasBuff("Destroyer") || Me.CurrentTarget.HealthPercent <= 30), //New patch 5.0 ability, renamed from Vicious Throw
      					Spell.Cast("Shatter"),
      					Spell.Cast("Impale"),
      					Spell.Cast("Sundering Assault", ret => Me.ActionPoints <= 7),
      					Spell.Cast("Ravage"),
      					Spell.Cast("Vicious Slash", ret => Me.ActionPoints >= 11),
      					Spell.Cast("Assault"),
      					Spell.Cast("Retaliation")
      					);
      			}
      		}
      
      		public override Composite AreaOfEffect
      		{
      			get
      			{
      				return new Decorator(ret => Targeting.ShouldPbaoe,
      					new PrioritySelector(
      						Spell.Cast("Vengeful Slam"),
      						Spell.Cast("Smash"),
      						Spell.Cast("Sweeping Slash")
      						));
      			}
      		}
      	}
      }
      
      Rage:
      Code:
      // Copyright (C) 2011-2016 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
      {
      	internal class Rage : RotationBase
      	{
      		public override string Name
      		{
      			get { return "Juggernaut Rage"; }
      		}
      
      		public override Composite Buffs
      		{
      			get
      			{
      				return new PrioritySelector(
      					Spell.Buff("Shii-Cho Form"),
      					Spell.Buff("Unnatural Might")
      					);
      			}
      		}
      
      		public override Composite Cooldowns
      		{
      			get
      			{
      				return new PrioritySelector(
      					Spell.Buff("Unleash", ret => Me.IsStunned),
      					Spell.Buff("Saber Reflect", ret => Me.HealthPercent <= 90),
      					Spell.Buff("Saber Ward", ret => Me.HealthPercent <= 70),
      					Spell.Buff("Endure Pain", ret => Me.HealthPercent <= 30),
      					Spell.Buff("Enrage", ret => Me.ActionPoints <= 6)
      					);
      			}
      		}
      
      		public override Composite SingleTarget
      		{
      			get
      			{
      				return new PrioritySelector(
      					Spell.Cast("Saber Throw",
      						ret => !DefaultCombat.MovementDisabled && Me.CurrentTarget.Distance >= 0.5f && Me.CurrentTarget.Distance <= 3f),
      					Spell.Cast("Force Charge",
      						ret => !DefaultCombat.MovementDisabled && Me.CurrentTarget.Distance >= 1f && Me.CurrentTarget.Distance <= 3f),
      
      					//Movement
      					CombatMovement.CloseDistance(Distance.Melee),
      
      					//Rotation
      					Spell.Cast("Vicious Throw", ret => Me.CurrentTarget.HealthPercent <= 30), //Is this renamed to Hew in patch 5.0?
      					Spell.Cast("Smash",
      						ret => Me.BuffCount("Shockwave") == 3 && Me.HasBuff("Dominate") && Me.CurrentTarget.Distance <= 0.5f),
      					Spell.Cast("Force Choke", ret => Me.BuffCount("Shockwave") < 4),
      					Spell.Cast("Force Crush", ret => Me.BuffCount("Shockwave") < 4),
      					Spell.Cast("Obliterate", ret => Me.HasBuff("Shockwave")),
      					Spell.Cast("Force Scream", ret => Me.HasBuff("Battle Cry") || Me.ActionPoints >= 5),
      					Spell.Cast("Ravage"),
      					Spell.Cast("Vicious Slash"),
      					Spell.Cast("Sundering Assault", ret => Me.CurrentTarget.DebuffCount("Armor Reduced") <= 5),
      					Spell.Cast("Assault")
      					);
      			}
      		}
      
      		public override Composite AreaOfEffect
      		{
      			get
      			{
      				return new Decorator(ret => Targeting.ShouldPbaoe,
      					new PrioritySelector(
      						Spell.Cast("Smash"),
      						Spell.Cast("Sweeping Slash")
      						));
      			}
      		}
      	}
      }
      
      Immortal:
      Code:
      // Copyright (C) 2011-2016 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
      {
      	internal class Immortal : RotationBase
      	{
      		public override string Name
      		{
      			get { return "Juggernaut Immortal"; }
      		}
      
      		public override Composite Buffs
      		{
      			get
      			{
      				return new PrioritySelector(
      					Spell.Buff("Unnatural Might"),
      					Spell.Cast("Guard", on => Me.Companion,
      						ret => Me.Companion != null && !Me.Companion.IsDead && !Me.Companion.HasBuff("Guard"))
      					);
      			}
      		}
      
      		public override Composite Cooldowns
      		{
      			get
      			{
      				return new PrioritySelector(
      					Spell.Buff("Unleash"),
      					Spell.Buff("Saber Reflect", ret => Me.HealthPercent <= 90),
      					Spell.Buff("Endure Pain", ret => Me.HealthPercent <= 80),
      					Spell.Buff("Enraged Defense", ret => Me.HealthPercent < 70),
      					Spell.Buff("Invincible", ret => Me.HealthPercent <= 50),
      					Spell.Buff("Saber Ward", ret => Me.HealthPercent <= 30),
      					Spell.Buff("Enrage", ret => Me.ActionPoints <= 6)
      					);
      			}
      		}
      
      		public override Composite SingleTarget
      		{
      			get
      			{
      				return new PrioritySelector(
      					Spell.Cast("Saber Throw",
      						ret => !DefaultCombat.MovementDisabled && Me.CurrentTarget.Distance >= 0.5f && Me.CurrentTarget.Distance <= 3f),
      					Spell.Cast("Force Charge",
      						ret => !DefaultCombat.MovementDisabled && Me.CurrentTarget.Distance >= 1f && Me.CurrentTarget.Distance <= 3f),
      
      					//Movement
      					CombatMovement.CloseDistance(Distance.Melee),
      
      					//Rotation
      					Spell.Cast("Retaliation"),
      					Spell.Cast("Crushing Blow"),
      					Spell.Cast("Force Scream"),
      					Spell.Cast("Aegis Assault", ret => Me.ActionPoints <= 7 || !Me.HasBuff("Aegis")),
      					Spell.Cast("Smash", ret => !Me.CurrentTarget.HasDebuff("Unsteady (Force)") && Targeting.ShouldPbaoe),
      					Spell.Cast("Backhand", ret => !Me.CurrentTarget.IsStunned),
      					Spell.Cast("Ravage"),
      					Spell.Cast("Vicious Throw", ret => Me.CurrentTarget.HealthPercent <= 30 || Me.HasBuff("War Bringer")), //Is this renamed to Hew in patch 5.0?
      					Spell.Cast("Vicious Slash", ret => Me.ActionPoints >= 9),
      					Spell.Cast("Assault"),
      					Spell.Cast("Saber Throw", ret => Me.CurrentTarget.Distance >= 0.5f && Me.InCombat)
      					);
      			}
      		}
      
      		public override Composite AreaOfEffect
      		{
      			get
      			{
      				return new Decorator(ret => Targeting.ShouldPbaoe,
      					new PrioritySelector(
      						Spell.Cast("Smash"),
      						Spell.Cast("Crushing Blow", ret => Me.HasBuff("Aegis")),
      						Spell.Cast("Aegis Assault", ret => !Me.HasBuff("Aegis")),
      						Spell.Cast("Retaliation"),
      						Spell.Cast("Force Scream"),
      						Spell.Cast("Sweeping Slash")
      						));
      			}
      		}
      	}
      }
      
      Fury:
      Code:
      // Copyright (C) 2011-2016 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
      {
      	internal class Fury : RotationBase
      	{
      		public override string Name
      		{
      			get { return "Marauder Fury"; }
      		}
      
      		public override Composite Buffs
      		{
      			get
      			{
      				return new PrioritySelector(
      					Spell.Buff("Unnatural Might")
      					);
      			}
      		}
      
      		public override Composite Cooldowns
      		{
      			get
      			{
      				return new PrioritySelector(
      					Spell.Buff("Cloak of Pain", ret => Me.HealthPercent <= 50),
      					Spell.Buff("Undying Rage", ret => Me.HealthPercent <= 10),
      					Spell.Buff("Saber Ward", ret => Me.HealthPercent <= 30)
      					);
      			}
      		}
      
      		public override Composite SingleTarget
      		{
      			get
      			{
      				return new PrioritySelector(
      					Spell.Cast("Force Charge",
      						ret => !DefaultCombat.MovementDisabled && Me.CurrentTarget.Distance >= 1f && Me.CurrentTarget.Distance <= 3f),
      
      					//Movement
      					CombatMovement.CloseDistance(Distance.Melee),
      
      					//Rotation
      					Spell.Cast("Vicious Throw", ret => Me.CurrentTarget.HealthPercent <= 30),
      					Spell.Cast("Smash", ret => Me.BuffCount("Shockwave") == 3 && Me.HasBuff("Dominate")),
      					Spell.Cast("Force Crush"),
      					Spell.Cast("Obliterate", ret => Me.HasBuff("Shockwave")),
      					Spell.Cast("Force Scream", ret => Me.HasBuff("Battle Cry") || Me.ActionPoints >= 5),
      					Spell.Cast("Dual Saber Throw"),
      					Spell.Cast("Ravage"),
      					Spell.Cast("Force Choke"),
      					Spell.Cast("Vicious Slash", ret => Me.HasBuff("Berserk")),
      					Spell.Cast("Battering Assault"),
      					Spell.Cast("Assault")
      					);
      			}
      		}
      
      		public override Composite AreaOfEffect
      		{
      			get
      			{
      				return new Decorator(ret => Targeting.ShouldPbaoe,
      					new PrioritySelector(
      						Spell.Cast("Smash"),
      						Spell.Cast("Sweeping Slash")
      						));
      			}
      		}
      	}
      }
      
      Carnage:
      Code:
      // Copyright (C) 2011-2016 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
      {
      	internal class Carnage : RotationBase
      	{
      		public override string Name
      		{
      			get { return "Marauder Carnage"; }
      		}
      
      		public override Composite Buffs
      		{
      			get
      			{
      				return new PrioritySelector(
      					Spell.Buff("Unnatural Might")
      					);
      			}
      		}
      
      		public override Composite Cooldowns
      		{
      			get
      			{
      				return new PrioritySelector(
      					Spell.Buff("Unleash"),
      					Spell.Buff("Cloak of Pain", ret => Me.HealthPercent <= 90),
      					Spell.Buff("Force Camouflage", ret => Me.HealthPercent <= 70),
      					Spell.Buff("Saber Ward", ret => Me.HealthPercent <= 50),
      					Spell.Buff("Undying Rage", ret => Me.HealthPercent <= 10),
      					Spell.Buff("Frenzy", ret => Me.BuffCount("Fury") < 5),
      					Spell.Buff("Berserk")
      					);
      			}
      		}
      
      		public override Composite SingleTarget
      		{
      			get
      			{
      				return new PrioritySelector(
      					Spell.Cast("Saber Throw",
      						ret => !DefaultCombat.MovementDisabled && Me.CurrentTarget.Distance >= 0.5f && Me.CurrentTarget.Distance <= 3f),
      					Spell.Cast("Force Charge",
      						ret => !DefaultCombat.MovementDisabled && Me.CurrentTarget.Distance >= 1f && Me.CurrentTarget.Distance <= 3f),
      					Spell.Cast("Dual Saber Throw",
      						ret => !DefaultCombat.MovementDisabled && Me.CurrentTarget.Distance >= 1f && Me.CurrentTarget.Distance <= 3f),
      
      					//Movement
      					CombatMovement.CloseDistance(Distance.Melee),
      
      					//Rotation
      					Spell.Cast("Disruption", ret => Me.CurrentTarget.IsCasting && !DefaultCombat.MovementDisabled),
      					Spell.Cast("Massacre", ret => !Me.HasBuff("Massacre")),
      					Spell.Cast("Ferocity"), // Renamed in patch 5.0 from Gore
      					Spell.Cast("Gore"), // New ability in patch 5.0: New Active Ability: Gore. Impales the target with both lightsabers, dealing weapon damage and hindering the target for 1.5 seconds, preventing the use of high mobility actions and escapes. Requires two lightsabers.  
      					Spell.Cast("Ravage", ret => Me.HasBuff("Gore")),
      					Spell.Cast("Vicious Throw"),
      					Spell.Cast("Force Scream", ret => Me.HasBuff("Execute") && Me.Level < 58),
      					Spell.Cast("Devastating Blast", ret => Me.HasBuff("Execute") && Me.Level > 57),
      					Spell.Cast("Massacre"),
      					Spell.Cast("Dual Saber Throw"),
      					Spell.Cast("Battering Assault"),
      					Spell.Cast("Assault")
      					);
      			}
      		}
      
      		public override Composite AreaOfEffect
      		{
      			get
      			{
      				return new Decorator(ret => Targeting.ShouldPbaoe,
      					new PrioritySelector(
      						Spell.Cast("Smash"),
      						Spell.Cast("Sweeping Slash")
      						));
      			}
      		}
      	}
      }
      
      Annihilation:
      Code:
      // Copyright (C) 2011-2016 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
      {
      	internal class Annihilation : RotationBase
      	{
      		public override string Name
      		{
      			get { return "Marauder Annihilation"; }
      		}
      
      		public override Composite Buffs
      		{
      			get
      			{
      				return new PrioritySelector(
      					Spell.Buff("Unnatural Might")
      					);
      			}
      		}
      
      		public override Composite Cooldowns
      		{
      			get
      			{
      				return new PrioritySelector(
      					Spell.Buff("Cloak of Pain", ret => Me.HealthPercent <= 90),
      					Spell.Buff("Undying Rage", ret => Me.HealthPercent <= 20),
      					Spell.Buff("Saber Ward", ret => Me.HealthPercent <= 50),
      					Spell.Buff("Deadly Saber", ret => !Me.HasBuff("Deadly Saber")),
      					Spell.Buff("Frenzy", ret => Me.BuffCount("Fury") < 5),
      					Spell.Buff("Berserk", ret => Me.CurrentTarget.DebuffCount("Bleeding (Deadly Saber)") == 3)
      					);
      			}
      		}
      
      		public override Composite SingleTarget
      		{
      			get
      			{
      				return new PrioritySelector(
      					Spell.Cast("Dual Saber Throw",
      						ret => !DefaultCombat.MovementDisabled && Me.CurrentTarget.Distance >= 1f && Me.CurrentTarget.Distance <= 3f),
      					Spell.Cast("Force Charge",
      						ret =>
      							!DefaultCombat.MovementDisabled && Me.CurrentTarget.Distance >= Distance.Melee && Me.CurrentTarget.Distance <= 3f),
      
      					//Movement
      					CombatMovement.CloseDistance(Distance.Melee),
      
      					//Rotation
      					Spell.Cast("Disruption", ret => Me.CurrentTarget.IsCasting && !DefaultCombat.MovementDisabled),
      					Spell.DoT("Force Rend", "Force Rend"),
      					Spell.DoT("Rupture", "Bleeding (Rupture)"),
      					Spell.Cast("Dual Saber Throw", ret => Me.HasBuff("Pulverize")),
      					Spell.Cast("Annihilate"),
      					Spell.Cast("Vicious Throw", ret => Me.CurrentTarget.HealthPercent <= 30),
      					Spell.Cast("Ravage"),
      					Spell.Cast("Vicious Slash", ret => Me.ActionPoints >= 9),
      					Spell.Cast("Battering Assault", ret => Me.ActionPoints <= 6),
      					Spell.Cast("Force Charge", ret => Me.ActionPoints <= 8),
      					Spell.Cast("Assault", ret => Me.ActionPoints < 9)
      					);
      			}
      		}
      
      		public override Composite AreaOfEffect
      		{
      			get
      			{
      				return new Decorator(ret => Targeting.ShouldPbaoe,
      					new PrioritySelector(
      						Spell.Cast("Dual Saber Throw",
      							ret => !DefaultCombat.MovementDisabled && Me.CurrentTarget.Distance >= 1f && Me.CurrentTarget.Distance <= 3f),
      						Spell.Cast("Smash",
      							ret => Me.CurrentTarget.HasDebuff("Bleeding (Rupture)") && Me.CurrentTarget.HasDebuff("Force Rend")),
      						Spell.DoT("Force Rend", "Force Rend"),
      						Spell.DoT("Rupture", "Bleeding (Rupture)"),
      						Spell.Cast("Sweeping Slash")
      						));
      			}
      		}
      	}
      }
      
       
    Thread Status:
    Not open for further replies.

    Share This Page