What's new
  • Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Visit Resources
  • Visit Downloads
  • Visit Portal
RebornBuddy Forums

Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

HB ARCHIVES: Singular--DO NOT DELETE

Hey bobby,

In /Helpers/Spell.cs, line 1982 (in function ContextCastOnGround), this line:

Code:
if (cog.spell == null || cog.loc == WoWPoint.Empty || !requirements(cog.context))

should probably have a NULL check on requirements, such as:

Code:
if (cog.spell == null || cog.loc == WoWPoint.Empty || (requirements != null && !requirements(cog.context)))

otherwise it throws exceptions like crazy and causes issues in a few routines. The place I ran into it was with a Mistweaver monk while he was attempting to place his jade statue - it was passing in NULL for requirements (I assume that was intended to say "no requirements") and erroring out constantly, causing it to stop healing entirely and inflate the log files to several hundred MB very quickly.
 
Available for download from Post #1 of this thread.

Quick fix for those having a problem with Singular casting Garrison Ability when the spell is overridden as Telaari Talbuk or Frostwolf War Wolf in Nagrand. To resolve this issue you can either upgrade to 4.0.0.3974 or disable the use of the Garrison Abilities by setting the Class Config values Garrison Ability: at Health % to 0 and Garrison Ability: at mob count to 99

Note: if its worth posting about, its worth following the steps in Post #4 - Reporting Bugs in Singular.

Is there any way to keep Singular from dismounting from the Telaari Talbuk?? or is this apart of the botbase?
 
*new* Singular v4.0.0.3991 available for download!

Refinement on Shadow Priests improving their survival and kill rate in WoD. Also final revision of support for Garrison Abilities to avoid using those which are not attacks.

If its worth posting about, its worth following the steps in Post #4 - Reporting Bugs in Singular.

More to come.....
-Bobby53

--- Release 4.0.0.3991 ---

General


fixed - Garrison Abilities - added an internally maintained list of which ones Singular will cast. Limited to those which inflict damage only


change- Solo Combat for Casters - will no longer move to the side to keep mobs in front. This was less of a benefit to casters and introduced short delays where they couldn't ABC (Always Be Casting)






Mage


fixed - Frost - removed Fire Blast which remained from MoP as a filler on frost immune mobs. Since this spell is now overriden by Ice Lance in WoD and some preceding combat routine logic had changed, it was unintentionally casting more Ice Lance's than desired. Fire Blast now cast only prior to learning Ice Lance




Priest


change- All Specs - revised logic for casting Mindbender/Shadowfiend so they are cast more frequently


change- Shadow - Psychic Scream improved. Settings added to provide user more granular control. Should now cast more frequently in "we are going to die anyway" situations, and much more frequently if Glyph of Psychic Scream is equipped


change- Shadow - Psychic Horror improved. Now cast to crowd control a mob long enough to get a heal off when Solo. Also cast with awareness of whether Psychic Scream is available, off cooldown, and its an AoE situation


change - Shadow - Healing. Prayer of Mending now defaults to 0% (which disables it.)


change - Shadow - Healing. Flash Heal defaults to 30%


fixed - Shadow - Healing. Will now only use healing spells with a cast time if all attackers within 40 yds are crowd controlled. This combined with improved Psychic Horror/Psychic Scream usage will improve survivability


change- Shadow - Vamipiric Embrace. Will now cast only if below the Vampiric Embrace Health % configured and the target will survive more than 15 seconds or there are multiple attackers


change- Shadow - Devouring Plague. Will now target the highest health attacker to maximize healing


change- Shadow - Solo AOE Combat. This has been an issue in WoD leveling - you should see improved results due to a change in the spell priority in this area


fixed - Shadow - Solo Single Target Combat. Added support for Insanity which was missing. Reprioritized spells to give faster damage.




Warrior


fixed - Fury / Arms - both struggled at low levels from 10 -20 due to low Rage generation. Revised to cast spells without attempting to pool rage until Whirlwind is learned
 
Sorry for offending you. I'm very impressed by your work and I know it's good from watching singular on other classes. It just set the bar high that once I loaded my squishy toons I was shocked by how badly they do in comparison. I've reviewed post #4 and hopefully the attached details and logs will be more helpful to you. Thank you for your time. Either myself or the settings are doing something very wrong so I just want to get it straight.

