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

Modded Retribution Paladin (from test build)

View attachment Retribution.cs

Moved down Wake of Ashes for single target, was casting too soon hitting only 1 mob when more were around.
Moved up Blade of Justice (Divine Hammer) for single target and added to AoE section. It was not casting it for AoE losing Holy Power generation, and was even more wastefull if Divine Hammer was talented.
Added Justicar's Vengeance to be used with 5 Holy Power. Was casting only with "Divine Purpose".

Hope this helps some :D
 
Am I missing something, or is the link just not showing for me to download? On the front page I can see the test version and test version 5043, but not the current one..
Test versions are only released when there's actually a test release candidate.

If you're asking how to download the normal version of Singular.. you don't have to.
It's the default combat log that comes with the bot.
 
Are u kidding me? Why u add auto-Vanish in Rogue rotation, it's just stupidly evading bosses... I even can't cancel it, this button is not present in settings!
And occasional use Cloak of Shadows at any moment of the battle, not just when the character takes on a higher damage already becomes annoying.
Please take a Rogue little more of your time, because now this rotation is just ridiculous.
Feel free to use any other routine for Rogues.
Or. Have patience.

I'm a single person maintaining not only this but the entire questing pack - you can't expect me to flaw-proof all 36 class specializations within weeks of the release.
 
What Class+Spec are you?: Unholy Death Knight
What 'context' is the bot in? (Instance, BG, Normal): Normal
What level are you?: 108
Have you made any modifications to Singular?: no
Are you using the Test Build of Singular?: no
What time (HH:MM:SS) or LogMark did your issue occur? Logmark 1 and 2
What happened (be specific)?

Singular spams the following:

[19:21:39.048 N] [Singular] *Death Coil on Me:Pet.51DB @ 62.6% at 0.0 yds
[19:21:39.959 N] (Singular) [WoWRedError] 50
[19:21:39.907 N] [Singular] *Death Coil on Me:Pet.51DB @ 62.6% at 0.0 yds
[19:21:40.543 D] Stopped moving.
[19:21:40.740 N] [Singular] *Death Coil on Me:Pet.51DB @ 62.6% at 1.7 yds
[19:21:40.796 N] (Singular) [WoWRedError] 50
[19:21:42.931 N] (Singular) [WoWRedError] 50


View attachment 211083
Should be fixed in the latest update.
 
Hi Echo, thanks for taking over singular. I decided to take a closer look at windwalker monk, since I main that class and the DPS the bot is putting out was a bit low.
I wont focus on AoE DPS in this post, but the current spinning crane kick behavior is not ideal. Anyway :)

The following issues I'd like to see adressed:
  1. Use Artifact Ability 'Strike of the Windlord'. Nice to have: Dont use the ability if the damage would be a massive overkill on non-elites
  2. Make use of the WW Monks Mastery: Combo Strikes. See notes below.
  3. Minor: Use 'Touch of Karma' if health is getting low and we might need to fight a bit longer

Point 1 should be fairly simple. In fact, I just added it to the Rotation and it works fine - as expected :)

Point 2 is only possible by changing the Spell Class slighly:
In said class there are 2 properties: LastSpellCast and LastSpellTarget
Due to some unknown reason, LastSpellCast is never written to and only used in the Warlock Routines. To get WW Monk working, I added some code to write the last spell used. I also added a canUse requirement to Blackout Kick and Tiger Palm (single target rotation only though).
Effectivly, you never want to cast Tiger Palm or Blackout Kick twice (or any other ability), even if you have the resources to do so. This can cause problems though if Tiger Palm gets parried/dodged. To counter any dead-locks, I added a simple DateTime property "LastSpellTimestamp". If the routine didnt use a spell for more than 5 seconds (add this to config?), allow the use of spells that have been used before. Better would be some form of detection if said spells missed the target - but I dont know how we could accomplish that easily.

There only one issue with my changes: I dont have a level check in place. The mastery is only available at level 80+ (added)

Here is some code on how I did it. Feel free to use this or discard it.
Thanks!

Spell.cs Changes @ line ~90:
Code:
        public static bool CastPrimative(string spellName)
        {
            LastSpellTimestamp = DateTime.Now;
            LastSpellCast = spellName;
            LastSpellTarget = WoWGuid.Empty;
            return SpellManager.Cast(spellName);
        }

        public static bool CastPrimative(int id)
        {
            LastSpellTimestamp = DateTime.Now;
            LastSpellCast = WoWSpell.FromId(id)?.Name;
            LastSpellTarget = WoWGuid.Empty;
            return SpellManager.Cast(id);
        }

        public static bool CastPrimative(WoWSpell spell)
        {
            LastSpellTimestamp = DateTime.Now;
            LastSpellCast = spell.Name;
            LastSpellTarget = WoWGuid.Empty;
            return SpellManager.Cast(spell);
        }

        public static bool CastPrimative(string spellName, WoWUnit unit)
        {
            LastSpellTimestamp = DateTime.Now;
            LastSpellCast = spellName;
            LastSpellTarget = unit == null ? WoWGuid.Empty : unit.Guid;
            return SpellManager.Cast(spellName, unit);
        }

        public static bool CastPrimative(int id, WoWUnit unit)
        {
            LastSpellTimestamp = DateTime.Now;
            LastSpellCast = WoWSpell.FromId(id)?.Name;
            LastSpellTarget = unit == null ? WoWGuid.Empty : unit.Guid;
            return SpellManager.Cast(id, unit);
        }

        public static bool CastPrimative(WoWSpell spell, WoWUnit unit)
        {
            LastSpellTimestamp = DateTime.Now;
            LastSpellCast = spell.Name;
            LastSpellTarget = unit == null ? WoWGuid.Empty : unit.Guid;
            return SpellManager.Cast(spell, unit);
        }

