Skip to content
This repository has been archived by the owner on Sep 8, 2022. It is now read-only.

[MIRROR] Modern Dynamic #942

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

[MIRROR] Modern Dynamic #942

wants to merge 2 commits into from

Conversation

SinguloBot
Copy link
Contributor

Original PR: BeeStation/BeeStation-Hornet#7438

About The Pull Request

Ports:

If this goes well I need to port some more dynamic rulesets (roundstart malf ai, midround non-ghost blob (it makes pustules on a random player basically), space dragon, space ninja)

Why It's Good For The Game

Dynamic is great, but it can be better. It should be the main gamemode. It just needs some work. Now it will actually do midrounds instead of not spending its ridiculous amounts of threat, the weights are better balanced, etc.

Testing Photographs and Procedure

Screenshots&Videos

The game loads if you set it to dynamic. That's the best I can do. Needs some testmerging.

Changelog

馃啈 itsmeow, Mothblocks, Y0SH1M4S73R, IndieanaJones, Iamgoofball, wesoda25, Watermelon914, tf-4, Ghommie, JohnFulpWillard, Mooshimi, MrMelbert
balance: Changed most dynamic weights, threats, and minimum player requirements. They will all be different and hopefully more balanced now.
fix: dynamic will no longer spawn abductors if there aren't enough applicants for a proper 2-person abductor team
add: Revenant, Space Pirates, and Obsessed have been added to dynamic mode.
fix: Fixes the lone operative event hardly ever rolling even if the disk is left on the same place for hours on dynamic.
server: Dynamic now has an extra configuration value, max_threat_level. Defaults to 100 threat.
balance: Makes wizard a high impact ruleset.
fix: A lack of candidates for certain antags will no longer runtime
balance: Midround rolls will now happen more frequently, with their power scaling up over time.
fix: Fixed midrounds not logging properly.
qol: Ghosts will now see the name of who rolled a midround instead of the new midround's character name.
balance: Winning dynamic revs no longer adds midround threat. Instead, it'll force a heavy ruleset to spawn, and barring that, will spawn a dangerous random event.
server: Added more dynamic logging
/:cl:

Changes to weights and stuff

Traitor Midround (Sleeper)

Lower cost
Higher weight
Now requires minimal threat / players

Malf AI Midround (Ion)

Lower cost
Lower weight
Now requires 25 players minimum

Wizard Midround (Ghost)

Lower cost
Now requires VERY high threat / players

Nukeops Midround (Ghost)

Lower cost
Now requires 70min into round
Now requires VERY high threat / players

Blob Midround (Ghost)

Lower cost
Lower weight
Now requires 35min into round
Now requires 25 players minimum

Xeno Midround (Ghost)

Higher weight
Now requires 40min into round
Now requires 25 players minimum

Nightmare Midround (Ghost)

Lower cost
Now requires 15 players minimum

Abductor Midround (Ghost)

Lower cost
Now requires 25 players minimum

Revenant Midround (Ghost)

Added
Low cost/weight (similar to nightmare)
Requires 15 players minimum

Pirates Midround (Ghost)

Added
Medium cost/weight (slightly more common than blob)
Requires 27 players minimum

Obsessed Midround

Added
Low cost/weight (lower than revenant)

Traitor Roundstart

Lower player/threat requirement

Blood Brothers Roundstart

Lower cost
Lower weight

Heretics Roundstart

Now requires 18 players

Wizard Roundstart

Is no longer a "lone" ruleset, but still considered "high impact" and will be one of few high impact spawns
Made less common on lowpop

Traitor Latejoin

More common in general, especially lowpop

Revolutionary Provocateur Latejoin