What Class+Spec are you?: Priest, Shadow
What 'context' is the bot in? (Instance, BG, Normal): Questiing, WoD. Specifically Talador in the logs.
What level are you?: 96
Have you made any modifications to Singular?: Disabled "Pull More" to try to help it survive. Before, it would tag 2-3 mobs all the time and just insta-die.
What time (HH:MM:SS) or LogMark did your issue occur? See below
What happened (be specific)? See below
Did you attach a complete debug log? Yes

08:30:00 Logmark 1: Failed to contact singular, just randomly stopped fighting and died.
08:42:00 Logmark 2: (Singular) info: 20.3 seconds since BotBase last called Singular (now in Rest) Seems to be same problem as before. Stopped and restarted.
08:44:00 Logmark 3: Always uses prayer of mending as soon as it's off cooldown. It does this pretty much every pull. Wasting a lot of time, mana and more health than it's worth.
08:51:00 Logmark 4: Waiting to recover health and mana. But even after recovering to 100%, it continues to sit. Stopped and restarted.

I don't normally have issues with Singular failing to respond or not resuming after recovering health/mana. Those may have been unrelated. It's mainly the combat logic that gets me killed. I didn't logmark each detail but almost every death was avoidable, so "I died!" should be a reasonable mark; logged a couple dozen and most have the same problems...

General

