-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
IPCs now take damage from Slimes feeding on them #26685
IPCs now take damage from Slimes feeding on them #26685
Conversation
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.
marks and similar things should go above code blocks
Moves the comments above the code block. Co-authored-by: 1080pCat <96908085+1080pCat@users.noreply.github.com> Signed-off-by: WenlockTheBritishHobo <168675688+WenlockTheBritishHobo@users.noreply.github.com>
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.
Have you considered simply making slimes not gain any nutrition if no damage was dealt? That method would keep the unique immunity to slimes IPCs have, as opposed to removing it and making them more similar to other species
I did consider it after I had already coded it, though I would rather not touch slime code again I could change it to no nutrition instead. |
I'd rather have them continue to be immune to damage, but also have the ability for slimes to get nutrition from them removed. Personal preference, I want to see what the rest of Design thinks, but yeah. |
I forgot to reply last week so, gotcha. It would be easier to do it now since I actually have a decent idea of where that would be and how to do it. |
if(C.dna) // Ensures there is DNA for the Synthetic check | ||
if(!(C.dna.species.reagent_tag & PROCESS_ORG)) | ||
D.adjustBrainLoss(rand(2, 4)) // The IPC equivalent of Clone damage would be Brain damage. | ||
D.adjustFireLoss(rand(1, 2), robotic = TRUE) // Poison can make you numb and feel on fire, also IPCs can't take Toxin damage. | ||
else // Ensure slimes deal organic type damage to organics. | ||
C.adjustCloneLoss(rand(2, 4)) | ||
C.adjustToxLoss(rand(1, 2)) | ||
else | ||
C.adjustCloneLoss(rand(2, 4)) | ||
C.adjustToxLoss(rand(1, 2)) |
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.
There's probably a way to merge these else blocks, try something like this?
if(C.dna) // Ensures there is DNA for the Synthetic check | |
if(!(C.dna.species.reagent_tag & PROCESS_ORG)) | |
D.adjustBrainLoss(rand(2, 4)) // The IPC equivalent of Clone damage would be Brain damage. | |
D.adjustFireLoss(rand(1, 2), robotic = TRUE) // Poison can make you numb and feel on fire, also IPCs can't take Toxin damage. | |
else // Ensure slimes deal organic type damage to organics. | |
C.adjustCloneLoss(rand(2, 4)) | |
C.adjustToxLoss(rand(1, 2)) | |
else | |
C.adjustCloneLoss(rand(2, 4)) | |
C.adjustToxLoss(rand(1, 2)) | |
if(C.dna && !(C.dna.species.reagent_tag & PROCESS_ORG)) | |
D.adjustBrainLoss(rand(2, 4)) // The IPC equivalent of Clone damage would be Brain damage. | |
D.adjustFireLoss(rand(1, 2), robotic = TRUE) // Poison can make you numb and feel on fire, also IPCs can't take Toxin damage. | |
else | |
C.adjustCloneLoss(rand(2, 4)) | |
C.adjustToxLoss(rand(1, 2)) |
This PR has unfortunately failed to pass the relevant team vote, with 1 for and 2 against.
Please feel free to discuss this with the relevant team and see if you can rework it into something acceptable to them. |
What Does This PR Do
Makes it so IPCs take damage when a slime is feeding on them, preventing the feeding from being free nutrition. Also adds two comments to make finding the slime feeding easier.
Why It's Good For The Game
Fixes #13325 as nutrition shouldn't be free.
Testing
Spawned in as a Drask Scientist, spawned a grey slime, took control of slime, fed on Drask, saw Drask take correct damage.
Spawned in as an IPC Scientist, took control of previously spawned slime, fed on IPC, saw IPC take correct damage.
Spawned in an Alien Sentinel, took control of previously spawned slime, fed on Sentinel, saw Sentinel take correct damage.
Spawned in as an Vox Scientist, took control of previously spawned slime, fed on Vox, saw Vox take correct damage.
Declaration
Changelog
🆑
fix: Slimes now deal damage to IPCs when feeding on them.
/:cl: