Re-implements admin fun events as datums.

This commit is contained in:
PsiOmegaDelta
2015-07-07 11:19:01 +02:00
parent 7f24dc948e
commit 5703fdfe85
31 changed files with 472 additions and 14 deletions
+21 -4
View File
@@ -9,7 +9,7 @@ var/datum/admin_secrets/admin_secrets = new()
categories = init_subtypes(/datum/admin_secret_category)
items = list()
var/list/category_assoc = list()
for(var/datum/category in categories)
for(var/datum/admin_secret_category/category in categories)
category_assoc[category.type] = category
for(var/item_type in (typesof(/datum/admin_secret_item) - /datum/admin_secret_item))
@@ -19,7 +19,7 @@ var/datum/admin_secrets/admin_secrets = new()
var/datum/admin_secret_item/item = new item_type()
var/datum/admin_secret_category/category = category_assoc[item.category]
category.items += item
dd_insertObjectList(category.items, item)
items += item
/datum/admin_secret_category
@@ -41,6 +41,7 @@ var/datum/admin_secrets/admin_secrets = new()
var/name = ""
var/category = null
var/log = 1
var/feedback = 1
var/permissions = R_HOST
/datum/admin_secret_item/proc/name()
@@ -54,7 +55,10 @@ var/datum/admin_secrets/admin_secrets = new()
return 0
if(log)
log_admin("[key_name(user)] used secret '[name()]'")
log_and_message_admins("used secret '[name]'", user)
if(feedback)
feedback_inc("admin_secrets_used",1)
feedback_add_details("admin_secrets_used","[name]")
return 1
/*************************
@@ -66,6 +70,12 @@ var/datum/admin_secrets/admin_secrets = new()
/datum/admin_secret_category/random_events
name = "'Random' Events"
/datum/admin_secret_category/fun_secrets
name = "Fun Secrets"
/datum/admin_secret_category/final_solutions
name = "Final Solutions"
/*************************
* Pre-defined base items *
*************************/
@@ -74,7 +84,14 @@ var/datum/admin_secrets/admin_secrets = new()
log = 0
permissions = R_ADMIN
/datum/admin_secret_item/random_event
category = /datum/admin_secret_category/random_events
permissions = R_FUN
/datum/admin_secret_item/fun_secret
category = /datum/admin_secret_category/fun_secrets
permissions = R_FUN
/datum/admin_secret_item/final_solution
category = /datum/admin_secret_category/final_solutions
permissions = R_FUN|R_SERVER|R_ADMIN