Windwalker.cs changes
Code:
/// <summary>
/// Checks if said spell would be affected by the ww mastery
/// </summary>
/// <param name="spellName"></param>
/// <returns>True if below level 80 or if different spell was used last, false otherwise</returns>
private static bool DamageIncreasedByMastery(string spellName)
{
    // If we are below level 80, we want to spam abilities since we dont benefit from our mastery yet
    return Me.Level < 80 || Spell.LastSpellCast != spellName || (DateTime.Now - Spell.LastSpellTimestamp).TotalMilliseconds >= 5000;
}
[...]  @ line ~112
Spell.BuffSelf("Serenity", req => Me.CurrentTarget.IsStressful()),
Spell.Cast("Touch of Death", req => Me.CurrentTarget.TimeToDeath() > 8),
Spell.Cast("Storm, Earth, and Fire", req => MonkSettings.UseSef && !Me.HasActiveAura("Storm, Earth, and Fire") && Me.CurrentTarget.IsStressful()),
[... AOE CODE ...]
Spell.Cast("Fists of Fury"),
Spell.Cast("Whirling Dragon Punch"),
Spell.Cast("Tiger Palm", req => Me.CurrentChi < 4 && EnergyDeficit < 10 && DamageIncreasedByMastery("Tiger Palm")),
Spell.Cast("Strike of the Windlord"),
Spell.Cast("Rising Sun Kick"),
Spell.Cast("Chi Wave"),
Spell.Cast("Blackout Kick", req => DamageIncreasedByMastery("Blackout Kick")),
Spell.Cast("Tiger Palm", req => DamageIncreasedByMastery("Tiger Palm"))
[...]
I'll investigate these changes as soon as possible.
At the moment I'm queing the community contributions up and will evaluate/implement them once high priority bugs are fixed.
 
What Class+Spec are you?: BM Hunter
What 'context' is the bot in? (Instance, BG, Normal): Instance
What level are you?: 110
Have you made any modifications to Singular?: remove movement
Are you using the Test Build of Singular?: no

What happened (be specific)?
No an issue with the CR functioning, its that it keeps using Stampede on CD. This looks like a bot when you see it going off with 1 mob up in an instance thats not a boss, or 3 mobs up at 5%. I would prefer it removed from the rotation and let me activate it myself or even if its only on boss fights it would be better than it going off on CD.
It won't be removed from the rotation as it's a major part of the rotation - and most people want it in.
However, a setting can be added that lets you determine when the bot casts it. I can look into adding that.
 
Is there a best Talents guide for Singular routines?
Ideally it's best to follow what sites like Icy-Veins suggests.
Singular is meant to utilize every talent, so there's no really a best setup specifically for Singular.
 
Singular is not using any artifact abilities, balance not using moon spells, brewmaster not using his, priest not using void torrent.. when can we expect an update ?
They've been added in the test build.
 
Echo, is it possible to randomize a bit the position of ground spells like death and decay? not asking you to do it, just wanted to know if it was a possibility... it looks odd to nail it all the time in the dead center of the hit-box.
Yea, it would be possible.
The Honorbuddy API has a "Math" class dedicated to calculating stuff regarding coordinates.
 
Modded Retribution Paladin (from test build)

View attachment 211733

Moved down Wake of Ashes for single target, was casting too soon hitting only 1 mob when more were around.
Moved up Blade of Justice (Divine Hammer) for single target and added to AoE section. It was not casting it for AoE losing Holy Power generation, and was even more wastefull if Divine Hammer was talented.
Added Justicar's Vengeance to be used with 5 Holy Power. Was casting only with "Divine Purpose".

Hope this helps some :D

V2: Moved up Justicar's Vengeance as it was not being casted enough and wasting holy power.

View attachment Retribution.cs
 
[Singular] LOGMARK # 1 at 19:06:45.980
View attachment 211691

110, Shaman, Enhancement, Normal (Outdoor)
Tried with both current test 0.57 and stable release with HB3

It doesn't use Ghostwolf.
I think your log was improperly attached as the link goes to a dead end.
So far all my testers have been using it fine. But - I can look into it.
 
Is there a way to stop making fire mage wait for frost nova to wear off? because the bot just stands there not doing anything while the enemy is nova'd
1 upping this. My fire mage will not cast a thing after using Frost Nova or Dragon's Breath...just sits there and dies. FPS tanks pretty hard during these CC times as well.
It was a bug in the diagnostic logging causing the routine to lag out.
This should be fixed in the latest version. If it's not then I'll need a log.
 
