diff --git a/code/game/gamemodes/dynamic/dynamic.dm b/code/game/gamemodes/dynamic/dynamic.dm index 07ec3432fa..ab62a08cb1 100644 --- a/code/game/gamemodes/dynamic/dynamic.dm +++ b/code/game/gamemodes/dynamic/dynamic.dm @@ -632,8 +632,11 @@ GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1) if (prob(get_injection_chance())) var/list/drafted_rules = list() + var/antag_num = current_players[CURRENT_LIVING_ANTAGS].len for (var/datum/dynamic_ruleset/midround/rule in midround_rules) - if (rule.acceptable(current_players[CURRENT_LIVING_PLAYERS].len, threat_level) && threat >= rule.cost) + var/antag_acceptable = (antag_num || !isnull(rule.antag_flag)) + // if there are antags OR the rule is an antag rule, antag_acceptable will be true. + if (antag_acceptable && rule.acceptable(current_players[CURRENT_LIVING_PLAYERS].len, threat_level) && threat >= rule.cost) // Classic secret : only autotraitor/minor roles if (GLOB.dynamic_classic_secret && !((rule.flags & TRAITOR_RULESET) || (rule.flags & MINOR_RULESET))) continue diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm index 512420f3b1..e823a364ae 100644 --- a/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm +++ b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm @@ -724,9 +724,10 @@ return Ninja /datum/dynamic_ruleset/midround/event/pirates - name = "Pirates" + name = "Space Pirates" config_tag = "pirates" typepath = /datum/round_event/pirates + antag_flag = ROLE_TRAITOR enemy_roles = list("AI","Security Officer","Head of Security","Captain") required_enemies = list(2,2,1,1,0,0,0,0,0,0) weight = 5