[Bug Fix] SOF+ clients item click recast timer not met check (#1682)

* Update client_packet.cpp

* Update spells.cpp

* augs working too
This commit is contained in:
KayenEQ
2021-11-06 23:14:36 -04:00
committed by GitHub
parent bc82b897c5
commit 1cdb1816a2
2 changed files with 22 additions and 2 deletions
+17
View File
@@ -8959,6 +8959,14 @@ void Client::Handle_OP_ItemVerifyRequest(const EQApplicationPacket *app)
}
if (GetLevel() >= item->Click.Level2)
{
if (item->RecastDelay > 0)
{
if (!GetPTimers().Expired(&database, (pTimerItemStart + item->RecastType), false)) {
LogSpells("Casting of [{}] canceled: item spell reuse timer not expired", spell_id);
return;
}
}
int i = parse->EventItem(EVENT_ITEM_CLICK_CAST, this, p_inst, nullptr, "", slot_id);
inst = m_inv[slot_id];
if (!inst)
@@ -8988,6 +8996,15 @@ void Client::Handle_OP_ItemVerifyRequest(const EQApplicationPacket *app)
}
if (GetLevel() >= augitem->Click.Level2)
{
if (augitem->RecastDelay > 0)
{
if (!GetPTimers().Expired(&database, (pTimerItemStart + augitem->RecastType), false)) {
LogSpells("Casting of [{}] canceled: item spell reuse timer from augment not expired", spell_id);
MessageString(Chat::Red, SPELL_RECAST);
return;
}
}
int i = parse->EventItem(EVENT_ITEM_CLICK_CAST, this, clickaug, nullptr, "", slot_id);
inst = m_inv[slot_id];
if (!inst)