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)
|
void Player::ProhibitSpellSchool(SpellSchoolMask idSchoolMask, uint32 unTimeMs)
|
||||||
{
|
{
|
||||||
// last check 1.12
|
// last check 1.12
|
||||||
|
@ -725,6 +725,29 @@ enum PlayerRestState
|
|||||||
REST_STATE_RAF_LINKED = 0x04 // Exact use unknown
|
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
|
class PlayerTaxi
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@ -994,6 +1017,8 @@ class Player : public Unit
|
|||||||
void ContinueTaxiFlight();
|
void ContinueTaxiFlight();
|
||||||
void Mount(uint32 mount, uint32 spellId = 0) override;
|
void Mount(uint32 mount, uint32 spellId = 0) override;
|
||||||
void Unmount(bool from_aura = false) 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); }
|
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; } }
|
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; }
|
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 */ /*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 */ /*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 */ /*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);
|
/*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);
|
/*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 */ /*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 */ /*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);
|
/*[-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