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

All healing specs heal themselves for no reason, pure did the same thing; something to do with targeting I think, because if I target the person that the bot is healing it will do it right, but if I target anything else it will heal itself.

Rotation also keeps stopping my manual movement abruptly constantly during combat, a culprit of automatic movement I suppose.

I have banged my head against the keyboard for countless hours with healing. Sometimes it can't recognize the companion. Sometimes it decides it needs to heal PlayerA with SpellB, but SpellB gets cast on Me. I've been really frustrated with this and spent lots of time on it.

I will try having the bot actually target the heal target each time and test that out. If it works, that would be great. Its really rough for heal over time spells and its also heart breaking when you need to channel a heal on someone and it channels it on you instead. I can try the targeting thing, but beyond that, I am at wits end on this issue.
 
So I am guessing BW now gets updateeverytime something new is put into DefaultRoutine (old PureSwtor).
Any way to have SVN for DefaultRoutine so we can check the code changes at least? :)
 
I have banged my head against the keyboard for countless hours with healing. Sometimes it can't recognize the companion. Sometimes it decides it needs to heal PlayerA with SpellB, but SpellB gets cast on Me. I've been really frustrated with this and spent lots of time on it.

I will try having the bot actually target the heal target each time and test that out. If it works, that would be great. Its really rough for heal over time spells and its also heart breaking when you need to channel a heal on someone and it channels it on you instead. I can try the targeting thing, but beyond that, I am at wits end on this issue.

If you can actually get the bot to target each player that would be a big help I think.
 
the only issues im having is movement is there any way to disable movement even using the conbat bot from pure it still moves to follow the target and when i switch target sit switches back i used pure for pvp and it worked great but now i cant ill still help with the routines tho is there any way you can make it a combat rotation only routine like pure so you do your own movement
 
power tech advanced is fine but could you add the cds when i ever try it doesent compile correctly teh called thermal sensor overide and explosive fuel

sniper marksmanship is a mess

what needs to be added for cooldowns is sniper volley and entrenched

from the main rotations what need to be removed is plasma probe, interrogation probe and explosive probe they are all engineering skills now shatter shot also need to be removed due to penertrating blasts now adds the armor sunder

what need to be added is followthrough. penetrating blasts new skill, and the key skill ambush to be used when you have the buff Zeroing shots at 2 this is what the cd and rotation looks like in pure which still works perfectly

CD

private Composite HandleCoolDowns
{
get
{
return new LockSelector(
Spell.Buff("Escape", ret => Me.IsStunned),
Spell.Buff("Shield Probe", ret => Me.HealthPercent <= 70),
Spell.Buff("Evasion", ret => Me.HealthPercent <= 30),
Spell.Buff("Adrenaline Probe", ret => Me.EnergyPercent <= 40),
Spell.Buff("Sniper Volley", ret => Me.EnergyPercent <= 60),
Spell.Buff("Entrench", ret => Me.CurrentTarget.StrongOrGreater() && Me.IsInCover()),
Spell.Buff("Laze Target"),
Spell.Buff("Target Acquired")
);

main rotation

//Rotation
Spell.Cast("Distraction", ret => Me.CurrentTarget.IsCasting && !LazyRaider.MovementDisabled),
Spell.Buff("Crouch", ret => !Me.IsInCover() && !Me.IsMoving),
Spell.Cast("Followthrough"),
Spell.Cast("Penetrating Blasts", ret => Me.IsInCover() && Me.Level >= 26),
Spell.Cast("Series of Shots", ret => Me.IsInCover() && Me.Level < 26),
Spell.DoT("Corrosive Dart", "", 15000, ret => Me.CurrentTarget.StrongOrGreater()),
Spell.Cast("Ambush", ret => Me.IsInCover() && Me.BuffCount("Zeroing Shots") == 2),
Spell.Cast("Takedown", ret => Me.CurrentTarget.HealthPercent <= 30),
Spell.Cast("Snipe", ret => Me.IsInCover()),
Spell.Cast("Overload Shot", ret => !Me.IsInCover())
);
}

these are both from pure routines and still work great when i try to apply these changes to default it just does compiler errors =)
 
Last edited:
the only issues im having is movement is there any way to disable movement even using the conbat bot from pure it still moves to follow the target and when i switch target sit switches back i used pure for pvp and it worked great but now i cant ill still help with the routines tho is there any way you can make it a combat rotation only routine like pure so you do your own movement

