diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 571401c962d8..e4169b9c0128 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -1056,14 +1056,21 @@ if(!check_rights(R_ADMIN)) return var/mob/M = locate(href_list["boot2"]) - if (ismob(M)) + if(ismob(M)) if(!check_if_greater_rights_than(M.client)) to_chat(usr, "Error: They have more rights than you do.") return + if(alert(usr, "Kick [key_name(M)]?", "Confirm", "Yes", "No") != "Yes") + return + if(!M) + to_chat(usr, "Error: [M] no longer exists!") + return + if(!M.client) + to_chat(usr, "Error: [M] no longer has a client!") + return to_chat(M, "You have been kicked from the server by [usr.client.holder.fakekey ? "an Administrator" : "[usr.client.ckey]"].") log_admin("[key_name(usr)] kicked [key_name(M)].") message_admins("[key_name_admin(usr)] kicked [key_name_admin(M)].") - //M.client = null qdel(M.client) else if(href_list["addmessage"])