diff options
| author | thenecromancer <none@none> | 2010-07-31 13:55:23 +0200 |
|---|---|---|
| committer | thenecromancer <none@none> | 2010-07-31 13:55:23 +0200 |
| commit | 270367abfc287b7d439405a5dae6a9dc9240f7ac (patch) | |
| tree | 9b536021c924b0829fa4ab99fdc27735e046fb37 /src/server/game/Server | |
| parent | bdf20fa4204c89207c97b5ab9175d7ad504142f6 (diff) | |
Prevent players from gaining rest state in hostile capital zones.
Fix a bug where PvP status never resets when not moving to another zone.
Reset PvP status at Taxi node end/worldport when moving into friendly territory.
--HG--
branch : trunk
Diffstat (limited to 'src/server/game/Server')
| -rw-r--r-- | src/server/game/Server/Protocol/Handlers/MovementHandler.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/server/game/Server/Protocol/Handlers/MovementHandler.cpp b/src/server/game/Server/Protocol/Handlers/MovementHandler.cpp index 50b687e1595..7c4f305bcd7 100644 --- a/src/server/game/Server/Protocol/Handlers/MovementHandler.cpp +++ b/src/server/game/Server/Protocol/Handlers/MovementHandler.cpp @@ -179,6 +179,9 @@ void WorldSession::HandleMoveWorldportAckOpcode() // honorless target if (GetPlayer()->pvpInfo.inHostileArea) GetPlayer()->CastSpell(GetPlayer(), 2479, true); + // in friendly area + else if (GetPlayer()->IsPvP() && !GetPlayer()->HasFlag(PLAYER_FLAGS,PLAYER_FLAGS_IN_PVP)) + GetPlayer()->UpdatePvP(false, false); // resummon pet GetPlayer()->ResummonPetTemporaryUnSummonedIfAny(); @@ -227,6 +230,9 @@ void WorldSession::HandleMoveTeleportAck(WorldPacket& recv_data) // honorless target if (plMover->pvpInfo.inHostileArea) plMover->CastSpell(plMover, 2479, true); + // in friendly area + else if (plMover->IsPvP() && !plMover->HasFlag(PLAYER_FLAGS,PLAYER_FLAGS_IN_PVP)) + plMover->UpdatePvP(false, false); } // resummon pet |
