• Visit Rebornbuddy
  • Default Combat Test Edition

    Discussion in 'Archives' started by wired203, Mar 14, 2016.

    Thread Status:
    Not open for further replies.
    1. wired203

      wired203 Community Developer

      Joined:
      Jan 22, 2015
      Messages:
      391
      Likes Received:
      1
      Trophy Points:
      18
      If taking out the tank checks doesn't seem to help any let me know. The next step in troubleshooting will be to determine if the health is read correctly as well as the groupID so I'll add them to the logging.

      Thanks to everyone for testing this I'm sure well get to the bottom of this.
       
    2. alltrueist

      alltrueist Active Member

      Joined:
      Dec 10, 2012
      Messages:
      1,424
      Likes Received:
      16
      Trophy Points:
      38
      You're a saint
       
    3. FriskyAssassin

      FriskyAssassin New Member

      Joined:
      Jul 15, 2013
      Messages:
      21
      Likes Received:
      0
      Trophy Points:
      0
      I am at work now, but will be able to test the one without the tank targeting later today. I will let you know what happens.

      You and alltrueist are the ones that should be thanked. There wouldn't have been this much progress without both of you!
       
    4. Cryogenesis

      Cryogenesis Moderator Moderator

      Joined:
      Jul 13, 2010
      Messages:
      2,128
      Likes Received:
      13
      Trophy Points:
      38
      Aevitas had to change the core code for HP check with 4.0.
      Maybe we are getting the wrong feedback (HP wise) from the bot?!?
      Lets say we are level 15, the HP drops dramatically from lvl 65 and thinks it needs to heal that person and just sticks on that one?

      Also since you are updating so much, could you create a SVN? This will let us update faster, or revert to older test builds.

      nonetheless, keep up the good work :)
       
    5. alltrueist

      alltrueist Active Member

      Joined:
      Dec 10, 2012
      Messages:
      1,424
      Likes Received:
      16
      Trophy Points:
      38
      This would explain why it works so well solo and on-level, but fucks up in FPs. We really need someone to test one of the working builds (republic healers, or the translated operative) in a hard-mode flashpoint where everyone is 65.
       
    6. wired203

      wired203 Community Developer

      Joined:
      Jan 22, 2015
      Messages:
      391
      Likes Received:
      1
      Trophy Points:
      18
      That was a thought I had as well, and yeah tonight I'll get a SVN going. My thought for a lot of this since I moved all of pure over and it still seems to stick would be people getting level syncd which is why some of my questioning was what levels. Remember even if the group is all 65's unless you are all in a zone that isn't syncing we wouldn't know. I'm going to have to burn a 60 token likely on Alltrueists server so we can create some very specific test groups. I have found all of us are on different servers :)

      I'm thinking the first Default Combat with 2x chars and comps in open world nakkie would be a good test lol. I know level sync caused the HP check to not work when 4.0 came out but I really want to target this down as far as we can even if it's a issue with Buddywing. It's one thing to say "healing is all messed up" and another to say "healtarget.healthpercent returns 50% when there is level sync" not that I know that is the issue but if we can identify where the disconnect is then we can either fix it in the bot or have Aevitas fix in buddywing.
       
    7. lonestr

      lonestr New Member

      Joined:
      Nov 28, 2015
      Messages:
      19
      Likes Received:
      1
      Trophy Points:
      0
      Bounty Hunter - BodyGuard spec working

      I have a working Bounty Hunter Bodyguard spec working with this build. I tried 2 sets of code; I took the commando combat medic and mapped the correct ability names, then I also modified the OP code Alltruist loaded for the abilities that made sense to me for mercs. So far I have had better success with the later, it does a bit of overheal at the moment, because I took out many offensive abilities, just want to make sure the healing works for now. I had to name the file "CanNotBeDetermined.cs" and you will see the class name changes in the routine.

      Here is the OP converted code for Bodyguard: (Still have to work on order of the rotation a bit and some other tweaks with bools, etc, but for now it at least works)
      Code:
      using Buddy.BehaviorTree; 
      using DefaultCombat.Core; 
      using DefaultCombat.Helpers; 
      
      namespace DefaultCombat.Routines 
      { 
          public class CanNotBeDetermined : RotationBase 
          { 
              public override string Name 
              { 
                  get { return "Mercenary Bodyguard"; } 
              } 
      
              public override Composite Buffs 
              { 
                  get 
                  { 
                      return new PrioritySelector( 
      					Spell.Buff("Combat Support Cylinder"),
      					Spell.Buff("Hunter's Boon")
                          ); 
                  } 
              } 
      
              public override Composite Cooldowns 
              { 
                  get 
                  { 
                      return new PrioritySelector( 
      					Spell.Buff("Kolto Overload", ret => Me.HealthPercent <= 30),
      					Spell.Buff("Determination", ret => Me.IsStunned),
      					Spell.Buff("Supercharged Gas", ret => Me.BuffCount("Supercharge") == 10
      														  && Me.ResourceStat >= 25
      														  && HealTarget != null && HealTarget.HealthPercent <= 80),
      					Spell.Buff("Vent Heat", ret => Me.ResourceStat <= 60),
      					Spell.Buff("Energy Shield", ret => Me.HealthPercent <= 50)
                          ); 
                  } 
              } 
      
              public override Composite SingleTarget 
              { 
                  get 
                  { 
                      return new PrioritySelector( 
                          //Movement 
      					CombatMovement.CloseDistance(Distance.Ranged),
      					Spell.Cast("Disabling Shot", ret => Me.CurrentTarget.IsCasting && !Me.CurrentTarget.HasDebuff("Unshakeable")),
      					Spell.Cast("Unload", ret => Me.ResourceStat <= 20),
      					//Spell.Cast("Power Shot", ret => Me.ResourceStat <= 20),
      					Spell.Cast("Rapid Shots")
                          ); 
                  } 
              } 
      
              public override Composite AreaOfEffect 
              { 
                  get 
                  { 
                      return new PrioritySelector( 
                          Spell.HealGround("Kolto Missile", ret => Targeting.ShouldAoeHeal), 
                          Spell.Heal("Progressive Scan", 90),
      		    Spell.Heal("Healing Scan", 90),
                          Spell.Heal("Emergency Scan", 85),
                          //Spell.Heal("Surgical Probe", 80, ret => surgicalProbe()), 
                          Spell.Heal("Kolto Shell", on => Tank, 100, ret => Tank != null && tankKoltoShell()), 
                          //Spell.Heal("Kolto Infusion", 80, ret => Me.BuffCount("Tactical Advantage") >= 2 && Me.EnergyPercent >= 60 && !HealTarget.HasBuff("Kolto Infusion")), 
                          //Spell.Heal("Kolto Injection", 80), 
                          Spell.Cleanse("Cure"), 
                          Spell.Heal("Kolto Shell", 95, ret => targetKoltoShell()), 
                          Spell.Heal("Kolto Shot", 90),
      					Spell.Heal("Healing Scan", on => Tank, 100, ret => Tank != null && !tankInvigorated()),
      					Spell.Heal("Rapid Scan", 75)
                          ); 
                  } 
              } 
      
              public static bool tankKoltoShell() 
              { 
                  if (Targeting.Tank.BuffCount("Kolto Shell") < 2) 
                      return true; 
                  if (Targeting.Tank.BuffTimeLeft("Kolto Shell") < 3) 
                      return true; 
                  return false; 
              } 
      
      		public static bool tankInvigorated() //3% Heal Buff
              { 
                  if (Targeting.Tank.HasBuff("Invigorated")) 
                      return true; 
                  return false; 
              } 
      		
              public static bool targetKoltoShell() 
              { 
                  if (Targeting.HealTarget.BuffCount("Kolto Shell") < 2) 
                      return true; 
                  if (Targeting.HealTarget.BuffTimeLeft("Kolto Shell") < 3) 
                      return true; 
                  return false; 
              } 
      // took out the surgicalProbe code - Bodyguard doesn't really have this mechanic
          } 
      }  
      
       
      Last edited: Mar 16, 2016
    8. lonestr

      lonestr New Member

      Joined:
      Nov 28, 2015
      Messages:
      19
      Likes Received:
      1
      Trophy Points:
      0
      So I spoke too soon, the Kolto Missile doesn't seem to be working. Not sure why, its probably obvious, just need another set of eyes on it :) Thanks
       
    9. alltrueist

      alltrueist Active Member

      Joined:
      Dec 10, 2012
      Messages:
      1,424
      Likes Received:
      16
      Trophy Points:
      38
      Does Spell.HealGround require a target? I can't remember at the moment.
       
    10. alltrueist

      alltrueist Active Member

      Joined:
      Dec 10, 2012
      Messages:
      1,424
      Likes Received:
      16
      Trophy Points:
      38
      Dude don't burn a token on that! Someone has to be on your sever.
       
    11. wired203

      wired203 Community Developer

      Joined:
      Jan 22, 2015
      Messages:
      391
      Likes Received:
      1
      Trophy Points:
      18
      SVN has been created, I had a few versions on my PC so I uploaded all of them in order of revisions. I removed the zipped files from the first page. I plan on updating people with what has changed etc as we dig deeper. Has anyone had the chance to try the no tank selection version of targeting.cs on the first page? I left that there still for testing.
       
    12. wired203

      wired203 Community Developer

      Joined:
      Jan 22, 2015
      Messages:
      391
      Likes Received:
      1
      Trophy Points:
      18
      I did try the targeting with no tank detection on my solo op, healed pet and himself just fine. Curious how it does in groups.
       
    13. FriskyAssassin

      FriskyAssassin New Member

      Joined:
      Jul 15, 2013
      Messages:
      21
      Likes Received:
      0
      Trophy Points:
      0
      I just tried the targeting with no tank detection as well as the svn update in the same flashpoint. Everyone was lvl 65 and there was a juggernaut tank, merc, sniper, and me (operative). Strangely enough they both targeted the same person, the sniper, even though i set the juggernaut tank as the tank. It did switch between me and the sniper perfectly though.
       
    14. wired203

      wired203 Community Developer

      Joined:
      Jan 22, 2015
      Messages:
      391
      Likes Received:
      1
      Trophy Points:
      18
      SVN update was last version before I took out tank swap, so we know it's not a part of the tank selection routine which doesn't seem to work. That narrows it down to the healtarget and object list. Was the sniper over healed or just healed as he needed to be?
       
    15. FriskyAssassin

      FriskyAssassin New Member

      Joined:
      Jul 15, 2013
      Messages:
      21
      Likes Received:
      0
      Trophy Points:
      0
      I just noticed something. I was separated from the rest of the group except for the merc and it started healing him and I only. But as soon as I got in range of the sniper and juggernaut again, it switched back to the sniper and wouldn't go to anyone else.
       
    16. FriskyAssassin

      FriskyAssassin New Member

      Joined:
      Jul 15, 2013
      Messages:
      21
      Likes Received:
      0
      Trophy Points:
      0
      He was overhealed. It kept healing him even after hes at 100%
       
    17. FriskyAssassin

      FriskyAssassin New Member

      Joined:
      Jul 15, 2013
      Messages:
      21
      Likes Received:
      0
      Trophy Points:
      0
      Someone left my flashpoint so it was two people and my companion. It targeted the merc the majority of the time, but it did switch to my companion surprisely, as well as me. It ignored the juggernaut though. Thats the most it has done. But it didn't really seem to switch between us efficiently.
       
    18. wired203

      wired203 Community Developer

      Joined:
      Jan 22, 2015
      Messages:
      391
      Likes Received:
      1
      Trophy Points:
      18
      When you start buddywing is the whole group there? or do you start it and people then come in after?
       
    19. FriskyAssassin

      FriskyAssassin New Member

      Joined:
      Jul 15, 2013
      Messages:
      21
      Likes Received:
      0
      Trophy Points:
      0
      I did both. I had the bot started when I went into the flashpoint. I also restarted the bot about 10 times while in the flashpoint to see if there were any variations. Everything stayed the same and seemed to target the same person. I know its seeing everyone in the group though just because it was healing the sniper. When the sniper left, it started healing the merc and my companion, while still ignoring the juggernaut tank.
       
    20. wired203

      wired203 Community Developer

      Joined:
      Jan 22, 2015
      Messages:
      391
      Likes Received:
      1
      Trophy Points:
      18
      Wonder if it ignored the tank because all tank checks were gone. Don't recall seeing a anticheck for tank but it's possible I'm sure.
       
    Thread Status:
    Not open for further replies.

    Share This Page