Force changing the timer_time for attack timers

Should fix issues with waiting for a slow timer after a cure
This commit is contained in:
Michael Cook (mackal) 2014-12-22 01:58:54 -05:00
parent b9fab9bc1b
commit 18fb86a560
3 changed files with 6 additions and 4 deletions

View File

@ -141,11 +141,13 @@ uint32 Timer::GetRemainingTime() {
}
}
void Timer::SetAtTrigger(uint32 in_set_at_trigger, bool iEnableIfDisabled) {
void Timer::SetAtTrigger(uint32 in_set_at_trigger, bool iEnableIfDisabled, bool ChangeTimerTime) {
set_at_trigger = in_set_at_trigger;
if (!Enabled() && iEnableIfDisabled) {
Enable();
}
if (ChangeTimerTime)
timer_time = set_at_trigger;
}
void Timer::Trigger()

View File

@ -43,7 +43,7 @@ public:
inline const uint32& GetTimerTime() { return timer_time; }
inline const uint32& GetSetAtTrigger() { return set_at_trigger; }
void Trigger();
void SetAtTrigger(uint32 set_at_trigger, bool iEnableIfDisabled = false);
void SetAtTrigger(uint32 set_at_trigger, bool iEnableIfDisabled = false, bool ChangeTimerTime = false);
inline bool Enabled() { return enabled; }
inline uint32 GetStartTime() { return(start_time); }

View File

@ -4932,7 +4932,7 @@ void Client::SetAttackTimer()
// this is probably wrong
if (quiver_haste > 0)
speed *= quiver_haste;
TimerToUse->SetAtTrigger(std::max(RuleI(Combat, MinHastedDelay), speed), true);
TimerToUse->SetAtTrigger(std::max(RuleI(Combat, MinHastedDelay), speed), true, true);
if (i == MainPrimary)
PrimaryWeapon = ItemToUse;
@ -4980,6 +4980,6 @@ void NPC::SetAttackTimer()
}
}
TimerToUse->SetAtTrigger(std::max(RuleI(Combat, MinHastedDelay), speed), true);
TimerToUse->SetAtTrigger(std::max(RuleI(Combat, MinHastedDelay), speed), true, true);
}
}