Lower cost (still considered high impact and won't spawn with other high impact stuff)

Heretic Latejoin

Lower cost
More common on ultra-highpop/ultra-highthreat

itsmeow and others added 2 commits August 9, 2022 22:06
* Dynamic Abductor Teams won't spawn a solo Scientist (#59463)

Fixes lone abductor scientists by adding a variable to ghost poll rulesets for how many applicants are needed for the ruleset to execute. This fixes #59441 and any future dynamic rulesets that necessarily require there to be more than one applicant to function correctly.

* Increase minimum pop for heretics (#59468)

Increases the minimum pop for both heretic rulesets to roll to 18.

I have permission from head admins to touch Dynamic ruleset values, and was also given explicit permission for this one.

* Add Revenant, Space Pirates, and Obsessed to Dynamic (#60281)

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>

* Fixes Pirates (#60669)

* Fixes the lone operative event hardly ever rolling because of dynamic event hijacking. (#60988)

* Adds a dynamic config to cap the maximum threat level, max_threat_level (#61869)

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>

* Makes wizard a little more rare (#56869)

* Makes wizard a high impact ruleset (#62258)

Co-authored-by: Watermelon914 <3052169-Watermelon914@users.noreply.gitlab.com>

* Checks for candidates in dynamic roundstart (#63305)

* Lowers the cost of the obsessed midround ruleset from 10 to 3. (#61370)

Obsessed is a really weak antagonist whose objectives revolve around creeping on a single crewmember. He doesn't have any special ability whatsoever other than suffering from heavy butterflies in the stomach when his mood is great or above and his presence barely affects the round. They shouldn't have the same cost of other rulsets like swarmers, pirates, ninjas and nightmare, or even latejoin traitors.

* Adjust requirements of traitor rulesets to match their new costs (#61704)

* Tweak Blood Brothers dynamic stats (#63759)

* Tweak malf AI dynamic stats (#63810)

Lowers midround malf AI cost from 35 to 22, slightly higher than wizard but with 3x the weight.

Changes both midround and roundstart malfunctioning AI requirements to match those of blood cultists, which will make them more frequent at high pop, while still being rare at low pop.

* adds a roundend threat log, showing player threat edits (#65417)

* Dynamic 2022, Part 1 - Redesigning midround rolls (Midrounds happen far more frequently now, and scale their power over time) (#65997)

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.

* Ghosts see who rolls a midround antag (#67295)

* Changes the alert ghosts get when a dynamic midround ruleset is selected to say the ghost's old name rather than their new one.

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>

* Replace adding threat (the traitor objective, post-revs victory) with unfavorable situations (#67538)

Hacking the command console and winning revs no longer adds midround threat. Instead, it'll force a heavy ruleset to spawn, and barring that, will spawn a dangerous random event.

Not really tested, you know how it is with stuff like this.

This change will slightly decrease the total number of midrounds in the round.
Why It's Good For The Game

Before D2022P1, midround threat effectively did not work. Adding midround threat did not guarantee anything would actually happen, whether that be the "obsessed spawn and doesn't do anything" kind of nothing happens, or the "absolutely no ruleset spawns" literally kind of nothing happens.

Sometimes, though, it might have! This PR makes that a guarantee.

After D2022P1, midround threat works and is also extremely dangerous in the quantities that are being added. 15 threat means 2-3 extra midround antagonists are spawned, and this late into the round are often going to force heavy rulesets anyway, but at a disproportionate cost.

Furthermore, adding midround threat decreases the time it takes for the next midround, as midround rolls are rolled equidistantly from one another. It is possible, for instance, for a midround ruleset to run, and then another to run seconds later as the distance changes.

This keeps things direct--the crew gets a disadvantage, but is not completely overwhelmed by several antagonists disproportionately.

* Fix Dynamic midrounds spawning heavies significantly earlier than they're supposed to (#67615)

Fix Dynamic midrounds spawning heaviers significantly earlier than they're supposed to

* Dynamic 2022 part 1 tweaks (#67823)

    Renames low_pop_minimum_threat to low_pop_maximum_threat. Untested but it'll fail CI if it doesn't work
    Increases threat_per_midround_roll from 6.5 to 7, to slightly shift number of midrounds.
    Lowered the number of roundstart traitors. I intend to do more in the larger part 2 PR, but the crux of it is that Dynamic 2022 part 1 creates a lot of midround traitors, which is great, but now that means we can lower the amount of total roundstart traitors. This changes it from 1 traitor every 24 people to 38. Eventually I want to make traitor not scale so hard, but it'll be tough to do that and make sure it doesn't just roll extremely chaotic rulesets in its place.

* Fix unfavorable situations yielding, causing revs to fire them every process (#67882)

Fixes #67879.

Not tested but there are no runtimes so I don't know what else this can be, so I'm gonna fling this off to some server and see what happens
Changelog

cl
fix: Fixed revolutions blaring alerts for a few seconds after winning.
/cl

* Barf a bunch of dynamic logs (#68137)

Adds an enormous amount of dynamic logs because I'm sooo tired of getting rounds where I can't figure out why fuck plus all is rolling.

Untested because Dynamic.

* Removes requirements from most midround rulesets, and lowers their minimum population to run (#68571)

* Removes requirements from most midround rulesets, and lowers their minimum population to run, because nobody knows what it means

* Remove duplicate minimum_players

* Add additional logging to admin dynamic actions

Co-authored-by: Y0SH1M4S73R <legoboyo@earthlink.net>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: IndieanaJones <47086570+IndieanaJones@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: Iamgoofball <iamgoofball@gmail.com>
Co-authored-by: wesoda25 <37246588+wesoda25@users.noreply.github.com>
Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@users.noreply.gitlab.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Mooshimi <85910816+Mooshimi@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
@SethLafuente
Copy link

Traitor becoming more common :/

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants