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

Some radioactive materials decay plasma into fallout #17813

Merged
merged 14 commits into from Mar 8, 2024

Conversation

MeggalBozale
Copy link
Contributor

About the PR

Allows materials, namely Cerenkite, to decay fallout on their same tile into fallout gas above a certain temperature threshold.
The radioactive material will begin to lose its radioactive properties as it is used for this purpose

dreamseeker_6q3Lge6a4W
an example of an experimental setup I created in the development of this feature

Why's this needed?

Allows Toxins to create fallout gas for their own purposes, which may not be possible to obtain on some maps. It holds some value as having an abnormally low SHC, and thus may have a use in the environment. I plan to also give this gas an interesting use, also located in toxins, for scientists to desire to use this for.

Numbers are roughly an attempt at balance and allows a handful of cerenkite ores to convert a canister of plasma. Conversion is largely limited by how quickly the conversion cools existing gas, and such the bottleneck in production becomes heat transfer with the plasma gas.

Scientists are given the choice between creating a sealed chamberburn for an output mix containing low percentages of fallout at a high conversion rate, or using heat transfer between chambers to produce a more """pure""" final product.

Overall allows a lot of experimentation and choice into the methods of production, which I think is sorely needed for Toxins.

Changelog

(u)MeggalBozale
(*)Radioactive material at sufficient temperature will now decay some plasma into fallout gas.

@github-actions github-actions bot added the size/M Denotes a PR that changes 30-99 lines, ignoring generated files. label Jan 30, 2024
@MeggalBozale MeggalBozale added C-Feature A new feature or enhancements to existing features A-Atmospherics Attempts to touch the atmos system, help us all ☠ A-Science Deals with Artifacts, Telescience, or the department labels Jan 30, 2024
@MeggalBozale
Copy link
Contributor Author

Worth noting that this would allow "Cold TTVs" or so I believe to be made in toxins.
AFAIK this refers to combining a low SHC, cold gas (fallout, namely, being a prime candidate here) with a high SHC, hot gas (agent b, plasma, or whatnot being candiate here) together to potentially create a maxcap in an alternate way. I would be for this since it's interesting and more difficult than current TTVs, so.

Copy link
Contributor

@TobleroneSwordfish TobleroneSwordfish left a comment

Choose a reason for hiding this comment

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

Neat! Make sure it doesn't happen in the reactor itself, since that has its own way of handling this and would the two would probably not mix well.

code/modules/materials/Mat_MaterialProcs.dm Outdated Show resolved Hide resolved
code/modules/materials/Mat_Materials.dm Outdated Show resolved Hide resolved
code/modules/materials/Mat_MaterialProcs.dm Outdated Show resolved Hide resolved
code/modules/materials/Mat_MaterialProcs.dm Outdated Show resolved Hide resolved
Copy link
Contributor

@amylizzle amylizzle left a comment

Choose a reason for hiding this comment

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

This definitely needs special handling for the reactor. Personally I'm not sure this is a good thing to add at all - fallout is hard to get on purpose because it's dangerous and expensive cpu-wise.

An alternate approach would be a way of generating neutrons outside of the reactor, then you can rely on existing gas reaction code, but again, I'm not sure fallout ought to be accessible.

code/modules/materials/Mat_MaterialProcs.dm Outdated Show resolved Hide resolved
code/modules/materials/Mat_MaterialProcs.dm Outdated Show resolved Hide resolved
@MeggalBozale
Copy link
Contributor Author

MeggalBozale commented Jan 30, 2024

Thank you for all the feedback!! I will work on this asap.

Personally I'm not sure this is a good thing to add at all - fallout is hard to get on purpose because it's dangerous and expensive cpu-wise.

This should be somewhat difficult to get in large quantities from toxins, it's meant to be another option if there's no reactor or barrels around. As it is, it's possible to get 100 moles of radgas from any barrel of radioactive waste, which is not too bad to get on maps containing reactors. (And w/ a random room containing a lot of barrels). Radgas being dangerous is part of why I think it would be nice to make in toxins, as it could be interesting to use in explosives. (I'd like to iron out an idea like that and its practicality first, though.)

Not sure what I can do for it being CPU-intensive except for noting that this is, ideally, difficult to obtain in large quantities quickly using toxins. I can see if I can make it a little better, but I imagine it's just because radgas does so much already.

@MeggalBozale
Copy link
Contributor Author

This will proc in reactors due to the trigger, but it will return for owner.loc not being a simulated turf. Reactor should be fine

@MeggalBozale
Copy link
Contributor Author

MeggalBozale commented Feb 1, 2024

A word on the balance, currently - the "radioactive" property has a 1:1 potential as mols of fallout. So one piece of cerenkite only would decay into 5 mols of fallout, though I can easily change this to be higher/lower depending on need for balance. I've not noticed too much harm from releasing a can of fallout, and doing so should take significantly more effort than plasma -- which is much more CPU-intensive than fallout is right now. And just to be sure, all materials now have a 5 second cooldown before decaying fallout (it was getting called a lot for a stack of 100)

Copy link
Contributor

@amylizzle amylizzle left a comment

Choose a reason for hiding this comment

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

I still slightly question the balance of making fallout easily available, but code looks good, and you can always revert it if people are shitters with it.

Copy link
Contributor

This PR has been inactive for two weeks, and has been automatically marked as stale. This means it is at risk of being auto closed in another week. Please address any outstanding review items and ensure your PR is finished. If you are auto-staled anyway, ask developers if your PR will be merged. Once you have done any of the previous actions then you should request a developer remove the stale label on your PR, to reset the stale timer. If you feel no developer will respond in that time, you may wish to close this PR youself, while you seek developer comment, as you will then be able to reopen the PR yourself.

@github-actions github-actions bot added the S-Stale An inactive PR that has had no updates in the past two weeks label Feb 19, 2024
@ZeWaka
Copy link
Member

ZeWaka commented Feb 19, 2024

x

@ZeWaka ZeWaka removed the S-Stale An inactive PR that has had no updates in the past two weeks label Feb 19, 2024
@goonstation-issuebot goonstation-issuebot added the S-Testmerged [Dev Only] Testmerged for extended testing (applied by bot) label Feb 19, 2024
@goonstation-issuebot goonstation-issuebot removed the S-Testmerged [Dev Only] Testmerged for extended testing (applied by bot) label Mar 6, 2024
@MeggalBozale
Copy link
Contributor Author

with the buffed numbers it seems we've got one player on the discord messing around with the feature and doing good, considering the infrequency of players messing with toxins thats good to me

@ZeWaka ZeWaka merged commit c09578d into goonstation:master Mar 8, 2024
22 checks passed
github-actions bot pushed a commit that referenced this pull request Mar 8, 2024
@Studenterhue Studenterhue added the E-Add-To-Wiki A PR that will require changes to the wiki label Mar 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-Atmospherics Attempts to touch the atmos system, help us all ☠ A-Science Deals with Artifacts, Telescience, or the department C-Feature A new feature or enhancements to existing features E-Add-To-Wiki A PR that will require changes to the wiki S-Ready-For-Final-Review This PR has been looked over by members of the community. (automatic after 2 approvals) size/M Denotes a PR that changes 30-99 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants