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!

[PAID] [Warlock] Demonic - An Advanced Honorbuddy Warlock Routine [PvE/PvP]

Ok, got my premium, just did my frist test and I gotta say its a lot better than the free version. although i had a thought. The opener is pretty poor, is there a way you could maybe use the opener that Sparkuggz uses? it seems to yield a MUCH higher opening burst. Just a thought, dnno if thats even possible. i dont have enough posts yet to post links, but if you just Youtube: Demonology Opener, it'll be the one by sparkuggz. with the 600k+ burst in the title. Also, maybe add in a feature that tracks trinket procs / activations so the CC will refresh dots? or possibly refresh dots (doom in particular) when Buffs are cast, such as Dark soul. Like i said, im no programmer, nor do i know what is even capable. Just my thoughts. thanks

That's already implemented mate. IF you have UVLS trinket, every time you get that proc and you don't have a 100% crit doom up, it will throw one on.
 
so you're saying that the only trinket it tracks is UVLS? Guess ill just manually do it. Addons like Affdots are very helpful in showing you the strength of recasting dots. sometimes it'll be has high as 85% damage increase and the CC wont refresh unless its low duration. thats all i was saying.

Also, I am still a bit confused on what a good demo fury value is. I tried with Max: 900 / Min: 650 and saw a 5-7k average dps gain when I lowered it down to Max: 500 / Min: 150.

I'm sure that im doing something wrong because I currently in ilvl 505 gear, i can burst up to 235-250k (with prepot / No doomguard) and maintain 120-125k. However, the bot seems to only do about 90-100k sustained and barely breaks 150k on the opening burst. If there is someone who would maybe screenshot their settings for me? or let me know what I could be doing wrong, I would be very grateful. thanks, in advance.
 
Nah, the dotmanager is there even without UVLS. I was just giving an example. I have my fury values set at 650-300.
 
Ok, got my premium, just did my frist test and I gotta say its a lot better than the free version. although i had a thought. The opener is pretty poor, is there a way you could maybe use the opener that Sparkuggz uses? it seems to yield a MUCH higher opening burst. Just a thought, dnno if thats even possible. i dont have enough posts yet to post links, but if you just Youtube: Demonology Opener, it'll be the one by sparkuggz. with the 600k+ burst in the title. Also, maybe add in a feature that tracks trinket procs / activations so the CC will refresh dots? or possibly refresh dots (doom in particular) when Buffs are cast, such as Dark soul. Like i said, im no programmer, nor do i know what is even capable. Just my thoughts. thanks

Hmm watched the video, the opener should be fairly similar to that as it is.

As TheKrazed has said, all DoTs are tracked and only refreshed with equal, or stronger DoTs.
 
Hey Millz,

would it be possible that you can take a look at the dark animus fight again? And code some detect and immediately stop/cancel the cast, when the dark animus is just about to appear this:

ach4xib2.jpg
 
Did not use drain life in bg

I did not see the CR use drain life once during a BG.

I also noticed in the log that it was getting an exception on Fellash pet spell.

I have attached a log.
 

Attachments

Hey Millz,

would it be possible that you can take a look at the dark animus fight again? And code some detect and immediately stop/cancel the cast, when the dark animus is just about to appear this:

ach4xib2.jpg

I might. I wanted to avoid putting any real fight specific stuff into the code, as regardless of which fight you're on it'll check the condition constantly. Better off just using Tyrael's built in pause hotkey - its how i do it.
 
I did not see the CR use drain life once during a BG.

I also noticed in the log that it was getting an exception on Fellash pet spell.

I have attached a log.

It used it once!

[14:33:33.147 N] [Demonic] [Casting: Drain Life(Soulburned)] [On: Lvl 90 Horde Warrior]

...I'll look into it.

The whole pet ability thing isn't working right at the moment. I'm going to drop using command demon and cast it via the pets hotkey bar instead. Needs a lot of work to re-write it all though.
'
 
Подскажите что нужно сделать чтобы получить полную рутину ???
 
I might. I wanted to avoid putting any real fight specific stuff into the code, as regardless of which fight you're on it'll check the condition constantly. Better off just using Tyrael's built in pause hotkey - its how i do it.
Just make a list specific to the boss. For example, when checking for spells that it needs to stop casting for, it checks current casts against a list by the same name as the boss itself. If the boss your fighting has a name that does not match a list then the list is effectively empty and does not impact performance.
 
Just make a list specific to the boss. For example, when checking for spells that it needs to stop casting for, it checks current casts against a list by the same name as the boss itself. If the boss your fighting has a name that does not match a list then the list is effectively empty and does not impact performance.

