Dynamic Tester differentiates lights and heavies (#93089)

This commit is contained in:
MrMelbert
2025-10-06 13:25:45 +02:00
committed by GitHub
parent 7f8debe8b0
commit de0393e642
2 changed files with 50 additions and 37 deletions
@@ -13,8 +13,10 @@ ADMIN_VERB(dynamic_tester, R_DEBUG, "Dynamic Tester", "See dynamic probabilities
/// A formatted report of the weights of each roundstart ruleset, refreshed occasionally and sent to the UI.
var/list/roundstart_ruleset_report = list()
/// A formatted report of the weights of each midround ruleset, refreshed occasionally and sent to the UI.
var/list/midround_ruleset_report = list()
/// A formatted report of the weights of each light midround ruleset, refreshed occasionally and sent to the UI.
var/list/light_midround_ruleset_report = list()
/// A formatted report of the weights of each heavy midround ruleset, refreshed occasionally and sent to the UI.
var/list/heavy_midround_ruleset_report = list()
/// What is the tier we are testing?
var/tier = 1
@@ -58,7 +60,8 @@ ADMIN_VERB(dynamic_tester, R_DEBUG, "Dynamic Tester", "See dynamic probabilities
data["tier"] = tier
data["num_players"] = num_players
data["roundstart_ruleset_report"] = flatten_list(roundstart_ruleset_report)
data["midround_ruleset_report"] = flatten_list(midround_ruleset_report)
data["light_midround_ruleset_report"] = flatten_list(light_midround_ruleset_report)
data["heavy_midround_ruleset_report"] = flatten_list(heavy_midround_ruleset_report)
return data
@@ -98,14 +101,16 @@ ADMIN_VERB(dynamic_tester, R_DEBUG, "Dynamic Tester", "See dynamic probabilities
"comment" = comment,
)
midround_ruleset_report.Cut()
light_midround_ruleset_report.Cut()
heavy_midround_ruleset_report.Cut()
for(var/datum/dynamic_ruleset/midround/ruleset as anything in midround_rulesets)
midround_ruleset_report[ruleset] = list(
var/list/list_to_add = ruleset.midround_type == LIGHT_MIDROUND ? light_midround_ruleset_report : heavy_midround_ruleset_report
list_to_add[ruleset] = list(
"name" = ruleset.name,
"weight" = ruleset.get_weight(num_players, tier),
"max_candidates" = ruleset.get_antag_cap(num_players, ruleset.max_antag_cap || ruleset.min_antag_cap),
"min_candidates" = ruleset.get_antag_cap(num_players, ruleset.min_antag_cap),
"comment" = ruleset.midround_type,
)
update_static_data_for_all_viewers()