From 65ff4b731e164aa88547a2b03396b5c7208d07f1 Mon Sep 17 00:00:00 2001
From: Ben Longbons <b.r.longbons@gmail.com>
Date: Thu, 17 Oct 2013 11:40:46 -0700
Subject: Add @charkiller command for symmetry

---
 src/map/atcommand.cpp | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

(limited to 'src/map')

diff --git a/src/map/atcommand.cpp b/src/map/atcommand.cpp
index 2ed853f..76355f5 100644
--- a/src/map/atcommand.cpp
+++ b/src/map/atcommand.cpp
@@ -145,6 +145,7 @@ ATCOMMAND_FUNC(character_storage_list);    // by Yor
 ATCOMMAND_FUNC(character_cart_list);   // by Yor
 ATCOMMAND_FUNC(addwarp);       // by MouseJstr
 ATCOMMAND_FUNC(killer);        // by MouseJstr
+ATCOMMAND_FUNC(charkiller);    // by o11c
 ATCOMMAND_FUNC(npcmove);       // by MouseJstr
 ATCOMMAND_FUNC(killable);      // by MouseJstr
 ATCOMMAND_FUNC(charkillable);  // by MouseJstr
@@ -310,6 +311,7 @@ AtCommandInfo atcommand_info[] =
     {"@charcartlist", 40, atcommand_character_cart_list}, // by Yor
     {"@addwarp", 20, atcommand_addwarp}, // by MouseJstr
     {"@killer", 60, atcommand_killer},    // by MouseJstr
+    {"@charkiller", 60, atcommand_charkiller},    // by o11c
     {"@npcmove", 20, atcommand_npcmove}, // by MouseJstr
     {"@killable", 40, atcommand_killable},  // by MouseJstr
     {"@charkillable", 40, atcommand_charkillable},  // by MouseJstr
@@ -5063,6 +5065,39 @@ int atcommand_killer(const int fd, dumb_ptr<map_session_data> sd,
     return 0;
 }
 
+/*==========================================
+ * @charkiller by o11c, for symmetry
+ * enable another player to kill other players even when not in pvp
+ *------------------------------------------
+ */
+int atcommand_charkiller(const int fd, dumb_ptr<map_session_data>,
+        ZString message)
+{
+    CharName character;
+
+    if (!asplit(message, &character))
+        return -1;
+
+    dumb_ptr<map_session_data> pl_sd = map_nick2sd(character);
+    if (pl_sd == NULL)
+        return -1;
+
+    pl_sd->special_state.killer = !pl_sd->special_state.killer;
+
+    if (pl_sd->special_state.killer)
+    {
+        clif_displaymessage(fd, "The player is now a killer");
+        clif_displaymessage(pl_sd->fd, "You are now a killer");
+    }
+    else
+    {
+        clif_displaymessage(fd, "The player is no longer a killer");
+        clif_displaymessage(pl_sd->fd, "You are no longer a killer");
+    }
+
+    return 0;
+}
+
 /*==========================================
  * @killable by MouseJstr
  * enable other people killing you
-- 
cgit v1.2.3-70-g09d2