Attempt to fix disc issue when client has no buff but server still does

This is kind of hard to test, but it is what the client is doing
This commit is contained in:
Michael Cook (mackal)
2017-12-15 18:42:21 -05:00
parent 477ba3f4b9
commit 9af9deb0f5
3 changed files with 11 additions and 0 deletions
+4
View File
@@ -611,6 +611,10 @@ bool Client::UseDiscipline(uint32 spell_id, uint32 target) {
return false;
}
// the client does this check before calling CastSpell, should prevent discs being eaten
if (spell.buffdurationformula != 0 && spell.targettype == ST_Self && HasDiscBuff())
return false;
//Check the disc timer
pTimerType DiscTimer = pTimerDisciplineReuseStart + spell.EndurTimerIndex;
if(!p_timers.Expired(&database, DiscTimer, false)) { // lets not set the reuse timer in case CastSpell fails (or we would have to turn off the timer, but CastSpell will set it as well)