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

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

    1. Cryogenesis

      Cryogenesis Moderator Moderator

      Joined:
      Jul 13, 2010
      Messages:
      2,128
      Likes Received:
      13
      Trophy Points:
      38
      I see you changed debuff detection to a timer, or am I wrong?
      Nice how this routine has evolved to twice the dps, bravo!
       
    2. wired203

      wired203 Community Developer

      Joined:
      Jan 22, 2015
      Messages:
      391
      Likes Received:
      1
      Trophy Points:
      18
      Correct as nothing was detecting the burning 5s debuff to use it and I didn't see anything in the optimal routine page about it so I went timer and now it keeps them running steady.
       
    3. ShinobiAoshi

      ShinobiAoshi Member

      Joined:
      Jul 21, 2010
      Messages:
      143
      Likes Received:
      2
      Trophy Points:
      18
      I have edited my previous post (#478) to include a quick tutorial on how to browse the Buddywing API in Visual Studio.

      Additionally, I have been working on revamping the Sith Assassin/Jedi Shadow routines. I'll publish them soon!
       
    4. wired203

      wired203 Community Developer

      Joined:
      Jan 22, 2015
      Messages:
      391
      Likes Received:
      1
      Trophy Points:
      18
      So I came across a new issue using esc to break the rest, if you have a window up quest reward or inventory it closes it and then moves on. I changed it to a while routine so it will close the pending window and still cancel rest if you are still casting. Seems to work well here give it a whirl.
       

      Attached Files:

      • Rest.cs
        File size:
        5.5 KB
        Views:
        150
    5. invalidusername

      invalidusername New Member

      Joined:
      Mar 6, 2012
      Messages:
      9
      Likes Received:
      0
      Trophy Points:
      0
      Hi all. I was wondering if anyone could help with this error I am getting.

      User is a Trooper
      Advanced Class: Commando / Discipline: AssasultSpecialist
      Medpac Created!
      [DefaultCombat] Level: 19
      [DefaultCombat] Class: Trooper
      [DefaultCombat] Advanced Class: Commando
      [DefaultCombat] Discipline: AssasultSpecialist
      Unhandled exception during init: System.ArgumentNullException: Value cannot be null.
      Parameter name: type
      at System.Activator.CreateInstance(Type type, Boolean nonPublic)
      at System.Activator.CreateInstance(Type type)
      at DefaultCombat.Core.RotationFactory.Build(String name) in c:\Users\someone\Documents\BuddyWing 1.0.1215.699\Routines\DefaultCombat\Core\RotationFactory.cs:line 41
      at DefaultCombat.DefaultCombat.Initialize() in c:\Users\someone\Documents\BuddyWing 1.0.1215.699\Routines\DefaultCombat\DefaultCombat.cs:line 55
      at Buddy.CommonBot.RoutineManager.set_Current(ICombat value)
      at Buddy.CommonBot.BotMain.SetCurrentCombatRoutine()
      at Buddywing.MainWindow.​​‎‎**‏‎**‎‎‬‫‫**‫*​‫****()
      Buddy Wing: The Old Robot is ready!

      Nothing has been edited on my part, and I have tried a fresh install and run Buddywizard just in case . Seems to only be this routine though. Any help would be appreciated.

      Thanks in advance.
       
    6. strepie

      strepie New Member

      Joined:
      Jun 11, 2012
      Messages:
      290
      Likes Received:
      2
      Trophy Points:
      0
      It is not on your side, but with the files that ships with the bot. What you can do for the time being is to respec to Gunnery until such time Aevitas can have a look at change the affected file/name. It is only Assault Specialist being affected...er..if you look at the typo "Assasult"...man one wonders what was on THEIR minds when they typed that...er..
      LOL
      Anyway tis a quick fix but until then "gunnery" is spelled correctly, so safe to use. ;)

      Alternatively if you really want to play an Ass-asult you can rename the AssaultSpecialist.cs file in your routines folder to AssasultSpecialist.cs and you also have to then open that file in a text editor and change the class to Assasult as well. :) That will work.
       
      Last edited: Jul 11, 2015
    7. wired203

      wired203 Community Developer

      Joined:
      Jan 22, 2015
      Messages:
      391
      Likes Received:
      1
      Trophy Points:
      18
      That's 2 routines not firing due to misspelling or detections, I had the firebug one I noted here as well. Anyone have the ability to make sure these changes are going into the next version so these routines can work?
       
    8. invalidusername

      invalidusername New Member

      Joined:
      Mar 6, 2012
      Messages:
      9
      Likes Received:
      0
      Trophy Points:
      0
      Thanks very much strepie, that did the trick and everything is working now. I am now a Assasult specialist, don't know how I feel about that yet LOL.
       
    9. Cryogenesis

      Cryogenesis Moderator Moderator

      Joined:
      Jul 13, 2010
      Messages:
      2,128
      Likes Received:
      13
      Trophy Points:
      38
      It's all about which ass your assulting haha
       
    10. strepie

      strepie New Member

      Joined:
      Jun 11, 2012
      Messages:
      290
      Likes Received:
      2
      Trophy Points:
      0
      ROTFL! You guys are awesome. :)
       
    11. Cryogenesis

      Cryogenesis Moderator Moderator

      Joined:
      Jul 13, 2010
      Messages:
      2,128
      Likes Received:
      13
      Trophy Points:
      38
      Does anyone know how to count the number of targets. im looking for something along the lines of
      Code:
      Targets.Count > 2
      
      Ive been reading up and editing the Sentinel Combat class, for more advanced gameplay endgame and leveling.
      There is a Spell named Awe, which numbs all enemies around you, very handy if your low on hp and just need that last interupt to finish them off (ofcourse below level 60)
       
    12. Jon310

      Jon310 Member

      Joined:
      Jan 15, 2010
      Messages:
      368
      Likes Received:
      8
      Trophy Points:
      18
      Should be:

      Code:
      Targeting.CheckDPSAOE(AOEDPSCountNeeded, Distance.MeleeAoE, Me.Position)
      Where you replace AOEDPSCountNeeded with the number needed.

      While that's not a true count like you were asking for, it should work for what you need.

      - Jon
       
    13. Cryogenesis

      Cryogenesis Moderator Moderator

      Joined:
      Jul 13, 2010
      Messages:
      2,128
      Likes Received:
      13
      Trophy Points:
      38
      Thanks man!!!
       
    14. Cryogenesis

      Cryogenesis Moderator Moderator

      Joined:
      Jul 13, 2010
      Messages:
      2,128
      Likes Received:
      13
      Trophy Points:
      38
      So i edited the Sentinel Combat routine a bit. Please note this is my first official tinkering on a routine.
      The Original routine basically is only there for endgame. I've read threw the guides and abilities and so many abilities missing, which i used many times during leveling.
      Also the logic has shifted a bit for endgame, so it corresponds more with the endgame guide on Dulfy.

      Note, this is of now still untested and i cant give you hard DPS results on training dummies. Which i will add somewhere this week.
      Now for the code:
      Code:
      using Buddy.BehaviorTree;
      using DefaultCombat.Core;
      using DefaultCombat.Helpers;
      
      namespace DefaultCombat.Routines
      {
          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 LockSelector(
                          Spell.Buff("Resolute"),
                          Spell.Buff("Rebuke", ret => Me.HealthPercent <= 90),
                          Spell.Buff("Saber Reflect", ret => Me.HealthPercent <= 70),
      		    Spell.Buff("Awe", ret => Me.HealthPercent <= 50 && Me.Level < 60 && Targeting.CheckDPSAOE(2, Distance.MeleeAoE, Me.Position)),
                          Spell.Buff("Saber Ward", ret => Me.HealthPercent <= 50),
      		    Spell.Buff("Heroic Moment: Call on the Force", ret => Me.HealthPercent <= 10 && Me.Companion != null),
      		    Spell.Buff("Guarded by the Force", ret => Me.HealthPercent <= 5),
                          Spell.Buff("Valorous Call", ret => Me.BuffCount("Centering") < 5),
                          Spell.Buff("Zen", ret => Me.CurrentTarget.Distance <= 0.4f)
                          );
                  }
              }
      
              public override Composite SingleTarget
              {
                  get
                  {
                      return new LockSelector(
                          Spell.Cast("Saber Throw", ret => !DefaultCombat.MovementDisabled && Me.CurrentTarget.Distance >= 0.5f && Me.CurrentTarget.Distance <= 3f),
      		    Spell.Cast("Dual Saber Throw", ret => !DefaultCombat.MovementDisabled && Me.CurrentTarget.Distance >= 1f && Me.CurrentTarget.Distance <= 3f && !Me.HasBuff("Precision")),
                          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("Zealous Strike", ret => Me.ActionPoints <= 7 && !Me.HasBuff("Precision")),
      		    Spell.Cast("Precision", ret => Me.CurrentTarget.Distance <= 0.4f),
                          Spell.Cast("Master Strike", ret => (Me.HasBuff("Precision") && (Me.HasBuff("Zen") || (Me.Level >= 30 && Me.Level < 60))) || Me.Level < 30),			
      		    Spell.Cast("Dispatch", ret => Me.HasBuff("Hand of Justice") || Me.CurrentTarget.HealthPercent <= 30),
                          Spell.Cast("Clashing Blast", ret => Me.HasBuff("Opportune Attack") && Me.Level >= 57),
                          Spell.Cast("Blade Storm", ret => (Me.HasBuff("Opportune Attack") && Me.Level >= 28 && Me.Level < 57) || Me.Level < 28),
                          Spell.Cast("Blade Rush"),
                          Spell.Cast("Slash", ret => Me.ActionPoints >= 7 && Me.Level < 26),
                          Spell.Cast("Strike", ret => Me.ActionPoints <= 10)
                          );
                  }
              }
      
              public override Composite AreaOfEffect
              {
                  get
                  {
                      return new Decorator(ret => Targeting.ShouldPBAOE,
                              new LockSelector(
      			    Spell.Cast("Precision", ret => Me.CurrentTarget.Distance <= 0.4f),						
                                  Spell.Cast("Force Sweep"),
                                  Spell.Cast("Cyclone Slash")
      						)
      				);
                  }
              }
          }
      }
      
      So whats altered / added:
      On Buffs nothing changed.
      I added Awe, Heroic Moment and Guarded By The Force. These give some more survivability during leveling.
      Awe is triggered when we are below 50% hp, below level 60, and have more then 2 adds. (Awe stuns all around you, till you attack them)
      Heroic Moment is triggered when companion is up and we are on or below 10% HP. (this gives back HP and refreshes Saber Ward)
      Guarded by the Force, is a last resort to give you Godmode for 6 secs, hopefully its just enough if we are going down to kill our opponent (usually boss situations).

      My gameplays is on start saber throw, leap and zealous strike. i altered this in the routine to reflect this more.
      Zealous strike made its way up to be fired (hopefully) directly after force leap to generate enough NRG.
      Master strike went up, as on Dulfies it gave a strict priority on the fillers. Also master strike has more additions to when it needs to fire.
      i altered this to combo's: Precision + Zen; Precision + level 30 to 60; or below level 30. Precision is a level 28-30 spell, so master strike never fired in the raneg from level 10 - 30.
      Blade storm is changed. Opportune attack is a buff we get at level 28. so before level 28 we want blade storm to fire anyways, so the combo is Opportune attack + level 28-57 or below level 30. Blade Rush as the lowest filler down the list.
      Added in AOEDPS is precision as this gives more AOEDPS. Dont know if it needs to be there, but my logic was, if BW checks if we need to AOE, Precision will never fire as single target is neglected. ( i hope i am right).

      Let me know if you get errors or more / less dps so we can advance and use this frame for other classes.
       
    15. pindleskin

      pindleskin Community Developer

      Joined:
      Oct 24, 2012
      Messages:
      1,124
      Likes Received:
      2
      Trophy Points:
      38
      Does FPS drops a lot for you for Serenity? Even hotbar is laggy for me :/
       
    16. ShinobiAoshi

      ShinobiAoshi Member

      Joined:
      Jul 21, 2010
      Messages:
      143
      Likes Received:
      2
      Trophy Points:
      18
      I haven't tested Serenity Shadow yet, but I have written my own custom Hatred Assassin (my understanding is Serenity and Hatred are mirrors). Hatred performs well for me. I am not home right now, but when I am I will port my changes to Hatred over to Serenity and post it here for you to test.
       
    17. pindleskin

      pindleskin Community Developer

      Joined:
      Oct 24, 2012
      Messages:
      1,124
      Likes Received:
      2
      Trophy Points:
      38
      Yeah Its a mirrored skill tree. Thank you :) Drop me a PM so I don't miss out ;)
       
    18. ShinobiAoshi

      ShinobiAoshi Member

      Joined:
      Jul 21, 2010
      Messages:
      143
      Likes Received:
      2
      Trophy Points:
      18
      Here they are! The Serenity one is completely untested since I do not have a Shadow myself. One thing I know I want to add as an enhancement is in the Hatred rotation I check if the target has the DoT applied by Discharge:

      Code:
      Spell.Cast("Discharge", ret => !Me.CurrentTarget.HasDebuff("Shocked (Discharge)") && Me.CurrentTarget.StrongOrGreater())
      however, I don't know the name of the DoT placed by Force Breach. Currently it will just apply Force Breach every 14 seconds:

      Code:
      Spell.DoT("Force Breach", "", 14000)
      If someone can get me the name of the DoT that Force Breach applies, I will update the logic to behave more like Hatred.
       

      Attached Files:

    19. pindleskin

      pindleskin Community Developer

      Joined:
      Oct 24, 2012
      Messages:
      1,124
      Likes Received:
      2
      Trophy Points:
      38
      "Crushed (Force Breach)" for Force Breach debuff
      "Crushed (Vanquish)" for Vanquish debuff

      Stealth is not needed as it usually cause problems.

      Spell.Buff("Force Potency", ret => Me.BuffCount("Static Charge") < 1), => "Force Potency"




      Tried with this. It fights good. But the combat is still laggy for me 10 FPS.
       
      Last edited: Jul 15, 2015
    20. wired203

      wired203 Community Developer

      Joined:
      Jan 22, 2015
      Messages:
      391
      Likes Received:
      1
      Trophy Points:
      18
      Have you made an exception in your AV for both buddywing and swtor? Even if you don't think you have any installed it's likely that you have windows defender installed.
       

    Share This Page