From 6fb6d8891d8a23ca6c039502b7ae5d573ac78b89 Mon Sep 17 00:00:00 2001 From: Paul Coene Date: Tue, 31 Mar 2020 09:22:16 -0400 Subject: [PATCH] Hack to fix RoF2 perma IVU/IVA bug after zoning. This fixes the problem, but I believe someone with better knowledge of the client than I can find a more "correct" solution. Posted as a PR per @joligario to solve it for now. Was also asked to put SE_Invisibility in there so that this "hack" is a catch all. --- zone/client_packet.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/zone/client_packet.cpp b/zone/client_packet.cpp index 1848a926c..1caf2b4b3 100644 --- a/zone/client_packet.cpp +++ b/zone/client_packet.cpp @@ -4017,6 +4017,14 @@ void Client::Handle_OP_CastSpell(const EQApplicationPacket *app) //Message(Chat::Red, "You cant cast right now, you arent in control of yourself!"); return; } + + // Hack for broken RoF2 which allows casting after a zoned IVU/IVA + if (invisible_undead || invisible_animals) { + BuffFadeByEffect(SE_InvisVsAnimals); + BuffFadeByEffect(SE_InvisVsUndead); + BuffFadeByEffect(SE_InvisVsUndead2); + BuffFadeByEffect(SE_Invisibility); // Included per JJ for completeness - client handles this one atm + } CastSpell_Struct* castspell = (CastSpell_Struct*)app->pBuffer;