SMSG_PET_CAST_FAILED: packet structure fix
This commit is contained in:
parent
351b6f2349
commit
2eedb78a99
@ -8493,10 +8493,31 @@ void Unit::SendPetCastFail(uint32 spellid, SpellCastResult msg)
|
|||||||
if (!owner || owner->GetTypeId() != TYPEID_PLAYER)
|
if (!owner || owner->GetTypeId() != TYPEID_PLAYER)
|
||||||
{ return; }
|
{ return; }
|
||||||
|
|
||||||
WorldPacket data(SMSG_PET_CAST_FAILED, 4 + 1);
|
WorldPacket data(SMSG_PET_CAST_FAILED, 4 + 1 + 1);
|
||||||
data << uint32(spellid);
|
data << uint32(spellid);
|
||||||
|
data << uint8(0); // unknown, maybe unused
|
||||||
data << uint8(msg);
|
data << uint8(msg);
|
||||||
((Player*)owner)->GetSession()->SendPacket(&data);
|
switch (msg)
|
||||||
|
{
|
||||||
|
case SPELL_FAILED_EQUIPPED_ITEM_CLASS:
|
||||||
|
case SPELL_FAILED_EQUIPPED_ITEM_CLASS_MAINHAND:
|
||||||
|
case SPELL_FAILED_EQUIPPED_ITEM_CLASS_OFFHAND:
|
||||||
|
data << int32(0); // required and actual item class?
|
||||||
|
data << int32(0);
|
||||||
|
break;
|
||||||
|
case SPELL_FAILED_REQUIRES_SPELL_FOCUS:
|
||||||
|
data << int32(0); // required spellfocus id?
|
||||||
|
break;
|
||||||
|
case SPELL_FAILED_REQUIRES_AREA:
|
||||||
|
data << int32(GetAreaId()); // untested
|
||||||
|
break;
|
||||||
|
case SPELL_FAILED_PREVENTED_BY_MECHANIC:
|
||||||
|
data << int32(0); // mechanic id?
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
owner->ToPlayer()->SendDirectMessage(&data);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Unit::SendPetActionFeedback(uint8 msg)
|
void Unit::SendPetActionFeedback(uint8 msg)
|
||||||
|
@ -369,10 +369,10 @@ void Opcodes::BuildOpcodeList()
|
|||||||
/*0x132*/ StoreOpcode(SMSG_SPELL_GO, "SMSG_SPELL_GO", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
|
/*0x132*/ StoreOpcode(SMSG_SPELL_GO, "SMSG_SPELL_GO", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
|
||||||
/*0x133*/ StoreOpcode(SMSG_SPELL_FAILURE, "SMSG_SPELL_FAILURE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
|
/*0x133*/ StoreOpcode(SMSG_SPELL_FAILURE, "SMSG_SPELL_FAILURE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
|
||||||
/*0x134*/ StoreOpcode(SMSG_SPELL_COOLDOWN, "SMSG_SPELL_COOLDOWN", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
|
/*0x134*/ StoreOpcode(SMSG_SPELL_COOLDOWN, "SMSG_SPELL_COOLDOWN", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
|
||||||
/*[-ZERO] Need check */ /*0x135*/ StoreOpcode(SMSG_COOLDOWN_EVENT, "SMSG_COOLDOWN_EVENT", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
|
/*0x135*/ StoreOpcode(SMSG_COOLDOWN_EVENT, "SMSG_COOLDOWN_EVENT", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
|
||||||
/*[-ZERO] Need check */ /*0x136*/ StoreOpcode(CMSG_CANCEL_AURA, "CMSG_CANCEL_AURA", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleCancelAuraOpcode);
|
/*[-ZERO] Need check */ /*0x136*/ StoreOpcode(CMSG_CANCEL_AURA, "CMSG_CANCEL_AURA", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleCancelAuraOpcode);
|
||||||
/*[-ZERO] Need check */ /*0x137*/ StoreOpcode(SMSG_UPDATE_AURA_DURATION, "SMSG_UPDATE_AURA_DURATION", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
|
/*0x137*/ StoreOpcode(SMSG_UPDATE_AURA_DURATION, "SMSG_UPDATE_AURA_DURATION", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
|
||||||
/*[-ZERO] Need check */ /*0x138*/ StoreOpcode(SMSG_PET_CAST_FAILED, "SMSG_PET_CAST_FAILED", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
|
/*0x138*/ StoreOpcode(SMSG_PET_CAST_FAILED, "SMSG_PET_CAST_FAILED", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
|
||||||
/*0x139*/ StoreOpcode(MSG_CHANNEL_START, "MSG_CHANNEL_START", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL);
|
/*0x139*/ StoreOpcode(MSG_CHANNEL_START, "MSG_CHANNEL_START", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL);
|
||||||
/*0x13A*/ StoreOpcode(MSG_CHANNEL_UPDATE, "MSG_CHANNEL_UPDATE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL);
|
/*0x13A*/ StoreOpcode(MSG_CHANNEL_UPDATE, "MSG_CHANNEL_UPDATE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL);
|
||||||
/*[-ZERO] Need check */ /*0x13B*/ StoreOpcode(CMSG_CANCEL_CHANNELLING, "CMSG_CANCEL_CHANNELLING", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleCancelChanneling);
|
/*[-ZERO] Need check */ /*0x13B*/ StoreOpcode(CMSG_CANCEL_CHANNELLING, "CMSG_CANCEL_CHANNELLING", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleCancelChanneling);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user