From 1fc3829bc686ad9c01a86e36ddb7eb80a383b3e6 Mon Sep 17 00:00:00 2001 From: "uhangi@gmail.com" Date: Sun, 12 Sep 2010 23:11:58 +0000 Subject: [PATCH] More admin thunderdome stuff. Added teleport to observer and admin areas, also teleporting to the thunderdome now drops all of your crap. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@91 316c924e-a436-60f5-8080-3fe189b3f50e --- code/defines/area/Space Station 13 areas.dm | 6 +- code/defines/global.dm | 2 + code/game/landmarks.dm | 4 + code/modules/admin/admin.dm | 119 +++++++++++++++----- 4 files changed, 102 insertions(+), 29 deletions(-) diff --git a/code/defines/area/Space Station 13 areas.dm b/code/defines/area/Space Station 13 areas.dm index 77217d93aa..7fae9a887a 100644 --- a/code/defines/area/Space Station 13 areas.dm +++ b/code/defines/area/Space Station 13 areas.dm @@ -420,10 +420,14 @@ name = "Thunderdome (Team 2)" icon_state = "yellow" -/area/tdome/tdomea +/area/tdome/tdomeadmin name = "Thunderdome (Admin.)" icon_state = "purple" +/area/tdome/tdomeobserve + name = "Thunderdome (Observer.)" + icon_state = "purple" + /area/medical/medbay name = "Medbay" icon_state = "medbay" diff --git a/code/defines/global.dm b/code/defines/global.dm index d839b123f1..b3fccdae07 100644 --- a/code/defines/global.dm +++ b/code/defines/global.dm @@ -107,6 +107,8 @@ var list/mazewarp = list() list/tdome1 = list() list/tdome2 = list() + list/tdomeobserve = list() + list/tdomeadmin = list() list/prisonsecuritywarp = list() //prison security goes to these list/prisonwarped = list() //list of players already warped list/blobstart = list() diff --git a/code/game/landmarks.dm b/code/game/landmarks.dm index 7d2cfa1b30..20d3ad835b 100644 --- a/code/game/landmarks.dm +++ b/code/game/landmarks.dm @@ -42,6 +42,10 @@ tdome1 += src.loc if (name == "tdome2") tdome2 += src.loc + if (name == "tdomeadmin") + tdomeadmin += src.loc + if (name == "tdomeobserve") + tdomeobserve += src.loc //not prisoners if (name == "prisonsecuritywarp") prisonsecuritywarp += src.loc diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 2da27d8ca3..80d4a59611 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -413,38 +413,99 @@ var/showadminmessages = 1 if (href_list["tdome1"]) if ((src.rank in list( "Administrator", "Secondary Administrator", "Primary Administrator", "Shit Guy", "Coder", "Host" ))) var/mob/M = locate(href_list["tdome1"]) - for(var/obj/item/W in M) - if (istype(W,/obj/item)) - M.u_equip(W) - if (M.client) - M.client.screen -= W - if (W) - W.loc = M.loc - W.dropped(M) - W.layer = initial(W.layer) - // M.revive() - M.loc = pick(tdome1) - log_admin("[key_name(usr)] has sent [key_name(M)] to the thunderdome. (Team 1)") - message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the thunderdome. (Team 1)", 1) - M << "\blue You have been sent to the Thunderdome." + if (ismob(M)) + if(istype(M, /mob/living/silicon/ai)) + alert("The AI can't be sent to the thunderdome you jerk!", null, null, null, null, null) + return + for(var/obj/item/W in M) + if (istype(W,/obj/item)) + if(istype(W, /datum/organ/external)) + continue + M.u_equip(W) + if (M.client) + M.client.screen -= W + if (W) + W.loc = M.loc + W.dropped(M) + W.layer = initial(W.layer) + M.paralysis += 5 + sleep(5) + M.loc = pick(tdome1) + spawn(50) + M << "\blue You have been sent to the Thunderdome." + log_admin("[key_name(usr)] has sent [key_name(M)] to the thunderdome. (Team 1)") + message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the thunderdome. (Team 1)", 1) if (href_list["tdome2"]) if ((src.rank in list( "Administrator", "Secondary Administrator", "Primary Administrator", "Shit Guy", "Coder", "Host" ))) var/mob/M = locate(href_list["tdome2"]) - for(var/obj/item/W in M) - if (istype(W,/obj/item)) - M.u_equip(W) - if (M.client) - M.client.screen -= W - if (W) - W.loc = M.loc - W.dropped(M) - W.layer = initial(W.layer) - // M.revive() - M.loc = pick(tdome2) - log_admin("[key_name(usr)] has sent [key_name(M)] to the thunderdome. (Team 2)") - message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the thunderdome. (Team 2)", 1) - M << "\blue You have been sent to the Thunderdome." + if (ismob(M)) + if(istype(M, /mob/living/silicon/ai)) + alert("The AI can't be sent to the thunderdome you jerk!", null, null, null, null, null) + return + for(var/obj/item/W in M) + if (istype(W,/obj/item)) + if(istype(W, /datum/organ/external)) + continue + M.u_equip(W) + if (M.client) + M.client.screen -= W + if (W) + W.loc = M.loc + W.dropped(M) + W.layer = initial(W.layer) + M.paralysis += 5 + sleep(5) + M.loc = pick(tdome2) + spawn(50) + M << "\blue You have been sent to the Thunderdome." + log_admin("[key_name(usr)] has sent [key_name(M)] to the thunderdome. (Team 2)") + message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the thunderdome. (Team 2)", 1) + + if (href_list["tdomeadmin"]) + if ((src.rank in list( "Administrator", "Secondary Administrator", "Primary Administrator", "Shit Guy", "Coder", "Host" ))) + var/mob/M = locate(href_list["tdomeadmin"]) + if (ismob(M)) + if(istype(M, /mob/living/silicon/ai)) + alert("The AI can't be sent to the thunderdome you jerk!", null, null, null, null, null) + return + M.paralysis += 5 + sleep(5) + M.loc = pick(tdomeadmin) + spawn(50) + M << "\blue You have been sent to the Thunderdome." + log_admin("[key_name(usr)] has sent [key_name(M)] to the thunderdome. (Admin.)") + message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the thunderdome. (Admin.)", 1) + + if (href_list["tdomeobserve"]) + if ((src.rank in list( "Administrator", "Secondary Administrator", "Primary Administrator", "Shit Guy", "Coder", "Host" ))) + var/mob/M = locate(href_list["tdomeobserve"]) + if (ismob(M)) + if(istype(M, /mob/living/silicon/ai)) + alert("The AI can't be sent to the thunderdome you jerk!", null, null, null, null, null) + return + for(var/obj/item/W in M) + if (istype(W,/obj/item)) + if(istype(W, /datum/organ/external)) + continue + M.u_equip(W) + if (M.client) + M.client.screen -= W + if (W) + W.loc = M.loc + W.dropped(M) + W.layer = initial(W.layer) + if(istype(M, /mob/living/carbon/human)) + var/mob/living/carbon/human/observer = M + observer.equip_if_possible(new /obj/item/clothing/under/suit_jacket(observer), observer.slot_w_uniform) + observer.equip_if_possible(new /obj/item/clothing/shoes/black(observer), observer.slot_shoes) + M.paralysis += 5 + sleep(5) + M.loc = pick(tdomeobserve) + spawn(50) + M << "\blue You have been sent to the Thunderdome." + log_admin("[key_name(usr)] has sent [key_name(M)] to the thunderdome. (Observer.)") + message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the thunderdome. (Observer.)", 1) if (href_list["adminauth"]) if ((src.rank in list( "Administrator", "Secondary Administrator", "Primary Administrator", "Shit Guy", "Coder", "Host" ))) @@ -560,6 +621,8 @@ var/showadminmessages = 1 foo += text("Make AI | ") foo += text("Thunderdome 1 | ") foo += text("Thunderdome 2 | ") + foo += text("Thunderdome Admin | ") + foo += text("Thunderdome Observer | ") foo += text("Prison | ") foo += text("Maze | ")