Files
Bubberstation/code/__DEFINES/atmospherics/atmos_gasses.dm
BurgerLUA 3b38037121 [Testmerge Ready] Adds the RB-MK2 Reactor, Makes Tritium buyable from Cargo (#598)
## About The Pull Request


![image](https://github.com/Bubberstation/Bubberstation/assets/8602857/5985d911-ece0-42b9-b73a-08976488a2af)

This PR adds tritium based nuclear combustion reactors that converts
tritium into power. The reactor itself is only 1 tile in size and you
are expected to build multiple reactors in order to get a good source of
power going. It is currently obtainable by research, and the rods and
machine itself can be printed at the engineering protolathe, It can be
upgraded via stock parts for crazy power generation.

More tritium in a rod means less time to manage it, but it also means
that the rod's pressure can possibly get too high. There is nothing
stopping you from filling it up with other gases to moderate it, such as
freon if you're brave.

The RB-MK2 engine requires a source of cooling, but not too much
cooling, in order to produce a good amount of power. There is a safety
feature to prevent it from running too hot or too overpressured, but
that can be disabled by cutting the safety wire. There are also several
wires to allow for signal based management if you feel so inclined to
add such a thing to the setup.

### Current wire setup:

| Wire | Pulse | Cut | Mend  |
| --- | --- | --- | --- |
| Overclock | Enables/Disables overclocking | Nothing | Disables
overclocking |
| Activate | Toggles the reactor on/off | Turns reactor off | Turn
reactor on |
| Disable | Turns reactor off | Nothing | Turns reactor off |
| Throw | Ejects the rod, if off | Nothing | Ejects the rod, if off |
| Lockdown | Toggles vents open/closed | Nothing | Turns vents off |
| Safety | Toggles safety on/off | Turns safety off | Turns safety on |
| Limit | Increases the cooling limit percent by 5% | Nothing | Resets
the cooling limit to 0%

### How to Operate

1. Construct the RB-MK2 on a powergrid inside a room with cooling.
1. Fill an RB-MK2 rod with 50 moles of room temperature tritium.
2. Insert the rod into the RB-MK2
3. Wrench the RB-MK2 to turn it on.
4. Let the RB-MK2 run hot, but not too hot to the point where the RB-MK2
rod bursts.
5. If it jams, use a crowbar on it. Or a plunger.
6. If it is too damaged, use a welder on it.
7. ????
8. Profit.

### Tips
- To turn the machine on, insert a rod filled with tritium in the hole
and then wrench it. If you don't have a wrench, you can pulse the
activate wire while the rod is in.
- Rods should be filled up with at most 50 moles of tritium, but more
can be added if you're feeling dangerous.
- You can put other gasses inside a rod if you want said gasses to leak
out during processing.
- The RB-MK2 can be upgraded. Matter bins increase the internal buffer's
volume, servos increase the pressure at which the fans will release gas,
and capacitors will increase the power output of the reactor (this can
result in higher temperature gains) per mole of tritium.
- Overlocking increases tritium consume and gives off more heat, but
provides more power.
- To activate the machine, use a wrench on it. It is considered active
when the rod is all the way down.
- An exposed rod (inactivated machine) is more affected by external
temperatures than an inactive rod. This can sometimes be worse than it
being unexposed if the exterior turf temperature is too hot.
- The machine will only process tritium (and generate power) wile
active.
- Opening the vents (aka disabling lockdown) allows processed gas to
escape out of the buffer and allow exterior temperature to influence the
internal rod temperature.
- Closing the vents will prevent exterior temperature from affecting the
rod, and prevent waste gas from escaping. This is useful for if you want
to increase the temperature by closing the vent or in cases of a chamber
fire.
- Throwing the rod, or removing it manually, prevents the rod from
taking on any more heat/cooling. This does not stop internal reactions,
if there are any inside the rod.
- Increasing the cooling limit will reduce the cooling effect external
air has on the rod. This is useful to increase if your cooling setup
makes the rod too cold to process power effectively.
- There is a safety feature on the machine where if the rod gets too hot
or too overpressured, it will automatically turn off and expose itself
to external air. Disabling safeties is only useful if you want the
machine to blow up, or if you don't want the rod to automatically expose
itself (in case of a chamber fire).
- Goes good with radiation shielding as tritium is a byproduct of
radiation shielding, and radiation shielding requires a lot of power to
function.



## TODO

- [x] Actually make sure it works (it doesn't).
- [x] ~~Introduce liquid reagent cooling mechanics where water puddles
can help with cooling management.~~ Not possible because liquid reagents
are shit.
- [ ] Balance it so it isn't more of a pain in the ass to manage than a
supermatter.
- [x] Maybe add safety features like temperature monitoring and other
stuff so engineers aren't 100% blind.
- [x] Replace Burgerstation default Supermatter setup with this one.
- [x] Testmerge!
- [x] Get feedback from engineer mains.

## Why It's Good For The Game

More sources of funny power is good.

## Changelog

🆑 BurgerBB
add: Adds the RB-MK2 reactor.
add: Makes Tritium buyable from cargo.
/🆑

---------

Co-authored-by: StrangeWeirdKitten <95130227+StrangeWeirdKitten@users.noreply.github.com>
2023-10-30 16:48:44 -06:00

23 lines
657 B
Plaintext

#define GAS_N2 "n2"
#define GAS_O2 "o2"
#define GAS_CO2 "co2"
#define GAS_PLASMA "plasma"
#define GAS_N2O "n2o"
#define GAS_NITRIUM "nitrium"
#define GAS_BZ "bz"
#define GAS_AIR "air"
#define GAS_WATER_VAPOR "water_vapor"
#define GAS_TRITIUM "tritium"
#define GAS_HYPER_NOBLIUM "hypernoblium"
#define GAS_PLUOXIUM "pluoxium"
#define GAS_MIASMA "miasma"
#define GAS_FREON "freon"
#define GAS_HYDROGEN "hydrogen"
#define GAS_HEALIUM "healium"
#define GAS_PROTO_NITRATE "proto_nitrate"
#define GAS_ZAUKER "zauker"
#define GAS_HELIUM "helium"
#define GAS_ANTINOBLIUM "antinoblium"
#define GAS_HALON "halon"
#define GAS_GOBLIN "goblin" //BUBBERSTATION ADDITION.