My warlock CC goes absolutely nuts when there are adds, and I think I owe it to the Me.ChanneledCasting > 0 not working correctly. By changing the CC around to say: DrainLife(); while (Me.IsCasting) { Thread.Sleep(100); } in the areas needed when there are adds, the CC now does not try to spam drain life or drain soul. Seems like the fix I was looking for was in the CC itself.
I've always had problems with ChanneledCasting in older versions (and IsCasting for that matter). I eventually gave up, so I'm not sure if they are currently working right. I currently call this before each spellcast to sleep if I'm already casting something, and it worked at one time, but I haven't checked it in more recent betas. Code: public void waitWhileCasting() { while (Me.Casting != 0 || Me.ChanneledCasting != 0 || Me.IsCasting) { Thread.Sleep(400); } }
here is what im using in HawkEye, it seems to be working. Code: while (Me.IsCasting || Me.ChanneledCasting != 0) { Thread.Sleep(1000); }