Yeah this routine needs a way to disable some of the options in a easy way, that or do what pure did with two different routines.
 
Hey guys,

Im running Sentinel Combat and after update it fights way better, but sometimes i get this error along during combat:
Code:
Field staFighting does not exist.
   bij ..[](UInt64 , HeroType )
   bij Buddy.Swtor.Objects.TorObject.GetField[T](DomFieldIds field, HeroType forcedType)
   bij Buddy.Swtor.Objects.TorCharacter.get_InCombat()
   bij DefaultCombat.Helpers.Extensions.IsValidTarget(TorCharacter c)
   bij DefaultCombat.Core.Targeting.<get_ScanTargets>b__0(Object param0)
   bij Buddy.BehaviorTree.Action.RunAction(Object context)
   bij Buddy.BehaviorTree.Action..()
   bij Buddy.BehaviorTree.Composite.Tick(Object context)
   bij Buddy.BehaviorTree.PrioritySelector..()
   bij Buddy.BehaviorTree.Composite.Tick(Object context)
   bij DefaultCombat.Core.LockSelector.Tick(Object context)
   bij Buddy.BehaviorTree.Decorator..()
   bij Buddy.BehaviorTree.Composite.Tick(Object context)
   bij Buddy.BehaviorTree.PrioritySelector..()
   bij Buddy.BehaviorTree.Composite.Tick(Object context)
   bij Buddy.Common.HookExecutor.Run(Object context)
   bij Buddy.BehaviorTree.Action.RunAction(Object context)
   bij Buddy.BehaviorTree.Action..()
   bij Buddy.BehaviorTree.Composite.Tick(Object context)
   bij Buddy.BehaviorTree.Decorator..()
   bij Buddy.BehaviorTree.Composite.Tick(Object context)
   bij Buddy.BehaviorTree.PrioritySelector..()
   bij Buddy.BehaviorTree.Composite.Tick(Object context)
   bij Buddy.BehaviorTree.Decorator..()
   bij Buddy.BehaviorTree.Composite.Tick(Object context)
   bij Buddy.BehaviorTree.PrioritySelector..()
   bij Buddy.BehaviorTree.Composite.Tick(Object context)
   bij Buddy.BehaviorTree.Decorator..()
   bij Buddy.BehaviorTree.Composite.Tick(Object context)
   bij Buddy.BehaviorTree.PrioritySelector..()
   bij Buddy.BehaviorTree.Composite.Tick(Object context)
   bij Buddy.CommonBot.BotMain.()
 
Hey guys,

Im running Sentinel Combat and after update it fights way better, but sometimes i get this error along during combat:
Code:
Field staFighting does not exist.
   bij ..[](UInt64 , HeroType )
   bij Buddy.Swtor.Objects.TorObject.GetField[T](DomFieldIds field, HeroType forcedType)
   bij Buddy.Swtor.Objects.TorCharacter.get_InCombat()
   bij DefaultCombat.Helpers.Extensions.IsValidTarget(TorCharacter c)
   bij DefaultCombat.Core.Targeting.<get_ScanTargets>b__0(Object param0)
   bij Buddy.BehaviorTree.Action.RunAction(Object context)
   bij Buddy.BehaviorTree.Action..()
   bij Buddy.BehaviorTree.Composite.Tick(Object context)
   bij Buddy.BehaviorTree.PrioritySelector..()
   bij Buddy.BehaviorTree.Composite.Tick(Object context)
   bij DefaultCombat.Core.LockSelector.Tick(Object context)
   bij Buddy.BehaviorTree.Decorator..()
   bij Buddy.BehaviorTree.Composite.Tick(Object context)
   bij Buddy.BehaviorTree.PrioritySelector..()
   bij Buddy.BehaviorTree.Composite.Tick(Object context)
   bij Buddy.Common.HookExecutor.Run(Object context)
   bij Buddy.BehaviorTree.Action.RunAction(Object context)
   bij Buddy.BehaviorTree.Action..()
   bij Buddy.BehaviorTree.Composite.Tick(Object context)
   bij Buddy.BehaviorTree.Decorator..()
   bij Buddy.BehaviorTree.Composite.Tick(Object context)
   bij Buddy.BehaviorTree.PrioritySelector..()
   bij Buddy.BehaviorTree.Composite.Tick(Object context)
   bij Buddy.BehaviorTree.Decorator..()
   bij Buddy.BehaviorTree.Composite.Tick(Object context)
   bij Buddy.BehaviorTree.PrioritySelector..()
   bij Buddy.BehaviorTree.Composite.Tick(Object context)
   bij Buddy.BehaviorTree.Decorator..()
   bij Buddy.BehaviorTree.Composite.Tick(Object context)
   bij Buddy.BehaviorTree.PrioritySelector..()
   bij Buddy.BehaviorTree.Composite.Tick(Object context)
   bij Buddy.CommonBot.BotMain.()

