From bfa016cb6e43dd18a15e3c0787abff1a73a55877 Mon Sep 17 00:00:00 2001 From: TheSardele <46876120+TheSardele@users.noreply.github.com> Date: Thu, 19 Mar 2020 18:39:04 +0100 Subject: [PATCH 1/4] Adds confirmation prompt to kicking --- code/modules/admin/topic.dm | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 60156930408..7f6b0ea9d23 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -902,14 +902,18 @@ else if(href_list["boot2"]) var/mob/M = locateUID(href_list["boot2"]) if(ismob(M)) - if(M.client && M.client.holder && (M.client.holder.rights & R_BAN)) - to_chat(usr, "[key_name_admin(M)] cannot be kicked from the server.") - return - to_chat(M, "You have been kicked from the server") - log_admin("[key_name(usr)] booted [key_name(M)].") - message_admins("[key_name_admin(usr)] booted [key_name_admin(M)].", 1) - //M.client = null - del(M.client) + switch(alert("Kick [M.ckey]?",,"Yes","No")) + if("Yes") + if(M.client && M.client.holder && (M.client.holder.rights & R_BAN)) + to_chat(usr, "[key_name_admin(M)] cannot be kicked from the server.") + return + to_chat(M, "You have been kicked from the server") + log_admin("[key_name(usr)] booted [key_name(M)].") + message_admins("[key_name_admin(usr)] booted [key_name_admin(M)].", 1) + //M.client = null + del(M.client) + else + return //Player Notes else if(href_list["addnote"]) From 6c5801eb1f021d43551639217232e4ac49b96932 Mon Sep 17 00:00:00 2001 From: TheSardele <46876120+TheSardele@users.noreply.github.com> Date: Fri, 20 Mar 2020 21:16:36 +0100 Subject: [PATCH 2/4] Use if instead of switch --- code/modules/admin/topic.dm | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 7f6b0ea9d23..c3d32b8b7f4 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -902,18 +902,15 @@ else if(href_list["boot2"]) var/mob/M = locateUID(href_list["boot2"]) if(ismob(M)) - switch(alert("Kick [M.ckey]?",,"Yes","No")) - if("Yes") - if(M.client && M.client.holder && (M.client.holder.rights & R_BAN)) - to_chat(usr, "[key_name_admin(M)] cannot be kicked from the server.") - return - to_chat(M, "You have been kicked from the server") - log_admin("[key_name(usr)] booted [key_name(M)].") - message_admins("[key_name_admin(usr)] booted [key_name_admin(M)].", 1) - //M.client = null - del(M.client) - else + if(alert("Kick [M.ckey]?",,"Yes","No") == "Yes") + if(M.client && M.client.holder && (M.client.holder.rights & R_BAN)) + to_chat(usr, "[key_name_admin(M)] cannot be kicked from the server.") return + to_chat(M, "You have been kicked from the server") + log_admin("[key_name(usr)] booted [key_name(M)].") + message_admins("[key_name_admin(usr)] booted [key_name_admin(M)].", 1) + //M.client = null + del(M.client) //Player Notes else if(href_list["addnote"]) From cd23b41b20ce569ff42d4fbff00a789bdb3b9729 Mon Sep 17 00:00:00 2001 From: TheSardele <46876120+TheSardele@users.noreply.github.com> Date: Sun, 22 Mar 2020 13:24:06 +0100 Subject: [PATCH 3/4] Makes kicking more client than mob dependent --- code/modules/admin/topic.dm | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index c3d32b8b7f4..7d60535c454 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -901,16 +901,19 @@ else if(href_list["boot2"]) var/mob/M = locateUID(href_list["boot2"]) - if(ismob(M)) - if(alert("Kick [M.ckey]?",,"Yes","No") == "Yes") - if(M.client && M.client.holder && (M.client.holder.rights & R_BAN)) - to_chat(usr, "[key_name_admin(M)] cannot be kicked from the server.") - return - to_chat(M, "You have been kicked from the server") - log_admin("[key_name(usr)] booted [key_name(M)].") - message_admins("[key_name_admin(usr)] booted [key_name_admin(M)].", 1) - //M.client = null - del(M.client) + var/client/C = M.client + if(C == null) + to_chat(usr, "Mob has no client to kick.") + return + if(alert("Kick [C.ckey]?",,"Yes","No") == "Yes") + if(C && C.holder && (C.holder.rights & R_BAN)) + to_chat(usr, "[key_name_admin(C)] cannot be kicked from the server.") + return + to_chat(C, "You have been kicked from the server") + log_admin("[key_name(usr)] booted [key_name(C)].") + message_admins("[key_name_admin(usr)] booted [key_name_admin(C)].", 1) + //C = null + del(C) //Player Notes else if(href_list["addnote"]) From bd38053b1f4d35b8169f4ce8fb59e03339909f65 Mon Sep 17 00:00:00 2001 From: TheSardele <46876120+TheSardele@users.noreply.github.com> Date: Tue, 21 Jul 2020 22:27:54 +0200 Subject: [PATCH 4/4] Changed del to qdel --- code/modules/admin/topic.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index c3e34898727..e01b6f3ded3 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -913,7 +913,7 @@ log_admin("[key_name(usr)] booted [key_name(C)].") message_admins("[key_name_admin(usr)] booted [key_name_admin(C)].", 1) //C = null - del(C) + qdel(C) //Player Notes else if(href_list["addnote"])