-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
Fixes free chemsplosion reagent purging by replacing it with the same thing but dangerous #83195
Fixes free chemsplosion reagent purging by replacing it with the same thing but dangerous #83195
Conversation
You understand that miners won't co-operate, yet what makes you so sure that the botanists would too. I forsee medical literally relying on donk pockets as the only reliable source of omnizine. |
Donk pockets can be made in kitchen or bought at cargo so I don't see the problem here. |
Botanists are less likely to be dead, are available to hassle in person because they hang out working on station, and are used to taking grow requests instead of playing ss13's singleplayer shooter mode. |
Could you explain at further length what the problem is? Donk pockets are easy to make if it comes down to that. You only need to have 1 unit. |
at that point just filter or use calomel or pent in med if multiver counts, still plenty accessible for purging outside of med good change |
This has the same problems with the last PR with an additional issue.
|
This is much better than what was before, but I think the omnizine should be left out of the reaction, calomel, and potassium water reaction seems good enough. |
The problem is the reliance on another department for the solution, I agree it should be stubborn to deal with. A chemical like pentetic acid could be used instead, so it's available in department but isn't instantly available. You could have a round where the botanists are completely useless or just refuse to help what so ever. |
The entire reason people rely on this method is cause nobody wants to bother wasting 15 minutes filtering the blood of the dumbass who chugged 2000u of beer five times in a row. |
Omnizine is not difficult to get. You only need to have it present for the reaction. EDIT: you can dilute Omnizine and use it for multiple reactions. That's intended here. The work of diluting it or of getting more of it are both meant to be valid strategies to do this purging technique. The reagent combinations are meant to make the process more involved; I'm not trying to make a bottleneck to the availability of this with omnizine supply. 0.1 or 0.01 units of Omnizine satisfy the requirements; peep the code.
You need to rely on other departments sometimes. That's how this game works. |
Omnizine and calomel are trivial to acquire. The former is obtainable through donkpockets in medbay (toss them in the blender) and calomel is simple to produce. Attaining the necessary chemicals isn't an issue. This PR is an improvement over the former but I still view water and potassium purging as not a concern. Viewing this from the lens of countering chemical antagonism (poisoning and the like), lower volumes of chemicals can be treated with multiver. While water and potassium would still be superior, it is likely that multiver is sufficient. Mixes that confer immediate harmful effects that could render multiver ineffective for countering would likely not be affected by water and potassium purging. There could be a case for larger volumes of chemicals, like quantities that are transferred into victims through foam, smoke, or bees, since multiver may not purge fast enough for it to be an effective countermeasure. This would mean that water and potassium has an advantage over multiver, but counters for those circumstances already exist (wearing internals or using insulative gear like a modsuit). Water and potassium would be more accessible than modsuits which can present an issue, but I do not know if that is a common issue. If it is, then this change has merit. In the context of medbay application, you could consider water and potassium to be overused since it's superior to multiver in most circumstances. However, my opinion is that in cases of lower volumes, the time difference is not significant enough to warrant a change. The time difference in higher volumes is an argument for keeping water and potassium purging as is. Having patients 'modestly' explode could be reasoned as a fair trade since you may spend less time stitching them back up than filtering them. The idea places a bad idea in my mouth though because patients may panic over being exploded. The malpractice is too conspicuous. As a final thing to consider, explosives in payload mixes will purge any other harmful chemicals in a patient's system. This can potentially work to their benefit if the resulting explosion does not completely annihilate, since the other toxins a person may have accrued would be purged. This can also reduce the workload for fixing up their body should they perish in one piece. With this change, the purge will not occur, so payloads can include toxins to finish victims if the explosive wasn't strong enough to outright kill them, or make the recovery process more arduous. |
It's a fair trade-off to instantly invalidate the work of whatever antagonist or vicious circumstance has caused you to be filled with so many chems that safer, slower purging isn't practical.
We can document it on the wiki.
Would you be able to summarize your concerns or support points? |
Sorry, I can be needlessly verbose. Let me make it concise: Currently, water potassium purging is a more accessible means of countering large volume foam/smoke chem grenades. Modsuits and internals exist to do so, but the aforementioned purge is more accessible than modsuits if distributed. Adding a detrimental cost to the purge is good in this case, but I am unsure how common of an issue this is in reality. Currently in medbay application, water potassium purging only makes a significant difference in time investment with large volume purging. Multiver and other means currently purge lower volumes at a reasonable rate. Changing the purge to damage the patient can be reasoned as a fair trade for time, but I dislike the concept of actually blowing patients up. It may cause patients/bystanders to panic or believe they are being maliciously harmed. The change may have some side effects concerning payload dynamics. An explosion in a victim resultant from foam or smoke would purge any harmful chemicals along with it. A victim could possibly survive if the explosion was weak enough, or at the very least, revival would take less time. This could indirectly buff some payloads since harmful chemicals persist. Removing the additional reagents necessary may be a solution to this, but keeping the minimum explosive strength. |
…o create an explosion
Your concern is that you don't know how often potwater purging happens; currently, it can be a 50/50 to walk into medbay to find a stack of 20ish patches that cause it.
Yes, I can see how that would confuse people. That sounds like a good opportunity for chaos, confusion, and engaging gameplay.
Your concern is that a chem mix that blows you up and poisons you would make it difficult to get you back to good health? I believe that would be the intent behind such a complicated chem mix. |
Alright, that's fair enough.
I will disagree on this part, since I don't personally view getting shoved around by obstinate spacemen to be that thrilling. But this is subjective point.
My point is that this change enables something new. Currently, if a foam/smoke grenade injects a large volume of poison into a victim, the person who threw the grenade would have to be careful to not add a weak bodily explosion to the mix. This is because the explosion would purge the victim of chemicals, just like the water potassium purge. With the change, the grenadier could add an explosion to the foam/smoke mix without concern for it possibly purging the victim. |
this is still not a good idea and it wouldn't be a fix, it'd be a balance changes. I do not appreciate you getting a GBP boost from something that fundamentally affect how medical plays around dealing with a lot of chem at once. Because as it stands Omnizine, as common as it is (with certain source) is simply too much dependencies on people. im saying this kinda ass. |
This PR has been inactive for long enough to be automatically marked as stale. This means it is at risk of being auto closed in ~ 7 days, please address any outstanding review items and ensure your PR is finished, if these are all true and you are auto-staled anyway, you need to actively ask maintainers if your PR will be merged. Once you have done any of the previous actions then you should request a maintainer remove the stale label on your PR, to reset the stale timer. If you feel no maintainer will respond in that time, you may wish to close this PR youself, while you seek maintainer comment, as you will then be able to reopen the PR yourself |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Triple slashes are for proc/variable documenting comments, don't use them inside of a proc or you'll really confuse the autodoc and intellisense.
for anyone curious this line of code dates back to at least 12 years ago, post r4407 pregithub. we have no way to tell what the actual purpose of it is (whether it's an intended balance knob or some hacky fix to stopping explosion-a-geddon). my hunch is it's the latter |
I need to update or check something in my VScode because it screwed half the review suggestions I committed and didn't add the coauthor information. I'll fix that in a moment. |
…de ether on previous commits
89003fd
to
ffc5961
Compare
@jlsnow301 When you have a moment could you re-eval the test-merge validity? I knocked it off with a code suggestion force push. Also I haven't a clue how to add co-author info through the VScode plugins. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As with the previous PR, this is not a bug. This is intentional.
However: The code does not appear to work in game.
I built this PR tonight with the intent of demonstrating the infinite chemical explosion warned about. After several failed attempts, I realized that chemicals are still full purging as they normally are. This doesn't appear to change anything when compiled and run.
You are correct. I was trying to call an early return after purging a mob's reagents to prevent fall through; I should have been calling the early return in a mob's if clause if they didn't have the clause to clear reagents. I changed it to do the correct thing. |
This PR has been inactive for long enough to be automatically marked as stale. This means it is at risk of being auto closed in ~ 7 days, please address any outstanding review items and ensure your PR is finished, if these are all true and you are auto-staled anyway, you need to actively ask maintainers if your PR will be merged. Once you have done any of the previous actions then you should request a maintainer remove the stale label on your PR, to reset the stale timer. If you feel no maintainer will respond in that time, you may wish to close this PR youself, while you seek maintainer comment, as you will then be able to reopen the PR yourself |
…potwater-replacement-with-zanier-shenanigans
@Metekillot was this every testmerged and also functional? |
haha no, I havent had the time to oversee a test merge |
Testmerge: no Functional: yes Infinite explosion even though you didn't ask: could only manage multiple explosions in the edge case of one reactant in stomach trickling into blood that has other reactant in it, but you die and stop digesting after 2-3 |
well get it testmerged again and then if that is successful over a few rounds I will merge it |
About The Pull Request
#83168
From the above, it became clear to me that the penthrite combinations were likely never going to happen, because that requires the cooperation of miners, who are a notoriously fickle and treasure hungry lot. So instead, I reworked the methods that you can purge with reagent explosions.
If you pair an explosion of at least 1 power in someone's bloodstream with omnizine and any of the purging reagents, it purges the chems from their blood. So omnizine, calomel, and 20u each of potassium and water will purge their blood in exchange for a hefty bit of damage and some slight delimbing.
Penthrite + atropine and penthrite + epinephrine explosions will still clear your blood, too. I kept that in to prevent miner penstacking and, if somehow medbay gets hold of the chem combinations, for simple chemsplosion blood purging.
You can also force people to vomit by causing an explosion of at least 1 power in their stomach, but that only purges everything in their stomach. This interaction doesn't require omnizine and a purging reagent.
Why It's Good For The Game
Chemsplosion purging in its current state is a longstanding bug that's been left implemented because blood filtering is otherwise boring and takes a long time. This makes it exciting and very quick but it will also fucking kill somebody if you're not careful.
Changelog
Unilateral blood purging with pseudo explosions has been replaced with blood purging explosions via pairing a minimum explosive power of 1 with omnizine and a purging reagent. You can also purge blood with penthrite + epinephrine and penthrite + atropine, though the latter will very likely gib the purged person in question.
🆑 Bisar
balance: Replaced the free reagent purging with actually purging by exploding someone in the blood while they have omnizine and a purgative in their bloodstream. Let's go practice medicine!
fix: Fixed the free reagent purging mechanic from causing an explosion so weak that it doesn't cause any damage.
/:cl: