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!

Default Combat Discussion

I think its a BW core issue. Detection is wrong.
yea it core bw problem but you can fix it when you swap scripts as i explained few pages back:) kinda meh way to fix it but better than not be able to play your favorite discipline
 
yea it core bw problem but you can fix it when you swap scripts as i explained few pages back:) kinda meh way to fix it but better than not be able to play your favorite discipline

Yeah thats a dirty fix, the line below tells you why... I've had similar fix since before PureSWTOR was updated for 3.0 disciplines :)
But what happens if you use same routine on PC with lets say Shadow Serenity and Sage Balance character? You gotta choose then what combat rotation will be in that single file :P
 
yea it core bw problem but you can fix it when you swap scripts as i explained few pages back:) kinda meh way to fix it but better than not be able to play your favorite discipline

You don't have to do this anymore. I can fix it in the RotationFactory.cs file now.
 
hmm sounds good, can you write example for one discipline how it should looks like?

Just look in the Rotation Factory file:
Code:
if (name == "Balance" && BuddyTor.Me.AdvancedClass == AdvancedClass.Shadow)
            {
                name = "Serenity";
            }
Essentially it tells the bot "if you return Balance as my spec AND my Advanced Class is Shadow, load Serenity instead."
 
Here is an update to the Merc / Innovative Ordnance rotation, it now more accurately reflects the Commando / Assault with the proper buff names.

Code:
using Buddy.BehaviorTree;
using DefaultCombat.Core;
using DefaultCombat.Helpers;

namespace DefaultCombat.Routines
{
    public class InnovativeOrdnance : RotationBase
    {
        public override string Name { get { return "Mercenary Innovative Ordnance"; } }

        public override Composite Buffs
        {
            get
            {
                return new PrioritySelector(
                    Spell.Buff("Combustible Gas Cylinder"),
                    Spell.Buff("Hunter's Boon")
                    );
            }
        }

        public override Composite Cooldowns
        {
            get
            {
                return new LockSelector(
                    Spell.Buff("Determination", ret => Me.IsStunned),
                    Spell.Buff("Vent Heat", ret => Me.ResourcePercent() >= 50),
                    Spell.Buff("Energy Shield", ret => Me.HealthPercent <= 50),
                    Spell.Buff("Emergency Scan", ret => Me.HealthPercent <= 45),
                    Spell.Buff("Supercharged Gas", ret => Me.BuffCount("Supercharge") == 10),
                    Spell.Buff("Kolto Overload", ret => Me.HealthPercent <= 30)
                    );
            }
        }

        public override Composite SingleTarget
        {
            get
            {
                return new LockSelector(

                    //Movement
                    CombatMovement.CloseDistance(Distance.Ranged),

                    new Decorator(ret => Me.ResourcePercent() > 60,
                        new LockSelector(
                            Spell.Cast("Rail Shot"),
                            Spell.Cast("Rapid Shots")
                    )),

                    //Rotation
                    Spell.Cast("Disabling Shot", ret => Me.CurrentTarget.IsCasting && Me.CurrentTarget.Distance <= Distance.Melee && !DefaultCombat.MovementDisabled),
                    Spell.Cast("Mag Shot", ret => Me.HasBuff("Innovative Particle Accelerator") || Me.HasBuff("Superheated Shot") && Me.Level >= 57),
                    Spell.Cast("Rail Shot", ret => Me.Level < 57),
                    Spell.Cast("Missle Blast", ret => Me.CurrentTarget.HealthPercent <= 30 && Me.HasBuff("Volatile Warhead")),
                    Spell.Cast("Power Shot", ret => Me.HasBuff("Speed to Burn")),
                    Spell.Cast("Serrated Shot", ret => !Me.CurrentTarget.HasDebuff("Marked (Physical)")),
                    Spell.Cast("Incendiary Missile", ret => !Me.CurrentTarget.HasDebuff("Burning (Incendiary Round)")),
                    Spell.Cast("Electro Net", ret => Me.HasBuff("Supercharged Gas")),
                    Spell.Cast("Unload"),
                    Spell.Cast("Thermal Detonator"),
                    Spell.Cast("Power Shot")
                    );
            }
        }

        public override Composite AreaOfEffect
        {
            get
            {
                return new Decorator(ret => Targeting.ShouldAOE,
                    new LockSelector(
                        Spell.CastOnGround("Death from Above", ret => Me.CurrentTarget.Distance > Distance.MeleeAoE),
                        Spell.CastOnGround("Sweeping Blasters", ret => Me.CurrentTarget.Distance > Distance.MeleeAoE),
                        Spell.Cast("Fusion Missle", ret => Me.HasBuff("Thermal Sensor Override")),
                        Spell.Cast("Explosive Dart"))
                );
            }
        }
    }
}
 
Last edited:
Give it a couple test runs to make sure it all works and I'll update it (I can't test because I don't have a Vanguard)
 
Delete your entire DefaultCombat folder, delete your entire CompiledAssemblies folder, then re-download from the SVN and try again.

Hm it is still detecting it as a balance sage


I dont think you updated the Svn or something with it fixed because i just checked rotationfactory and it wasnt in there. had to enter it in manually. I made new svn checkouts mutliple times.
 
Last edited:
Hm it is still detecting it as a balance sage


I dont think you updated the Svn or something with it fixed because i just checked rotationfactory and it wasnt in there. had to enter it in manually. I made new svn checkouts mutliple times.