I can put some code in to catch the exception, but probably cant stop that from happening. Is it causing the rotation to hang?
 
I can put some code in to catch the exception, but probably cant stop that from happening. Is it causing the rotation to hang?
Nope it just couldnt cast the first spel for some reason, but went threw with the rest.
At least the time the error appeared that is.
 
Also Change in Combat.cs for Sentinel the following:
Code:
Spell.Cast("Blade Storm", ret => Me.HasBuff("Opportune Attack")),

to

Code:
Spell.Cast("Clashing Blast", ret => Me.HasBuff("Opportune Attack")),
 
This is what I've got for the Sniper/Marksmanship. I'm going to go test it now. It compiles at least.

Code:
public override Composite Cooldowns
        {
            get
            {
                return new LockSelector(
                    Spell.Buff("Escape", ret => Me.IsStunned),
                    Spell.Buff("Shield Probe", ret => Me.HealthPercent <= 70),
                    Spell.Buff("Evasion", ret => Me.HealthPercent <= 30),
                    Spell.Buff("Adrenaline Probe", ret => Me.EnergyPercent <= 40),
                    Spell.Buff("Sniper Volley", ret => Me.EnergyPercent <= 60),
                    Spell.Buff("Entrench", ret => Me.CurrentTarget.StrongOrGreater() && Me.IsInCover()),
                    Spell.Buff("Laze Target"),
                    Spell.Buff("Target Acquired")
                    );
            }
        }

        public override Composite SingleTarget
        {
            get
            {
                return new LockSelector(
                    //Movement
                    CombatMovement.CloseDistance(Distance.Ranged),

                    //Rotation
                    Spell.Cast("Distraction", ret => Me.CurrentTarget.IsCasting),
                    Spell.Buff("Crouch", ret => !Me.IsInCover() && !Me.IsMoving),
                    Spell.Cast("Followthrough"),
                    Spell.Cast("Penetrating Blasts", ret => Me.IsInCover() && Me.Level >= 26),
                    Spell.Cast("Series of Shots", ret => Me.IsInCover() && Me.Level < 26),
                    Spell.DoT("Corrosive Dart", "", 15000, ret => Me.CurrentTarget.StrongOrGreater()),
                    Spell.Cast("Ambush", ret => Me.IsInCover() && Me.BuffCount("Zeroing Shots") == 2),
                    Spell.Cast("Takedown", ret => Me.CurrentTarget.HealthPercent <= 30),
                    Spell.Cast("Snipe", ret => Me.IsInCover()),
                    Spell.Cast("Overload Shot", ret => !Me.IsInCover())
                    );
            }
        }

        public override Composite AreaOfEffect
        {
            get
            {
                return new Decorator(ret => Targeting.ShouldAOE,
                    new LockSelector(
                        Spell.CastOnGround("Orbital Strike"),
                        //Spell.Cast("Fragmentation Grenade"),
                        Spell.CastOnGround("Suppressive Fire")
                    ));
 
Also Change in Combat.cs for Sentinel the following:
Code:
Spell.Cast("Blade Storm", ret => Me.HasBuff("Opportune Attack")),

to

Code:
Spell.Cast("Clashing Blast", ret => Me.HasBuff("Opportune Attack")),

Did this instead:

Code:
                    Spell.Cast("Clashing Blast", ret => Me.HasBuff("Opportune Attack") && Me.Level >= 57),
                    Spell.Cast("Blade Storm", ret => Me.HasBuff("Opportune Attack") && Me.Level < 57),
 
As an aside, are there any plans to add in toggles like Pure had? I really liked the ability to pause the routine as well as force AOE off when I absolutely didn't want it to fire off.
 
Last edited:
Back
Top