rendered paste bodyIndex: src/game/MiscHandler.cpp
===================================================================
--- src/game/MiscHandler.cpp (revision 3336)
+++ src/game/MiscHandler.cpp (working copy)
@@ -345,6 +345,11 @@ void WorldSession::HandleTogglePvP(World
}
}
+#define ZONE_GURUBASHI 33
+#define ZONE_DIREMAUL 2557
+#define AREA_GURUBASHI 2177
+#define AREA_DIREMAUL 3217
+
void WorldSession::HandleZoneUpdateOpcode( WorldPacket & recv_data )
{
CHECK_PACKET_SIZE(recv_data,4);
@@ -354,6 +359,17 @@ void WorldSession::HandleZoneUpdateOpcod
sLog.outDetail("WORLD: Recvd ZONE_UPDATE: %u", newZone);
+ const AreaTableEntry* const area = GetAreaEntryByAreaID(newZone);
+ if(area && newZone == ZONE_GURUBASHI && GetPlayer()->GetAreaId() == AREA_GURUBASHI && GetPlayer()->GetInArena() != 1){
+ GetPlayer()->SetPvPFFA(true, 1);
+ }
+ else if(area && newZone == ZONE_DIREMAUL && GetPlayer()->GetAreaId() == AREA_DIREMAUL){
+ GetPlayer()->SetPvPFFA(true, 2);
+ }
+ else if(area && GetPlayer()->GetInArena() != 0){
+ GetPlayer()->SetPvPFFACounter(time(NULL));
+ }
+
GetPlayer()->UpdateZone();
}
void WorldSession::HandleSetTargetOpcode( WorldPacket & recv_data )
{
CHECK_PACKET_SIZE(recv_data,8);
uint64 guid ;
recv_data >> guid;