Appears to have no awareness, targeting a distant mob and walking up to melee range of it, aggro'ing multiple others in the process.
Does not handle multiple mobs well at all. Two regular mobs is a challenge, 3+ is often guaranteed death.
While healing itself, it doesn't pay attention to the target's health or casting. Many times the mob is in kill range and shadow word:death is available to end the fight, but singular chooses to sit there and heal through the damage. Example:
[14:01:59.468 N] (Singular) .... [0] h=56.6%/m=92.0%, moving=False, form=Normal, orbs=2, surgdark=0, divinsight=0, target=Noxious Riverhopper.9EB7 @ 4.1 yds, th=85.6%, tface=True, tloss=True, sw:p=13490, vamptch=10247, devplague=0[14:01:59.490 N] [Singular] *Mind Blast on Noxious Riverhopper.9EB7 @ 85.6% at 4.1 yds
[14:02:01.046 N] (Singular) Spell.Cast("Mind Blast"): cast has ended
[14:02:01.138 N] (Singular) .... [0] h=56.6%/m=92.4%, moving=False, form=Normal, orbs=3, surgdark=0, divinsight=0, target=Noxious Riverhopper.9EB7 @ 4.1 yds, th=57.2%, tface=True, tloss=True, sw:p=11825, vamptch=8582, devplague=0
[14:02:01.275 N] (Singular) MoveToSide: started diagonal movement
[14:02:01.150 N] [Singular] MoveToSide: moving diagonally Left for 4.1 yds
[14:02:02.630 N] (Singular) MoveToSide: timed stop of diagonal movement WAS NOT successful
[14:02:02.630 N] (Singular) MoveToSide: forcefully stopping diagonal movement after 0.92 seconds
[14:02:02.786 N] (Singular) .... [0] h=50.8%/m=93.0%, moving=False, form=Normal, orbs=3, surgdark=0, divinsight=0, target=Noxious Riverhopper.9EB7 @ 9.7 yds, th=44.8%, tface=False, tloss=True, sw:p=10181, vamptch=6938, devplague=0
[14:02:02.870 N] (Singular) FaceTarget: facing since more than 70 degrees
[14:02:02.871 N] (Singular) FaceTarget: now facing Noxious Riverhopper.9EB7
[14:02:02.883 N] (Singular) FaceTarget: facing since more than 70 degrees
[14:02:02.886 N] (Singular) FaceTarget: now facing Noxious Riverhopper.9EB7
[14:02:03.038 N] (Singular) FaceTarget: facing since more than 70 degrees
[14:02:03.039 N] (Singular) FaceTarget: now facing Noxious Riverhopper.9EB7
[14:02:03.051 N] (Singular) FaceTarget: facing since more than 70 degrees
[14:02:03.052 N] (Singular) FaceTarget: now facing Noxious Riverhopper.9EB7
[14:02:03.262 N] [Singular] *Shadowform on Me @ 50.8%
[14:02:04.569 N] (Singular) .... [0] h=50.8%/m=91.2%, moving=False, form=Shadow, orbs=3, surgdark=0, divinsight=0, target=Noxious Riverhopper.9EB7 @ 3.9 yds, th=37.0%, tface=True, tloss=True, sw:p=8402, vamptch=5159, devplague=0
[14:02:04.847 N] (Singular) [WoWRedError] Spell is not ready yet.
[14:02:04.848 N] (Singular) (Singular) [CombatLog] SPELL_CAST_FAILED Mind Flay#15407 failure: 'Not yet recovered'
[14:02:04.582 N] [Singular] *Mind Flay on Noxious Riverhopper.9EB7 @ 37.0% at 3.9 yds
[14:02:04.889 N] [Singular] *Mind Flay on Noxious Riverhopper.9EB7 @ 37.0% at 3.9 yds
[14:02:05.680 N] (Singular) FaceTarget: facing since more than 70 degrees
[14:02:05.680 N] (Singular) FaceTarget: now facing Noxious Riverhopper.9EB7
[14:02:05.734 N] (Singular) EnsureMovementStopped: stopping because target @ 0.2 yds, stop range: 36.0
[14:02:05.917 N] (Singular) FaceTarget: facing since more than 70 degrees
[14:02:05.918 N] (Singular) FaceTarget: now facing Noxious Riverhopper.9EB7
[14:02:05.960 N] (Singular) FaceTarget: facing since more than 70 degrees
[14:02:05.960 N] (Singular) FaceTarget: now facing Noxious Riverhopper.9EB7
[14:02:05.680 N] [Singular] FaceTarget: StrafeRight for 150 ms since too close to target @ 0.00 yds
[14:02:05.811 D] Flushing timed movement. Direction: StrafeRight
[14:02:06.054 N] (Singular) CombatPerfMon: FPS:19 Latency:24
[14:02:06.069 N] (Singular) FaceTarget: facing since more than 70 degrees
[14:02:06.070 N] (Singular) FaceTarget: now facing Noxious Riverhopper.9EB7
[14:02:06.100 N] (Singular) FaceTarget: facing since more than 70 degrees
[14:02:07.377 N] (Singular) FaceTarget: now facing Noxious Riverhopper.9EB7
[14:02:07.447 N] (Singular) .... [0] h=38.9%/m=92.2%, moving=False, form=Shadow, orbs=3, surgdark=0, divinsight=0, target=Noxious Riverhopper.9EB7 @ 3.2 yds, th=27.4%, tface=True, tloss=True, sw:p=5533, vamptch=2290, devplague=0
[14:02:07.463 N] [Singular] *Vampiric Touch on Noxious Riverhopper.AF03 @ 33.9% at 2.8 yds
[14:02:09.006 N] (Singular) Spell.Cast("Vampiric Touch"): cast has ended
[14:02:09.083 N] (Singular) .... [0] h=29.4%/m=92.4%, moving=False, form=Shadow, orbs=3, surgdark=0, divinsight=0, target=Noxious Riverhopper.9EB7 @ 3.2 yds, th=17.7%, tface=True, tloss=True, sw:p=3900, vamptch=657, devplague=0
[14:02:09.090 N] [Singular] *Prayer of Mending on Me @ 29.4%
[14:02:10.786 N] (Singular) Spell.Cast("Prayer of Mending"): cast has ended
[14:02:10.895 N] (Singular) .... [0] h=15.7%/m=90.7%, moving=False, form=Normal, orbs=3, surgdark=0, divinsight=0, target=Noxious Riverhopper.9EB7 @ 3.2 yds, th=15.8%, tface=True, tloss=True, sw:p=2093, vamptch=0, devplague=0
[14:02:11.000 N] (Singular) FaceTarget: facing since more than 70 degrees
[14:02:11.001 N] (Singular) FaceTarget: facing since more than 70 degrees
[14:02:11.002 N] (Singular) FaceTarget: facing since more than 70 degrees
[14:02:10.905 N] [Singular] *Power Word: Shield on Me @ 15.7%
[14:02:12.251 N] (Singular) .... [0] h=15.7%/m=88.8%, moving=False, form=Normal, orbs=3, surgdark=0, divinsight=0, target=Noxious Riverhopper.9EB7 @ 3.2 yds, th=12.9%, tface=True, tloss=True, sw:p=741, vamptch=0, devplague=0
[14:02:12.488 N] [Singular] *Flash Heal on Me @ 15.7%
[14:02:13.011 N] [Singular] MoveToSide: moving diagonally Left for 3.2 yds
[14:02:13.032 D] Garbage collected 21 nav tiles
[14:02:13.171 N] (Singular) MoveToSide: started diagonal movement
[14:02:13.380 N] (Singular) [WoWRedError] Interrupted
[14:02:13.383 N] (Singular) (Singular) [CombatLog] SPELL_CAST_FAILED Flash Heal#2061 failure: 'Interrupted'
[14:02:13.761 N] (Singular) MoveToSide: timed stop of diagonal movement WAS NOT successful
[14:02:14.244 N] (Singular) MoveToSide: forcefully stopping diagonal movement after 0.70 seconds
[14:02:14.331 N] (Singular) .... [0] h=15.7%/m=89.5%, moving=True, form=Normal, orbs=3, surgdark=0, divinsight=0, target=Noxious Riverhopper.9EB7 @ 4.5 yds, th=10.9%, tface=False, tloss=True, sw:p=0, vamptch=0, devplague=0
[14:02:14.355 N] (Singular) EnsureMovementStopped: stopping because target @ 4.5 yds, stop range: 36.0
[14:02:14.483 N] [Singular] *Flash Heal on Me @ 10.4%
[14:02:14.755 N] (Singular) FaceTarget: facing since more than 70 degrees
[14:02:14.756 N] (Singular) FaceTarget: now facing Noxious Riverhopper.9EB7
[14:02:14.856 N] (Singular) FaceTarget: facing since more than 70 degrees
[14:02:14.865 N] (Singular) FaceTarget: now facing Noxious Riverhopper.9EB7
[14:02:14.913 N] (Singular) FaceTarget: facing since more than 70 degrees
[14:02:14.915 N] (Singular) FaceTarget: now facing Noxious Riverhopper.9EB7
[14:02:14.954 N] (Singular) FaceTarget: facing since more than 70 degrees
[14:02:14.961 N] (Singular) FaceTarget: now facing Noxious Riverhopper.9EB7
[14:02:15.060 N] (Singular) FaceTarget: facing since more than 70 degrees
[14:02:15.061 N] (Singular) FaceTarget: now facing Noxious Riverhopper.9EB7
[14:02:15.140 N] (Singular) FaceTarget: facing since more than 70 degrees
[14:02:15.142 N] (Singular) FaceTarget: facing since more than 70 degrees
[14:02:15.199 N] (Singular) FaceTarget: facing since more than 70 degrees
[14:02:15.199 N] (Singular) FaceTarget: facing since more than 70 degrees
[14:02:15.975 N] (Singular) [WoWRedError] Interrupted
[14:02:15.975 N] (Singular) (Singular) [CombatLog] SPELL_CAST_FAILED Flash Heal#2061 failure: 'Interrupted'
[14:02:15.985 N] (Singular) YourCurrentTarget: changed to: (null)
[14:02:15.985 D] We died, Clearing current POI
[14:02:15.985 D] Clearing POI - Reason Player Died
[14:02:15.995 D] Activity: Releasing from corpse
[14:02:18.533 N] I died!
If the target is a spellcaster, while healing, singular does not silence the target and will sit there taking spells to the face and try to heal through it.
Also does not keep up dots while healing. It heals itself to death most of the time, but could be avoided if it played a little offense between heals.
Occasionally it appears to try to reposition itself, but doesn't move away, just runs around in melee of the mob, taking huge damage until the healing routine kicks in.
Thanks for taking the time to write such a thorough post! I have incorporated a number of fixes based upon this. Please see the latest release (from this thread.) It will likely require some additional refinement based upon additional member feedback, but there should be a noticeable improvement in survivability. Thanks again for the post and good luck with your Priest, Bobby53
 
