• Visit Rebornbuddy
  • DefaultCombat 4.0 Consolidated Changes

    Discussion in 'Archives' started by alltrueist, Nov 6, 2015.

    1. phatcoolguy

      phatcoolguy New Member

      Joined:
      Oct 27, 2015
      Messages:
      4
      Likes Received:
      0
      Trophy Points:
      0
      @willz916 will the corruption cr work for warzones?
       
    2. willz916

      willz916 Member Legendary

      Joined:
      Jan 22, 2014
      Messages:
      303
      Likes Received:
      2
      Trophy Points:
      18
      i put in asterisk that i cant test it so i dont know if it works or not
       
      Last edited: Nov 11, 2015
    3. phatcoolguy

      phatcoolguy New Member

      Joined:
      Oct 27, 2015
      Messages:
      4
      Likes Received:
      0
      Trophy Points:
      0

      There are some coding that you have that are from jedi

      Spell.Buff("Vindicate", ret => NeedForce()), - Vindicate is a jedi skill i believe

      Spell.Cast("Mind Snap", ret => Me.CurrentTarget.IsCasting && !DefaultCombat.MovementDisabled),

      Spell.Heal("Dark Heal", 80, ret => Me.HasBuff("Altruism")), - Altruism is jedi buff also

      I don't know if that is intentional or not but wanted to point them out.


      P.S. I don't know how to put them in code.
       
    4. willz916

      willz916 Member Legendary

      Joined:
      Jan 22, 2014
      Messages:
      303
      Likes Received:
      2
      Trophy Points:
      18
      i did some changes i forgot to put up earlier the post is edited still cant test it cause i dont have a healer

      ** if you see more changes let me know so i can add them
       
      Last edited: Nov 11, 2015
    5. Bigboom

      Bigboom Member

      Joined:
      Feb 23, 2012
      Messages:
      93
      Likes Received:
      0
      Trophy Points:
      6
      Willz916, could you post your Marauder Carnage script? I tried copying the one made for combat and just replacing names, but it won't compile.
       
    6. willz916

      willz916 Member Legendary

      Joined:
      Jan 22, 2014
      Messages:
      303
      Likes Received:
      2
      Trophy Points:
      18
      this is 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
      {
          internal class Carnage : RotationBase
          {
              public override string Name
              {
                  get { return "Marauder Carnage"; }
              }
      
              public override Composite Buffs
              {
                  get
                  {
                      return new PrioritySelector(
                          Spell.Buff("Ataru Form"),
                          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("Gore"),
                          Spell.Cast("Ravage", ret => Me.BuffTimeLeft("Gore") >= 2.9),
                          Spell.Cast("Vicious Throw"),
                          Spell.Cast("Devastating Blast", ret => Me.HasBuff("Execute")),
                          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("Gore"),
                              Spell.Cast("Sweeping Slash"),
                              Spell.Cast("Dual Saber Throw"),
                              Spell.Cast("Viciosus Throw"),
                              Spell.Cast("Battering Assault"),
                              Spell.Cast("Assault")
                              ));
                  }
              }
          }
      
       
    7. Bigboom

      Bigboom Member

      Joined:
      Feb 23, 2012
      Messages:
      93
      Likes Received:
      0
      Trophy Points:
      6
      Thank you for sharing your code! Unfortunately, leveling and PVE is what I'm doing. Anywho, where is the action point code just like its sister combat spec? Your "Vicious Throw" has a typo in it at the bottom.

      This is what I'm attempting to get to work:

      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
      {
      	internal class Combat : RotationBase
      	{
      		public override string Name
      		{
      			get { return "Marauder Carnage"; }
      		}
      
      		public override Composite Buffs
      		{
      			get
      			{
      				return new PrioritySelector(
      					Spell.Buff("Ataru Form"),
      					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("Saber Ward", ret => Me.HealthPercent <= 50),
      					Spell.Buff("Force Camouflage", ret => Me.HealthPercent <= 50 && Me.HasBuff("Saber Ward")),
      					Spell.Buff("Undying Rage", ret => Me.HealthPercent <= 25 && Me.HasBuff("Saber Ward") || !Me.HasBuff("Force Camouflage")),
      					Spell.Buff("Frenzy", ret => Me.BuffCount("Fury") < 5),
      					Spell.Buff("Berserk", ret => Me.CurrentTarget.Distance <= 0.4f),
      					Spell.Cast("Obfuscate", ret => Me.CurrentTarget.StrongOrGreater() && Me.CurrentTarget.BossOrGreater())
      					);
      			}
      			}
      		}
      
      		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 >= 1f && Me.CurrentTarget.Distance <= 3f),
      
      					//Movement
      					CombatMovement.CloseDistance(Distance.Melee),
      
      					//Rotation
      					Spell.Cast("Disruption", ret => Me.CurrentTarget.IsCasting && !DefaultCombat.MovementDisabled),
      					Spell.Cast("Force Choke", ret => Me.CurrentTarget.IsCasting && !DefaultCombat.MovementDisabled),
      					Spell.Cast("Vicious Throw", ret => Me.HasBuff("Slaughter") || Me.CurrentTarget.HealthPercent <= 30),
      					Spell.Cast("Gore", ret => Me.CurrentTarget.Distance <= 0.4f),
      					Spell.Cast("Ravage", ret => Me.HasBuff("Gore") && Me.HasBuff("Berserk")),
      					Spell.Cast("Devastating Blast", ret => Me.HasBuff("Execute") && Me.Level >= 57),
      					Spell.Cast("Force Scream", ret => Me.HasBuff("Execute") && Me.Level < 57),
      					Spell.Cast("Massacre"),
      					Spell.Cast("Vicious Slash", ret => Me.ActionPoints >= 9),
      					Spell.Cast("Battering Assault", ret => Me.ActionPoints <= 6),
      					Spell.Cast("Assault", ret => Me.ActionPoints <= 10),
      					Spell.Cast("Dual Saber Throw")
      					);
      			}
      		}
      
      		public override Composite AreaOfEffect
      		{
      			get
      			{
      				return new Decorator(ret => Targeting.ShouldPbaoe,
      					new PrioritySelector(
      						Spell.Cast("Smash"),
      						Spell.Buff("Intimidating Roar", ret => Me.CurrentTarget.Distance <= 3f && (Buddy.CommonBot.AbilityManager.CanCast("Smash", Me.CurrentTarget) || Buddy.CommonBot.AbilityManager.CanCast("Sweeping Slash", Me.CurrentTarget))),
      						Spell.Cast("Sweeping Slash")
      						));
      			}
      		}
      	}
      }
      
      I'm also having difficulty with the original Mara Carnage script provided for Default. All it does is spam Assault and Battering Assault.
       
      Last edited: Nov 12, 2015
    8. willz916

      willz916 Member Legendary

      Joined:
      Jan 22, 2014
      Messages:
      303
      Likes Received:
      2
      Trophy Points:
      18
      well i havent read a guide that says i need to see how many action points i have before i cast an ability so i dont have and that for the typo catch
       
    9. Bigboom

      Bigboom Member

      Joined:
      Feb 23, 2012
      Messages:
      93
      Likes Received:
      0
      Trophy Points:
      6
      No worries! I was figuring that since there was an action point mark off in other routine scripts that it would be wise to have them in this one as well. However, even though the basic one works, it doesn't operate for my Mara Carn (level 11) at all when I modify the code even a bit. The script doesn't even contain "Vicious Slash." Any word from the devs on how to get this script to work?

      @Everyone: I've used the script I posted above line for line with exception to ability names with my sentinel since level ~13. Why does it not function for the marauder the same way, since all I'm doing is switching ability names?
       
    10. Bigboom

      Bigboom Member

      Joined:
      Feb 23, 2012
      Messages:
      93
      Likes Received:
      0
      Trophy Points:
      6
      Now, I haven't modified anything else and even did a fresh Buddywing installation and then used the Combat script posted by Gualtiero. Suddenly its not compiling when it was before. I'm at loss of words right now.
       
    11. alltrueist

      alltrueist Active Member

      Joined:
      Dec 10, 2012
      Messages:
      1,424
      Likes Received:
      16
      Trophy Points:
      38
      No idea. Post the build you're using and I'll look at it.
       
    12. Bigboom

      Bigboom Member

      Joined:
      Feb 23, 2012
      Messages:
      93
      Likes Received:
      0
      Trophy Points:
      6
      Here is the Combat Sentinel:

      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
      {
      	internal class Combat : RotationBase
      	{
      		public override string Name
      		{
      			get { return "Sentinel Combat"; }
      		}
      
      		public override Composite Buffs
      		{
      			get
      			{
      				return new PrioritySelector(
      					Spell.Buff("Ataru Form"),
      					Spell.Buff("Force Might")
      					);
      			}
      		}
      
      		public override Composite Cooldowns
      		{
      			get
      			{
      				return new PrioritySelector(
      					Spell.Buff("Resolute"),
      					Spell.Buff("Rebuke", ret => Me.HealthPercent <= 90),
      					//Spell.Buff("Saber Reflect", ret => Me.HealthPercent <= 70),
      					Spell.Buff("Saber Ward", ret => Me.HealthPercent <= 50),
      					//Spell.Buff("Force Camouflage", ret => Me.HealthPercent <= 50 && Me.HasBuff("Saber Ward")),
      					Spell.Buff("Guarded By The Force", ret => Me.HealthPercent <= 25 && Me.HasBuff("Saber Ward") || !Me.HasBuff("Force Camouflage")),
      					Spell.Buff("Heroic Moment", ret => Me.HealthPercent <= 30),
      					Spell.Buff("Valorous Call", ret => Me.BuffCount("Centering") < 5),
      					Spell.Buff("Zen", ret => Me.CurrentTarget.Distance <= 0.4f),
      					Spell.Cast("Pacify", ret => Me.CurrentTarget.StrongOrGreater() && Me.CurrentTarget.BossOrGreater())
      					);
      			}
      		}
      
      		public override Composite SingleTarget
      		{
      			get
      			{
      				return new PrioritySelector(
      					Spell.Cast("Twin Saber Throw",
      						ret => !DefaultCombat.MovementDisabled && Me.CurrentTarget.Distance >= 1f && Me.CurrentTarget.Distance <= 3f),
      					Spell.Cast("Force Leap",
      						ret => !DefaultCombat.MovementDisabled && Me.CurrentTarget.Distance >= 1f && Me.CurrentTarget.Distance <= 3f),
      
      					//Movement
      					CombatMovement.CloseDistance(Distance.Melee),
      
      					//Rotation
      					//Spell.Cast("Force Kick", ret => Me.CurrentTarget.IsCasting && !DefaultCombat.MovementDisabled),
      					//Spell.Cast("Force Stasis", ret => Me.CurrentTarget.IsCasting && !DefaultCombat.MovementDisabled),
      					Spell.Cast("Dispatch", ret => Me.HasBuff("Hand of Justice") || Me.CurrentTarget.HealthPercent <= 30),
      					Spell.Cast("Precision", ret => Me.CurrentTarget.Distance <= 0.4f),
      					Spell.Cast("Blade Dance", ret => Me.HasBuff("Precision")),
      					//Spell.Cast("Clashing Blast", ret => Me.HasBuff("Opportune Attack") && Me.Level >= 57),
      					Spell.Cast("Blade Storm", ret => Me.HasBuff("Opportune Attack") && Me.Level < 57),
      					Spell.Cast("Blade Rush"),
      					//Spell.Cast("Slash", ret => Me.ActionPoints >= 7 && Me.Level < 26),
      					Spell.Cast("Zealous Strike", ret => Me.ActionPoints <= 7),
      					Spell.Cast("Strike", ret => Me.ActionPoints <= 10),
      					Spell.Cast("Twin Saber Throw")
      					);
      			}
      		}
      
      		public override Composite AreaOfEffect
      		{
      			get
      			{
      				return new Decorator(ret => Targeting.ShouldPbaoe,
      					new PrioritySelector(
      						Spell.Cast("Force Sweep"),
      						//Spell.Buff("Awe", ret => Me.CurrentTarget.Distance <= 3f && (Buddy.CommonBot.AbilityManager.CanCast("Force Sweep", Me.CurrentTarget) || Buddy.CommonBot.AbilityManager.CanCast("Cyclone Slash", Me.CurrentTarget))),
      						Spell.Cast("Cyclone Slash")
      						));
      			}
      		}
      	}
      }
      

      And the the Carnage Marauder:

      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
      {
      	internal class Carnage : RotationBase
      	{
      		public override string Name
      		{
      			get { return "Marauder Carnage"; }
      		}
      
      		public override Composite Buffs
      		{
      			get
      			{
      				return new PrioritySelector(
      					Spell.Buff("Ataru Form"),
      					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("Saber Ward", ret => Me.HealthPercent <= 50),
      					Spell.Buff("Force Camouflage", ret => Me.HealthPercent <= 50 && Me.HasBuff("Saber Ward")),
      					Spell.Buff("Undying Rage", ret => Me.HealthPercent <= 25 && Me.HasBuff("Saber Ward") || !Me.HasBuff("Force Camouflage")),
      					Spell.Buff("Frenzy", ret => Me.BuffCount("Fury") < 5),
      					Spell.Buff("Berserk", ret => Me.CurrentTarget.Distance <= 0.4f),
      					Spell.Cast("Obfuscate", ret => Me.CurrentTarget.StrongOrGreater() && Me.CurrentTarget.BossOrGreater())
      					);
      			}
      			}
      		}
      
      		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 >= 1f && Me.CurrentTarget.Distance <= 3f),
      
      					//Movement
      					CombatMovement.CloseDistance(Distance.Melee),
      
      					//Rotation
      					Spell.Cast("Disruption", ret => Me.CurrentTarget.IsCasting && !DefaultCombat.MovementDisabled),
      					Spell.Cast("Force Choke", ret => Me.CurrentTarget.IsCasting && !DefaultCombat.MovementDisabled),
      					Spell.Cast("Vicious Throw", ret => Me.HasBuff("Slaughter") || Me.CurrentTarget.HealthPercent <= 30),
      					Spell.Cast("Gore", ret => Me.CurrentTarget.Distance <= 0.4f),
      					Spell.Cast("Ravage", ret => Me.HasBuff("Gore") && Me.HasBuff("Berserk")),
      					Spell.Cast("Devastating Blast", ret => Me.HasBuff("Execute") && Me.Level >= 57),
      					Spell.Cast("Force Scream", ret => Me.HasBuff("Execute") && Me.Level < 57),
      					Spell.Cast("Massacre"),
      					Spell.Cast("Vicious Slash", ret => Me.ActionPoints >= 9),
      					Spell.Cast("Battering Assault", ret => Me.ActionPoints <= 6),
      					Spell.Cast("Assault", ret => Me.ActionPoints <= 10),
      					Spell.Cast("Dual Saber Throw")
      					);
      			}
      		}
      
      		public override Composite AreaOfEffect
      		{
      			get
      			{
      				return new Decorator(ret => Targeting.ShouldPbaoe,
      					new PrioritySelector(
      						Spell.Cast("Smash"),
      						Spell.Buff("Intimidating Roar", ret => Me.CurrentTarget.Distance <= 3f && (Buddy.CommonBot.AbilityManager.CanCast("Smash", Me.CurrentTarget) || Buddy.CommonBot.AbilityManager.CanCast("Sweeping Slash", Me.CurrentTarget))),
      						Spell.Cast("Sweeping Slash")
      						));
      			}
      		}
      	}
      }
      
      The Sentinel one was working before with my 52 Combat Sentinel all the way from around ~13. Now its not compiling. The Marauder isn't at all.
       
      Last edited: Nov 12, 2015
    13. Bigboom

      Bigboom Member

      Joined:
      Feb 23, 2012
      Messages:
      93
      Likes Received:
      0
      Trophy Points:
      6
      I fixed the Combat sentinel one. There was actually nothing wrong with it. I read the log file and saw:
      Code:
      2015-11-13 01:16:31,794 [7] ERROR Log - Compiler Error: c:\Users\Ace\Documents\Lake Sentinel\Routines\DefaultCombat\Routines\Advanced\Marauder\Carnage.cs(46,19) : error CS1518: Expected class, delegate, enum, interface, or struct
      2015-11-13 01:16:31,794 [7] ERROR Log - Compiler Error: c:\Users\Ace\Documents\Lake Sentinel\Routines\DefaultCombat\Routines\Advanced\Marauder\Carnage.cs(50,16) : error CS1518: Expected class, delegate, enum, interface, or struct
      2015-11-13 01:16:31,794 [7] ERROR Log - Compiler Error: c:\Users\Ace\Documents\Lake Sentinel\Routines\DefaultCombat\Routines\Advanced\Marauder\Carnage.cs(74,3) : error CS1022: Type or namespace definition, or end-of-file expected
      2015-11-13 01:16:31,795 [7] ERROR Log - Compiler Error: c:\Users\Ace\Documents\Lake Sentinel\Routines\DefaultCombat\Routines\Advanced\Marauder\Carnage.cs(76,19) : error CS1518: Expected class, delegate, enum, interface, or struct
      2015-11-13 01:16:31,795 [7] ERROR Log - Compiler Error: c:\Users\Ace\Documents\Lake Sentinel\Routines\DefaultCombat\Routines\Advanced\Marauder\Carnage.cs(80,16) : error CS1518: Expected class, delegate, enum, interface, or struct
      2015-11-13 01:16:31,795 [7] ERROR Log - Compiler Error: c:\Users\Ace\Documents\Lake Sentinel\Routines\DefaultCombat\Routines\Advanced\Marauder\Carnage.cs(81,10) : error CS1518: Expected class, delegate, enum, interface, or struct
      2015-11-13 01:16:31,795 [7] ERROR Log - Compiler Error: c:\Users\Ace\Documents\Lake Sentinel\Routines\DefaultCombat\Routines\Advanced\Marauder\Carnage.cs(86,4) : error CS1022: Type or namespace definition, or end-of-file expected
      2015-11-13 01:16:31,797 [7] ERROR Log - Unhandled exception during init:
      System.InvalidOperationException: No routines were loaded. Please ensure there is a routine for your class before starting the bot.
         at Buddy.CommonBot.BotMain.SetCurrentCombatRoutine()
      
      So I put an unmodified Carnage script in the marauder folder and it allowed the sentinel combat script to work. Now I just need to figure out how to get a Carn Mara profile to work.
       
    14. willz916

      willz916 Member Legendary

      Joined:
      Jan 22, 2014
      Messages:
      303
      Likes Received:
      2
      Trophy Points:
      18
      its from editing i suggest when you edit do it little by little and try running it every so often cause you messed up in the coding somewhere id suggest to re start with fresh routine or you can continue to chase the dragon
       
    15. Bigboom

      Bigboom Member

      Joined:
      Feb 23, 2012
      Messages:
      93
      Likes Received:
      0
      Trophy Points:
      6
      Good spot man! I finally managed to get it to work.

      This is the modified Carnage Marauder code I'm using in case anyone else would like to utilize it.

      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
      {
      	internal class Carnage : RotationBase
      	{
      		public override string Name
      		{
      			get { return "Marauder Carnage"; }
      		}
      
      		public override Composite Buffs
      		{
      			get
      			{
      				return new PrioritySelector(
      					Spell.Buff("Ataru Form"),
      					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("Saber Reflect", ret => Me.HealthPercent <= 70),
      					Spell.Buff("Saber Ward", ret => Me.HealthPercent <= 50),
      					Spell.Buff("Force Camouflage", ret => Me.HealthPercent <= 50 && Me.HasBuff("Saber Ward")),
      					Spell.Buff("Undying Rage", 
      						ret => Me.HealthPercent <= 25 && Me.HasBuff("Saber Ward") || !Me.HasBuff("Force Camouflage")),
      					Spell.Buff("Heroic Moment", ret => Me.HealthPercent <= 30),
      					Spell.Buff("Frenzy", ret => Me.BuffCount("Fury") < 5),
      					Spell.Buff("Berserk", ret => Me.CurrentTarget.Distance <= 0.4f),
      					Spell.Cast("Obfuscate", ret => Me.CurrentTarget.StrongOrGreater() && Me.CurrentTarget.BossOrGreater())
      					);
      			}
      		}
      
      		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 >= 1f && Me.CurrentTarget.Distance <= 3f),
      
      					//Movement
      					CombatMovement.CloseDistance(Distance.Melee),
      
      					//Rotation
      					//Spell.Cast("Disruption", ret => Me.CurrentTarget.IsCasting && !DefaultCombat.MovementDisabled),
      					//Spell.Cast("Force Choke", ret => Me.CurrentTarget.IsCasting && !DefaultCombat.MovementDisabled),
      					Spell.Cast("Vicious Throw", ret => Me.HasBuff("Slaughter") || Me.CurrentTarget.HealthPercent <= 30),
      					Spell.Cast("Gore", ret => Me.CurrentTarget.Distance <= 0.4f),
      					Spell.Cast("Ravage", ret => Me.BuffTimeLeft("Gore") >= 2.9),
      					//Spell.Cast("Devastating Blast", ret => Me.HasBuff("Execute") && Me.Level >= 57),
      					Spell.Cast("Force Scream", ret => Me.HasBuff("Execute") && Me.Level < 57),
      					Spell.Cast("Massacre"),
      					Spell.Cast("Vicious Slash", ret => Me.ActionPoints >= 7 && Me.Level < 26),
      					Spell.Cast("Battering Assault", ret => Me.ActionPoints <= 7),
      					Spell.Cast("Assault", ret => Me.ActionPoints <= 10),
      					Spell.Cast("Dual Saber Throw")
      					);
      			}
      		}
      
      		public override Composite AreaOfEffect
      		{
      			get
      			{
      				return new Decorator(ret => Targeting.ShouldPbaoe,
      					new PrioritySelector(
      						Spell.Cast("Smash"),
      						Spell.Buff("Intimidating Roar", 
      							ret => Me.CurrentTarget.Distance <= 3f && (Buddy.CommonBot.AbilityManager.CanCast("Smash", Me.CurrentTarget) || Buddy.CommonBot.AbilityManager.CanCast("Sweeping Slash", Me.CurrentTarget))),
      						Spell.Cast("Sweeping Slash")
      						));
      			}
      		}
      	}
      }
      
       
      Last edited: Nov 12, 2015
    16. willz916

      willz916 Member Legendary

      Joined:
      Jan 22, 2014
      Messages:
      303
      Likes Received:
      2
      Trophy Points:
      18
      gratz what did you you mess up and when i say this ive pounded my face into a comp for 3 hours to find a i added an extra semi colon once lol
       
    17. Bigboom

      Bigboom Member

      Joined:
      Feb 23, 2012
      Messages:
      93
      Likes Received:
      0
      Trophy Points:
      6
      Just bad formatting. Extra spaces and stuff out of place.
       
    18. alltrueist

      alltrueist Active Member

      Joined:
      Dec 10, 2012
      Messages:
      1,424
      Likes Received:
      16
      Trophy Points:
      38
      You guys should be using Visual Studio 2015 to edit these. It's free, and it'll save you from embarrassing errant commas or parentheses.
       
    19. willz916

      willz916 Member Legendary

      Joined:
      Jan 22, 2014
      Messages:
      303
      Likes Received:
      2
      Trophy Points:
      18
      dps increase and better on energy consumption Sniper Engineer

      ** Found out human reaction time has a little to do with computed reaction time**
      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
      {
      	internal class Engineering : RotationBase
      	{
      		public override string Name
      		{
      			get { return "Sniper Engineering"; }
      		}
      
      		public override Composite Buffs
      		{
      			get
      			{
      				return new PrioritySelector(
      					Spell.Buff("Coordination")
      					);
      			}
      		}
      
      		public override Composite Cooldowns
      		{
      			get
      			{
                      return new PrioritySelector(
      					Spell.Buff("Escape"),
      					Spell.Buff("Shield Probe", ret => Me.HealthPercent <= 50),
      					Spell.Buff("Evasion", ret => Me.HealthPercent <= 30),
      					Spell.Buff("Adrenaline Probe", ret => Me.EnergyPercent <= 55),
      					Spell.Buff("Laze Target"),
      					Spell.Cast("Target Acquired")
      					);
      			}
      		}
      
      		public override Composite SingleTarget
      		{
      			get
      			{
                      return new PrioritySelector(
      					//Movement
      					CombatMovement.CloseDistance(Distance.Melee),
      
      					//Low Energy
      					new Decorator(ret => Me.EnergyPercent < 30,
                              new PrioritySelector(
                                  Spell.Cast("Fragmentation Grenade", ret => Me.HasBuff("Energy Overrides")),
                                  Spell.Cast("Rifle Shot")
      							)),
      
                          //Rotation
                          Spell.Cast("Distraction", ret => Me.CurrentTarget.IsCasting && !DefaultCombat.MovementDisabled),
                          Spell.Cast("Series of Shots"),
                          Spell.Cast("Explosive Probe"),
                          Spell.DoTGround("Plasma Probe", 9000),
                          Spell.DoT("Interrogation Probe", "Interrogation Probe"),
                          Spell.Cast("EMP Discharge", ret => Me.CurrentTarget.HasDebuff("Interrogation Probe")),
                          Spell.Cast("Fragmentation Grenade", ret => Me.HasBuff("Energy Overrides")),
                          Spell.DoT("Corrosive Dart", "Corrosive Dart"),
                          Spell.Cast("Takedown", ret => Me.CurrentTarget.HealthPercent <= 30),
                          Spell.CastOnGround("Orbital Strike", ret => Me.EnergyPercent > 75),
                          Spell.Cast("Fragmentation Grenade"),
                          Spell.Cast("Overload Shot", ret => Me.BuffCount("Calculated Pursuit") == 4),
                          Spell.Cast("Rifle Shot")
                          );
      			}
      		}
      
      		public override Composite AreaOfEffect
      		{
      			get
      			{
      				return new Decorator(ret => Targeting.ShouldAoe,
                          new PrioritySelector(
                              Spell.CastOnGround("Orbital Strike"),
                              Spell.DoTGround("Plasma Probe", 9000),
                              Spell.Cast("Suppressive Fire")
      						));
      			}
      		}
      	}
      }
      
       
      Last edited: Nov 14, 2015
    20. alltrueist

      alltrueist Active Member

      Joined:
      Dec 10, 2012
      Messages:
      1,424
      Likes Received:
      16
      Trophy Points:
      38
      What did you change?
       

    Share This Page