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

[READY] AGCNR Attempt 4: Revengeance #19968

Merged

Conversation

SapphicOverload
Copy link
Contributor

@SapphicOverload SapphicOverload commented Aug 2, 2023

Document the changes in your pull request

Revival of #15753, ports BeeStation/NSV13#828 by @Kmc2000

This adds a new engine type: the Advanced Gas Cooled Nuclear Reactor. It's pretty much what it sounds like, a nuclear reactor that uses gas as a coolant because we don't have plumbing. Requires fuel rods, cooling, and moderator gas in order to function.

For the guide on how to use it, see the wiki documentation section.

To do:

  • Make sure the old code still works
  • Change units to be in kelvin and kPa
  • Refactor the cooling to make sense
  • Test the reactor to make sure it actually works properly
  • Add a few more flavor effects to make it cooler
  • Fix the map so it doesn't break the entire station z-level
  • Swap nitrium out for a gas that isn't used for powergaming
  • Add a way to toggle reactor power
  • Fix the fuel rod control tgui menu Add another way to remove fuel rods
  • Switch to process_atmos() and refactor cooling/heating again
  • Meta reactor
  • Write a guide on how to operate this thing
  • Wiki documentation

Spriting

Reactor
image

Uranium-235 fuel rod
image

Plutonium fuel rod
image

Depleted fuel rod
image

Telecrystal fuel rod (not currently obtainable)
image

Bananium fuel rod
image

Wiki Documentation

Boxstation reactor layout:
image

Icemeta reactor layout:
image

On the list of the supply crates in the engine construction section, add:

  • Uranium-235 Fuel Rods Crate - contains 5 uranium-235 fuel rods, costs 5000
  • Plutonium-239 Fuel Rods Crate - contains 5 plutonium-239 fuel rods, costs 15000
  • Bananium Fuel Rods Crate - (contraband) contains 5 bananium fuel rods, costs 15000

Everything past this point (besides the changelog) is the guide for how to operate this new engine, add it to a wiki page and add a link to the page in the guides list on the pages for Station Engineer and Chief Engineer.

What the hell is this thing?

The Advanced Gas-Cooled Nuclear Reactor is exactly what it sounds like: a nuclear reactor cooled by gas. To get it running and producing stable power, you'll need fuel rods, some moderator gas to actually make power from it, and coolant gas to cool it all down with so you don't turn the station into a radioactive hellscape.

How do set up reactor?

Fortunately for you, the reactor is easy to get running. Unfortunately for you, it's hard to make it stop running if it's not set up properly, so make sure you follow these steps correctly.

  1. First wrench down the canister of nitrogen. This is our coolant and we want it in the reactor.

  2. Next, turn on and max out every other pump in the room in order to get the coolant flowing.

  3. Now, turn on the filters and make sure both of them are set to filter pluonium. Pluonium causes fuel rods to deplete much faster, so it's best to keep it out of the coolant so we can run the reactor for longer. There is a mixer in the same room, do not turn that on yet.

  4. Put on a radiation suit and insert as many fuel rods as you can into the reactor. You should have one spare left, leave it in the reactor pool to keep it from irradiating things. Keep a geiger counter on you while near the engine room from now on.

  5. Now that all the fuel rods are in and the cooling is set up, go to the reactor computer in the control room and hit the power button in the control rod section. You should hear a noise indicating that it just started up. Set the desired K to 2.

  6. With the reactor running, go to the mixer and turn it on. This is the moderator gas mix used to actually make power from the reactor. For a safe mix that makes a decent amount of power, set the mixer to 20% plasma and 80% oxygen, then turn the pressure up to 250 kPa. A 50/50 mix makes more power, but will also make the reactor slightly harder to control. See the moderator effects section of this guide for more details.

  7. With the reactor computer, you can use the control rods to keep the reactor at the temperature you want. A higher K will make it hotter, which produces more power. Try to keep it somewhere between 800 and 1000 kelvin, and be careful to increase it in small increments so you aren't caught off guard by it heating up more than you expected. Do NOT allow the temperature to exceed 1000 kelvin or you'll cause a meltdown if you can't cool it back down in time.

Going supercritical

A very important part of nuclear reactors that must be kept under control is K, which stands for criticality. This is a measure of how much the reactor is... well, reacting. As K increases the reactor will heat up more, meaning it's very important to keep K under control or the heating will get out of control too, causing a meltdown.

Fortunately we have a tool for this: control rods! The reactor control computer in the engine room has a handy interface for adjusting the control rods. It's as simple as just setting what you want K to be, and the control rods will adjust themselves to meet that number. Be warned though, that exceptionally high temperatures and certain moderator gases can increase K faster than the control rods can lower it, resulting in a runaway chain reaction that can turn your nuclear reactor into a nuclear bomb.

How I learned to stop worrying and love nuclear waste

