• Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • HB ARCHIVES: Singular--DO NOT DELETE

    Discussion in 'Archives' started by bobby53, Nov 19, 2012.

    1. Svenstar123

      Svenstar123 Member

      Joined:
      Dec 24, 2012
      Messages:
      584
      Likes Received:
      24
      Trophy Points:
      18
      Shadowpriest does not cast AOE. Situational it takes ages to kill packs since he does only cast single target spells. Anybody knows how to fix this ?
       
    2. 23051602

      23051602 New Member

      Joined:
      Mar 5, 2011
      Messages:
      379
      Likes Received:
      0
      Trophy Points:
      0
    3. bobby53

      bobby53 New Member

      Joined:
      Jan 15, 2010
      Messages:
      4,040
      Likes Received:
      178
      Trophy Points:
      0
      23051602, Thanks for the post! The Questing Bot is ignoring that a mob has been blacklisted if you are in combat with it. The problem there is that you can't detect an Evade bugged mob until you are in combat with it. Singular already detects the Evade bugged mob, adds it to the Blacklist, clears the current POI if its a Kill type and targets that mob, and also clears the current target frame. I'll add logic so it refuses to cast abilities on Blacklisted mobs, but this will likely leave you standing in place getting attacked by the bugged mob without fighting back. A full solution to continue questing will require a change within the Quest bot. Thanks for the post and good luck with your Hunter, Bobby53
       
    4. Jinze

      Jinze New Member

      Joined:
      Mar 28, 2012
      Messages:
      3
      Likes Received:
      0
      Trophy Points:
      0
      Hello, same problem for me :(

      How to fix it please ?
       
    5. shonishilent

      shonishilent New Member

      Joined:
      Jan 27, 2013
      Messages:
      16
      Likes Received:
      0
      Trophy Points:
      0
      I'd like some help in fixing this or perhaps adding this feature.

      For Druid Balance and Singular, when you use Class Config and then Select Class Specific, there is a section called Common. In that section you can define values for Rejuvenation Heath and Healing Touch Health as well as some other items.

      If we look at an OLD Singular .cs file we see the following (at Singular\ClassSpecific\Druid):

      this is in the Common.cs and is dated from 10/1/2010

      Code:
      /* Original Non Resto Healing
              #region Non Resto Healing
      
              public static Composite CreateNonRestoHeals()
              {
                  return
                      new Decorator(
                          ret => !SingularSettings.Instance.Druid.NoHealBalanceAndFeral && !StyxWoW.Me.HasAura("Drink"),
                          new PrioritySelector(
                              Spell.WaitForCast(false,false),
                              Spell.Heal("Rejuvenation",
                                  ret => StyxWoW.Me.HealthPercent <= SingularSettings.Instance.Druid.NonRestoRejuvenation &&
                                          !StyxWoW.Me.HasAura("Rejuvenation")),
                              Spell.Heal("Regrowth",
                                  ret => StyxWoW.Me.HealthPercent <= SingularSettings.Instance.Druid.NonRestoRegrowth &&
                                          !StyxWoW.Me.HasAura("Regrowth")),
                              Spell.Heal("Healing Touch",
                                  ret => StyxWoW.Me.HealthPercent <= SingularSettings.Instance.Druid.NonRestoHealingTouch)));
              }
      
              #endregion
               */
      you can see it uses the values in the Singular Configuration for Rejuvenation at this section:

      Code:
      Spell.Heal("Rejuvenation",
                                  ret => StyxWoW.Me.HealthPercent <= SingularSettings.Instance.Druid.NonRestoRejuvenation &&
                                          !StyxWoW.Me.HasAura("Rejuvenation")),

      however in the latest release of HB and also in the latest release of Singular itself we see the following area for non-resto heals:


      Code:
      #region Heal
      
              [Behavior(BehaviorType.Heal, WoWClass.Druid, WoWSpec.DruidFeral)]
              [Behavior(BehaviorType.Heal, WoWClass.Druid, WoWSpec.DruidGuardian)]
              public static Composite CreateDruidNonRestoHeal()
              {
                  return new PrioritySelector(
                      Spell.WaitForCast(true),
                      new Decorator(
                          ret => !Spell.IsGlobalCooldown(),
      
                          new Sequence(
                              new PrioritySelector(
      
                                  Spell.Cast("Healing Touch",
                                      ret => Me.HealthPercent <= 80
                                          && Me.ActiveAuras.ContainsKey("Predatory Swiftness")),
      
                                  Spell.Cast("Renewal", ret => Me.HealthPercent < DruidSettings.RenewalHealth ),
                                  Spell.BuffSelf("Cenarion Ward", ret => Me.HealthPercent < 75 || Unit.NearbyUnitsInCombatWithMe.Count() >= 2),
      
                                  CreateNaturesSwiftnessHeal( ret => Me.HealthPercent < 60),
      
                                  new Decorator(
                                      ret => Me.HealthPercent < 40,
                                      new PrioritySelector(
      
                                          Spell.Cast("Disorienting Roar", ret => Me.HealthPercent <= 25 && Unit.NearbyUnfriendlyUnits.Any(u => u.Aggro || (u.Combat && u.IsTargetingMeOrPet))),
                                          Spell.Cast("Might of Ursoc", ret => Me.HealthPercent < 25),
      
                                          // heal out of form at this point (try to Barkskin at least)
                                          new Throttle( Spell.BuffSelf( "Barkskin")),
      
                                          new Decorator(
                                              ret => SingularRoutine.CurrentWoWContext != WoWContext.Battlegrounds,
                                              new PrioritySelector(
                                                  Spell.Cast("Rejuvenation", on => Me, ret => Me.HasAuraExpired("Rejuvenation",1)),
                                                  Spell.Cast("Healing Touch", on => Me)
                                                  )
                                              )
                                          )
                                      )
                                  )
                              )
                          )
                      );
              }
      
              public static Composite CreateNaturesSwiftnessHeal(SimpleBooleanDelegate requirements = null)
              {
                  return CreateNaturesSwiftnessHeal(on => Me, requirements);
              }
      
              public static Composite CreateNaturesSwiftnessHeal(UnitSelectionDelegate onUnit, SimpleBooleanDelegate requirements = null)
              {
                  return new Decorator(
                      ret => onUnit != null && onUnit(ret) != null && requirements != null && requirements(ret),
                      new Sequence(
                          Spell.BuffSelf("Nature's Swiftness"),
                          new Wait(TimeSpan.FromMilliseconds(500), ret => Me.HasAura("Nature's Swiftness"), new ActionAlwaysSucceed()),
                          Spell.Cast("Healing Touch", ret => false, onUnit, req => true)
                          )
                      );
              }
      
              public static WoWUnit GetBestHealTarget()
              {
                  if (SingularRoutine.CurrentWoWContext == WoWContext.Normal || Me.HealthPercent < 40)
                      return Me;
      
                  return Unit.NearbyFriendlyPlayers.Where(p=>p.IsAlive).OrderBy(k=>k.GetPredictedHealthPercent(false)).FirstOrDefault();
              }
      
              #endregion

      and notice that the Singular COnfiguration settings aren't even used (Rejuvenation Health NOR Healing Touch) and that it's hard coded for:

      Code:
      ret => Me.HealthPercent < 40,

      and that the Rejuve won't kick in until health is below 40 and all other priority are met.


      I tried to create my OWN rejuv section above this or further up in the priority but it seems to not work and Rejuv isn't cast, but I must admit I don't have any good understanding of coding these things.

      So I would ask the following:

      1) Why was the settings from the Singular Configuration values removed and replaced with hard-coded values (at least for Common.cs for Druid)?
      2) can this be replaced back using the values?
      3) can we again, separate Rejuv and Healing Touch from each other so they aren't hard-coded within the same priority section?
      4) does someone have a quick code fix I can insert into this code section so that Rejuve will be cast if the health of my druid goes below 85 and rejuve isn't already in progress on me?

      thanks in advance-
       
    6. the-quality

      the-quality Member

      Joined:
      Feb 25, 2012
      Messages:
      139
      Likes Received:
      1
      Trophy Points:
      18
      hi,

      i have a little request here :)

      when the bot stuck for any issues, maybe he is in a fight and line of sight or same other issue and the bot go to an afk flag or anything else, can he use automaticly the following spell?

      Shadowmeld - Spell - World of Warcraft

      i have tested and it works fine, he go to shadowmeld and the bot swich to flightform and all works fine :)
       
    7. bobby53

      bobby53 New Member

      Joined:
      Jan 15, 2010
      Messages:
      4,040
      Likes Received:
      178
      Trophy Points:
      0
      Thanks for taking the time to post. I am not getting the same results as you. I will look into this for you, but you will need to follow the steps in Reporting Bugs [CLICK HERE] so I have the details needed to see why you are having a problem. Be sure to set the Singular setting Debug Logging = true before running to create a log file containin more detail about your Shadow Priest. Thanks for the post, Bobby53
       
    8. bobby53

      bobby53 New Member

      Joined:
      Jan 15, 2010
      Messages:
      4,040
      Likes Received:
      178
      Trophy Points:
      0
      the-quality, Thanks for taking the time to post. I am happy to add support for Shadowmeld, but you will need to be more specific about the situations you want it cast in. The character should move into line of sight for an enemy it tries to kill or a group member it tries to heal. If it isn't, please follow the steps in Reporting Bugs [click here] to provide the detail needed for me to fix that in Singular. Thanks again for the post and good luck with your Night Elf, Bobby53
       
    9. bobby53

      bobby53 New Member

      Joined:
      Jan 15, 2010
      Messages:
      4,040
      Likes Received:
      178
      Trophy Points:
      0
      Thanks for taking the time to post! I greatly appreciate the effort you put into its preparation and researching the issue (I more than most realize how much time that represents.) However, the code you were referencing applies to Guardian and Feral Druids, not Balance. What will work better than citing code references when requesting changes to behavior is to follow the steps in the Reporting Bugs [click here]. That way I'll have the specifics about your setup, the versions of the software you are using, the combat situation in question, etc. Just be sure to enable the Singular setting for Debug Logging = true so it contains the most detail about your combat situation. Please also be specific about the time where it didn't cast Rejuvenation that you felt it should. As for settings, I am more in favor of the combat routine dynamically assessing the situation and automatically making the correct choice. Settings provide a way to express a single value (in this case for Rejuvenation Health %) that doesn't apply to all situations the character will encounter so you are left to change it each time the botting environment changes. Additional options will be added in the future as some of these issues are addressed.

      My apologies for any bugs that may be hampering your use of Singular. I will continue to work diligently to not only address those reported, but to also provide improvements in handling the combat scenarios encountered when they are reported.

      If you would like Rejuvenation cast sooner/more often, upgrade to Singular .1692 available from the Singular thread. It will recognize Glyph of the Moonbeast. Knowing that Rejuvenation won't cause you to leave form, it will keep Rejuvenation up during combat regardless of health %. If that isn't occurring, see the link provided above for posting a bug.

      Thanks again for your post and good luck with your Druid, Bobby53
       
    10. aeus

      aeus Member

      Joined:
      Jan 15, 2011
      Messages:
      507
      Likes Received:
      3
      Trophy Points:
      18
      Hey bobby53.
      I'm leveling as druid atm (lowlvl 8+) and so far it works really well.
      One thing I'm wondering:

      Is it supposed to cast moonfire before going to catform everytime or only at lowlvls? Because my "stealth mode pull" is true but it always cast moonfire for pulling and then going into catform.

      EDIT: Nvm, seems to use it at higher lvl.
       
      Last edited: Feb 7, 2013
    11. bobby53

      bobby53 New Member

      Joined:
      Jan 15, 2010
      Messages:
      4,040
      Likes Received:
      178
      Trophy Points:
      0
      aeus, Thanks for taking the time to post! Just to confirm, your findings are correct. Lowbie Druids (from Level 1 until you choose a specialization) will pull with Moonfire. Once you choose a specialization at Level 10 or later, the Pull will be done in a specialization specific manner. In the case of Feral, it will use a stealth mode Cat Form pull. Thanks for the post and good luck with your Druid, Bobby53
       
    12. Anonuzer01

      Anonuzer01 Active Member

      Joined:
      Sep 9, 2010
      Messages:
      947
      Likes Received:
      26
      Trophy Points:
      28
      Bobby,

      I'm leveling a Resto Shaman, currently level 41. Everytime I enter an instance when there is nothing to heal my shaman will chain swap water shield and lightning shield. I've tried both version 1725 that came with the latest Honorbuddy (532) and I've tried Singular 1692. Both seem to do it. The chain swapping will go on and on until either I pause the bot or someone needs a heal. Snippet below, full log attached. It looks like Singular cast the proper spell then "CGSpellBook" Overrides it and casts Lightning Shield.


      [06:38:31.770 D] [CGSpellBook::CastSpell] Override ID: 324, KnownIndex: 55
      [06:38:33.186 N] [Singular] Casting Water Shield on Me
      [06:38:33.188 D] [CGSpellBook::CastSpell] Override ID: 52127, KnownIndex: 61
      [06:38:34.691 N] [Singular] Casting Lightning Shield on Me
      [06:38:34.693 D] [CGSpellBook::CastSpell] Override ID: 324, KnownIndex: 55
      [06:38:36.117 N] [Singular] Casting Water Shield on Me
      [06:38:36.119 D] [CGSpellBook::CastSpell] Override ID: 52127, KnownIndex: 61
      [06:38:37.448 N] [LazyRaider] LazyRaider PAUSED, press LALT in WOW to continue
      [06:39:06.319 N] [LazyRaider] LazyRaider Running....

      Edit: Log will be back in a moment, had to edit some stuff out.
       

      Attached Files:

      Last edited: Feb 8, 2013
    13. kaihaider

      kaihaider Community Developer

      Joined:
      May 18, 2010
      Messages:
      1,325
      Likes Received:
      5
      Trophy Points:
      38
      I think he's talking about when the bot is stuck in combat without a target.

      It used to be a really annoying bug but I've noticed that now the bot base generally goes running off towards the next poi and combat drops from range.
       
    14. bobby53

      bobby53 New Member

      Joined:
      Jan 15, 2010
      Messages:
      4,040
      Likes Received:
      178
      Trophy Points:
      0
      @artimithe: Thanks for the detailed post and log file. Until Level 58 where you learn Obliterate as Frost or Scourge Strike as Unholy, the lowbie DKs will cast some spells at the lowest priority on cooldown rather than building up runic power or only when debuffs expire. For Blood the only change is it will cast Plague Strike on cooldown at the lowest priority until learning Death Strike at level 56. Thanks for the post and good luck with your Death Knight, Bobby53

      shwn, Thanks for the post! Although the description says it was auto-attacking only, it was casting abilities. Although you reference Frost, the log files were for an Unholy DK but the general issue was the same. At a point where you only had a few abilities, it was casting them only to apply debuffs or at a certain level of runic power rather than casting on cooldown to maximize what little damage you had. This is fixed in the next release as described in above reply to artimithe! Thanks for the post and good luck with your Death Knight, Bobby53
       
      Last edited: Feb 8, 2013
    15. bobby53

      bobby53 New Member

      Joined:
      Jan 15, 2010
      Messages:
      4,040
      Likes Received:
      178
      Trophy Points:
      0
      Anonuzer01, My apologies. That's an ugly one that slipped by. Fixed in the next release, Bobby53
       
    16. daemon9

      daemon9 New Member

      Joined:
      Feb 11, 2011
      Messages:
      528
      Likes Received:
      5
      Trophy Points:
      0
      Combat Toggle Bug

      What Class+Spec are you?: Frost DK
      What 'context' is the bot in? (Instance, BG, Normal): Normal/Instance
      What level are you?: 90
      Have you made any modifications to Singular?: No
      What time (HH:MM:SS) or LogMark did your issue occur? 19:28:28.578 D
      What happened (be specific)? When combat toggle key is pressed, multiple instances are actuated from one key press causing combat to toggle on and off with a random result. This happens with any character on any client.
      Did you attach a complete debug log? (choose one: YES or YES) Yes.

      View attachment 5796 2013-02-09 13.26.txt
       
    17. grizzle

      grizzle New Member

      Joined:
      Jan 19, 2013
      Messages:
      17
      Likes Received:
      0
      Trophy Points:
      0
      Is there any way to add the option for classes that can cleanse to use that ability? For example, I'm farming love charms atm and the mobs apply a stacking dot on my which I want the bot to remove with Detox.
      Other than that, Singular is best combat routine in my opinion because it's the only one that does good toggable aoe.
       
    18. Nazaruk

      Nazaruk Member

      Joined:
      Jan 15, 2010
      Messages:
      149
      Likes Received:
      1
      Trophy Points:
      18
      Possible add to rogue always use Stealth? Right after loot etc
       
    19. Toney001

      Toney001 New Member

      Joined:
      Oct 12, 2011
      Messages:
      1,206
      Likes Received:
      5
      Trophy Points:
      0
      Hey Bobby!
      I noticed you took over Singular, so while leveling my Shaman I switched to it from ShamWoW just to try it.
      It's working great, but I noticed I had a ton of deaths, and after watching my bot for a while I noticed that when surrounded by mobs, it'd keep dpsing and wouldn't heal, therefore eventually die, a lot.

      It heals fine after combat, but it seems that it won't heal DURING combat, even with an almost full mana bar.
      Here's a log, hope you can fix it :)

      Thanks in advance.
       

      Attached Files:

    20. Arthzil

      Arthzil Member

      Joined:
      Jan 12, 2012
      Messages:
      104
      Likes Received:
      2
      Trophy Points:
      18
      Some crap is happening. After random time Druid (noticed from level 10-21 so far) stops rotation and this happens:

      [15:20:27.401 D] [QDBG] Starting behavior [ForcedQuestObjective Objective: [GrindObjective MobID: 33195, Count: 5]].
      [15:20:27.401 D] Goal: Goal: Kill Ashenvale Bowman x 5
      [15:20:27.411 D] Changed POI to:Type: Kill, Name: Ashenvale Skirmisher
      [15:20:27.535 D] Cleared POI - Reason POI is dead from Combat
      [15:20:27.535 D] Cleared POI
      [15:20:27.684 D] Changed POI to:Type: Kill, Name: Ashenvale Skirmisher
      [15:20:27.811 D] Cleared POI - Reason POI is dead from Combat
      [15:20:27.811 D] Cleared POI
      [15:20:27.986 D] Changed POI to:Type: Kill, Name: Ashenvale Bowman
      [15:20:28.192 D] Activity: Moving towards Ashenvale Bowman

      have to restart bot if I want it to use any skills other than auto attack...
       

    Share This Page