• Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Removing an attack I do not wish in my routine ?

    Discussion in 'Buddy Wing Support' started by deadlybot, Nov 14, 2012.

    1. deadlybot

      deadlybot Banned

      Joined:
      Nov 9, 2012
      Messages:
      142
      Likes Received:
      1
      Trophy Points:
      0
      Posted this in the wrong forum here.




      I am currently using The Default Combat Routine on my shadow as I find it much more brutal than the WingIt routine. I have one problem Whirling Blow Absolutely useless for me and how I want my bot to run. Can someone explain to me how I can remove this annoying attack from my combat routine ? If I can stop my bot using this attack I will have it running the way I want it to. As it is now, it will cast this PBAOE every chance it gets while I would rather my bot not use it as this skill has no range component and will literally cast it 3 times while running towards a mob not in range of other attacks.

      Extremely annoying to say the least.

      Thanks.
      Deadly.



      P.S. It also does it in WingIt.
       
    2. chinajade

      chinajade Well-Known Member Moderator Buddy Core Dev

      Joined:
      Jul 20, 2010
      Messages:
      17,540
      Likes Received:
      172
      Trophy Points:
      63
      Open the file .../DefaultCombat/Routines/Advanced/Shadow/{Balance.cs,Infiltration.cs,Kinetic.cs},
      and change the line that looks like this:
      Spell.Cast("Whirling Blow", castWhen => Helpers.Targets.Count() >= 3),
      to this:
      // Spell.Cast("Whirling Blow", castWhen => Helpers.Targets.Count() >= 3),

      This comments out "Whirling Blow", and completely removes it from your rotation.

      cheers,
      chinajade
       
      Last edited: Nov 14, 2012
    3. deadlybot

      deadlybot Banned

      Joined:
      Nov 9, 2012
      Messages:
      142
      Likes Received:
      1
      Trophy Points:
      0

      I actually did that for WingIt in the 2 advanced routines I found it in and I have no Idea why but then when trying my bot all it wanted to cast was whirling blow. hehehe. I havent tried it in the default one, I shall do that now. I thought I was correct but the effect was kind of weird :)

      And thanks again Jade, I would have given up completely by now if It wasn't for you.
       
    4. chinajade

      chinajade Well-Known Member Moderator Buddy Core Dev

      Joined:
      Jul 20, 2010
      Messages:
      17,540
      Likes Received:
      172
      Trophy Points:
      63
      The DefaultCombat and WingIt code were using Whirling Blow any time you were under attack by three or more mobs (they wrongly counted mobs at range in this tally). At the pull, all the mobs will be at range and its completely silly trying to cast this spell until the entire group of mobs is within Melee AoE range.

      The correct thing to do is only use Whirling Blow any time three or more attacking mobs are within range of the Whirling Blow (Melee AoE range).

      I just updated WingIt in changeset #707 to address the defect. Thanks for pointing this out. Nothing I can do for DefaultCombat--I don't have access to that codebase.

      cheers,
      chinajade
       
      Last edited: Nov 14, 2012
    5. chinajade

      chinajade Well-Known Member Moderator Buddy Core Dev

      Joined:
      Jul 20, 2010
      Messages:
      17,540
      Likes Received:
      172
      Trophy Points:
      63
      This observation disturbs me. I'd like to make WingIt better if at all possible. Can you quantify what the two CCs are doing different that you find DefaultCombat more lethal?

      Alas, I lack the domain knowledge for driving a Shadow.

      cheers,
      chinajade
       
    6. deadlybot

      deadlybot Banned

      Joined:
      Nov 9, 2012
      Messages:
      142
      Likes Received:
      1
      Trophy Points:
      0
      I do not have any stats to give you, but WingIt is guarding my pet and using shielding stuff and as I am set up as a tank but I use DPS gear. Default just gets shit done using damage damage damage.

      So there is nothing inherintly wrong with WingIt, it is basically playing my character as a tank the way it is specced. Default does not concern itself with placing guard on my pet or using protection type things.

      I just notice that default kills a group of mobs for my particular character much much more efficiently. I play 31/2/8 with dps gear.
       
    7. chinajade

      chinajade Well-Known Member Moderator Buddy Core Dev

      Joined:
      Jul 20, 2010
      Messages:
      17,540
      Likes Received:
      172
      Trophy Points:
      63
      Good feedback. Are you game to try something for me?

      If so, replace your .../WingIt/Routines/Advanced/Assassin_Shadow/Darkness_KineticCombat.cs file with this one:



      We've kept the guard on pet and such, but altered the core rotation to match that of DefaultCombat. If you deem it to be an improvement, will fold it into WingIt. There isn't that much difference between the DefaultCombat and WingIt main rotations, but sometimes little things make a big impact.

      If the problem is simply the main rotation, that should be easily fixable. However, if the problem is because WingIt currently places higher priority on interrupts for the Tanking spec than DefaultCombat does, I'm unwilling to alter that because some people actually use WingIt for flashpoints, and that would screw things up immensely, I'm sure.

      Again, I'm doing this blind because I'm unfamiliar with playing a Shadow. And it will be up to your feedback as to whether it gets folded into WingIt or not.

      cheers,
      chinajade
       
      Last edited: Nov 14, 2012
    8. deadlybot

      deadlybot Banned

      Joined:
      Nov 9, 2012
      Messages:
      142
      Likes Received:
      1
      Trophy Points:
      0
      Yes, I will give it a try in the morning as I just got back home and it is a little late. I am still having those grey magic errors and am thinking of trying a windows xp install on my Virtual machine because I have tried everything I can think of at least 30 times each. It could even be as simple as an option on my VMware that I am unaware of.

      I hate windows live and msn messenger with a passion and will do anything possible to not install that garbage on my computer. I think if I cannot get it working without these grey errors in the next few days I will have to cave in and speak to Tony.

      It would be lovely if Buddywing supported Skype + team viewer.
       
    9. deadlybot

      deadlybot Banned

      Joined:
      Nov 9, 2012
      Messages:
      142
      Likes Received:
      1
      Trophy Points:
      0


      Hey Jade,
      in your new KineticCombat.cs I think it would be a good idea to change

      Cast("Lacerate", lacerateWhen => Me.MobCountAround(Global.Distance.MeleeAoE) >= 3),

      to

      Cast("Lacerate", lacerateWhen => Me.MobCountAround(Global.Distance.MeleeAoE) >= 2),


      as I have noticed a mixture of ranged and melee mobs in most groups. So with the mobcount set to 3 whirling blow which I am guessing is lacerates opposite rarely uses it now. Setting it to >= 2 (That is if I am correct in guessing >= 2 means equal to or greater than 2 mobs) will make it way more useful and used more effectively.
       
    10. deadlybot

      deadlybot Banned

      Joined:
      Nov 9, 2012
      Messages:
      142
      Likes Received:
      1
      Trophy Points:
      0
      I will try you new code shortly and report back.
       
    11. deadlybot

      deadlybot Banned

      Joined:
      Nov 9, 2012
      Messages:
      142
      Likes Received:
      1
      Trophy Points:
      0
      Could you change this line of code for me please. This is for default combat.

      Spell.Cast("Whirling Blow", castWhen => Helpers.Targets.Count() >= 2),

      Can you change it so it only works when 2 or more mobs are in melee range and only as part of the rotation. I think the castwhen is making it get stuck on this skill and I just want it in the rotation. Does that make sense ?
       
    12. chinajade

      chinajade Well-Known Member Moderator Buddy Core Dev

      Joined:
      Jul 20, 2010
      Messages:
      17,540
      Likes Received:
      172
      Trophy Points:
      63
      I believe the way the math works, is that the damage per resource cost of Lacerate/Whirling Blow is not a good choice unless at least three mobs can be hit with that attack. It may be 'funner' to see it used more frequently, but it is not resource-efficient to do so.

      If you find out differently, let me know and we can easily change that.

      cheers,
      chinajade
       
      Last edited: Nov 14, 2012
    13. chinajade

      chinajade Well-Known Member Moderator Buddy Core Dev

      Joined:
      Jul 20, 2010
      Messages:
      17,540
      Likes Received:
      172
      Trophy Points:
      63
      Change the line to read:

      Spell.Cast("Whirling Blow", castWhen => Helpers.Targets.Count(t => t.Distance <= 0.4f) >= 2),

      cheers,
      chinajade
       
    14. deadlybot

      deadlybot Banned

      Joined:
      Nov 9, 2012
      Messages:
      142
      Likes Received:
      1
      Trophy Points:
      0
      One more thing Any Idea why default combat might be using whirling blow while fighting 1 target when I have done the following.

      Balance.cs
      //Spell.Cast("Whirling Blow", castWhen => Helpers.Targets.Count() >= 3),

      Infiltration.cs
      //Spell.Cast("Whirling Blow", castWhen => ObjectManager.GetObjects<Buddy.Swtor.Objects.TorNpc>().Count(o => o.Distance <= Global.MeleeDist && !o.IsDead) >= 3 && Helpers.Targets.Count() >= 3),

      Kinetics.cs
      Spell.Cast("Whirling Blow", castWhen => Helpers.Targets.Count() >= 2),










      The skill rotation went like this on a single ranged target after the rest of the group was dead.


      Casting Force Stun
      Casting Force Breach
      Casting Whirling Blow
      Casting Saber Strike
      Casting Force Wave
      Casting Whirling Blow
      Casting Whirling Blow
      Casting Saber Strike
      Casting Kinetic Ward
      Casting Slow Time
      Casting Saber Strike
      Casting Force Breach
      Casting Saber Strike
      Casting Whirling Blow
      Casting Saber Strike
       
    15. deadlybot

      deadlybot Banned

      Joined:
      Nov 9, 2012
      Messages:
      142
      Likes Received:
      1
      Trophy Points:
      0

      Thankyou trying now and also changing it back to 3 mobs.
       
    16. deadlybot

      deadlybot Banned

      Joined:
      Nov 9, 2012
      Messages:
      142
      Likes Received:
      1
      Trophy Points:
      0
      Your Deafault combat code fixed this problem. thankyou.
       
      Last edited: Nov 14, 2012
    17. deadlybot

      deadlybot Banned

      Joined:
      Nov 9, 2012
      Messages:
      142
      Likes Received:
      1
      Trophy Points:
      0
      In your new Kinetics.cs I would change

      Cast("Force Lightning", forceLightningWhen => MyTarget.Range <= .4f),
      Cast("Shock", shockWhen => Me.ResourceStat > 45),

      to

      Cast("Shock", shockWhen => Me.ResourceStat > 45),
      Cast("Force Lightning", forceLightningWhen => MyTarget.Range <= .4f),


      The way you have it shock is rarely used and with my 31/2/8 build I have alot of force regen and casting telekinetic throw over and over while building force so fast has me at 100% force through every fight while maybe using shock once when changing to a target not in melee range. My spec having super force regen while having shocks damage boosted and a 45% change to have a second shock cast I want to be using that baby every chance I get. But I guess for a pure dungeon running tank burst dps is not what they are looking for. My build is for farming, Tanky so he is hard to kill dps gear and skills to obliterate mobs. So it is very hard to give you a good answer.


      edit: also to me force lift is useless. But others might need it for something. I do not know :)

      Cast("Deflection", deflectionWhen => Me.HealthPercent <= 80), <--- wasting time for me when I could be hitting something. I use a heal pet for farming I would set mine to <=35 just to give my pet time to heal me up.
       
      Last edited: Nov 14, 2012
    18. deadlybot

      deadlybot Banned

      Joined:
      Nov 9, 2012
      Messages:
      142
      Likes Received:
      1
      Trophy Points:
      0
      Also WingIt seems to just run around everywhere except at the mobs it is supposed to be killing where default combat runs up and beats the shit out of what it has targeted. This could be due to me not having a stable buddywing I am not sure.
       
    19. chinajade

      chinajade Well-Known Member Moderator Buddy Core Dev

      Joined:
      Jul 20, 2010
      Messages:
      17,540
      Likes Received:
      172
      Trophy Points:
      63
      Deadlybot, thank you for so much good feedback!

      Here is try #2: View attachment Darkness_KineticCombat.cs

      It contains:
      • Reversing Shock and Force Lightning as you suggested
      • Moved Whirlwind from (wrongly) being used for short-term crowd-control. It is now used as an interrupt ability.
        For Shadow, its not the crowd-control ability that it is for Sage. My guess is that the sage CC was written first, and the shadow was mostly cloned from it.
      • Deflection will now only be used if you're in a group with one or more other players (pets won't count), or your health drops below 50%.

      Thanks again for the great feedback, and testing this out.


      cheers,
      chinajade
       
    20. chinajade

      chinajade Well-Known Member Moderator Buddy Core Dev

      Joined:
      Jul 20, 2010
      Messages:
      17,540
      Likes Received:
      172
      Trophy Points:
      63
      You're used to DefaultCombat--which honors the BWcore chosen target--and dumps all its energy into that target.

      WingIt instead manages the entire battlefield (all mobs attacking you or the party). You have to completely ignore the target selected by the BWcore, and instead watch what WingIt is doing. This can be hard to see, since WingIt is addressing several targets at once, and doesn't change the "currently selected target" to do it.

      For instance, while you're attacking that mob in front of you, WingIt will also CC a mob 25 yards away if you've such an ability (i.e., a Sage "Force Lift"), and it may interrupt another target 17 yards away (if you've such an ability), and heal or 'intercept' for a team member (PC or pet) in real trouble (if you've such an ability)... all the while attacking the target in front of you.

      All of these actions are taking place without changing the "currently selected target" chosen by BWcore. Effectively, WingIt changes target, uses the ability, and changes back to original target before you can see anything happen.

      This may be why you perceive DefaultCombat as mowing down mobs while WingIt doesn't. WingIt is trying to make certain you and your party are 'safe' at all times. Those 'distance interrupts' its doing, abate incoming damage to you. WingIt may not appear to be as lethal as other CCs, but it should work better in dangerous situations and most definitely in parties.


      cheers,
      chinajade
       
      Last edited: Nov 14, 2012

    Share This Page