Modded Retribution Paladin (from test build)

View attachment 211733

Moved down Wake of Ashes for single target, was casting too soon hitting only 1 mob when more were around.
Moved up Blade of Justice (Divine Hammer) for single target and added to AoE section. It was not casting it for AoE losing Holy Power generation, and was even more wastefull if Divine Hammer was talented.
Added Justicar's Vengeance to be used with 5 Holy Power. Was casting only with "Divine Purpose".

Hope this helps some :D
V2: Moved up Justicar's Vengeance as it was not being casted enough and wasting holy power.

View attachment 211741
Thanks for the contributions!
I'll look into getting these modifications merged to the Singular trunk soon - and will be sure to credit you in the changelog entry.
 
Vengeance Demon Hunter (test build).

Changes Infernal Strike to jump at same location instead of target's.

Change Line 90 to: Spell.HandleOffGCD(Spell.CastOnGround("Infernal Strike", location => (Me.Location), ret => DemonHunterSettings.DPSInfernalStrike && Spell.GetCharges("Infernal Strike") > 1)),
Or replace file with: View attachment Vengeance.cs

This is just personal preference. I hate how Infernal Strike jumps to the target, moving the entire pack of mobs wich often results in some getting in your back.
Could be nice to have settings to switch this kind of spells target location but I have no idea how to do that.
 
I cant put my Warlock to levl up cos Singular is summoning doomguard in every fight few times as you can see from the log , its casting it like a spell. Even i have placed to summone Infernal it keeps summoning dooguard like a spell

Any fix for that?
 

Attachments

my vengeance dh interrupt mounting after combat. it looks like it's tying to cast some spell

|Singular| enter: Rest
|Singular| leave: Rest, status=Success and took 2 ms
|Singular| enter: Rest
|Singular| leave: Rest, status=Success and took 1 ms
|Singular| enter: Rest
|Singular| leave: Rest, status=Success and took 2 ms
|Singular| enter: Rest
|Singular| leave: Rest, status=Success and took 2 ms
|Singular| enter: Rest
|Singular| leave: Rest, status=Success and took 2 ms
|Singular| enter: Rest
|Singular| leave: Rest, status=Success and took 2 ms
|Singular| enter: Rest
|Singular| leave: Rest, status=Success and took 2 ms
|Singular| enter: Rest
|Singular| leave: Rest, status=Success and took 1 ms
(Singular) [WoWRedError] 252
|Singular| enter: Rest
|Singular| leave: Rest, status=Success and took 2 ms
|Singular| enter: Rest
|Singular| leave: Rest, status=Success and took 2 ms
|Singular| enter: Rest
|Singular| leave: Rest, status=Success and took 1 ms
|Singular| enter: Rest
|Singular| leave: Rest, status=Success and took 2 ms
|Singular| enter: Rest
|Singular| leave: Rest, status=Success and took 2 ms
(Singular) CastingState: Casting=N CastTimeLeft=51
|Singular| enter: Rest
|Singular| leave: Rest, status=Success and took 2 ms
|Singular| enter: Rest
|Singular| leave: Rest, status=Success and took 1 ms
|Singular| enter: Rest
|Singular| ... enter: Rest.CreateDemonHunterRest.0
|Singular| ... leave: Rest.CreateDemonHunterRest.0, took 0 ms
|Singular| leave: Rest, status=Failure and took 2 ms
|Singular| enter: PreCombat
|Singular| leave: PreCombat, status=Failure and took 0 ms
Done with forced behavior Bots.Quest.QuestOrder.ForcedCodeBehavior.
Starting behavior [ForcedSingleton].
Behavior flags changed! All -> Death, Loot, Vendor, Roam, Pull, Rest, FlightPath
Done with forced behavior [ForcedSingleton].
Starting behavior Bots.Quest.QuestOrder.ForcedMoveTo.
Goal: Moving to <361.9339, 1539.259, 89.47511> [Ref: "MoveTo" @line 101]
[Singular] info: Behavior [Combat] DISABLED by Questing or Plug-in
(Singular) [WoWRedError] 50
Done with forced behavior Bots.Quest.QuestOrder.ForcedMoveTo.
Starting behavior Bots.Quest.QuestOrder.ForcedCodeBehavior.
[DoWhen-DoWhen(debug)] DoWhenActivity 'ActivityName(Silence)' removed.
[DoWhen-DoWhen(debug)] DoWhen hook removed--no DoWhenActivities to clean up.
Removed hook [Questbot_Main] cbb4ebf7-289e-4410-a7a5-f221502d8292
[DoWhen-DoWhen(debug)] DoWhen behavior complete.
Done with forced behavior Bots.Quest.QuestOrder.ForcedCodeBehavior.
[DoWhen-DoWhen(debug)] Behavior completed in 0s
Starting behavior Bots.Quest.QuestOrder.ForcedMoveTo.
 
Back
Top