mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 10:21:11 +00:00
Some Dynamic Logging QoL and Fix'd Forced Rulesets (#28206)
* fix forced rulesets * better
This commit is contained in:
@@ -679,7 +679,7 @@ var/global/floorIsLava = 0
|
||||
dat += "<A href='?src=\ref[src];f_dynamic_roundstart=1'>(Force Roundstart Rulesets)</A><br>"
|
||||
dat += "<A href='?src=\ref[src];f_dynamic_options=1'>(Dynamic mode options)</A><br>"
|
||||
if (forced_roundstart_ruleset.len > 0)
|
||||
for(var/datum/dynamic_ruleset/roundstart/rule in forced_roundstart_ruleset)
|
||||
for(var/datum/forced_ruleset/rule in forced_roundstart_ruleset)
|
||||
dat += {"<A href='?src=\ref[src];f_dynamic_roundstart_remove=\ref[rule]'>-> [rule.name] <-</A><br>"}
|
||||
dat += "<A href='?src=\ref[src];f_dynamic_roundstart_clear=1'>(Clear Rulesets)</A><br>"
|
||||
dat += "<A href='?src=\ref[src];f_dynamic_options=1>Dynamic mode options</a><br/>"
|
||||
|
||||
@@ -1644,14 +1644,18 @@
|
||||
return alert(usr, "The game has already started.", null, null, null, null)
|
||||
if(master_mode != "Dynamic Mode")
|
||||
return alert(usr, "The game mode has to be Dynamic Mode!", null, null, null, null)
|
||||
if (forced_roundstart_ruleset.len > 30)
|
||||
return alert(usr, "Haven't you already forced enough rulesets?", null, null, null, null)
|
||||
var/list/datum/dynamic_ruleset/roundstart/roundstart_rules = list()
|
||||
for (var/rule in subtypesof(/datum/dynamic_ruleset/roundstart))
|
||||
var/datum/dynamic_ruleset/roundstart/newrule = new rule()
|
||||
roundstart_rules[newrule.name] = newrule
|
||||
var/datum/dynamic_ruleset/roundstart/newrule = rule
|
||||
roundstart_rules += initial(newrule.name)
|
||||
var/added_rule = input(usr,"What ruleset do you want to force? This will bypass threat level and population restrictions.", "Rigging Roundstart", null) as null|anything in roundstart_rules
|
||||
if (added_rule)
|
||||
roundstart_rules[added_rule].calledBy = "[key_name(usr)]"
|
||||
forced_roundstart_ruleset += roundstart_rules[added_rule]
|
||||
var/datum/forced_ruleset/forcedrule = new
|
||||
forcedrule.name = added_rule
|
||||
forcedrule.calledBy = "[key_name(usr)]"
|
||||
forced_roundstart_ruleset += forcedrule
|
||||
log_admin("[key_name(usr)] set [added_rule] to be a forced roundstart ruleset.")
|
||||
message_admins("[key_name(usr)] set [added_rule] to be a forced roundstart ruleset.", 1)
|
||||
Game()
|
||||
@@ -1660,6 +1664,8 @@
|
||||
if(!check_rights(R_ADMIN))
|
||||
return
|
||||
|
||||
for (var/datum/forced_ruleset/rule in forced_roundstart_ruleset)
|
||||
qdel(rule)
|
||||
forced_roundstart_ruleset = list()
|
||||
Game()
|
||||
log_admin("[key_name(usr)] cleared the rigged roundstart rulesets. The mode will pick them as normal.")
|
||||
@@ -1670,8 +1676,9 @@
|
||||
if(!check_rights(R_ADMIN))
|
||||
return
|
||||
|
||||
var/datum/dynamic_ruleset/roundstart/rule = locate(href_list["f_dynamic_roundstart_remove"])
|
||||
var/datum/forced_ruleset/rule = locate(href_list["f_dynamic_roundstart_remove"])
|
||||
forced_roundstart_ruleset -= rule
|
||||
qdel(rule)
|
||||
Game()
|
||||
log_admin("[key_name(usr)] removed [rule] from the forced roundstart rulesets.")
|
||||
message_admins("[key_name(usr)] removed [rule] from the forced roundstart rulesets.", 1)
|
||||
|
||||
Reference in New Issue
Block a user