-
Notifications
You must be signed in to change notification settings - Fork 399
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
Add surgical cleanliness and sanitation #2847
base: master
Are you sure you want to change the base?
Add surgical cleanliness and sanitation #2847
Conversation
Question - the advanced tools. As they are all energy based, should get dirty slower no? Or at the very least the searing tool and energy scalpel |
that could make sense |
Content.Server/_DV/Surgery/SurgeryCrossContaminationComponent.cs
Outdated
Show resolved
Hide resolved
Resources/Prototypes/_Shitmed/Entities/Surgery/surgery_steps.yml
Outdated
Show resolved
Hide resolved
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.
.
Direction review, 24 hours! |
3ba9c77
to
1798497
Compare
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.
Direction Approved! We really appreciate your work here, and how toxin damage is now less of a boolean factor in the equation.
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.
- move everything to shared, popups and doafter have shared systems
- make doafter time scale with dirtness or be repeating and only remove a small amount of dirt per shorter doafter. same time to clean near-sterile and filthy tools is bad
DNA is fully server-sided, and DNA needs to be tested for in order to see if there's something to be sanitized. most everything else is already in shared. |
so have the dna specific part in server only no reason for interaction and stuff to be in server |
so what exactly happens if client doesn't think the verb can be done but the server does because the server sees extant DNA that the client can't? |
also i'm curious how you expect that to incorporate into the current model where it daisychains to the forensics scrubbing after completing the doafter |
doafter repeating can still be used regardless of the forensics code in server its a field on do after args |
i don't mean the normal forensics code that runs when you touch an item, i mean the fact that at the moment we want the sterilisation to daisychain to forensics because if you sterilise something medically you've probably nuked all the evidence too, and that's what it currently does |
yes you can still call that in a virtual method that does the forensic event on server |
not asking about moving it to shared, I'm asking about how I'm supposed to mix "a surgery doafter is partial and can take 10ticks vs forensics taking 100ticks in a single go" |
just have it remove forensics on first doafter, you can use soap to remove it anyway so theres no "exploit" |
1798497
to
6b25f10
Compare
relocated the logic into shared, it is now a repeating doafter |
Content.Server/_DV/Surgery/SurgeryCrossContaminationComponent.cs
Outdated
Show resolved
Hide resolved
Content.Server/_DV/Surgery/SurgeryCrossContaminationComponent.cs
Outdated
Show resolved
Hide resolved
6b25f10
to
76f281b
Compare
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.
more comments still need changing to not be all on 1 line...
76f281b
to
bff75f6
Compare
that's all of them now for realsies |
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.
i dont trust the popups, ill test it out later
bff75f6
to
c293373
Compare
c293373
to
1700b67
Compare
popups are fixed |
1700b67
to
6416707
Compare
About the PR
Why / Balance
Technical details
SurgeryCleansDirtComponent
: add it to items to allow them to sanitize tools and gloves manuallySurgeryCrossContaminationComponent
: keeps track of other patients' DNA that has been on this toolSurgeryContaminableComponent
: add it to mobs that need to react to having (un)sanitary surgery equipment used on themSurgeryDirtinessComponent
: keeps track of how dirty a component is after surgerySurgeryStepDirtinessComponent
: add it to surgery steps to adjust how much dirtiness they cause after a step is doneSurgeryCleanSystem
: new system that handles the examination of dirtied items and of scrubbing them with soapSurgerySystem
: augmented with sanitization checks after a step is completed in order to dirty involved tools and to deal damage if they're too dirtySurgeryContaminableComponent
SurgeryCleansDirt
SurgeryStepDirtiness
Media
mothdirty.mp4
Requirements
After This PR
This PR has follow-up opportunities, such as adding an autoclave or other methods for sanitizing tools and gloves faster than soaps do
Changelog
🆑