Upgrades policy config + policy verb. (#44296)

* Upgrades policy config + policy verb.

* Better example and proper default value.

* hr on top

* Cleanup
This commit is contained in:
AnturK
2019-06-10 17:51:25 +02:00
committed by moo
parent c9afd3ea35
commit 69ac935bde
11 changed files with 75 additions and 11 deletions

View File

@@ -19,6 +19,7 @@
var/list/mode_false_report_weight
var/motd
var/policy
/datum/controller/configuration/proc/admin_reload()
if(IsAdminAdvancedProcCall())
@@ -47,6 +48,7 @@
break
loadmaplist(CONFIG_MAPS_FILE)
LoadMOTD()
LoadPolicy()
/datum/controller/configuration/proc/full_wipe()
if(IsAdminAdvancedProcCall())
@@ -243,6 +245,34 @@
var/tm_info = GLOB.revdata.GetTestMergeInfo()
if(motd || tm_info)
motd = motd ? "[motd]<br>[tm_info]" : tm_info
/*
Policy file should be a json file with a single object.
Value is raw html.
Possible keywords :
Job titles / Assigned roles (ghost spawners for example) : Assistant , Captain , Ash Walker
Mob types : /mob/living/simple_animal/hostile/carp
Antagonist types : /datum/antagonist/highlander
Species types : /datum/species/lizard
special keywords defined in _DEFINES/admin.dm
Example config:
{
"Assistant" : "Don't kill everyone",
"/datum/antagonist/highlander" : "<b>Kill everyone</b>",
"Ash Walker" : "Kill all spacemans"
}
*/
/datum/controller/configuration/proc/LoadPolicy()
policy = list()
var/rawpolicy = file2text("[directory]/policy.json")
if(rawpolicy)
var/parsed = json_decode(rawpolicy)
if(!parsed)
log_config("JSON parsing failure for policy.json")
else
policy = parsed
/datum/controller/configuration/proc/loadmaplist(filename)
log_config("Loading config file [filename]...")

View File

@@ -35,10 +35,6 @@
/datum/config_entry/keyed_list/midround_antag/ValidateListEntry(key_name, key_value)
return key_name in config.modes
/datum/config_entry/keyed_list/policy
key_mode = KEY_MODE_TEXT
value_mode = VALUE_MODE_TEXT
/datum/config_entry/number/damage_multiplier
config_entry_value = 1
integer = FALSE