mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-22 06:56:31 +00:00
Implements the new midround roll changes. 1. Split midround rulesets into heavy/light impact First, midround rulesets will be split into light/heavy impact categories. For example, sleeper agent and midround thief would be classified as light impact, while blob/ninja would be classified as heavy impact. This split will then be used to spawn lighter impact antagonists earlier into the round, and higher impact antagonists later into the round. Midrounds before 25 minutes = 100% light impact / 0% heavy impact Midrounds from 25-60 minutes = Varying chances, increasing in favor of heavy impact after enough time Midrounds from 60+ minutes = 0% light impact / 100% heavy impact Low impact threat rulesets are guaranteed to roll if there is enough threat. High impact threat rulesets will carry the same % chance as they do now. If a heavy impact threat ruleset cannot be rolled, but there is enough threat, a light impact threat ruleset will roll in its place. In the future, this can potentially be changed into not spawning any ruleset if the station is deemed extremely hostile, or even be tweaked into spawning protagonists like ERTs. Alongside this, rulesets should be able to determine their minimum time required. For example, nuclear assault has terrible numbers--it's very high cost, and very low weight, which are basically the only variables it can configure. In Dynamic 2022, it should be able to have low cost, still low weight (though maybe nto as much), while only being rollable after 70 minutes or so. 2. Midround antagonists now roll as intervals, determined by midround threat In order to make sure 50 midround threat spawns more antagonists than 10 midround threat, the intervals at which midround threats are spawned will change from 15-45 minutes to increments determined by midround threat. Larger midround threat = more, close intervals, smaller midround threat = less, farther intervals. Any threat not spent on midrounds will still be carried into latejoins, which as before will still consume midround threat, and are unchanged by this document.
21 lines
846 B
Plaintext
21 lines
846 B
Plaintext
/// This is the only ruleset that should be picked this round, used by admins and should not be on rulesets in code.
|
|
#define ONLY_RULESET (1 << 0)
|
|
|
|
/// Only one ruleset with this flag will be picked.
|
|
#define HIGH_IMPACT_RULESET (1 << 1)
|
|
|
|
/// This ruleset can only be picked once. Anything that does not have a scaling_cost MUST have this.
|
|
#define LONE_RULESET (1 << 2)
|
|
|
|
/// This is a "heavy" midround ruleset, and should be run later into the round
|
|
#define MIDROUND_RULESET_STYLE_HEAVY "Heavy"
|
|
|
|
/// This is a "light" midround ruleset, and should be run early into the round
|
|
#define MIDROUND_RULESET_STYLE_LIGHT "Light"
|
|
|
|
/// No round event was hijacked this cycle
|
|
#define HIJACKED_NOTHING "HIJACKED_NOTHING"
|
|
|
|
/// This cycle, a round event was hijacked when the last midround event was too recent.
|
|
#define HIJACKED_TOO_RECENT "HIJACKED_TOO_RECENT"
|