diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index e28952f6595..2b3db859a1c 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -111,7 +111,8 @@ return else if(href_list["call_shuttle"]) - if(!check_rights(R_ADMIN)) return + if(!check_rights(R_ADMIN)) + return switch(href_list["call_shuttle"]) if("1") @@ -130,7 +131,8 @@ href_list["secretsadmin"] = "check_antagonist" else if(href_list["delay_round_end"]) - if(!check_rights(R_SERVER)) return + if(!check_rights(R_SERVER)) + return SSticker.delay_end = !SSticker.delay_end log_admin("[key_name(usr)] [SSticker.delay_end ? "delayed the round end" : "has made the round end normally"].",admin_key=key_name(usr)) @@ -139,7 +141,8 @@ else if(href_list["simplemake"]) - if(!check_rights(R_SPAWN)) return + if(!check_rights(R_SPAWN)) + return var/mob/M = locate(href_list["mob"]) if(!ismob(M)) @@ -148,33 +151,52 @@ var/delmob = 0 switch(alert("Delete old mob?","Message","Yes","No","Cancel")) - if("Cancel") return - if("Yes") delmob = 1 + if("Cancel") + return + if("Yes") + delmob = 1 log_admin("[key_name(usr)] has used rudimentary transformation on [key_name(M)]. Transforming to [href_list["simplemake"]]; deletemob=[delmob]",admin_key=key_name(usr)) message_admins("[key_name_admin(usr)] has used rudimentary transformation on [key_name_admin(M)]. Transforming to [href_list["simplemake"]]; deletemob=[delmob]", 1) switch(href_list["simplemake"]) - if("observer") M.change_mob_type( /mob/abstract/observer , null, null, delmob ) - if("nymph") M.change_mob_type( /mob/living/carbon/alien/diona , null, null, delmob ) - if("human") spawn_humanoid_species_admin(usr, M, delmob) - if("slime") M.change_mob_type( /mob/living/carbon/slime , null, null, delmob ) - if("ai") M.change_mob_type( /mob/living/silicon/ai , null, null, delmob ) - if("robot") M.change_mob_type( /mob/living/silicon/robot , null, null, delmob ) - if("cat") M.change_mob_type( /mob/living/simple_animal/cat , null, null, delmob ) - if("runtime") M.change_mob_type( /mob/living/simple_animal/cat/fluff/Runtime , null, null, delmob ) - if("corgi") M.change_mob_type( /mob/living/simple_animal/corgi , null, null, delmob ) - if("ian") M.change_mob_type( /mob/living/simple_animal/corgi/Ian , null, null, delmob ) - if("crab") M.change_mob_type( /mob/living/simple_animal/crab , null, null, delmob ) - if("parrot") M.change_mob_type( /mob/living/simple_animal/parrot , null, null, delmob ) - if("constructarmored") M.change_mob_type( /mob/living/simple_animal/construct/armored , null, null, delmob ) - if("constructbuilder") M.change_mob_type( /mob/living/simple_animal/construct/builder , null, null, delmob ) - if("constructwraith") M.change_mob_type( /mob/living/simple_animal/construct/wraith , null, null, delmob ) - if("shade") M.change_mob_type( /mob/living/simple_animal/shade , null, null, delmob ) + if("observer") + M.change_mob_type( /mob/abstract/observer , null, null, delmob ) + if("nymph") + M.change_mob_type( /mob/living/carbon/alien/diona , null, null, delmob ) + if("human") + spawn_humanoid_species_admin(usr, M, delmob) + if("slime") + M.change_mob_type( /mob/living/carbon/slime , null, null, delmob ) + if("ai") + M.change_mob_type( /mob/living/silicon/ai , null, null, delmob ) + if("robot") + M.change_mob_type( /mob/living/silicon/robot , null, null, delmob ) + if("cat") + M.change_mob_type( /mob/living/simple_animal/cat , null, null, delmob ) + if("runtime") + M.change_mob_type( /mob/living/simple_animal/cat/fluff/Runtime , null, null, delmob ) + if("corgi") + M.change_mob_type( /mob/living/simple_animal/corgi , null, null, delmob ) + if("ian") + M.change_mob_type( /mob/living/simple_animal/corgi/Ian , null, null, delmob ) + if("crab") + M.change_mob_type( /mob/living/simple_animal/crab , null, null, delmob ) + if("parrot") + M.change_mob_type( /mob/living/simple_animal/parrot , null, null, delmob ) + if("constructarmored") + M.change_mob_type( /mob/living/simple_animal/construct/armored , null, null, delmob ) + if("constructbuilder") + M.change_mob_type( /mob/living/simple_animal/construct/builder , null, null, delmob ) + if("constructwraith") + M.change_mob_type( /mob/living/simple_animal/construct/wraith , null, null, delmob ) + if("shade") + M.change_mob_type( /mob/living/simple_animal/shade , null, null, delmob ) /////////////////////////////////////new ban stuff else if(href_list["unbanf"]) - if(!check_rights(R_BAN)) return + if(!check_rights(R_BAN)) + return var/banfolder = href_list["unbanf"] Banlist.cd = "/base/[banfolder]" @@ -190,7 +212,8 @@ usr.client.warn(href_list["warn"]) else if(href_list["unbane"]) - if(!check_rights(R_BAN)) return + if(!check_rights(R_BAN)) + return UpdateTime() var/reason @@ -214,17 +237,20 @@ if(minutes > CMinutes) mins = minutes - CMinutes mins = input(usr,"How long (in minutes)? (Default: 1440)","Ban time",mins ? mins : 1440) as num|null - if(!mins) return + if(!mins) + return mins = min(525599,mins) minutes = CMinutes + mins duration = GetExp(minutes) reason = sanitize(input(usr,"Reason?","reason",reason2) as text|null) - if(!reason) return + if(!reason) + return if("No") temp = 0 duration = "Perma" reason = sanitize(input(usr,"Reason?","reason",reason2) as text|null) - if(!reason) return + if(!reason) + return log_admin("[key_name(usr)] edited [banned_key]'s ban. Reason: [reason] Duration: [duration]",admin_key=key_name(usr)) ban_unban_log_save("[key_name(usr)] edited [banned_key]'s ban. Reason: [reason] Duration: [duration]") @@ -277,7 +303,7 @@ log_admin("[key_name(usr)] booted [key_name(M)].",admin_key=key_name(usr),ckey=key_name(M)) message_admins("[key_name_admin(usr)] booted [key_name_admin(M)].", 1) //M.client = null - qdel(M.client) + del(M.client) else if(href_list["newban"]) if(!check_rights(R_MOD,0) && !check_rights(R_BAN, 0)) @@ -289,9 +315,11 @@ return var/mob/M = locate(href_list["newban"]) - if(!ismob(M)) return + if(!ismob(M)) + return - if(M.client && M.client.holder) return //admins cannot be banned. Even if they could, the ban doesn't affect them anyway + if(M.client && M.client.holder) + return //admins cannot be banned. Even if they could, the ban doesn't affect them anyway switch(alert("Temporary Ban?",,"Yes","No", "Cancel")) if("Yes") @@ -323,10 +351,11 @@ log_admin("[usr.client.ckey] has banned [M.ckey].\nReason: [reason]\nThis will be removed in [mins] minutes.",admin_key=key_name(usr),ckey=key_name(M)) message_admins("[usr.client.ckey] has banned [M.ckey].\nReason: [reason]\nThis will be removed in [mins] minutes.") - qdel(M.client) + del(M.client) //qdel(M) // See no reason why to delete mob. Important stuff can be lost. And ban can be lifted before round ends. if("No") - if(!check_rights(R_BAN)) return + if(!check_rights(R_BAN)) + return var/reason = sanitize(input(usr,"Reason?","reason","Griefer") as text|null) if(!reason) return @@ -352,26 +381,32 @@ feedback_inc("ban_perma",1) DB_ban_record(BANTYPE_PERMA, M, -1, reason) - qdel(M.client) + del(M.client) //qdel(M) if("Cancel") return else if(href_list["mute"]) - if(!check_rights(R_MOD,0) && !check_rights(R_ADMIN)) return + if(!check_rights(R_MOD,0) && !check_rights(R_ADMIN)) + return var/mob/M = locate(href_list["mute"]) - if(!ismob(M)) return - if(!M.client) return + if(!ismob(M)) + return + if(!M.client) + return var/mute_type = href_list["mute_type"] - if(istext(mute_type)) mute_type = text2num(mute_type) - if(!isnum(mute_type)) return + if(istext(mute_type)) + mute_type = text2num(mute_type) + if(!isnum(mute_type)) + return cmd_admin_mute(M, mute_type) else if(href_list["c_mode"]) - if(!check_rights(R_ADMIN)) return + if(!check_rights(R_ADMIN)) + return if(ROUND_IS_STARTED) return alert(usr, "The game has already started.", null, null, null, null) @@ -384,7 +419,8 @@ usr << browse(dat, "window=c_mode") else if(href_list["f_secret"]) - if(!check_rights(R_ADMIN)) return + if(!check_rights(R_ADMIN)) + return if(ROUND_IS_STARTED) return alert(usr, "The game has already started.", null, null, null, null) @@ -398,7 +434,8 @@ usr << browse(dat, "window=f_secret") else if(href_list["c_mode2"]) - if(!check_rights(R_ADMIN|R_SERVER)) return + if(!check_rights(R_ADMIN|R_SERVER)) + return if (ROUND_IS_STARTED) return alert(usr, "The game has already started.", null, null, null, null) @@ -411,7 +448,8 @@ .(href, list("c_mode"=1)) else if(href_list["f_secret2"]) - if(!check_rights(R_ADMIN|R_SERVER)) return + if(!check_rights(R_ADMIN|R_SERVER)) + return if(ROUND_IS_STARTED) return alert(usr, "The game has already started.", null, null, null, null) @@ -436,7 +474,8 @@ psi.check_psionic_trigger(100, "outside intervention", redactive = TRUE) else if(href_list["monkeyone"]) - if(!check_rights(R_SPAWN)) return + if(!check_rights(R_SPAWN)) + return var/mob/living/carbon/human/H = locate(href_list["monkeyone"]) if(!istype(H)) @@ -448,7 +487,8 @@ H.monkeyize() else if(href_list["corgione"]) - if(!check_rights(R_SPAWN)) return + if(!check_rights(R_SPAWN)) + return var/mob/living/carbon/human/H = locate(href_list["corgione"]) if(!istype(H)) @@ -460,14 +500,16 @@ H.corgize() else if(href_list["forcespeech"]) - if(!check_rights(R_FUN)) return + if(!check_rights(R_FUN)) + return var/mob/M = locate(href_list["forcespeech"]) if(!ismob(M)) to_chat(usr, "this can only be used on instances of type /mob") var/speech = input("What will [key_name(M)] say?.", "Force speech", "")// Don't need to sanitize, since it does that in say(), we also trust our admins. - if(!speech) return + if(!speech) + return M.say(speech) speech = sanitize(speech) // Nah, we don't trust them log_admin("[key_name(usr)] forced [key_name(M)] to say: [speech]",admin_key=key_name(usr)) @@ -498,7 +540,8 @@ qdel(M) else if(href_list["tdome1"]) - if(!check_rights(R_FUN)) return + if(!check_rights(R_FUN)) + return if(alert(usr, "Confirm?", "Message", "Yes", "No") != "Yes") return @@ -523,7 +566,8 @@ message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the thunderdome. (Team 1)", 1) else if(href_list["tdome2"]) - if(!check_rights(R_FUN)) return + if(!check_rights(R_FUN)) + return if(alert(usr, "Confirm?", "Message", "Yes", "No") != "Yes") return @@ -548,7 +592,8 @@ message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the thunderdome. (Team 2)", 1) else if(href_list["tdomeadmin"]) - if(!check_rights(R_FUN)) return + if(!check_rights(R_FUN)) + return if(alert(usr, "Confirm?", "Message", "Yes", "No") != "Yes") return @@ -570,7 +615,8 @@ message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the thunderdome. (Admin.)", 1) else if(href_list["tdomeobserve"]) - if(!check_rights(R_FUN)) return + if(!check_rights(R_FUN)) + return if(alert(usr, "Confirm?", "Message", "Yes", "No") != "Yes") return @@ -599,7 +645,8 @@ message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the thunderdome. (Observer.)", 1) else if(href_list["revive"]) - if(!check_rights(R_REJUVINATE)) return + if(!check_rights(R_REJUVINATE)) + return var/mob/living/L = locate(href_list["revive"]) if(!istype(L)) @@ -614,7 +661,8 @@ to_chat(usr, "Admin Rejuvinates have been disabled") else if(href_list["makeai"]) - if(!check_rights(R_SPAWN)) return + if(!check_rights(R_SPAWN)) + return var/mob/living/carbon/human/H = locate(href_list["makeai"]) if(!istype(H)) @@ -626,7 +674,8 @@ H.AIize() else if(href_list["makeslime"]) - if(!check_rights(R_SPAWN)) return + if(!check_rights(R_SPAWN)) + return var/mob/living/carbon/human/H = locate(href_list["makeslime"]) if(!istype(H)) @@ -636,7 +685,8 @@ usr.client.cmd_admin_slimeize(H) else if(href_list["makerobot"]) - if(!check_rights(R_SPAWN)) return + if(!check_rights(R_SPAWN)) + return var/mob/living/carbon/human/H = locate(href_list["makerobot"]) if(!istype(H)) @@ -646,7 +696,8 @@ usr.client.cmd_admin_robotize(H) else if(href_list["makeanimal"]) - if(!check_rights(R_SPAWN)) return + if(!check_rights(R_SPAWN)) + return var/mob/M = locate(href_list["makeanimal"]) if(istype(M, /mob/abstract/new_player)) @@ -656,7 +707,8 @@ usr.client.cmd_admin_animalize(M) else if(href_list["togmutate"]) - if(!check_rights(R_SPAWN)) return + if(!check_rights(R_SPAWN)) + return var/mob/living/carbon/human/H = locate(href_list["togmutate"]) if(!istype(H)) @@ -673,12 +725,14 @@ show_player_panel(M) else if(href_list["adminplayerobservejump"]) - if(!check_rights(R_MOD|R_ADMIN)) return + if(!check_rights(R_MOD|R_ADMIN)) + return var/client/C = usr.client var/mob/M = locate(href_list["adminplayerobservejump"]) - if(!isobserver(usr)) C.admin_ghost() + if(!isobserver(usr)) + C.admin_ghost() sleep(2) C.jumptomob(M) @@ -759,8 +813,10 @@ //GenDer switch(M.gender) - if(MALE,FEMALE) gender_description = "[M.gender]" - else gender_description = "[M.gender]" + if(MALE,FEMALE) + gender_description = "[M.gender]" + else + gender_description = "[M.gender]" var/dat = "Info about [M.name]:
" dat += "Mob type: [M.type]
" @@ -782,7 +838,8 @@ extrainfo_win.open() else if(href_list["adminspawncookie"]) - if(!check_rights(R_ADMIN|R_FUN)) return + if(!check_rights(R_ADMIN|R_FUN)) + return var/mob/living/carbon/human/H = locate(href_list["adminspawncookie"]) if(!ishuman(H)) @@ -806,7 +863,8 @@ to_chat(H, "Your prayers have been answered!! You received the best cookie!") else if(href_list["BlueSpaceArtillery"]) - if(!check_rights(R_ADMIN|R_FUN)) return + if(!check_rights(R_ADMIN|R_FUN)) + return var/mob/living/M = locate(href_list["BlueSpaceArtillery"]) if(!isliving(M)) @@ -931,7 +989,8 @@ var/page = text2num(href_list["AdminFaxViewPage"]) var/obj/item/paper_bundle/bundle = locate(href_list["paper_bundle"]) - if (!bundle) return + if (!bundle) + return if (istype(bundle.pages[page], /obj/item/paper)) var/obj/item/paper/P = bundle.pages[page] @@ -955,38 +1014,45 @@ return else if(href_list["jumpto"]) - if(!check_rights(R_ADMIN)) return + if(!check_rights(R_ADMIN)) + return var/mob/M = locate(href_list["jumpto"]) usr.client.jumptomob(M) else if(href_list["getmob"]) - if(!check_rights(R_ADMIN)) return + if(!check_rights(R_ADMIN)) + return - if(alert(usr, "Confirm?", "Message", "Yes", "No") != "Yes") return + if(alert(usr, "Confirm?", "Message", "Yes", "No") != "Yes") + return var/mob/M = locate(href_list["getmob"]) usr.client.Getmob(M) else if(href_list["sendmob"]) - if(!check_rights(R_ADMIN)) return + if(!check_rights(R_ADMIN)) + return var/mob/M = locate(href_list["sendmob"]) usr.client.sendmob(M) else if(href_list["narrateto"]) - if(!check_rights(R_ADMIN)) return + if(!check_rights(R_ADMIN)) + return var/mob/M = locate(href_list["narrateto"]) usr.client.cmd_admin_direct_narrate(M) else if(href_list["subtlemessage"]) - if(!check_rights(R_MOD,0) && !check_rights(R_ADMIN)) return + if(!check_rights(R_MOD,0) && !check_rights(R_ADMIN)) + return var/mob/M = locate(href_list["subtlemessage"]) usr.client.cmd_admin_subtle_message(M) else if(href_list["traitor"]) - if(!check_rights(R_ADMIN|R_MOD)) return + if(!check_rights(R_ADMIN|R_MOD)) + return if(!ROUND_IS_STARTED) alert("The game hasn't started yet!") @@ -999,19 +1065,23 @@ show_traitor_panel(M) else if(href_list["create_object"]) - if(!check_rights(R_SPAWN)) return + if(!check_rights(R_SPAWN)) + return return create_object(usr) else if(href_list["create_turf"]) - if(!check_rights(R_SPAWN)) return + if(!check_rights(R_SPAWN)) + return return create_turf(usr) else if(href_list["create_mob"]) - if(!check_rights(R_SPAWN)) return + if(!check_rights(R_SPAWN)) + return return create_mob(usr) - else if(href_list["object_list"]) //this is the laggiest thing ever - if(!check_rights(R_SPAWN)) return + else if(href_list["object_list"]) //this is the laggiest thing ever + if(!check_rights(R_SPAWN)) + return if(!GLOB.config.allow_admin_spawning) to_chat(usr, "Spawning of items is not allowed.") @@ -1040,7 +1110,7 @@ if(!check_rights(R_FUN,0)) removed_paths += dirty_path continue - else if(ispath(path, /obj/item/melee/energy/blade))//Not an item one should be able to spawn./N + else if(ispath(path, /obj/item/melee/energy/blade)) //Not an item one should be able to spawn./N if(!check_rights(R_FUN,0)) removed_paths += dirty_path continue