You'd do it by saying if any unit (or just our target for better performance) is casting a spell by id xxxx then cancel cast and wait - but it will check that whether you're pvping, questing, fighting another boss etc - and then there's lots of bosses and different conditions that can be coded in so it'll open a whole can of worms. I generally just don't add encounter specific stuff (unless its to blacklist a certain mob because it breaks the routine).
 
You'd do it by saying if any unit (or just our target for better performance) is casting a spell by id xxxx then cancel cast and wait - but it will check that whether you're pvping, questing, fighting another boss etc - and then there's lots of bosses and different conditions that can be coded in so it'll open a whole can of worms. I generally just don't add encounter specific stuff (unless its to blacklist a certain mob because it breaks the routine).
No no! Set up a dictionary. In that dictionary, set up a Key-Value Pair where the Key represents a boss's name and the Value represents a HashSet of IDs. Then put that in a dictionary of raid zone IDs. Only check the top level dictionary when in a raid zone, then check as follows:

Code:
Dictionary<uint,Dictionary<string,HashSet<int>>> Raid_StopCasting = new Dictionary<uint,Dictionary<string,HashSet<int>>>
    {
        { 6622, new Dictionary<string,HashSet<int>> { { "Dark Animus", new HashSet<int> { 138763 } } } }
    };
if (Me.CurrentMap.IsRaid && 
    Raid_StopCasting[Me.ZoneId] != null && 
    Me.GotTarget &&
    Raid_StopCasting[Me.ZoneId][Me.CurrentTarget.Name] != null && 
    Me.CurrentTarget.IsCasting &&
    Raid_StopCasting[Me.ZoneId][Me.CurrentTarget.Name].Contains(Me.CurrentTarget.CastingSpellId))
    // Stop Casting

What you end up with is an extremely efficient way of checking for encounter specific data without noticeably slowing the routine. You could improve the efficiency by caching the list for the current target for a longer period of time.

  • Anything not in a raid won't execute any logic at all.
  • Anything that's in a raid but has no StopCasting entries for that zone will not check any further.
  • Anything that's in a raid and the zone has entries, but the boss does not will check ZERO spell IDs.
  • Only if the zone is a raid, the zone ID matches, and the boss has a name matching the list will it scan the list of spell IDs.
 
These updated settings gave me a dramatic increase on dummies, I will have to try in a raid.

Yeah, I had mine originally at 900-650 and it took way too long to build fury. May even lower down to 500-200 and give that a whirl.
 
Yeah, I had mine originally at 900-650 and it took way too long to build fury. May even lower down to 500-200 and give that a whirl.

You need to find that sweet balance where you can stay in demon form for the full duration of dark soul (and with the help from the imps). Get to max fury, use imps + dark soul, and spam ToC.. then see how much fury you have used once the buffs expire, and set that value + 50 as your max.
 
For some reason, the CC doesnt want to AoE as affliction.

it stands there and occasionally casts SoC and will dot 1 or 2 targets tops.
 
No no! Set up a dictionary. In that dictionary, set up a Key-Value Pair where the Key represents a boss's name and the Value represents a HashSet of IDs. Then put that in a dictionary of raid zone IDs. Only check the top level dictionary when in a raid zone, then check as follows:

Code:
Dictionary<uint,Dictionary<string,HashSet<int>>> Raid_StopCasting = new Dictionary<uint,Dictionary<string,HashSet<int>>>
    {
        { 6622, new Dictionary<string,HashSet<int>> { { "Dark Animus", new HashSet<int> { 138763 } } } }
    };
if (Me.CurrentMap.IsRaid && 
    Raid_StopCasting[Me.ZoneId] != null && 
    Me.GotTarget &&
    Raid_StopCasting[Me.ZoneId][Me.CurrentTarget.Name] != null && 
    Me.CurrentTarget.IsCasting &&
    Raid_StopCasting[Me.ZoneId][Me.CurrentTarget.Name].Contains(Me.CurrentTarget.CastingSpellId))
    // Stop Casting

What you end up with is an extremely efficient way of checking for encounter specific data without noticeably slowing the routine. You could improve the efficiency by caching the list for the current target for a longer period of time.

  • Anything not in a raid won't execute any logic at all.
  • Anything that's in a raid but has no StopCasting entries for that zone will not check any further.
  • Anything that's in a raid and the zone has entries, but the boss does not will check ZERO spell IDs.
  • Only if the zone is a raid, the zone ID matches, and the boss has a name matching the list will it scan the list of spell IDs.

Appreciate the post, but it's probably just over complicating matters using dictionary's.

I've added a method to cache that we're in an instance (and the zone id), then checking the casting id against a hashset - easier to expand then.

Regardless, I've added Dark Animus and Oondasta in.
 
Back
Top