Hi, just wondering if there's a way to take out prayer of mending from the rotation as a shadow priest? Seems to always put it on at like 90% hp and it's basically a useless spell now, not worth the time, which it wastes plenty of.
Thanks

Log:
View attachment 155260
Synful, Thanks for the log. Please see the latest release which defaults to 0% for Shadow casting Prayer of Mending. If you upgrade an existing installation, you will need to click Class Config ==> Class Specific and change the Prayer of Mending Health % on the Priest tab. Thanks for the post and good luck with your Priest, Bobby53
 
class" elementa/resoration shaman: it would be nice if your included something so that we could turn off totem recall. Takes me out off ghost wolf form no matter what im doing. thank you
 
Thanks for taking the time to write such a thorough post! I have incorporated a number of fixes based upon this. Please see the latest release (from this thread.) It will likely require some additional refinement based upon additional member feedback, but there should be a noticeable improvement in survivability. Thanks again for the post and good luck with your Priest, Bobby53
Thank YOU! The change is a huge improvement and immediately noticed. The death rate was much lower, almost eliminated; got from 96-98 in just a few hours. It even pulled a rare mob on top of another add and I was like shiiiit, but it actually focused the rare down while keeping dots on the weak target, killing them both! Looked impressive. I'll keep watching on its way to 100 to see if there's anything else I can give feedback on.

