Oxygen Generator Improvements
This PR makes changes to oxygen generators that I believe will enhance the interactions available with them.
The first change adds the ability for players to find and change the oxygen generation rate either manually, or through wiring.
The second change adds a UI to oxygen generators that allows players to:
- See if it is powered.
- Manually change the oxygen generation rate.
- See if the generation rate is being controlled through wiring.
The third change adds a new upgrade for oxygen generators that increases the oxygen generation rate. This upgrade has a base cost of 2000 mk and 5 oxygenite shards, with tier restrictions of:
- Tier 1: Unavailable
- Tier 2: Level 1
- Tier 3: Level 2
Each level of this upgrade increases oxygen generation by 20%.
The intended effect of these changes is to add more depth to the mechanics of oxygen generators, with the end goal of getting players to engage with them beyond it just being a repairable device that fills oxygen tanks.
For example, traitors can set the generation amount to a lower value to silently starve the crew of oxygen. Another example is players can create more complex "duty cycle" circuts to save fuel by dynamically changing the generation amount through wiring, therefore reducing the power consumption.
For example, traitors can set the generation amount to a lower value to silently starve the crew of oxygen.
Without opening the UI of the oxygen generator, would this be visible in any way? At least, to me it would make sense if vents stopped turning when oxygen generation is at 0 (and slowing down at lower values, ideally), but also the generator itself no longer moving and/or showing a red light or orange light based on the percentage of oxygen generation.
Without opening the UI of the oxygen generator, would this be visible in any way? At least, to me it would make sense if vents stopped turning when oxygen generation is at 0 (and slowing down at lower values, ideally), but also the generator itself no longer moving and/or showing a red light or orange light based on the percentage of oxygen generation.
Vents already stop turning when no oxygen is being produced, and both the vents and the generator make no sound when not producing anything. I've also went ahead and stopped the generators from animating, though.
One concern I have about this is whether it's clear enough what's happening if someone for example turns the oxygen generation rate to 10%. How would a player know it's possible to adjust it, where is it communicated? How can a player tell the oxygen generation has been adjusted down, would it seem like a bug if they start suffocating for seemingly no reason?
I think one thing that would alleviate the problem a bit is if the oxygen generation rate was visible on the generator and the vents somehow. Maybe the animation speed (and the volume of the sounds too?) could be relative to the oxygen generation rate?
How is the sub supposed to handle grid overloads upon thrust reduction if the O2 genny is not there to suck up the extra power? Or is overvoltage not a thing any more in upcoming versions? (I'm cool with that by the way)
This change is very similar to a circuit that I've designed for a campaign which involved having to manage fuel, but on that same sub I had to entirely delete any overvoltage action just to make that kind of gameplay possible.
I think one thing that would alleviate the problem a bit is if the oxygen generation rate was visible on the generator and the vents somehow. Maybe the animation speed (and the volume of the sounds too?) could be relative to the oxygen generation rate?
I think that defeats the purpose of "silently" sabotaging the oxygen as Jade suggested
The use cases for O2 generator changes are: -Starving fires (you previously had to disconnect the O2 power wire) -Discreet Sabotage (instead of completely shutting off O2) -Saving power
The third change adds a new upgrade for oxygen generators that increases the oxygen generation rate.
This just reads as "reduce O2 power cost", subs don't really need more O2 generation since they're made with giving enough O2 to all rooms to begin with (it's not FTL where you can overpower a breach leaking oxygen with upgraded O2, and even there it was a luxury upgrade). I believe O2 upgrades were removed in the first place because they were largely useless.
You could make oxygen generation matter a little more if flooding a hull also drained its oxygen, or making plants consume oxygen.
Another problem I can think of with Saving Power is that you can survive on O2 shelves filling bottles. O2 shelves don't need the O2 generator to function since they're not LINKED but rather powered (sub builders wish they had been from the very start)
I think that defeats the purpose of "silently" sabotaging the oxygen as Jade suggested
Possibly to some extent, but I think it's still important for there to be some kind of a cue that someone has sabotaged the oxygen. Maybe not something immediately obvious, but I feel like if we just add this sort of a "hidden feature" without communicating it anywhere in any way, it will just seem like a bug when the sub stops running out of oxygen for seemingly no reason or any clear way to fix it.
One concern I have about this is whether it's clear enough what's happening if someone for example turns the oxygen generation rate to 10%. How would a player know it's possible to adjust it, where is it communicated? How can a player tell the oxygen generation has been adjusted down, would it seem like a bug if they start suffocating for seemingly no reason?
I think one thing that would alleviate the problem a bit is if the oxygen generation rate was visible on the generator and the vents somehow. Maybe the animation speed (and the volume of the sounds too?) could be relative to the oxygen generation rate?
Or just vents are rotating slower than normal. Or both.