Implement SMSG_MOUNTRESULT, SMSG_DISMOUNTRESULT (yet unused)
This commit is contained in:
parent
c3d42291b5
commit
202bc62be0
@ -17242,6 +17242,20 @@ void Player::Unmount(bool from_aura)
|
||||
}
|
||||
}
|
||||
|
||||
void Player::SendMountResult(PlayerMountResult result)
|
||||
{
|
||||
WorldPacket data(SMSG_MOUNTRESULT, 4);
|
||||
data << uint32(result);
|
||||
GetSession()->SendPacket(&data);
|
||||
}
|
||||
|
||||
void Player::SendDismountResult(PlayerDismountResult result)
|
||||
{
|
||||
WorldPacket data(SMSG_DISMOUNTRESULT, 4);
|
||||
data << uint32(result);
|
||||
GetSession()->SendPacket(&data);
|
||||
}
|
||||
|
||||
void Player::ProhibitSpellSchool(SpellSchoolMask idSchoolMask, uint32 unTimeMs)
|
||||
{
|
||||
// last check 1.12
|
||||
|
@ -725,6 +725,29 @@ enum PlayerRestState
|
||||
REST_STATE_RAF_LINKED = 0x04 // Exact use unknown
|
||||
};
|
||||
|
||||
enum PlayerMountResult
|
||||
{
|
||||
MOUNTRESULT_INVALIDMOUNTEE = 0, // You can't mount that unit!
|
||||
MOUNTRESULT_TOOFARAWAY = 1, // That mount is too far away!
|
||||
MOUNTRESULT_ALREADYMOUNTED = 2, // You're already mounted!
|
||||
MOUNTRESULT_NOTMOUNTABLE = 3, // That unit can't be mounted!
|
||||
MOUNTRESULT_NOTYOURPET = 4, // That mount isn't your pet!
|
||||
MOUNTRESULT_OTHER = 5, // internal
|
||||
MOUNTRESULT_LOOTING = 6, // You can't mount while looting!
|
||||
MOUNTRESULT_RACECANTMOUNT = 7, // You can't mount because of your race!
|
||||
MOUNTRESULT_SHAPESHIFTED = 8, // You can't mount while shapeshifted!
|
||||
MOUNTRESULT_FORCEDDISMOUNT = 9, // You dismount before continuing.
|
||||
MOUNTRESULT_OK = 10 // no error
|
||||
};
|
||||
|
||||
enum PlayerDismountResult
|
||||
{
|
||||
DISMOUNTRESULT_NOPET = 0, // internal
|
||||
DISMOUNTRESULT_NOTMOUNTED = 1, // You're not mounted!
|
||||
DISMOUNTRESULT_NOTYOURPET = 2, // internal
|
||||
DISMOUNTRESULT_OK = 3 // no error
|
||||
};
|
||||
|
||||
class PlayerTaxi
|
||||
{
|
||||
public:
|
||||
@ -994,6 +1017,8 @@ class Player : public Unit
|
||||
void ContinueTaxiFlight();
|
||||
void Mount(uint32 mount, uint32 spellId = 0) override;
|
||||
void Unmount(bool from_aura = false) override;
|
||||
void SendMountResult(PlayerMountResult result);
|
||||
void SendDismountResult(PlayerDismountResult result);
|
||||
bool isAcceptTickets() const { return GetSession()->GetSecurity() >= SEC_GAMEMASTER && (m_ExtraFlags & PLAYER_EXTRA_GM_ACCEPT_TICKETS); }
|
||||
void SetAcceptTicket(bool on) { if (on) { m_ExtraFlags |= PLAYER_EXTRA_GM_ACCEPT_TICKETS; } else { m_ExtraFlags &= ~PLAYER_EXTRA_GM_ACCEPT_TICKETS; } }
|
||||
bool isAcceptWhispers() const { return m_ExtraFlags & PLAYER_EXTRA_ACCEPT_WHISPERS; }
|
||||
|
@ -426,8 +426,8 @@ void Opcodes::BuildOpcodeList()
|
||||
/*[-ZERO] Need check */ /*0x16B*/ StoreOpcode(SMSG_DUEL_WINNER, "SMSG_DUEL_WINNER", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
|
||||
/*[-ZERO] Need check */ /*0x16C*/ StoreOpcode(CMSG_DUEL_ACCEPTED, "CMSG_DUEL_ACCEPTED", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleDuelAcceptedOpcode);
|
||||
/*[-ZERO] Need check */ /*0x16D*/ StoreOpcode(CMSG_DUEL_CANCELLED, "CMSG_DUEL_CANCELLED", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleDuelCancelledOpcode);
|
||||
/*[-ZERO] Need check */ /*0x16E*/ StoreOpcode(SMSG_MOUNTRESULT, "SMSG_MOUNTRESULT", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
|
||||
/*[-ZERO] Need check */ /*0x16F*/ StoreOpcode(SMSG_DISMOUNTRESULT, "SMSG_DISMOUNTRESULT", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
|
||||
/*0x16E*/ StoreOpcode(SMSG_MOUNTRESULT, "SMSG_MOUNTRESULT", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
|
||||
/*0x16F*/ StoreOpcode(SMSG_DISMOUNTRESULT, "SMSG_DISMOUNTRESULT", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
|
||||
/*[-ZERO] Need check */ /*0x170*/ StoreOpcode(SMSG_PUREMOUNT_CANCELLED_OBSOLETE, "SMSG_PUREMOUNT_CANCELLED_OBSOLETE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
|
||||
/*[-ZERO] Need check */ /*0x171*/ StoreOpcode(CMSG_MOUNTSPECIAL_ANIM, "CMSG_MOUNTSPECIAL_ANIM", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleMountSpecialAnimOpcode);
|
||||
/*[-ZERO] Need check */ /*0x172*/ StoreOpcode(SMSG_MOUNTSPECIAL_ANIM, "SMSG_MOUNTSPECIAL_ANIM", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
|
||||
|
Loading…
x
Reference in New Issue
Block a user