Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2023's viro rework: removing viro #10153

Merged
merged 15 commits into from Mar 3, 2024

Conversation

zeskorion
Copy link
Contributor

@zeskorion zeskorion commented Nov 7, 2023

About The Pull Request

This pull request is focused on removing virology as a job in a non-destructive manner, and changing virology mechanics to reflect its removal

CONFIG CHANGES
the following changes can be toggled on or off in config, for friendliness to downstreams

  • option to enable/disable virology as a job and map location. This uses a special locker for items, disables most items in viro fridge, and adds a mapping helper that turns certain pieces of non-viro scenery to viro objects, and sets doors to viro names/access
    -For mappers, virology needs: a virology mapping helper over each access airlock(maints included), which should be labelled PHARMACY or somesuch, a mapping helper over a smoke machine, a mapping helper over a potted plant, and a l3closet/virology/starter. There still needs to be a preloaded viro smartfridge, a monkey enclosure, and a pandemic machine, but the area should be freely accessible to all medical personell.
    --option to change whether necrotic metabolism causes diseases to process while in corpses

the following changes exist to make the customizability of viruses heavily tunable. currently, they're somewhat customizeable (currently, with enabled options, you can combine viruses and remove some symptoms, and neuter others. heavily rng dependent based on what viruses spawn and what symptoms can be removed (symptom removal uses rng fixed at roundstart), making spreadsheet viro nearly impossible most rounds.)

  • option to allow chemical customization of viruses to be disabled (turning this off also replaces the virus sample crate with a crate full of a few basic isolated symptoms). This is now enabled
    -option to limit how many symptoms can be removed from a virus. At this time, I have synaptizine no longer function on viruses with four or less symptoms
    -option to make symptom removal "Seeded"- every round, symptom IDS are scrambled, and the lowest ID symptoms are always removed from a virus first. this makes rng-based isolation with tenacity impossible. this is now enabled
  • option to disable extrapolator isolation. this is now enabled.
  • option to disable mixing viruses together. not enabled.
  • option to allow neutering and other utility virus recipes to be disabled. not currently enabled

the following changes exist to make random viruses more impactful, and make virology a bit easier to compensate for a lack of fine-tunability.

  • option to change whether or not rats and dormant diseases infect players. these features are annoying and make viruses a bigger danger, making eating rats or sharing syringes dangerous. These features are enabled.
  • option to allow certain "secret effects" on symptoms, such as hemetophagy vampires or autophageocytosis zombies. enabled
  • option to make spread symptoms always spread a virus. disabled.
  • option to make some virus thresholds easier to reach. tentatively enabled.
  • option to make the above three options only apply to random event viruses (also making said viruses uncustomizable). enabled.

Non- config changes

  • disease symptoms order themselves based on the roundstart removal seed, to remove guesswork and frustration. First symptom is removed first.
  • improve random diseases, so they always have a transmission symptom and a symptom with a notable effect
    -change how extrapolators are obtained. now, they're obtained through science
  • revamp virus cure list
  • remove dermagraphic ovulogenesis (pointless symptom i hate it)
  • re-adds viro zombies. These are now nerfed, doing less damage, and spreading their virus rather than spreading zombie tumors.

Why It's Good For The Game

virology as it is is extremely bad for roleplay. The virology department is poorly equipped to deal with actual outbreaks, and spreading beneficial diseases adds little positive to the game. This means the department is either powergame fuel for people who spend hours making out of game spreadsheets, or grief fuel and banbait. often both.

this style of removal still leaves enough disease customization in to engage players who wish to engage with it, but does not reward a hefty array of spreadsheets and recipes, instead encouraging a more intuitive grasp of the system and how symptoms mesh together

Whether or not I make this PR, viro will be removed, so I'd prefer to be the one to kill it. with this approach, downstreams will still be able to enjoy beeviro, without worrying about upstream nerfs or removals disturbing it

Testing Photographs and Procedure

-draft-

I did not remember to screenshot my testing, but it consisted of testing a few event viruses, the mapping helpers, mixing viruses till i got the seeding to work right, testing dormant diseases, etc.

Changelog

