More fixes, I don't know
This commit is contained in:
@@ -674,6 +674,14 @@ GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1)
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/datum/game_mode/dynamic/proc/check_age(client/C, age)
|
||||
enemy_minimum_age = age
|
||||
if(get_remaining_days(C) == 0)
|
||||
enemy_minimum_age = initial(enemy_minimum_age)
|
||||
return TRUE // Available in 0 days = available right now = player is old enough to play.
|
||||
enemy_minimum_age = initial(enemy_minimum_age)
|
||||
return FALSE
|
||||
|
||||
/datum/game_mode/dynamic/make_antag_chance(mob/living/carbon/human/newPlayer)
|
||||
if (GLOB.dynamic_forced_extended)
|
||||
return
|
||||
|
||||
@@ -199,7 +199,7 @@
|
||||
candidates.Remove(candidate_player)
|
||||
continue
|
||||
|
||||
if(candidate_client.check_age(minimum_required_age) > 0)
|
||||
else if(!mode.check_age(client, minimum_required_age))
|
||||
candidates.Remove(candidate_player)
|
||||
continue
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
for(var/mob/P in candidates)
|
||||
if(!P.client || !P.mind || !P.mind.assigned_role) // Are they connected?
|
||||
candidates.Remove(P)
|
||||
else if (!mode.check_age(P.client, minimum_required_age))
|
||||
else if(!mode.check_age(P.client, minimum_required_age))
|
||||
candidates.Remove(P)
|
||||
else if(P.mind.assigned_role in restricted_roles) // Does their job allow for it?
|
||||
candidates.Remove(P)
|
||||
|
||||
@@ -63,13 +63,14 @@
|
||||
if (!rule.repeatable)
|
||||
latejoin_rules = remove_from_list(latejoin_rules, rule.type)
|
||||
addtimer(CALLBACK(src, .proc/execute_midround_latejoin_rule, rule), rule.delay)
|
||||
return TRUE
|
||||
|
||||
/// Mainly here to facilitate delayed rulesets. All midround/latejoin rulesets are executed with a timered callback to this proc.
|
||||
/datum/game_mode/dynamic/proc/execute_midround_latejoin_rule(sent_rule)
|
||||
var/datum/dynamic_ruleset/rule = sent_rule
|
||||
spend_midround_budget(rule.cost)
|
||||
threat_log += "[worldtime2text()]: [rule.ruletype] [rule.name] spent [rule.cost]"
|
||||
rule.pre_execute(current_players[CURRENT_LIVING_PLAYERS].len)
|
||||
rule.pre_execute(GLOB.alive_player_list.len)
|
||||
if (rule.execute())
|
||||
log_game("DYNAMIC: Injected a [rule.ruletype == "latejoin" ? "latejoin" : "midround"] ruleset [rule.name].")
|
||||
if(rule.flags & HIGH_IMPACT_RULESET)
|
||||
@@ -93,7 +94,7 @@
|
||||
/// Fired when an admin cancels the current midround injection.
|
||||
/datum/game_mode/dynamic/proc/admin_cancel_midround(mob/user, timer_id)
|
||||
if (midround_injection_timer_id != timer_id || !deltimer(midround_injection_timer_id))
|
||||
to_chat(user, "<span class='notice'>Too late!</span>")
|
||||
to_chat(user, span_notice("Too late!"))
|
||||
return
|
||||
|
||||
log_admin("[key_name(user)] cancelled the next midround injection.")
|
||||
@@ -104,7 +105,7 @@
|
||||
/// Fired when an admin requests a different midround injection.
|
||||
/datum/game_mode/dynamic/proc/admin_different_midround(mob/user, timer_id)
|
||||
if (midround_injection_timer_id != timer_id || !deltimer(midround_injection_timer_id))
|
||||
to_chat(user, "<span class='notice'>Too late!</span>")
|
||||
to_chat(user, span_notice("Too late!"))
|
||||
return
|
||||
|
||||
midround_injection_timer_id = null
|
||||
|
||||
Reference in New Issue
Block a user