mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-30 08:37:43 +01:00
Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-15-10-2025
This commit is contained in:
@@ -35,19 +35,6 @@
|
||||
/datum/dynamic_ruleset/latejoin/traitor/assign_role(datum/mind/candidate)
|
||||
candidate.add_antag_datum(/datum/antagonist/traitor)
|
||||
|
||||
/datum/dynamic_ruleset/latejoin/heretic
|
||||
name = "Heretic"
|
||||
config_tag = "Latejoin Heretic"
|
||||
preview_antag_datum = /datum/antagonist/heretic
|
||||
pref_flag = ROLE_HERETIC_SMUGGLER
|
||||
jobban_flag = ROLE_HERETIC
|
||||
weight = 3
|
||||
min_pop = 30 // Ensures good spread of sacrifice targets
|
||||
ruleset_lazy_templates = list(LAZY_TEMPLATE_KEY_HERETIC_SACRIFICE)
|
||||
blacklisted_roles = list(
|
||||
JOB_HEAD_OF_PERSONNEL,
|
||||
)
|
||||
|
||||
/datum/dynamic_ruleset/latejoin/heretic/assign_role(datum/mind/candidate)
|
||||
candidate.add_antag_datum(/datum/antagonist/heretic)
|
||||
|
||||
|
||||
@@ -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
|
||||
@@ -57,8 +59,9 @@ 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["roundstart_ruleset_report"] = assoc_to_values(roundstart_ruleset_report)
|
||||
data["light_midround_ruleset_report"] = assoc_to_values(light_midround_ruleset_report)
|
||||
data["heavy_midround_ruleset_report"] = assoc_to_values(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()
|
||||
|
||||
@@ -27,7 +27,7 @@ SUBSYSTEM_DEF(economy)
|
||||
var/techweb_bounty = 250
|
||||
/**
|
||||
* List of normal (no department ones) accounts' identifiers with associated datum accounts, for big O performance.
|
||||
* A list of sole account datums can be obtained with flatten_list(), another variable would be redundant rn.
|
||||
* A list of sole account datums can be obtained with assoc_to_values(), another variable would be redundant rn.
|
||||
*/
|
||||
var/list/bank_accounts_by_id = list()
|
||||
/// A list of bank accounts indexed by their assigned job typepath.
|
||||
|
||||
@@ -127,7 +127,7 @@ SUBSYSTEM_DEF(throwing)
|
||||
|
||||
qdel(src)
|
||||
|
||||
/// Returns the mob thrower, or null
|
||||
/// Returns the thrower, or null
|
||||
/datum/thrownthing/proc/get_thrower()
|
||||
. = thrower?.resolve()
|
||||
if(isnull(.))
|
||||
@@ -144,11 +144,11 @@ SUBSYSTEM_DEF(throwing)
|
||||
return
|
||||
|
||||
var/atom/movable/actual_target = initial_target?.resolve()
|
||||
var/mob/mob_thrower = get_thrower()
|
||||
var/atom/thrower = get_thrower()
|
||||
|
||||
if(dist_travelled) //to catch sneaky things moving on our tile while we slept
|
||||
for(var/atom/movable/obstacle as anything in get_turf(thrownthing))
|
||||
if (obstacle == thrownthing || (obstacle == mob_thrower && !ismob(thrownthing)))
|
||||
if(obstacle == thrownthing || (obstacle == thrower && !ismob(thrownthing)))
|
||||
continue
|
||||
if(ismob(obstacle) && thrownthing.pass_flags & PASSMOB && (obstacle != actual_target))
|
||||
continue
|
||||
|
||||
@@ -14,7 +14,11 @@ SUBSYSTEM_DEF(ticker)
|
||||
/// or a "round-ending" event, like summoning Nar'Sie, a blob victory, the nuke going off, etc. ([FORCE_END_ROUND])
|
||||
var/force_ending = END_ROUND_AS_NORMAL
|
||||
/// If TRUE, there is no lobby phase, the game starts immediately.
|
||||
#ifdef ABSOLUTE_MINIMUM
|
||||
var/start_immediately = TRUE
|
||||
#else
|
||||
var/start_immediately = FALSE
|
||||
#endif
|
||||
/// Boolean to track and check if our subsystem setup is done.
|
||||
var/setup_done = FALSE
|
||||
|
||||
|
||||
Reference in New Issue
Block a user