🆑
del: removes the virologist role. this is config based.
del: Removes most means to customize viruses This is config based. Currently, you can remove up to 2 symptoms from a disease, neuter symptoms, and mix viruses. Symptom removal is not random, with each symptom being removed based on a value given at roundstart.
del: dermagraphic ovulogenesis symptom
tweak: while virus customization is disabled, virus sample crates instead ship 5 isolated utility symptoms
add: re-adds viro zombies. They're now weaker, and only spread their diseases, instead of spreading the tumor itself.
add: adds a new chemical reaction, which allows you to remove faltered, immutable, dormant, and carrier status from viruses
balance: random viruses made through events should be more impactful now
balance: some symptom thresholds should be far easier to reach. config controlled.
mapping: adds tools for mappers to make virology departments a pharmaceutical research lab accessible by all medical personelll unless viro is enabled
tweak: toxoplasmosis sapiens is now level 0, and can technically appear, but, like all level 0 symptoms, will practically never appear, and will be even less likely to have any significant effect. However, the owo speak effect has been substantially toned down, and should now only impede the speech of certain letters and induce random cat noises, rather than replacing words arbitrarily.
/:cl:

Copy link

github-actions bot commented Nov 7, 2023

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@zeskorion
Copy link
Contributor Author

not, of course, ready for review

@zeskorion
Copy link
Contributor Author

I've finished everything but the cure revamp, which is not as important. I have not tested anything yet, however. Should also port @Absolucy 's changes to necrotic adaptation to this.

@zeskorion zeskorion marked this pull request as ready for review January 1, 2024 02:21
@zeskorion
Copy link
Contributor Author

just added a buncha .stat checks for necrotic metabolism. shouldn't proc to_chats now. A few symptoms totally have it disabled, especially problematic instances.

Copy link

This pull request has conflicts, please resolve those before we can evaluate the pull request.

Copy link
Contributor

@EvilDragonfiend EvilDragonfiend left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Testmerge passed. I see nothing particularly wrong.
The issue here is that the code has a lot of config options to make it hardly readible, but I guess it's a fair cost since we decided to keep it configurable with our complex feeling we have - we hate them and we love them.

@EvilDragonfiend
Copy link
Contributor

EvilDragonfiend commented Mar 3, 2024

Do not merge until Crossed approves the configuration.
Also, there should be more additional maints discussion here

@EvilDragonfiend EvilDragonfiend added Testmerge Passed Seemed fine in testmerge Needs Approval Needs maintainer discussion and head-dev approval. Do not merge this solo. DO NOT MERGE and removed Test Merged This PR is currently in rotation Needs Testmerge labels Mar 3, 2024
@PowerfulBacon PowerfulBacon added Strategic Milestone A long-term strategic development. PRs completed for issues with this tag will be high-priority. and removed DO NOT MERGE labels Mar 3, 2024
@PowerfulBacon
Copy link
Member

These are only basic config additions and has no chance to change anything on the hosting/server side, crossed doesn't really need to ensure their correctness

@PowerfulBacon PowerfulBacon added Balance Approved The balance of this PR has been approved and removed Needs Approval Needs maintainer discussion and head-dev approval. Do not merge this solo. labels Mar 3, 2024
@PowerfulBacon PowerfulBacon added this pull request to the merge queue Mar 3, 2024
Merged via the queue into BeeStation:master with commit 5aa5cb6 Mar 3, 2024
8 checks passed
DrDuckedGoose pushed a commit to DrDuckedGoose/BeeStation-Hornet that referenced this pull request May 11, 2024
* it begins

* it begins

* change

* commit

* more work done

* ---

* puts event check in

* changes for necrotic metabolism

* fixes and desca

* enables neutering

* disables normal zombie outbreaks

* removes previous change

* removes owo_talk from toxoplasmosis sapiens

* config

* fixes disease id sorting for view
DrDuckedGoose pushed a commit to DrDuckedGoose/BeeStation-Hornet that referenced this pull request May 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Balance Approved The balance of this PR has been approved Balance/Rebalance Config Update Feature Mapping DMM Change Removal Sound Sprites SQL SQL Change Strategic Milestone A long-term strategic development. PRs completed for issues with this tag will be high-priority. Testmerge Passed Seemed fine in testmerge Tools Tweak
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants