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