Over time, fuel rods will eventually deplete. This is an inevitable part of fission reactors like the AGCNR, but it can also have its benefits. The standard uranium-235 fuel rods have a special lining that will become plutonium-239 when fully depleted, which is an even better fuel. If you really want to, you can add pluonium to the moderator mix to cause your fuel rods to deplete much faster. More fuel rods can be ordered from cargo if you run out.

To remove a depleted fuel rod, power the reactor down to below 400 kelvin and use a crowbar to pry it out.

Moderator effects

This is a list of effects each gas has when added to the moderator input of the reactor. Please note that adding these to the coolant instead will not have the same effect.

Fuel Types:

  • Plasma: Power production gas. More plasma -> more power, but it enriches your fuel and increases K faster than the control rods can handle if too much is added.
  • Tritium: Extremely efficient power production gas. Increases K even more than plasma.
  • Anti-Noblium: Insane power production, but forces K as high as it can go. Don't use this gas unless you're autistic enough to handle it. Makes enough radiation to fry you instantly if you go near without protection.

Power Modifier Types:

  • O2: Increases the effectiveness of fuel-type moderators. Having at least 10% of this in your plasma will make it much more effective at producing power, but a 50/50 mix is most effective. Higher amounts like 80% are much safer, but produce less power.
  • H2: Much more effective than oxygen for increasing the efficiency of your fuel, but has a huge increase to radioactivity.

Moderation Types:

  • N2: Helps you regain control of the reaction by increasing control rod effectiveness, will massively boost the rad production of the reactor.
  • CO2: Super effective shutdown gas for runaway reactions, but even more rads than N2.
  • Pluoxium: Same as N2, but no cancer-rads!

Permeability Types:

  • BZ: Increases your reactor's ability to transfer its heat to the coolant when added to the moderator input, thus letting you cool it down faster (but your output will get hotter)
  • Water Vapour: More efficient permeability modifier
  • Hyper-Noblium: Extremely efficient permeability increase (10x as efficient as bz)

Depletion types:

  • Pluonium: When you need weapons grade plutonium yesterday. Causes your fuel to deplete much, much faster. Not a huge amount of use outside of plutonium production or sabotage.

OH GOD IT'S SCREAMING AT ME WHAT DO I DO

Don't panic! There's a few things you can do to prevent the station from becoming an irradiated hellscape.

Scenario 1: Overheating

  • Check for obstructions in the cooling loop. Ensure every pipe and filter in it is on, unblocked, and working at maximum capacity. Check the vent in space to make it's still there. Use the control rods to lower K as much as you can. If you lose control of K, add nitrogen or CO2 to the moderator to increase your control over K. If all else fails, grab the plasma canister from secure storage and dump it into the coolant line.

Scenario 2: Overpressure

  • Similarly to scenario 1, check the cooling loop to make sure nothing is blocked and try to lower K as much as possible. If the pressure is still too high, use the filters to filter off excess coolant to lower the pressure until it's at a safe level. If removing too much coolant causes the reactor to overheat, refer to scenario 1.

Once the reactor reaches safe operating conditions, it will report its structural integrity over engineering comms. The reactor must be repaired manually, and to do this the core temperature must be below 400 kelvin. Minor damage can be mostly repaired with some sealant spray found on the nearby table, but if it's too damaged you'll need to use a welding tool first. It can never be repaired all the way back to 100% integrity however, and of course there's no coming back from a meltdown or blowout.

Sabotage

So you have access to a nuclear reactor, and want to kill lots of people. You're in luck, there's a lot of things you can do! Adding tons of plasma to the moderator will increase K too much for the control rods to handle, and a meltdown will be almost guaranteed. Alternatively, clog the coolant output so that the pressure builds up enough to cause a blowout, which is much more lethal. You can also set the pressure on one of the pumps to zero but keep it on to trick people into thinking it's working and something else is wrong. As with most sabotage a skilled engineer may be able to fix what you do, but that's nothing a little murder can't prevent from happening. Be sure to wear radiation protection if you want to survive the nuclear hell you're trying to create.

Changelog

🆑 @SapphicOverload, @redmoogle, @maxion12345, @Kmc2000
experimental: added the Advanced Gas-Cooled Nuclear Reactor
bugfix: slightly improved radiation subsystem performance
/:cl:

@SapphicOverload SapphicOverload requested review from monster860 and a team as code owners August 2, 2023 01:12
@Yogbot-13 Yogbot-13 added the Sprites This PR has spriting changes label Aug 2, 2023
@SapphicOverload SapphicOverload marked this pull request as draft August 2, 2023 01:13
@SapphicOverload SapphicOverload added Mapping Will result in a change to a map. DO NOT MERGE Should not be merged without express approval from a Head Dev labels Aug 2, 2023
@github-actions github-actions bot added Config Config files need to be changed on the host for this to work Sound This PR changes audio files labels Aug 2, 2023
@Ethan4303
Copy link
Contributor

WOOOOOO LETS FUCKING GOOOOO I CANT FUCKING WAIITTT YEAHHHHHHHHHHHHHHH