Another setting unrelated to the CC that I think was messing me up was "Kill between hotspots" in settings & config menu of HB. I turned this off when it was having issues, trying to avoid as many fights as possible. But when off, the shadowpriest seems to run up on top of the target for combat, and trying to reposition itself in melee of the target. I think it's trying to get to the hotspot (the target) and perpetually repositioning as the mob backs up a yard, usually a quick death. I was about to log this, but tried flipping the setting back on first. It now seems to approach the hotspot areas more cautiously, killing its way through crowds 1 at a time. It also kills mobs nearby that are not aggro and unrelated to the quests, though. But if anyone else is thinking they might save some time by not killing between hotspots, wrong. At least for questing, that setting seems to be necessary for ranged survival.
 
Last edited:
lots of text.

Its there so you dont die basically.
If you turn it off, it will only run to the next hotspot, pulling anything while mounted and ignoring combat.
If this distance is short enough with enough mob density, you'll instantly kill yourself and waste time.
It also pads XP between quests. Unless overgearing (read not lvling) you want it on. Also the reason why its on by default and auto enabled by most questing profiles even if you disable it.
 
Last edited:
The hunter routine is realy messed up. The bot does not use the major cooldowns. Do I have to wait for an update or what do I have to do?
 
Affliction warlock will sometimes banish an add, then not unbanish it and try to cast drain soul over and over. Looks very bad.
 
*new* Singular v4.0.0.4014 available for download!

I will only be responding to posts that following the steps given in Reporting Singular Bugs (click here).

A fix a number of members have been waiting for with Warriors stuck on Defensive Stance. Also a number of fixes for Shadow Priests.

Just a reminder, if it is worth posting about it is worth following the steps in Post #4 - Reporting Bugs in Singular.

I have been focusing on the code and less on the forums recently, so my apologies if the lack of a timely response to your Singular post was a concern. I will be responding to all Singular thread posts in the next day. Thanks for your patience,

-Bobby53

--- Release 4.0.0.4014 ---

General


change- Class Config now displays Singular version and Singular Build Date


fixed - bug in some self-buffing code


fixed - Singular now detects when a change to available spells has occurred and rebuilds behaviors. Previously only detectected spec change, new level, or entry/exit to instance.






Priest


change- All Specs - Dispersion now cast if movement impair detected in Loss of Control behavior


*new* - Shadow - Added support for Shackle Undead on Adds while solo


change- All Specs - Psychic Horror Health setting renamed to Crowd Control Health and is used by Psychic Horror and Shackle Undead.


change- Shadow - will now suppress Flash Heal and Prayer of Mending if Vampiric Embrace is active and attackable mobs in range


change- Shadow - Flash Heal / Prayer of Mending cast if no enemies attack the Priest. Previously checked if attack anyone in group


fixed - Shadow - Mind Blast was attempting several casts in quick succession because of the queueing mechanism in Singular (beginning a cast before the current one has ended.) Mind Blast properly handles this now


change- Shadow - Solo: Power Infusion is now cast if Vampiric Embrace is active to maximize damage (and resulting healing)


