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.
This commit is contained in:
Paul Coene 2020-03-31 09:22:16 -04:00 committed by GitHub
parent 3a7908b1de
commit 6fb6d8891d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -4018,6 +4018,14 @@ void Client::Handle_OP_CastSpell(const EQApplicationPacket *app)
return; 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; CastSpell_Struct* castspell = (CastSpell_Struct*)app->pBuffer;
m_TargetRing = glm::vec3(castspell->x_pos, castspell->y_pos, castspell->z_pos); m_TargetRing = glm::vec3(castspell->x_pos, castspell->y_pos, castspell->z_pos);