From a8c5e27698455abbf24da88d487c9f4c8887ea5c Mon Sep 17 00:00:00 2001
From: mekolat <mekolat@users.noreply.github.com>
Date: Sun, 31 May 2015 17:55:29 -0400
Subject: send map pvp status

---
 src/map/clif.cpp | 16 ++++++++++++++++
 src/map/clif.hpp |  1 +
 2 files changed, 17 insertions(+)

(limited to 'src')

diff --git a/src/map/clif.cpp b/src/map/clif.cpp
index fbca96a..8c8b853 100644
--- a/src/map/clif.cpp
+++ b/src/map/clif.cpp
@@ -2050,6 +2050,20 @@ int clif_misceffect(dumb_ptr<block_list> bl, int type)
     return 0;
 }
 
+void clif_map_pvp(dumb_ptr<map_session_data> sd)
+{
+    nullpo_retv(sd);
+
+    if (sd->client_version < 3)
+        return;
+
+    Packet_Fixed<0x0199> fixed_199;
+    fixed_199.status = sd->bl_m->flag.get(MapFlag::PVP)? 1: 0;
+    Buffer buf = create_fpacket<0x0199, 4>(fixed_199);
+
+    clif_send(buf, sd, SendWho::SELF);
+}
+
 void clif_pvpstatus(dumb_ptr<map_session_data> sd)
 {
     nullpo_retv(sd);
@@ -3470,6 +3484,8 @@ RecvResult clif_parse_LoadEndAck(Session *s, dumb_ptr<map_session_data> sd)
     map_addblock(sd);     // ブロック登録
     clif_spawnpc(sd);          // spawn
 
+    clif_map_pvp(sd); // send map pvp status
+
     // weight max , now
     clif_updatestatus(sd, SP::MAXWEIGHT);
     clif_updatestatus(sd, SP::WEIGHT);
diff --git a/src/map/clif.hpp b/src/map/clif.hpp
index 63d3d6a..ecfdb15 100644
--- a/src/map/clif.hpp
+++ b/src/map/clif.hpp
@@ -72,6 +72,7 @@ void clif_scriptclose(dumb_ptr<map_session_data>, BlockId); //self
 void clif_scriptmenu(dumb_ptr<map_session_data>, BlockId, XString);  //self
 void clif_scriptinput(dumb_ptr<map_session_data>, BlockId); //self
 void clif_scriptinputstr(dumb_ptr<map_session_data> sd, BlockId npcid);  // self
+void clif_map_pvp(dumb_ptr<map_session_data>); // self
 
 int clif_additem(dumb_ptr<map_session_data>, IOff0, int, PickupFail);   //self
 void clif_delitem(dumb_ptr<map_session_data>, IOff0, int);    //self
-- 
cgit v1.2.3-70-g09d2