Implement OP_CancelSneakHide

Didn't test every client, but they should all work
This commit is contained in:
Michael Cook (mackal)
2016-06-30 17:50:31 -04:00
parent a64343689c
commit 54de212214
12 changed files with 39 additions and 3 deletions
+15
View File
@@ -1127,6 +1127,21 @@ void Client::OPMemorizeSpell(const EQApplicationPacket* app)
Save();
}
void Client::CancelSneakHide()
{
if (hidden || improved_hidden) {
auto app = new EQApplicationPacket(OP_CancelSneakHide, 0);
FastQueuePacket(&app);
// SoF and Tit send back a OP_SpawnAppearance turning off AT_Invis
// so we need to handle our sneaking flag only
// The later clients send back a OP_Hide (this has a size but data is 0)
// as well as OP_SpawnAppearance with AT_Invis and one with AT_Sneak
// So we don't have to handle any of those flags
if (ClientVersionBit() & EQEmu::versions::bit_SoFAndEarlier)
sneaking = false;
}
}
void Client::BreakInvis()
{
if (invisible)