-
-
Notifications
You must be signed in to change notification settings - Fork 285
Expand file tree
/
Copy pathverbs.dm
More file actions
98 lines (78 loc) · 3.44 KB
/
verbs.dm
File metadata and controls
98 lines (78 loc) · 3.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
//TODO: rewrite and standardise all controller datums to the datum/controller type
//TODO: allow all controllers to be deleted for clean restarts (see WIP master controller stuff) - MC done - lighting done
// Clickable stat() button.
/obj/effect/statclick
name = "Initializing..."
icon = null
var/target
INITIALIZE_IMMEDIATE(/obj/effect/statclick)
/obj/effect/statclick/Initialize(mapload, text, target) //Don't port this to Initialize it's too critical
. = ..()
name = text
src.target = target
/obj/effect/statclick/Destroy()
target = null
return ..()
/obj/effect/statclick/proc/update(text)
if(name == text)
return src // let's ont change for no reason shall we
name = text
return name
/obj/effect/statclick/statpanel_click(client/C, action)
Click()
/obj/effect/statclick/debug
var/class
/obj/effect/statclick/debug/Click()
if(!usr.client.holder || !target)
return
if(!class)
if(istype(target, /datum/controller/subsystem))
class = "subsystem"
else if(istype(target, /datum/controller))
class = "controller"
else if(istype(target, /datum))
class = "datum"
else
class = "unknown"
usr.client.debug_variables(target)
message_admins("Admin [key_name_admin(usr)] is debugging the [target] [class].")
ADMIN_VERB(restart_controller, R_DEBUG, "Restart Controller", "Restart one of the various periodic loop controllers for the game (be careful!)", ADMIN_CATEGORY_DEBUG, controller in list("Master", "Failsafe"))
switch(controller)
if("Master")
Recreate_MC()
// BLACKBOX_LOG_ADMIN_VERB("Restart Master Controller")
if("Failsafe")
new /datum/controller/failsafe()
// BLACKBOX_LOG_ADMIN_VERB("Restart Failsafe Controller")
message_admins("Admin [key_name_admin(user)] has restarted the [controller] controller.")
ADMIN_VERB(debug_controller, R_DEBUG, "Debug Controller", "Debug the various periodic loop controllers for the game (be careful!)", ADMIN_CATEGORY_DEBUG)
var/list/controllers = list()
var/list/controller_choices = list()
// Please read the verb description. <- although we allow /d/c/repository lmao
for (var/var_key in global.vars)
var/datum/controller/controller = global.vars[var_key]
if(!istype(controller) || istype(controller, /datum/controller/subsystem))
continue
controllers[controller.name] = controller //we use an associated list to ensure clients can't hold references to controllers
controller_choices += controller.name
controller_choices += "INTERNAL: Gas Data"
controller_choices += "LEGACY: Configuration"
controller_choices += "LEGACY: paiController"
controllers["INTERNAL: Gas Data"] = global.gas_data
controllers["LEGACY: Configuration"] = config_legacy
controllers["LEGACY: paiController"] = paiController
var/datum/controller/controller_string = input("Select controller to debug", "Debug Controller") as null|anything in controller_choices
var/datum/controller/controller = controllers[controller_string]
if (!istype(controller))
return
user.debug_variables(controller)
// BLACKBOX_LOG_ADMIN_VERB("Debug Controller")
message_admins("Admin [key_name_admin(user)] is debugging the [controller] controller.")
/client/proc/debug_antagonist_template(antag_type in GLOB.all_antag_types)
set category = "Debug"
set name = "Debug Antagonist"
set desc = "Debug an antagonist template."
var/datum/antagonist/antag = GLOB.all_antag_types[antag_type]
if(antag)
usr.client.debug_variables(antag)
message_admins("Admin [key_name_admin(usr)] is debugging the [antag.role_text] template.")