diff options
-rw-r--r-- | src/game/Chat.cpp | 1 | ||||
-rw-r--r-- | src/game/Chat.h | 1 | ||||
-rw-r--r-- | src/game/Debugcmds.cpp | 10 | ||||
-rw-r--r-- | src/game/SpellAuras.cpp | 2 | ||||
-rw-r--r-- | src/game/WorldSession.cpp | 7 | ||||
-rw-r--r-- | src/game/WorldSession.h | 1 |
6 files changed, 22 insertions, 0 deletions
diff --git a/src/game/Chat.cpp b/src/game/Chat.cpp index f64dd86545a..bc2ed1d27dc 100644 --- a/src/game/Chat.cpp +++ b/src/game/Chat.cpp @@ -217,6 +217,7 @@ ChatCommand * ChatHandler::getCommandTable() { "ps", SEC_ADMINISTRATOR, false, &ChatHandler::HandlePlaySound2Command, "", NULL }, { "scn", SEC_ADMINISTRATOR, false, &ChatHandler::HandleSendChannelNotifyCommand, "", NULL }, { "scm", SEC_ADMINISTRATOR, false, &ChatHandler::HandleSendChatMsgCommand, "", NULL }, + { "sps", SEC_ADMINISTRATOR, false, &ChatHandler::HandleSendSetPhaseShiftCommand, "", NULL }, { "getitemstate", SEC_ADMINISTRATOR, false, &ChatHandler::HandleGetItemState, "", NULL }, { "playsound", SEC_MODERATOR, false, &ChatHandler::HandlePlaySoundCommand, "", NULL }, { "update", SEC_ADMINISTRATOR, false, &ChatHandler::HandleUpdate, "", NULL }, diff --git a/src/game/Chat.h b/src/game/Chat.h index a24de275f78..a47397212d8 100644 --- a/src/game/Chat.h +++ b/src/game/Chat.h @@ -499,6 +499,7 @@ class ChatHandler bool HandleDebugBattlegroundCommand(const char * args); bool HandleSpawnVehicle(const char * args); bool HandleSendLargePacketCommand(const char * args); + bool HandleSendSetPhaseShiftCommand(const char * args); Player* getSelectedPlayer(); Creature* getSelectedCreature(); diff --git a/src/game/Debugcmds.cpp b/src/game/Debugcmds.cpp index 60f1536963f..68e934abc7c 100644 --- a/src/game/Debugcmds.cpp +++ b/src/game/Debugcmds.cpp @@ -649,3 +649,13 @@ bool ChatHandler::HandleSendLargePacketCommand(const char* args) SendSysMessage(ss.str().c_str()); return true; } + +bool ChatHandler::HandleSendSetPhaseShiftCommand(const char* args) +{ + if(!args) + return false; + + uint32 PhaseShift = atoi(args); + m_session->SendSetPhaseShift(PhaseShift); + return true; +} diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index 8aa9bc5b1ef..45be199d32f 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -6538,6 +6538,8 @@ void Aura::HandlePhase(bool apply, bool Real) // GM-mode have mask 0xFFFFFFFF if(!((Player*)m_target)->isGameMaster()) m_target->SetPhaseMask(apply ? GetMiscValue() : PHASEMASK_NORMAL,false); + + ((Player*)m_target)->GetSession()->SendSetPhaseShift(apply ? GetMiscValue() : PHASEMASK_NORMAL); } else m_target->SetPhaseMask(apply ? GetMiscValue() : PHASEMASK_NORMAL,false); diff --git a/src/game/WorldSession.cpp b/src/game/WorldSession.cpp index b7da09af1b2..77a62646818 100644 --- a/src/game/WorldSession.cpp +++ b/src/game/WorldSession.cpp @@ -477,6 +477,13 @@ void WorldSession::SendNotification(int32 string_id,...) } } +void WorldSession::SendSetPhaseShift(uint32 PhaseShift) +{ + WorldPacket data(SMSG_SET_PHASE_SHIFT, 4); + data << uint32(PhaseShift); + SendPacket(&data); +} + const char * WorldSession::GetTrinityString( int32 entry ) const { return objmgr.GetTrinityString(entry,GetSessionDbLocaleIndex()); diff --git a/src/game/WorldSession.h b/src/game/WorldSession.h index d17acf29284..05cf4cec8b3 100644 --- a/src/game/WorldSession.h +++ b/src/game/WorldSession.h @@ -101,6 +101,7 @@ class TRINITY_DLL_SPEC WorldSession void SendLfgResult(uint32 type, uint32 entry, uint8 lfg_type); void SendPartyResult(PartyOperation operation, const std::string& member, PartyResult res); void SendAreaTriggerMessage(const char* Text, ...) ATTR_PRINTF(2,3); + void SendSetPhaseShift(uint32 phaseShift); uint32 GetSecurity() const { return _security; } uint32 GetAccountId() const { return _accountId; } |