• Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Walter's Waltz Combat Routine

    Discussion in 'Archives' started by walter, Jun 8, 2013.

    1. Developer

      Developer New Member

      Joined:
      Jul 11, 2012
      Messages:
      799
      Likes Received:
      2
      Trophy Points:
      0
      Hi J and W,

      I added Full Auto to my Assault rotation and have the same issue. If it helps, the time channeled for this ability is 2.91 seconds.

      Also, for some reason the ability Ion Pulse never goes off, regardless of where I put it in the rotation . For my build, Ion Pulse triggers Plasma Cell 100% of them time, and IP and Stockstrike both increase the chance of resetting the cooldown for High Impact Bolt while making its next cast free, so it's a good ability to have in the mix.

      Cheers,
      -D
       
      Last edited: Jun 18, 2013
    2. jnp

      jnp New Member

      Joined:
      May 22, 2013
      Messages:
      209
      Likes Received:
      3
      Trophy Points:
      0
      Roger. In joe's terminology lootables come from the mob and everything like slicing and chests are called "placeables". That's why i wanted to narrow it down.

      So in this function: ScanForPlaceables()
      We are looking @ objects where t.Distance <= 3.0f (30 meters).
      If you unrem line 5055 you will see everything it scans.

      if it finds something it will write this in your log:
      "Placeable: Moving to " + obj.Name + " Distance: " + obj.Distance.ToString() + " Position: " + obj.Position.ToString

      Let me know what type of behavior you are seeing. Send a log if you want.
       
    3. walter

      walter Active Member

      Joined:
      Jun 25, 2012
      Messages:
      1,112
      Likes Received:
      10
      Trophy Points:
      38

      I won't lie to you but its this routine not being programmed correctly. Its something we can Bandaid like Joe did with thread.sleeps but that will break the bot since its not designed to even use them. Just a lot of things were not done correctly and its too late to fix the damage that is done. We will be addressing a lot of these issues in our new routine that will done correctly with how buddywing actually works. That way channel abilities will go off correctly and waits for companion rezing. Don't worry all features and rotations etc will be moved.
       
    4. Developer

      Developer New Member

      Joined:
      Jul 11, 2012
      Messages:
      799
      Likes Received:
      2
      Trophy Points:
      0
      Sorry, by the time I edited this in, there were two more entries! Repeated here:

       
    5. walter

      walter Active Member

      Joined:
      Jun 25, 2012
      Messages:
      1,112
      Likes Received:
      10
      Trophy Points:
      38
      So ion pulse (flame burst) doesn't go off? I just want to make sure you are saying the correct ablitiy since Ion pulse goes off for me.(thats flame burst). I know how ion pulse triggers free rail shot and also stock strike.
       
    6. jnp

      jnp New Member

      Joined:
      May 22, 2013
      Messages:
      209
      Likes Received:
      3
      Trophy Points:
      0
      Could one of you AS Vanguards please download MercHelperAScs from the file. Replace your MercHelper.cs with that and let me know how it runs. That should be optimal IMO.
       
    7. Developer

      Developer New Member

      Joined:
      Jul 11, 2012
      Messages:
      799
      Likes Received:
      2
      Trophy Points:
      0
      Well, for me, Ion Pulse looks more like an electrical zap, but that is correct - not going off. I'll test the new file above and let you know if the same problem persists.
       
    8. jnp

      jnp New Member

      Joined:
      May 22, 2013
      Messages:
      209
      Likes Received:
      3
      Trophy Points:
      0
      He's saying that Ion Pulse is to Vanguard as Flame burst is to Powertech.
       
    9. walter

      walter Active Member

      Joined:
      Jun 25, 2012
      Messages:
      1,112
      Likes Received:
      10
      Trophy Points:
      38

      Yea jnp took out procs and made it simple it seems hoping the abilities go off I assume. No idea how it works since not leveling Vanguard atm :p!
       
    10. Developer

      Developer New Member

      Joined:
      Jul 11, 2012
      Messages:
      799
      Likes Received:
      2
      Trophy Points:
      0
      Hi J and W,

      I just spent some time testing the new MercHelperAS.cs. Ion Pulse is still broken, but I made some adjustments to optimize:

      • Fixed "Stockstrike" misspelling which kept it from going off
      • Moved Stockstrike higher on the priority list.
      • Added Full Auto to the priority list (even with limited duration, it still seems to improve the overall rotation).
      • Moved Hammer Shot down on the priority list.


      Code:
               if (!CT.InCombat)
               {
                      MercCast("Harpoon");
                      while (CT.Distance > .4f) MoveTo(CT, .4f);
                      MercCast("Sticky Grenade");
                      MercCast("Ion Pulse", RS >= 40);
               }
               if (CT.InCombat)
               {
                      while (CT.Distance > .4f) MoveTo(CT, .4f);
                      if (MercCast("Battle Focus", !MyBuffs.Contains("Battle Focus"))) return;
                      if (MercCast("High Impact Bolt")) return;
      		if (MercCast("Stockstrike", TD <= .4f)) return;
      	        if (MercCast("Full Auto")) return;
                      if (MercCast("Incendiary Round", RS >= 50f)) return;
      				
      		if (UseAOE)
                      {
                          if (MercCastOnGround("Mortar Volley", TD >= .6f && RS <= 50f, CT)) return;
                          if (MercFaceAndCast("Pulse Cannon", TD <= 1.0f && TWR10 > 2)) return;
                      }
      				
      		if (MercCast("Ion Pulse", RS >= 30f && TD <= .8f)) return;
                      if (MercCast("Hammer Shot")) return;
               }
      Cheers,
      -D

      EDIT

      During most grind encounters, Incendiary Round (18 second dot) will need to be cast only one time. I will probably experiment with moving it up to the first section of code here:

      Code:
               if (!CT.InCombat)
               {
                      MercCast("Harpoon");
                      while (CT.Distance > .4f) MoveTo(CT, .4f);
                      MercCast("Sticky Grenade");
                      MercCast("Ion Pulse", RS >= 40);
               }
       
      Last edited: Jun 18, 2013
    11. walter

      walter Active Member

      Joined:
      Jun 25, 2012
      Messages:
      1,112
      Likes Received:
      10
      Trophy Points:
      38
      Damn did bioware change something that ion pulse doesn't go off. I will test on my vg later!
       
    12. walter

      walter Active Member

      Joined:
      Jun 25, 2012
      Messages:
      1,112
      Likes Received:
      10
      Trophy Points:
      38
      I was having issues with ion pulse only when the F was on end of resources. So make sure to take off all F = full. Seems to be designed for bounty hunter only since heat works the other way.

      if (MercCast("Ion Pulse", RS >= 30f && TD <= .8f)) return;

      After that I had no issues with ion pulse. New rotation is good but I am not a big fan of full auto :p. Just that ability is designed for commandos and not to be used by melee vanguards. That's just what my opinion/thought. I will put in routine what ever is best for every one since I can just change my own :p!

      Let me know if you still having issues with ion pulse not going off. Was working like a champ on my lowbee vanguard!

      PS also let me know feedback on that incendiary round. I was told to put in rotation but I think should be only used on silver mobs since that move eats up too much ammo. Not worth it IMO.
       
      Last edited: Jun 19, 2013
    13. Developer

      Developer New Member

      Joined:
      Jul 11, 2012
      Messages:
      799
      Likes Received:
      2
      Trophy Points:
      0
      I like incendiary round if used at the beginning of the rotation, but simply moving it to the first part of the function per my last suggestion didn't seem to work. Having it just go off once would be optimal.

      You may be right about Full Auto. I always liked it as part of my solo rotation (it can stun weak enemies as well), but I'm no theory crafter.

      I'll try the change to Ion Pulse to see if I can get it working. Thanks!
       
    14. Developer

      Developer New Member

      Joined:
      Jul 11, 2012
      Messages:
      799
      Likes Received:
      2
      Trophy Points:
      0
      Hi J and W,

      Regarding this loot issue, it started happening to me today when testing your latest build. My other bots aren't having this problem, and they are using one of your builds from a few days ago, so this could be profile related. If I figure it out, I'll post what I discover.

      Cheers,
      -D
       
    15. walter

      walter Active Member

      Joined:
      Jun 25, 2012
      Messages:
      1,112
      Likes Received:
      10
      Trophy Points:
      38

      Yea we changed loot targeting to kill object errors that came up. I know of this issue you speak of and it seems to happen so random. Just let us know anything since feedback is better than gold!
       
    16. Developer

      Developer New Member

      Joined:
      Jul 11, 2012
      Messages:
      799
      Likes Received:
      2
      Trophy Points:
      0
      :) Well, the older version (which I assume has the kill object errors) does not seem to have the loot bug. I swapped back, with the new AS code, and the issue disappeared. Somewhere in that shiny new code...
       
    17. jnp

      jnp New Member

      Joined:
      May 22, 2013
      Messages:
      209
      Likes Received:
      3
      Trophy Points:
      0
      You can disable the loot provider changes to test with it on and off.

      Around line 3895: just // to cut if off
      LootTargeting.Instance.Provider = LTProvider;
       
    18. Jests

      Jests New Member

      Joined:
      Feb 13, 2013
      Messages:
      488
      Likes Received:
      1
      Trophy Points:
      0
      Interesting... Because when we were commenting out the search for lootables, that was when it was stopping the search for slicing nodes, so I assumed. I won't have time to mess with the bot for a couple days, because of classes, but basically it's just straight up ignoring slicing nodes and chests (even though at one point it walks within like 3m of one)
       
    19. Jests

      Jests New Member

      Joined:
      Feb 13, 2013
      Messages:
      488
      Likes Received:
      1
      Trophy Points:
      0
      With regards to full auto, it has to have something to do with what you guys did to optimize the bot, because I noticed it immediately after that.

      One thing I noticed, when moving from the basic BW code to being able to use Joe's little language thing he set up, is that in a Joe's routine you never needed a "waitforcast" after moves that channeled. You always did if you didn't work in Joe's (immediately following the move).

      I tried putting a waitfor cast right after full auto, and a wait for cast at the start of the rotation and neither did anything... which makes me think whatever was changed has to do with the basic ability to wait for a cast to finish.

      One place this would get very ugly, if anyone has a marauder, is with their big channeled move (forget what it's called) that does massive damage right at the end. If that gets interrupted that's heartache for them. I don't have one to test it though.
       
    20. jnp

      jnp New Member

      Joined:
      May 22, 2013
      Messages:
      209
      Likes Received:
      3
      Trophy Points:
      0
      Ravage for maras.

      I know what your saying and you are correct. WaitforCast is absolutely useless in Joe's routine because the routine is not using TreeSharp behaviors (AI based behaviors) and instead written with businesslogic.
      He 'fixed it' by putting thread sleeps everywhere which caused significant performance issues and botbreaking behavior. Could you test the following correction for me:
      Say you are a shield specialist vanguard. Open up Test Build/DefaultCombat/Routines/Advanced/ShieldSpecialist.cs

      Where you see
      Code:
      public static Composite ShieldSpecialistCombat()
              {
                  return new Sequence(
                      new Action(ret => { MercHelpers.SSCombat(); }),
                      Spell.Cast("Recharge and Reload", ret => false));
      
              }
      Make it instead:
      Code:
             public static Composite ShieldSpecialistCombat()
              {
                  return new PrioritySelector(
                      Spell.WaitForCast(),
                      new Action(ret => { MercHelpers.SSCombat(); }),
                      Spell.Cast("Recharge and Reload", ret => false));
      
              }
      let me know if that fixes it. If so I'll implement it throughout.
       
      Last edited: Jun 19, 2013

    Share This Page