From 39825d6810eee4c3d33a7a78d641de646c70cd1d Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Tue, 11 Aug 2015 15:03:57 +0200 Subject: [PATCH] Secret entries can now give a warning before being triggered. --- code/modules/admin/admin.dm | 2 +- code/modules/admin/admin_secrets.dm | 13 +++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 06adf11b57..3ed148c6b1 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -611,7 +611,7 @@ proc/admin_notice(var/message, var/rights) if(category.desc) dat += "[category.desc]
" for(var/datum/admin_secret_item/item in category.items) - if(!item.can_execute(usr)) + if(!item.can_view(usr)) continue dat += "[item.name()]
" dat += "
" diff --git a/code/modules/admin/admin_secrets.dm b/code/modules/admin/admin_secrets.dm index 88a58ff6e8..38bebb844a 100644 --- a/code/modules/admin/admin_secrets.dm +++ b/code/modules/admin/admin_secrets.dm @@ -33,7 +33,7 @@ var/datum/admin_secrets/admin_secrets = new() /datum/admin_secret_category/proc/can_view(var/mob/user) for(var/datum/admin_secret_item/item in items) - if(item.can_execute(user)) + if(item.can_view(user)) return 1 return 0 @@ -43,6 +43,7 @@ var/datum/admin_secrets/admin_secrets = new() var/log = 1 var/feedback = 1 var/permissions = R_HOST + var/warn_before_use = 0 /datum/admin_secret_item/dd_SortValue() return "[name]" @@ -50,9 +51,15 @@ var/datum/admin_secrets/admin_secrets = new() /datum/admin_secret_item/proc/name() return name -/datum/admin_secret_item/proc/can_execute(var/mob/user) +/datum/admin_secret_item/proc/can_view(var/mob/user) return check_rights(permissions, 0, user) +/datum/admin_secret_item/proc/can_execute(var/mob/user) + if(can_view(user)) + if(!warn_before_use || alert("Execute the command '[name]'?", name, "No","Yes") == "Yes") + return 1 + return 0 + /datum/admin_secret_item/proc/execute(var/mob/user) if(!can_execute(user)) return 0 @@ -91,10 +98,12 @@ var/datum/admin_secrets/admin_secrets = new() /datum/admin_secret_item/random_event category = /datum/admin_secret_category/random_events permissions = R_FUN + warn_before_use = 1 /datum/admin_secret_item/fun_secret category = /datum/admin_secret_category/fun_secrets permissions = R_FUN + warn_before_use = 1 /datum/admin_secret_item/final_solution category = /datum/admin_secret_category/final_solutions