• Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Default Combat Discussion

    Discussion in 'Combat Routines' started by Ama, Jan 5, 2015.

    1. ludijak559

      ludijak559 Member

      Joined:
      Nov 23, 2012
      Messages:
      273
      Likes Received:
      2
      Trophy Points:
      18
      Worked with joes , its very unstable atm, also worked perfectly with walters , w8ing for him to update his routine.
       
    2. Ama

      Ama New Member

      Joined:
      Jun 6, 2011
      Messages:
      1,171
      Likes Received:
      33
      Trophy Points:
      0
      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.
       
    3. pindleskin

      pindleskin Community Developer

      Joined:
      Oct 24, 2012
      Messages:
      1,124
      Likes Received:
      2
      Trophy Points:
      38
      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? :)
       
    4. Cyanogen1

      Cyanogen1 Member

      Joined:
      Mar 5, 2014
      Messages:
      156
      Likes Received:
      0
      Trophy Points:
      16
      If you can actually get the bot to target each player that would be a big help I think.
       
    5. Crumpet_

      Crumpet_ Member

      Joined:
      Sep 29, 2012
      Messages:
      94
      Likes Received:
      0
      Trophy Points:
      6
      Is this better then Joes for leveling?.
       
    6. Nexis5000

      Nexis5000 New Member

      Joined:
      Dec 5, 2013
      Messages:
      104
      Likes Received:
      2
      Trophy Points:
      0
      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
       
    7. Nexis5000

      Nexis5000 New Member

      Joined:
      Dec 5, 2013
      Messages:
      104
      Likes Received:
      2
      Trophy Points:
      0
      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: Jan 7, 2015
    8. Cryogenesis

      Cryogenesis Moderator Moderator

      Joined:
      Jul 13, 2010
      Messages:
      2,128
      Likes Received:
      13
      Trophy Points:
      38
      Nexis, if you post something in code, please use the code tags!
       
    9. Nexis5000

      Nexis5000 New Member

      Joined:
      Dec 5, 2013
      Messages:
      104
      Likes Received:
      2
      Trophy Points:
      0
      code tags? please xplain 2nd time posting anything useful =)
       
    10. Cryogenesis

      Cryogenesis Moderator Moderator

      Joined:
      Jul 13, 2010
      Messages:
      2,128
      Likes Received:
      13
      Trophy Points:
      38
      [#code] <put your code inside> [#/code] (obviously remove the # inside the code tags

      You'll get this:
      Code:
       put your code inside 
       
    11. Nexis5000

      Nexis5000 New Member

      Joined:
      Dec 5, 2013
      Messages:
      104
      Likes Received:
      2
      Trophy Points:
      0
      alright ill do that from now on since now i no thanx =P
       
    12. Cyanogen1

      Cyanogen1 Member

      Joined:
      Mar 5, 2014
      Messages:
      156
      Likes Received:
      0
      Trophy Points:
      16
      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.
       
    13. herr_dzhon

      herr_dzhon Member

      Joined:
      Jan 15, 2010
      Messages:
      207
      Likes Received:
      1
      Trophy Points:
      18
      thx guys for huge work (L)
       
    14. Cryogenesis

      Cryogenesis Moderator Moderator

      Joined:
      Jul 13, 2010
      Messages:
      2,128
      Likes Received:
      13
      Trophy Points:
      38
      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.()
       
    15. Ama

      Ama New Member

      Joined:
      Jun 6, 2011
      Messages:
      1,171
      Likes Received:
      33
      Trophy Points:
      0
      I can put some code in to catch the exception, but probably cant stop that from happening. Is it causing the rotation to hang?
       
    16. Cryogenesis

      Cryogenesis Moderator Moderator

      Joined:
      Jul 13, 2010
      Messages:
      2,128
      Likes Received:
      13
      Trophy Points:
      38
      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.
       
    17. Cryogenesis

      Cryogenesis Moderator Moderator

      Joined:
      Jul 13, 2010
      Messages:
      2,128
      Likes Received:
      13
      Trophy Points:
      38
      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")),
      
       
    18. Xanathos

      Xanathos Active Member

      Joined:
      Jul 25, 2010
      Messages:
      1,030
      Likes Received:
      6
      Trophy Points:
      38
      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")
                          ));
      
       
    19. alltrueist

      alltrueist Active Member

      Joined:
      Dec 10, 2012
      Messages:
      1,424
      Likes Received:
      16
      Trophy Points:
      38
      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),
       
    20. Xanathos

      Xanathos Active Member

      Joined:
      Jul 25, 2010
      Messages:
      1,030
      Likes Received:
      6
      Trophy Points:
      38
      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: Jan 8, 2015

    Share This Page