When 65% or more of the station is revs, the shuttle will automatically call. This shuttle can be recalled.
Approved with majority vote from me and @ninjanomnom
Should probably be test merged first, I touched some core shuttle code.
Roughly 60% of rev victories I checked called the shuttle shortly after. That's a lot, but there's still a high amount that aren't, either because the population genuinely wants to stay, or the revolutionary victory was a surprise. The latter of which I had happen to me like, recently! Remember that was the core problem revs victories continuing the round was trying to fix.
With that in mind, this plays nicely with both some player grievances with post-revs while keeping in line with the core of the feature. Players are still, in part, controlling the end of the round, but with affordance given to the most likely scenario.
this code was untestable because
it required a config flag to be set on, this flag is false by default on local
it requires multiple people on the server
so it turned out that leader spawning is broken. this should fix it
makes the nuke op player with the most nuke ops playtime the leader
makes the leader start with loud mode on on their radio
idea for that second one from BeeStation/BeeStation-Hornet#6631
making the most playtime nuke op the leader prevents 1st time players from rolling it, they will generally be more competent, and able to be entrusted, just like you can trust a head of staff more. a player with more competency will also probably be better at actually leading and not just clicking a button to open the ship, if they try.
the radio is a tiny change to make the leader matter more, and able to give better leadership, because im pretty sure most people dont even realize the leader has access to loud mode
* Removes requirements from most midround rulesets, and lowers their minimum population to run, because nobody knows what it means
* Remove duplicate minimum_players
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.
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.
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
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.
* The Quartermaster is officially a head of staff, with new accesses, a silver ID, ect ect.
* The HoP lost their cargo-related equipment and access, including the Vault monitor, and frequency.
* Fuck you (refactors ur tails)
* Errors
* Wow. Pain.
* Fixes up probably everything
* finish up here
* Fixes hard del maybe
* original owner hard del
* garbage collection runtime
* suck my peen byond
* Mapped tails
* motherfucker.
* motherrfucker. again.
* Whooopppppsie
* yeah bad idea
* Turns out external organs literally just sat in nullspace forever if their parent was deleted, and didnt Remove() themselves, causing harddels.
* So anyways I repathed all organs
* Fixes
* really.
* unit test... test
* unit test-test but it passes linters this time because im a moh-ron
* I've lost track of what im doing at this point
* Hopefully fixes hard del?
* meh
* Update code/datums/dna.dm
* things n stuff
* repath from master pull
* 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>
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.
Thieves can no longer scale, and can only run once.
Number of thieves increased by 2, such that:
<24 pop: 3 thieves (previously 1)
25-48 pop: 4 thieves (previously 2)
...etc...
About The Pull Request
This PR seeks to revamp heretic in it's almost entirety.
Closes#58435Closes#62114Closes#63605
image
Gameplay changes:
The heretic no longer starts with a Codex Cicatrix or a Living Heart.
Heretics now draw transmutation runes by using any writing tool while having Mansus Grasp active.
The Mansus Grasp can be used to remove heretic runes.
Draining influences can be done with "right click".
While draining, people who examine you may get a message hinting that you're interacting with an influence.
Drained influences can also be dispersed with anomaly neutralizers!
The Codex Cicatrix is now a researchable item that lets you gain additional knowledge from influences.
The Codex can still draw and remove runes, and does it faster.
The Living Heart is now the heretic's heart. Literally. It's the heart in their chest. Their heart takes on the appearance of a living heart, and they can pulse it on demand to track their targets. This makes an audible noise.
If your heart is lost (you're disemboweled or whatever), you need to do a ritual to regain it!
Casting any heretic spell (besides Grasp) requires a Focus.
A Heretic Focus is a neck item they can transmute.
Heretic robes also function as a focus when toggled up.
Ascending also disables the need for a focus, because of course.
Heretics now gain 1 knowledge point passively every 20 minutes.
Sacrificing has been revamped entirely.
A heretic now gains four sacrifice targets on spawn.
One random crewmember
One member of their department
One member of security
One member of command (a "high value" sacrifice)
You can sacrifice people who are in in soft-crit, hard-crit, or dead.
Sacrificing someone will cuff them (if they are not), HEAL them, revive them, and set them unconscious. After a short time. they will be sent to a shadow realm. This shadow realm is themed to your heretic type.
The shadow realm is a 2 minute long survival challenge where the sacrificee is subject to a constant barrage of shadowy hands.
If they survive, they are teleported back to a random turf with no memory of how they got there. They'll also slur a TON to get the point across.
If they die, their corpse is teleported back to a random turf on the station.
No more multi-hearting! Your targets are your own.
BUT adds a knowledge that allows heretics to reroll their sacrifice targets with a ritual.
Each path now has a "Rituals of Knowledge". These are randomly generated rituals that may be difficult to complete but awards knowledge points in return.
Ascending now has some requirements.
To learn the ascension ritual, you need to complete all of the objective you are assigned.
The ascension ritual now each have a varied requirement, instead of "needing 3 bodies" only.
Other minor gameplay changes:
Lots of balance tweaking.
Buffed some summons.
Buffed the Lord of the Night very slightly.
Nerfed the Madness Mask.
Put a limit on the amount of blade transmutations possible at once. 3 for flesh, 2 for other paths.
Logs of BUG fixing.
Rust Grasp is now based on right click for surfaces instead of combat mode.
General grammar and flavor tweaks a ll around.
Admin / code changes:
Revamped the way heretics appear within the traitor panel.
You can now easily see who they're targeting for sacrifice and what they have researched
Also adds some helpful buttons to heretics, like giving them points!
Refactored much, much of heretic code
LIKE ALL OF HERETIC CODE WAS IN 4 FILES.
Split up all the knowledge, spells, and items that belong to the heretic into their own files and folders.
Not only that, but everything internally was still named "Eldritch Cultist" and similar.
Almost every mention of "Eldritch Cultist" has been properly replaced by "Heretic".
Much better reference handling all around.
General code improvements over heretic stuff.
Unit tests, because of course.
Todo
Sprites for the focus
Look at adding 1-2 other objectives prior to ascension. Theft? Special rituals? ("Rust [x] tiles to be able to ascend")
Why It's Good For The Game
Okay but why?
Heretics are not in a good place at the moment, this much is clear. They've been completely disabled on MRP for this reason.
The reasoning is simple: A lot of murder.
There's nothing inherently wrong with an antagonist heavy with murder, but the Heretic really missed the mark.
Gib, gib, gib, then ascend so you can keep killing.
In the background, the Heretic was FULL of flavorful spells, rituals, and "lore" stolen from Cultist Simulator that was unfortunate enough to be shackled to the heretic's gameplay loop.
So, this revamp aims to amend that:
Dial back the heretic's focus on mass murder and put more focus on the heretic's interesting flavor.
Spooky maintenance rituals, knowledge seeking maniac.
Sacrifice no longer outright kills / requires murder, meaning a heretic can progress without racking up a bodycount.
Influence is gained passively over time, so they can spend influence on more interesting side paths.
Side paths are required to progress to ascension, so they're encouraged to explore new things.
Ultimately, while there still may be a little way to go, this PR seeks to take a good leap in starting it.
Changelog
cl Melbert
add: Large scale heretic revamp!
expansion: The Codex Cicatrix is no longer a roundstart heretic item. Research is handled through their antag info UI. Rune drawing is done by using a writing tool with Mansus Grasp active in your offhand. The actual Codex is an unlockable ritual item now.
expansion: The Living Heart is no longer a roundstart heretic item - their actual heart now becomes their Living Heart, and it makes a sound when triggered. Losing your heart (being disemboweled) will require you to do a ritual to regain it.
expansion: The Hereic Antag UI has been overhauled, and now hosts much of their mechanics as well as providing some helpful tips for newer players.
expansion: Most heretic spells now require a focus to cast. All heretics can make a basic focus necklace, and some heretic equipment also functions as a focus. (Credit to Imaginos for the focus sprite!)
expansion: Heretics now passively gain +1 influence every 20 minutes.
expansion: Heretic sacrificing has been reworked. You can now sacrifice people who are in soft crit or weaker. Sacrificing someone heals them, cuffs them, and teleports them to the SHADOW REALM, where they must dodge a barrage of hands to survive. Survive long enough and you return without memory - die, and your body will be thrown back.
expansion: Heretics now have a few new rituals, including the Ritual of Knowledge, a randomly generated ritual that awards knowledge points.
expansion: Heretic ascension now has a few requirements - you must complete your objectives assigned to you prior to learning the final ritual, and all the final rituals have been changed a bit!
qol: Using the Heretic's Mansus Grasp on surfaces (EX: Rust Grasp) now works on right-click, instead of combat mode.
qol: Used heretic influences can now be removed with a Anomaly Neutralizers.
balance: Some heretic rituals are now limited in the amount they can make. You can only have up to 2 heretic blades crafted at once (3 if you are Path of Flesh).
balance: The Lord of the Night has been buffed to be a little scarier. Did you know the Lord of the Night can eat arms to regain body parts and heal?
balance: Buffed some heretic summons - mostly their health pools.
balance: Nerfed the heretic's Mask of Madness. It can no longer infinite stam-crit you.
balance: Nerfed the heretic's ash mark.
balance: Nerfed a bunch of on-hit-heretic-blade effects. Many effects only apply on mark detonation now: Void blade silence, flesh blade wounds, ash blade gasp cooldown refund.
fix: Fixed quite a few bugs and unintended behaviors with heretic code.
refactor: Refactored and improved much of Heretic code. Improved the file structure dramatically.
admin: The heretic's traitor panel has been beefed up a bit.
/cl
Malf ai is the only antag who uses exclusive roles at roundstart. It means that when someone used a function that sounded just right, but assumed it returns 1 when true, the entire roundstart ruleset couldn't ever find candidates.
About The Pull Request
Literally checks if the value returned means that player is eligible for the job.
Why It's Good For The Game
Makes antag happen again
Changelog
🆑
fix: Malfunction in malfunctioning ai protocols should be fixed, AIs should break regularly again.
/🆑
This was accidentally done during #63357 (2834383245) where JOB_PRISONER wasn't correctly copied over to restricted_roles as part of turning the code into defines.
I've also formatted the offending lists better to see additions/deletions on GitHub and alphabetised them, but I don't intend to run through and do this for every dynamic ruleset.
If someone else wants to do that, I'll give them a cookie and merge it.
Reverts accidental changes that weren't documented. Cleans up list formatting for uh... 3 lists.
What the title says. But why?
I generally have a rule when making a contribution, that is "don't make the game less fun"
I'm not salting, I didn't die to a swarmer.
... Yet that's the problem. Swarmers are the griefiest antag in the game, but when you complain that they're annoying or unfun, you're doomed to hear "lol they can't even hurt you though."
WELL THAT ACTUALLY MAKES THEM WORSE. I would rather die to a hundred xenos and space dragons than be forced to untie myself in maintenance for 45 seconds while the shuttle leaves.
Why It's Good For The Game
Unfun game modes should be removed from the game.
Being griefed by swarmers is annoying
Playing as a swarmer is not very exciting either. Click on iron.
lastly, because oranges authorized it
Changelog
cl
del: Removes swarmers! The griefiest, lowest fun value antagonist is removed from the game.
/cl
Alphabetizes and spans out the lists for all of the restricted_roles and protected_roles in the three different DM files for the Dynamic rulesets. @Timberpoes in #63960 already addresses this for Latejoin Provocateur and Roundstart Revolutionary and Cultist, so those are untouched.
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.