mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-27 07:08:00 +01:00
Adds two heavy midround rulesets, mass traitors and mass changelings (#93447)
## About The Pull Request - [ ] I tested this pr Adds "Midround Mass Traitors" and "Midround Mass Changelings" heavy rulesets Midround Mass Traitors will turn a number of the crew into sleeper agents Midround Mass Lings will spawn a number of changeling meteors BY DEFAULT: - Traitors will spawn 2-4 sleeper agents - Lings will spawn 2-3 changeling meteors - They won't run without >=2 candidates - They have no config blacklist (so the HoP can roll mass midround traitor, despite not being able to roll normal midround traitor. However default blacklisted roles like security officers are still blocked) - They're weighted impossible on tier 0, same weight as most midrounds on tier 1, and fairly high on tiers 2 and 3 - They're repeatable but very unlikely to repeat - Significantly higher min pop brackets than their solo counter part ## Why It's Good For The Game Adds more options for lategame antags than big midrounds ## Changelog 🆑 Melbert add: Two new heavy dynamic rulesets: "Midround Mass Traitors" and "Midround Mass Changelings" /🆑
This commit is contained in:
@@ -43,6 +43,9 @@
|
||||
/// Ruleset can be configured by admins (implements /proc/configure_ruleset)
|
||||
/// Only implemented for midrounds currently
|
||||
#define RULESET_ADMIN_CONFIGURABLE (1<<2)
|
||||
/// Applied to rulesets which intentionally share a pref_flag with another rulesets
|
||||
/// Denotes multiple rulesets which abide by the same preference, but are each a variation of some base ruleset
|
||||
#define RULESET_VARIATION (1<<3)
|
||||
|
||||
/// Href for cancelling midround rulesets before execution
|
||||
#define MIDROUND_CANCEL_HREF(...) "(<a href='byond://?src=[REF(src)];admin_cancel_midround=[REF(picked_ruleset)]'>CANCEL</a>)"
|
||||
|
||||
@@ -10,9 +10,12 @@
|
||||
/// Don't change this unless you know what you're doing.
|
||||
var/config_tag
|
||||
|
||||
/// What flag to check for jobbans? Optional, if unset, uses pref_flag
|
||||
/// What flag to check for jobbans?
|
||||
/// Optional, if unset, uses pref_flag for jobbans instead
|
||||
var/jobban_flag
|
||||
/// What flag to check for prefs? Required if the antag has an associated preference
|
||||
/// What flag to check for prefs?
|
||||
/// Required if the antag has an associated preference, and must be unique
|
||||
/// (unless RULESET_VARIATION is set in ruleset_flags)
|
||||
var/pref_flag
|
||||
/// Flags for this ruleset
|
||||
var/ruleset_flags = NONE
|
||||
|
||||
@@ -658,7 +658,7 @@
|
||||
candidate_role = "Changeling"
|
||||
pref_flag = ROLE_CHANGELING_MIDROUND
|
||||
jobban_flag = ROLE_CHANGELING
|
||||
ruleset_flags = RULESET_INVADER
|
||||
ruleset_flags = RULESET_INVADER|RULESET_VARIATION
|
||||
weight = 5
|
||||
min_pop = 15
|
||||
max_antag_cap = 1
|
||||
@@ -670,6 +670,21 @@
|
||||
/datum/dynamic_ruleset/midround/from_ghosts/space_changeling/assign_role(datum/mind/candidate)
|
||||
generate_changeling_meteor(candidate)
|
||||
|
||||
/datum/dynamic_ruleset/midround/from_ghosts/space_changeling/mass
|
||||
name = "Mass Space Changelings"
|
||||
config_tag = "Mass Changelings"
|
||||
midround_type = HEAVY_MIDROUND
|
||||
min_pop = 25
|
||||
min_antag_cap = 2
|
||||
max_antag_cap = 3
|
||||
repeatable_weight_decrease = 4
|
||||
weight = list(
|
||||
DYNAMIC_TIER_LOW = 0,
|
||||
DYNAMIC_TIER_LOWMEDIUM = 3,
|
||||
DYNAMIC_TIER_MEDIUMHIGH = 4,
|
||||
DYNAMIC_TIER_HIGH = 5,
|
||||
)
|
||||
|
||||
/datum/dynamic_ruleset/midround/from_ghosts/paradox_clone
|
||||
name = "Paradox Clone"
|
||||
config_tag = "Paradox Clone"
|
||||
@@ -1064,6 +1079,7 @@
|
||||
false_alarm_able = TRUE
|
||||
pref_flag = ROLE_SLEEPER_AGENT
|
||||
jobban_flag = ROLE_TRAITOR
|
||||
ruleset_flags = RULESET_VARIATION
|
||||
weight = 10
|
||||
min_pop = 3
|
||||
blacklisted_roles = list(
|
||||
@@ -1079,6 +1095,22 @@
|
||||
"[command_name()] High-Priority Update",
|
||||
)
|
||||
|
||||
/datum/dynamic_ruleset/midround/from_living/traitor/mass
|
||||
name = "Mass Traitors"
|
||||
config_tag = "Mass Traitors"
|
||||
midround_type = HEAVY_MIDROUND
|
||||
min_pop = 15
|
||||
min_antag_cap = 2
|
||||
max_antag_cap = 4
|
||||
repeatable_weight_decrease = 8
|
||||
blacklisted_roles = list()
|
||||
weight = list(
|
||||
DYNAMIC_TIER_LOW = 0,
|
||||
DYNAMIC_TIER_LOWMEDIUM = 3,
|
||||
DYNAMIC_TIER_MEDIUMHIGH = 8,
|
||||
DYNAMIC_TIER_HIGH = 10,
|
||||
)
|
||||
|
||||
/datum/dynamic_ruleset/midround/from_living/malf_ai
|
||||
name = "Malfunctioning AI"
|
||||
config_tag = "Midround Malfunctioning AI"
|
||||
|
||||
Reference in New Issue
Block a user