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

Spell Queue API

jeffgtx

New Member
Joined
Sep 4, 2010
Messages
49
Reaction score
1
Hello, thanks for implementing this into that latest release. I'm having a little trouble understanding how to use the new api.

Is it something that is happening passively? Or do I need to make specific function calls in my CC to take advantage of this?

Also, I'm working on a Shadow Priest CC. The problem I'm finding with other Shadow Priest CC's is that it doesn't chain "Mind Flay" quick enough. I want it to get it so that as soon as mindflay is finiished channel another one starts. Obviously if there are other spells it needs to cast first (dot refreshes) it should.

I have everything working perfectly in my CC except there is about a .5 second delay (not GCD related) when chaining multiple mind flay's together.

Can anyone recommend some tips?
 
you can only cast 1 spell at a time, so even if you pulse the SpellManger.Cast("Mindflay") 100 times before it finishes, its not going to do anything, basicly the spell queuing is it being smarter about how long it waits for global cooldowns, and such. like how a human can see the latency in the spell, and can start casting another spell before the last one finishes, its kinda like that, the logic is there to be smarter about when to cast the next spell, if one is indeed pulsing.

if your still having problems with lag look for things in your code such as Foreach loops, and stuff that its checking each and every time, like party members health for example. some things like buff checking can but put on timers so they arent running every single pulse, and by doing so you allow your code to run though much faster, and your CC will react better to changing situations.
 
Thanks for the help

The CC i'm writting is using the old style. So that might be the issue.

But I don't think the lag issue is just an issue that I'm having. If you run the "Singular" Spriest CC you will notice the same thing.

The Mindflay just isn't cycling as fast as it needs to to reach max dps. (Or even close). I can do about 3-4k more dps by doing it manually.

I'm not really doing a ton of checks for anything other than target health and my mana levels.

Maybe I will try rewriting it with treesharp and see if that helps.
 
Last edited:
Jeffgtx said:
Maybe I will try rewriting it with treesharp and see if that helps.

This is a very wise choice. TreeSharp is much more efficient than Pulsing. Once you get the hang of its declarative nature, its really fun to write in.

TreeSharp much more accessible now that the basics are documented...
[wiki]TreeSharp[/wiki]
There is still much more documentation to write, but at least its easier to get started, now. :D

The worst thing you could ever do when writing Plugins, CCs or Behaviors is to use any form of 'sleep'. Sleep is a performance and DPS killer whether its used in a CC, plugin, or behavior. One developer using sleep in any of these HB extensions can rapidly destroy HB performance. Prefer TreeSharp's Wait/WaitContinue, instead.

The major Wiki article explaining the evils of 'sleep' this has yet to be written. However, you should easily be able to glean enough from the existing context to realize how truly evil it is. Even if you do a smash-up job in your CC, a plugin or behavior can easily prevent you from achieving desired performance if it uses sleep.

cheers & good luck,
chinajade
 
Last edited:
Back
Top