@Hislyna
Copy link
Contributor

Hislyna commented Aug 2, 2023

You know the AI will blow this up the second that new ion law pops up right?

@Zer0Tactics
Copy link

Oooo funny reactor yes please

@SapphicOverload
Copy link
Contributor Author

You know the AI will blow this up the second that new ion law pops up right?

I sure hope so

@athena413
Copy link
Contributor

You know the AI will blow this up the second that new ion law pops up right?

its like a 1 in 100 probability

also its funny as fuck

@SapphicOverload SapphicOverload changed the title RBMK Attempt 4: Revengeance AGCNR Attempt 4: Revengeance Aug 2, 2023
@maxion12345
Copy link
Contributor

good luck, never could get this to work properly with atmos (atleast in a "run stable and not require an engineer to babysit or it explodes within 10 minutes)

@SapphicOverload
Copy link
Contributor Author

SapphicOverload commented Aug 2, 2023

good luck, never could get this to work properly with atmos (atleast in a "run stable and not require an engineer to babysit or it explodes within 10 minutes)

I had to completely rework the cooling but yes it does work now, default setup is stable at 2 K with all fuel rods inserted

@neeshacark
Copy link
Contributor

ok but can i eat the uranium 235

@SapphicOverload
Copy link
Contributor Author

ok but can i eat the uranium 235

You can grill things on the reactor

@SomeguyManperson
Copy link
Contributor

You know the AI will blow this up the second that new ion law pops up right?

its like a 1 in 100 probability

(They dont know)

@neeshacark
Copy link
Contributor

image_2023-08-02_022909930

@warface1234455
Copy link
Contributor

time to turn the station into wasteland

@SapphicOverload SapphicOverload marked this pull request as ready for review August 3, 2023 00:47
Yogbot-13 added a commit that referenced this pull request Sep 22, 2023
Yogbot-13 added a commit that referenced this pull request Sep 26, 2023
Yogbot-13 added a commit that referenced this pull request Sep 26, 2023
Yogbot-13 added a commit that referenced this pull request Sep 27, 2023
Yogbot-13 added a commit that referenced this pull request Sep 29, 2023
Yogbot-13 added a commit that referenced this pull request Sep 29, 2023
Yogbot-13 added a commit that referenced this pull request Sep 29, 2023
Yogbot-13 added a commit that referenced this pull request Sep 30, 2023
Yogbot-13 added a commit that referenced this pull request Sep 30, 2023
Yogbot-13 added a commit that referenced this pull request Sep 30, 2023
Yogbot-13 added a commit that referenced this pull request Oct 1, 2023
Yogbot-13 added a commit that referenced this pull request Oct 1, 2023
Yogbot-13 added a commit that referenced this pull request Oct 2, 2023
Yogbot-13 added a commit that referenced this pull request Oct 2, 2023
Yogbot-13 added a commit that referenced this pull request Oct 3, 2023
Yogbot-13 added a commit that referenced this pull request Oct 3, 2023
@ToasterBiome ToasterBiome merged commit 550acb1 into yogstation13:master Oct 4, 2023
5 checks passed
@Yogbot-13 Yogbot-13 added the Fix This fixes an issue. Please link issues in fix PRs label Oct 4, 2023
Yogbot-13 added a commit that referenced this pull request Oct 4, 2023
TheGamerdk pushed a commit that referenced this pull request Oct 12, 2023
* WE'RE SO BACK (from #15753)

* reactor (mostly) works but the map breaks??

* makes pluonium instead of nitrium, also map works now

* i forgor

* update_icon()

* fuck it we ball

* background radiation

* Update engine_rbmk.dmm

* rename

* huge refactor, process_atmos() and more

* map fix

* map fix 2: for real this time

* map fix 3: the threequel

* cargo stuff

* exponential K, minor fixes

* simplify

* fixed meltdown overriding blowout

* how did i miss this

* more heat rebalancing

* icon fix

* not an rbmk!!!

* no sanity allowed on my yogstation

* longer time to fix

* adds a guide in the control room

* fixed the cameras, added a shovel

* okay

* okay

* doesn't need to exist and just causes problems apparently

* Update reactor.dm

* this too

* stuff

* fix

* good enough

* performance

* corium + more performance

* meta map fix

* uh oh

* syndicate preset

* rpd

* i forgor

* Update reactor.dm

* should fix fuel rod crates

* evil theos be like

* Update reactor.dm

* borgs can set up engine

* less tedious to fix

* fix the darn pipes
TheGamerdk pushed a commit that referenced this pull request Oct 12, 2023
@SapphicOverload SapphicOverload deleted the chernobyl-2-atmos-boogaloo branch December 29, 2023 10:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Admin This PR affects administrators Config Config files need to be changed on the host for this to work Fix This fixes an issue. Please link issues in fix PRs Mapping Will result in a change to a map. Sound This PR changes audio files Sprites This PR has spriting changes
Projects
None yet
Development

Successfully merging this pull request may close these issues.