All pastes #400577 Raw Edit

Miscellany

public text v1 · immutable
·published 2007-03-18 19:52 UTC
rendered paste body
Index: 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;