From 2ae0b7dd3e0ea675d5dcdb46c3d512fc8121f4e7 Mon Sep 17 00:00:00 2001 From: nytmyr <53322305+nytmyr@users.noreply.github.com> Date: Thu, 23 Feb 2023 02:39:45 -0600 Subject: [PATCH] [Bug Fix] Correct Mend reuse time and add reduction support. (#2972) Notes: Previously, the server-side reuse of Mend was set to 290 seconds rather than 360 seconds (6 minutes). Mend was not accepting reduction timers from potential items, buffs or AAs (Hastened Mend). Mend was outputting duplicate success messages on critical mends, it will now only output a regular Mend message upon success (You mend your wounds and heal some damage) or the critical message upon critical success (You magically mend your wounds and heal considerable damage), not both. Co-authored-by: toxin06 <53322305+toxin06@users.noreply.github.com> --- common/features.h | 2 +- zone/client_packet.cpp | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/common/features.h b/common/features.h index e1ca61f64..9d7a3ecee 100644 --- a/common/features.h +++ b/common/features.h @@ -132,7 +132,7 @@ enum { //reuse times InstillDoubtReuseTime = 9, FishingReuseTime = 11, ForagingReuseTime = 50, - MendReuseTime = 290, + MendReuseTime = 360, BashReuseTime = 5, BackstabReuseTime = 9, KickReuseTime = 5, diff --git a/zone/client_packet.cpp b/zone/client_packet.cpp index 96d65ac74..b5e46341e 100644 --- a/zone/client_packet.cpp +++ b/zone/client_packet.cpp @@ -9951,7 +9951,7 @@ void Client::Handle_OP_Mend(const EQApplicationPacket *app) Message(Chat::Red, "Ability recovery time not yet met."); return; } - p_timers.Start(pTimerMend, MendReuseTime - 1); + p_timers.Start(pTimerMend, (MendReuseTime - GetSkillReuseTime(EQ::skills::SkillMend))); int mendhp = GetMaxHP() / 4; int currenthp = GetHP(); @@ -9963,9 +9963,11 @@ void Client::Handle_OP_Mend(const EQApplicationPacket *app) mendhp *= 2; MessageString(Chat::LightBlue, MEND_CRITICAL); } + else { + MessageString(Chat::LightBlue, MEND_SUCCESS); + } SetHP(GetHP() + mendhp); SendHPUpdate(); - MessageString(Chat::LightBlue, MEND_SUCCESS); } else { /* the purpose of the following is to make the chance to worsen wounds much less common,