• Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Singular - A community driven All-In-One CC - It Just Plain Works - (Pt. 2)

    Discussion in 'Archives' started by Xanathos, Apr 19, 2011.

    1. khurune

      khurune Member

      Joined:
      Jan 15, 2010
      Messages:
      836
      Likes Received:
      4
      Trophy Points:
      18
      iirc, You need the spaces inbetween 10*10.
      Code:
      ret => Unit.NearbyUnfriendlyUnits.Count(u =>  u.Location.DistanceSqr(StyxWoW.Me.CurrentTarget.Location) < 10 * 10)  > 2
      
       
    2. HyperMonkey

      HyperMonkey Member

      Joined:
      Jul 3, 2010
      Messages:
      517
      Likes Received:
      7
      Trophy Points:
      18
      Incorrect sorry, doesn't really change anything..
       
    3. HyperMonkey

      HyperMonkey Member

      Joined:
      Jul 3, 2010
      Messages:
      517
      Likes Received:
      7
      Trophy Points:
      18
      Possible some developer familiar with the latest Singular from the SVN can tell me if I'm doing the following right:
      Code:
      new Decorator(
          ret => Clusters.GetClusterCount(StyxWoW.Me.CurrentTarget, Unit.NearbyUnfriendlyUnits, ClusterType.Radius, 10) > 1,
          Spell.CastOnGround("Rain of Fire", ret => StyxWoW.Me.CurrentTarget.Location)
      ),
      
      Also tried:

      Code:
      ret => Unit.NearbyUnfriendlyUnits.Count(u => u.Location.DistanceSqr(StyxWoW.Me.CurrentTarget.Location) < 20 * 20) > 1,
      
      Basically I can't seem to get the GetClusterCount to return anything other than 0.. Am I doing it wrong, or is it a bug?

      EDIT: Seems to work in Dungeons, just not on target dummies :)
       
      Last edited: Sep 5, 2011
    4. raphus

      raphus Administrator Staff Member Moderator Buddy Core Dev

      Joined:
      Jun 17, 2010
      Messages:
      2,094
      Likes Received:
      492
      Trophy Points:
      83
      NearbyUnfriendlyUnits only contains hostile units around, not neutral ones like dummies
       
    5. LiquidAtoR

      LiquidAtoR Community Developer

      Joined:
      Jan 15, 2010
      Messages:
      1,430
      Likes Received:
      52
      Trophy Points:
      48
      Messing with the MotW for party.
      Looked at the paladin part and copied it to druid (Raphus's work btw).
      Seems to work for whole party and solo.

      Don't mind the Aquatic stuff, that's something I'm messing with myself.

      In the Druid map > Common.cs
      Code:
      using System.Collections.Generic;
      using System.Linq;
      using Singular.Dynamics;
      using Singular.Helpers;
      using Singular.Managers;
      using Styx;
      using Styx.Combat.CombatRoutine;
      using Styx.Logic.Combat;
      using Styx.WoWInternals.WoWObjects;
      using TreeSharp;
      namespace Singular.ClassSpecific.Druid
      {
          public class Common
          {
              public static ShapeshiftForm WantedDruidForm { get; set; }
              [Class(WoWClass.Druid)]
              [Behavior(BehaviorType.PreCombatBuffs)]
              [Spec(TalentSpec.BalanceDruid)]
              [Spec(TalentSpec.FeralDruid)]
              [Spec(TalentSpec.FeralTankDruid)]
              [Spec(TalentSpec.RestorationDruid)]
              [Spec(TalentSpec.Lowbie)]
              [Context(WoWContext.All)]
       
              public static Composite CreateDruidPreCombatBuffs()
              {
                  return
                      new PrioritySelector(
                          Spell.Cast("Aquatic Form",
            ret => StyxWoW.Me.IsSwimming
           ),
          CreateDruidBuffBehavior()
                  );
              }
       
              private static Composite CreateDruidBuffBehavior()
              {
              return
                  new PrioritySelector(
                      Spell.Cast("Mark of the Wild",
                          ret => StyxWoW.Me,
                          ret =>
                          {
                              var players = StyxWoW.Me.IsInParty
                                                    ? StyxWoW.Me.PartyMembers.Union(new List<WoWPlayer> { StyxWoW.Me })
                                                    : StyxWoW.Me.IsInRaid
                                                          ? StyxWoW.Me.RaidMembers.Union(new List<WoWPlayer> { StyxWoW.Me })
                                                          : new List<WoWPlayer> { StyxWoW.Me };
                              var result = players.Any(
                                      p => p.DistanceSqr < 40*40 && 
                                           (!p.HasAura("Mark of the Wild") || p.Auras["Mark of the Wild"].CreatorGuid != StyxWoW.Me.Guid) &&
                                           !p.HasAura("Blessing of Kings") &&
                                           !p.HasAura("Embrace of the Shale Spider"));
                              return result;
           }
          )
                  );
              }
          }
      }
      
       
      Last edited: Sep 6, 2011
    6. scoboose

      scoboose New Member

      Joined:
      Feb 11, 2010
      Messages:
      99
      Likes Received:
      0
      Trophy Points:
      0
      Trying to report a bug.

      What Class are you?:Lock
      What Spec are you?: Demon
      What 'context' is the bot in? (Instance, BG, Normal): Normal
      What level are you?: 51
      What revision of Singular are you using?: Rev 361
      Have you made any modifications to Singular?: No
      Are you using a branched build, or the trunk build? (Only viable for developers): Trunk?
      What version of Honorbuddy are you using?: v2.0.0.5354

      Please provide an explanation of the bug. The more detail, the easier it will be to resolve.

      Bot hangs on start up.

      here is where is hangs

      [2:26:10 PM:173] [Singular-DEBUG] MinReqs: True - CanCast: False
      [2:26:10 PM:174] [Singular] Casting Fel Armor on Myself


      Attach your log to your post!


      View attachment 9-6-2011_2_25 PM 1120 Log.txt

      Rolled back to last rev and is working fine.
       
      Last edited: Sep 6, 2011
    7. dayloon

      dayloon Active Member

      Joined:
      Mar 5, 2010
      Messages:
      1,046
      Likes Received:
      3
      Trophy Points:
      38
      Exactly the same problem as above ^ ^ [Singular-DEBUG] MinReqs: True - CanCast: False
       
    8. Apoc

      Apoc Moderator Staff Member Moderator

      Joined:
      Jan 16, 2010
      Messages:
      2,790
      Likes Received:
      94
      Trophy Points:
      48
      You can update again. I've been using Singular while testing some changes to HB. (I noticed a few bugs that have been fixed properly)

      And yes, I still work on Singular, when I have the time.

      Sorry there hasn't been a whole lot of updates lately for it!
       
      Zacharybinx34 likes this.
    9. dayloon

      dayloon Active Member

      Joined:
      Mar 5, 2010
      Messages:
      1,046
      Likes Received:
      3
      Trophy Points:
      38
      Hmmm. Saying no updates for me
       
    10. Apoc

      Apoc Moderator Staff Member Moderator

      Joined:
      Jan 16, 2010
      Messages:
      2,790
      Likes Received:
      94
      Trophy Points:
      48
      I know what you're trying to do, but whats in Singular right now should work just as well.

      Code:
                  return new PrioritySelector(
                      Spell.Cast(
                          "Mark of the Wild",
                          ret => StyxWoW.Me,
                          ret =>
                          Unit.NearbyFriendlyPlayers.Any(
                              unit =>
                              !unit.Dead && !unit.IsGhost && unit.IsInMyPartyOrRaid &&
                              !unit.HasAnyAura("Mark of the Wild", "Embrace of the Shale Spider", "Blessing of Kings")))
                      );
      Does effectively the same thing.
       
    11. Zacharybinx34

      Zacharybinx34 New Member

      Joined:
      May 11, 2011
      Messages:
      672
      Likes Received:
      6
      Trophy Points:
      0
      Is it possible to fix the CC so for Melee it can still reach Boss Hit boxes? This is one the primary problems with this CC. The other one, is lack of configurable options for turning on and off cooldown abilities.

      Thanks!
       
    12. Zacharybinx34

      Zacharybinx34 New Member

      Joined:
      May 11, 2011
      Messages:
      672
      Likes Received:
      6
      Trophy Points:
      0
      1. Could you possible fix the rotations for SMF Fury and Titans Grip. The rotations are different at max level for each, but for these it's not implementing correctly.
      2. For Arms, if the warrior's own Colossus Smash is on the mob can you make so won't use CS again if that debuff is on the mob?
      3. Finally, can you have the bot stop rage dumping when Colossus Smash is 6 seconds away from being off CD - during this 6 second window it should not use Heroic Strike UNLESS rage = > 90.

      Once I finish my classes, I'll start working on the code myself and tossing some changes out.

      Thanks!
       
    13. Apoc

      Apoc Moderator Staff Member Moderator

      Joined:
      Jan 16, 2010
      Messages:
      2,790
      Likes Received:
      94
      Trophy Points:
      48
      There will be a fix in the next HB release for this. (As you can tell by my code in Spell.cs and the new debug output when switching a target)

      It will know about "large" hitboxes for melee.

      CS should be used on CD, regardless of any other conditions. Its a giant DPS tool, and you don't really care too much about the debuff once its up. (Yes, you want it up as much as possible, but CS itself hits very hard, and is worth keeping on CD regardless of whether the debuff is on the target or not)

      As for fury; the only difference between the two is the location of Slam and Raging blow, right? (Slam is more important for SMF than TG, so it moves "up" in the rotation)
       
    14. Zacharybinx34

      Zacharybinx34 New Member

      Joined:
      May 11, 2011
      Messages:
      672
      Likes Received:
      6
      Trophy Points:
      0
      Yep, Exactly right on Both spec's prioritize slam/raging blow differently, that's it.

      Are you sure about Arms and Colossus Smash being better to not delay? I know CS is pretty good damage, but the debuff is like 6 seconds, so if you get a CS refresh isn't it better to finish rage dumping MS>OP> into that, then doing it all over again once the debuff drops?

      What do you think about the idea of having Arms and Fury rage pool for 5-6 seconds before CS comes off CD - and by rage pool I mean ONLY not use heroic strike unless rage is greater than 85. Everything I've read says this is how to increase your dps substantially - please correct me if I am wrong.

      The other thing would be nice to have options to disable cooldowns like Recklessness/retaliation/Enraged Regeneration/Charge/Heroic Leap/Throwdown/Intercept/Heroic Fury/Deathwish/heroic throw/shattering throw/and battleshout commanding shout. Basically an option to have it only do the base rotation.
      As it stands, Right now, I manually take them out so I can use them in raids and pvp - but if options could be thrown in this would be awesome for use with lazy raider with raiding and PVP.

      - Right now there is a plugin being created that is going to take over all interrupts and let you choose which ones to do. So if an option to turn on and off interrupts would make this complete!

      - One bug that I still find all the time is that it won't cast shattering throw on Paly Bubbles still - though I see it in the code.

      - Oh and finally, is inner rage going to be implemented for AOE support?



      If these above things are implemented, the warrior class is perfect.
      Thanks Apoc!
       
    15. Apoc

      Apoc Moderator Staff Member Moderator

      Joined:
      Jan 16, 2010
      Messages:
      2,790
      Likes Received:
      94
      Trophy Points:
      48
      I asked on of our Arms warriors (and just checked EJ and Noxxic), they all say to use CS on cooldown. Especially with it proccing decently often, you should be fine using it on CD. (If the debuff isn't there, it isn't there, its not something you need to keep up 100%. Plus, the proc only stays active for like 2s, so you need to use it or lose it)

      As for most anything War related in Singular (excluding prot wars), you'll have to talk to jon310 (I think I got the numbers right). He wrote the rotations, and seeing as how they work, I won't be changing them. :(
       
    16. Jon310

      Jon310 Member

      Joined:
      Jan 15, 2010
      Messages:
      368
      Likes Received:
      8
      Trophy Points:
      18
      I'll look into adding the pool rage feature, not sure if I have the skill to do this. I'll put most things that are not the default rotation in a setting that can be toggled. I'll also make it so that the rotations are different for TG and SMF warriors.

      I have shattering throw in the cc but I haven't been able to get it working properly. I have some ideas, so I'm going to try some of them out and if I cant get it I'll post again.

      I know you have been requesting these changes for quite awhile, sorry I have been slow on getting features added. (School, 18 units, girlfriend and raiding FL)

      I took out all racials and cut the cc down to its basic form around 20 rev's ago because I was experiencing it slowing down the more features I added. Keep in mind that if any of these features start bogging down the cc I will not be including them as a slow reacting cc is useless.
       
    17. Zacharybinx34

      Zacharybinx34 New Member

      Joined:
      May 11, 2011
      Messages:
      672
      Likes Received:
      6
      Trophy Points:
      0
      I completely agree.

      Not doubting your coding skills, but could it just be that when this happens some of the code isn't optimally placed? If that happens couldn't we try to get the attention of Apoc or someone to glance at the code to make sure nothing is out of place?

      Thanks for your work, looking forward to some updates!
       
    18. Jon310

      Jon310 Member

      Joined:
      Jan 15, 2010
      Messages:
      368
      Likes Received:
      8
      Trophy Points:
      18
      Please, doubt my coding skills because I have none. lol I'm not sure if it was the way it was done or not, but the warrior cc was at least twice as large as the next largest cc. It was mostly frills that were removed/reorganized and I doubt that anything I add in these changes will amount to even close to what it was.

      I have the rotations for SMF and TG working properly, but am running into snags when looking into changing HS while Colossus Smash is about to come off of cooldown. I was trying SpellManager.Spells["Colossus Smash"].CooldownTimeLeft <= 6 but it doesn't seem to be correct, Apoc added the CooldownTimeLeft recently so I am not sure about its correct implementation, or how it can be applied to this.

      The settings portion is just a matter of time. I have class for the next 4 hours or so. I'll post my progress a little later tonight. In the mean time if anyone knows how to check the time left on the cooldown of a spell I'd appreciate a point in the right direction. Thanks.

      EDIT: New version up with settings (Interupts, AOE, Basic rotation, Slows, DPS cooldowns) and a separated rotation for TG and SMF. Let me know of anything that isn't working properly or needs to be changed. If your a TG warrior, literally nothing has changed lol.
       
      Last edited: Sep 7, 2011
    19. Zacharybinx34

      Zacharybinx34 New Member

      Joined:
      May 11, 2011
      Messages:
      672
      Likes Received:
      6
      Trophy Points:
      0
      Hey Jon,
      Looking really really good, thanks!

      1. Did you find a way to fix the shattering throw on both Paly Bubble/Iceblock?

      2. Is there a way to disable cooldowns such as Death Wish, Recklessness, but have an option to still have Berserker Rage used on CD
      Same thing for Battle/Commanding Shout on CD between no skill available points?

      3. Basically, I know that using Bersker rage on CD and Battleshout (if you have the Tier bonus) is worth using basically on CD - though I'm not sure exactly where (right before a CS? Or just between BloodThrists?). It would be nice to not have to manage those 2, but still have control over the others.
      - Maybe individual options for Berserker Rage on CD and Battleshout/Commanding on CD?

      5. Did you find a way to not use Heroic Strike when CS is 6-7 seconds away from being usable? - Unless rage is greater than 85?

      6. Does the AOE support include Inner Rage / Whirlwind Priority / Cleave ?

      7. Finally, I keep forgetting, Can you make so we can change which shout it uses? I always have to go edit the file depending on what classes I am with.

      P.S. What is the differene between
      [basic rotation only]
      and
      [Use Damage Cooldowns] ?

      Thanks again!


      Edit: just did some more testing. I noticed 2 further things, then I believe this CC is completed with what I mentioned above ^

      1. Is there a way to make so that the bot will NEVER follow a Raging Blow with a Slam? (and vice versa)
      The problem is that you never want to skip a blood thirst, Blood Thirst is a 3 second CD so you can only do something besides bloodthirst every other special - except with Colossus Smash, which you want to have Blood Thirst at least 1.5 seconds away from being off CD before you use it. Basically, you don't wanna use Blood thirst if CS is 1.5 second away from being off CD.

      2. A HUGE DPS gain would be to find a way to dump more rage into Colossus Smash when its debuff is up. What Warriors do is try to rage pool, and then when the CS Debuff is up they blow basically all their rage into it - but still save enough for the next Bloodthirst.

      3. It seems to be prioritizing Slam Proc's over Colossus Smash - can this be reversed to prioritize CS over Slam Procs. Maybe if CS is < 1.5 seconds from being off CD don't use any specials.

      It might be asking a lot, but this would be amazing.

      Thanks!
       
      Last edited: Sep 7, 2011
    20. Apoc

      Apoc Moderator Staff Member Moderator

      Joined:
      Jan 16, 2010
      Messages:
      2,790
      Likes Received:
      94
      Trophy Points:
      48
      CooldownTimeLeft.TotalSeconds < 6 should resolve the CS problem.

      As for Shattering Throw, you need to make sure you stop movement.

      Code:
                      new Decorator(ret=>StyxWoW.Me.CurrentTarget.HasAnyAura("Hand of Protection", "Divine Shield", "Ice Block"),
                          new PrioritySelector(
                              Spell.WaitForCast(),
                              Movement.CreateEnsureMovementStoppedBehavior(),
                              Spell.Cast("Shattering Throw"))),
      Somewhere before your other stuff should work. (If not, lemme know. I'd suggest putting it before any other movement code to ensure you sit still while you cast it)
       

    Share This Page