What's new
  • Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Visit Resources
  • Visit Downloads
  • Visit Portal
RebornBuddy Forums

Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

i put in asterisk that i cant test it so i dont know if it works or not


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.
 
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.
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:
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.
 
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.
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")
                        ));
            }
        }
    }
 
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")
                        ));
            }
        }
    }

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:
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
 
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

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?
 
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.
 
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?

No idea. Post the build you're using and I'll look at it.
 
No idea. Post the build you're using and I'll look at it.

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:
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.
 
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
 
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

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:
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.
 
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:
dps increase and better on energy consumption Sniper Engineer
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")
						));
			}
		}
	}
}

What did you change?
 
Back
Top