change- Shadow - Solo - AOE: Multi-dotting with Shadow Word: Pain and Vampiric Touch now higher priority


change- Shadow - Solo - AOE: Mind Blast and Shadow Word: Death are cast on lowest health targets (to reduce enemy count and damage taken.)


change- Shadow - Solo - Single Target: simplified priority and move Shadow World: Pain and Vampiric Touch higher


fixed - Shadow - Solo - AOE: targets considered for AOE were limited to 10yds of current target simplifying Mind Sear logic, but limiting AOE damage. Now considers all within range


fixed - Shadow - Solo - Insanity was nor being properly recognized




Warrior


fixed - All Specs - now correctly sets appropriate stance


fixed - Fury - low-rage generation was severely limiting damage at levels below 26. Revised priority to include non-optimal spells that do some damage to improve results while leveling in this range


change- All Specs - Warrior DPS Stance still displays Berserker but this equates to Battle Stance to provide backwards compatability for users upgrading existing installations.
 
Think my problem just is a checkbox somewhere but I can't find it.
My warrior is going into def stance all the time but he's arms spec, how come?
Already done that, still switching to def stance..
Hi, is there any way to edit singular so in Nagrand zone the bot can fight using the Frostwolf War Wolf without dismounting?
gatherbuddy2 bugs out on druids when they reach a mine ..... sometimes ... not always

[23:02:07.034 N] (Singular) CombatPerfMon: FPS:52 Latency:54
[23:02:10.001 N] [Gatherbuddy2]: Approaching "True Iron Deposit" at X="249.6719" Y="-641.5382" Z="6.116059"
[23:02:10.001 D] Activity: Moving to node
[23:02:10.095 N] [Gatherbuddy2]: Approaching "True Iron Deposit" at X="249.6719" Y="-641.5382" Z="6.116059"
[23:02:12.751 N] (Singular) info: 16.0 seconds since BotBase last called Singular (now in Rest)

then just sits there till dc.
any ideas?
Any idea when Fists of Fury will be fixed for Monks? Seems like everything else works fine except that one spell.
Just a reminder, a lot to do still. As mentioned several times, I'm not replying to posts the are....
- Questions about behavior but log files or no LOGMARKS (click here for info)
- Bug reports with no log files
- Emotional posts
Also, make sure if reporting a bug about something that did not occur (spell not cast, char not moving, etc.) you will need to have LOGMARKS (click here for info) at the point where it did not occur. By definition, if something did not occur there won't be log entries describing it. The LOGMARK will help me see what Singular decided to do instead and allow me to research / recreate the issue as needed to get it resolved for you.

Thanks for your posts and good luck with your Singular characters,
-Bobby53
 
Just an update on this - the issue seems to be caused by the fact that there's no Surging Mist logic in the CreateMistweaverHealingWowhead() function. There is some for when Vital Mists is stacked, but low level mistweavers don't get vital mists, so this never happens... and consequently, low level mistweavers never get Chi, and so never cast Enveloping Mist either.

EDIT: Also, the ActionAlwaysSucceed() at the end of CreateMistweaverWaitForCast() seems to be causing the routine to wait for Soothing Mists to finish channeling at all times, meaning Surging Mists is never cast more than once per Soothing Mist, causing some pretty severe issues.
Beowulfe, Thanks for the post. The Vital Mists only implementation of Surging Mist is a problem. Will get that resolved in next release.

The ActionAlwaysSucceed referenced doesn't block multiple Surging Mists while in Combat as CreateMistweaverWaitForCast() is present in the Combat behaviors, but Healing is handled in the Heal behavior which is a higher priority and called prior to that (unless the BotBase in question is not honoring the correct usage of behaviors.) That success entry simply keeps the Combat behaviors from casting attacks or other spells which would interrupt the Soothing Mist in progress.

I'll look at the rest of the info you posted but replying back on that point quickly while I had a moment, -Bobby53
 
Last edited:
im using fury warrior and it keeps going to defence stance from battle stance i even took it off auto to battle stance but still keeps switching to defence stance why is this
colabah, Thanks for the post with log file. This issue should be fixed in Singular v4.0.0.4014 which is available for download from Post #1 of this thread. Thanks and good luck with your Warrior, Bobby53
 
Back
Top