Yeah, I'm not seeing the updates after I push them either. Weird. It'll be in the next bot update, but it sounds like you've got it working on your end.
 
Yeah, I'm not seeing the updates after I push them either. Weird. It'll be in the next bot update, but it sounds like you've got it working on your end.

yup i got it, thanks for all your help and your work with the defaultcombat.
 
Here is an update to the Merc / Innovative Ordnance rotation, it now more accurately reflects the Commando / Assault with the proper buff names.

Code:
using Buddy.BehaviorTree;
using DefaultCombat.Core;
using DefaultCombat.Helpers;

namespace DefaultCombat.Routines
{
    public class InnovativeOrdnance : RotationBase
    {
        public override string Name { get { return "Mercenary Innovative Ordnance"; } }

        public override Composite Buffs
        {
            get
            {
                return new PrioritySelector(
                    Spell.Buff("Combustible Gas Cylinder"),
                    Spell.Buff("Hunter's Boon")
                    );
            }
        }

        public override Composite Cooldowns
        {
            get
            {
                return new LockSelector(
                    Spell.Buff("Determination", ret => Me.IsStunned),
                    Spell.Buff("Vent Heat", ret => Me.ResourcePercent() >= 50),
                    Spell.Buff("Energy Shield", ret => Me.HealthPercent <= 50),
                    Spell.Buff("Emergency Scan", ret => Me.HealthPercent <= 45),
                    Spell.Buff("Supercharged Gas", ret => Me.BuffCount("Supercharge") == 10),
                    Spell.Buff("Kolto Overload", ret => Me.HealthPercent <= 30)
                    );
            }
        }

        public override Composite SingleTarget
        {
            get
            {
                return new LockSelector(

                    //Movement
                    CombatMovement.CloseDistance(Distance.Ranged),

                    new Decorator(ret => Me.ResourcePercent() > 60,
                        new LockSelector(
                            Spell.Cast("Rail Shot"),
                            Spell.Cast("Rapid Shots")
                    )),

                    //Rotation
                    Spell.Cast("Disabling Shot", ret => Me.CurrentTarget.IsCasting && Me.CurrentTarget.Distance <= Distance.Melee && !DefaultCombat.MovementDisabled),
                    Spell.Cast("Mag Shot", ret => Me.HasBuff("Innovative Particle Accelerator") || Me.HasBuff("Superheated Shot") && Me.Level >= 57),
                    Spell.Cast("Rail Shot", ret => Me.Level < 57),
                    Spell.Cast("Missle Blast", ret => Me.CurrentTarget.HealthPercent <= 30 && Me.HasBuff("Volatile Warhead")),
                    Spell.Cast("Power Shot", ret => Me.HasBuff("Speed to Burn")),
                    Spell.Cast("Serrated Shot", ret => !Me.CurrentTarget.HasDebuff("Marked (Physical)")),
                    Spell.Cast("Incendiary Missile", ret => !Me.CurrentTarget.HasDebuff("Burning (Incendiary Round)")),
                    Spell.Cast("Electro Net", ret => Me.HasBuff("Supercharged Gas")),
                    Spell.Cast("Unload"),
                    Spell.Cast("Thermal Detonator"),
                    Spell.Cast("Power Shot")
                    );
            }
        }

        public override Composite AreaOfEffect
        {
            get
            {
                return new Decorator(ret => Targeting.ShouldAOE,
                    new LockSelector(
                        Spell.CastOnGround("Death from Above", ret => Me.CurrentTarget.Distance > Distance.MeleeAoE),
                        Spell.CastOnGround("Sweeping Blasters", ret => Me.CurrentTarget.Distance > Distance.MeleeAoE),
                        Spell.Cast("Fusion Missle", ret => Me.HasBuff("Thermal Sensor Override")),
                        Spell.Cast("Explosive Dart"))
                );
            }
        }
    }
}

Do you get more aDPS compared to Arsenal? I am gonna test this now.
I did my own version of IO and it was worse than Arsenal. Maybe I did something wrong. Lets see...

EDIT:
The aDPS is 1/2 of Arsenal one after 10minutes. Will switch back to that :) Guess my IO was a lot better than this. Still not as good as Arsenal though.
 
Last edited:
Do you get more aDPS compared to Arsenal? I am gonna test this now.
I did my own version of IO and it was worse than Arsenal. Maybe I did something wrong. Lets see...

EDIT:
The aDPS is 1/2 of Arsenal one after 10minutes. Will switch back to that :) Guess my IO was a lot better than this. Still not as good as Arsenal though.

mind to share your arsenal/IO scripts? :)
 
mind to share your arsenal/IO scripts? :)

Arsenal is from DefaultRotation. IO I think I deleted since it had bad results. But on dulfy website IO is rated 10/10 for single target dps where Arsenal is rated 7/10. But still Arsenal is a lot better as I tested with BW:
 
Arsenal is from DefaultRotation. IO I think I deleted since it had bad results. But on dulfy website IO is rated 10/10 for single target dps where Arsenal is rated 7/10. But still Arsenal is a lot better as I tested with BW:

yeah, Arsenal is much simpler rotation to code. IO has alot of special rules to the rotation and is really unforgiving in resource management when the rotation deteriorates because of fight mechanics. I think the 10/10 rating is deceiving, because that is really only achieved when the rotation is timed perfectly, which is kinda hard to achieve with code. Its been my experience that the simpler rotations in BW perform best.
 
Back
Top