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

IPCs now take damage from Slimes feeding on them #26685

Conversation

WenlockTheBritishHobo
Copy link
Contributor

@WenlockTheBritishHobo WenlockTheBritishHobo commented Sep 4, 2024

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

  • I confirm that I either do not require pre-approval for this PR, or I have obtained such approval and have included a screenshot to demonstrate this below.

Changelog

🆑
fix: Slimes now deal damage to IPCs when feeding on them.
/:cl:

Sorry, something went wrong.

@ParadiseSS13-Bot ParadiseSS13-Bot added the -Status: Awaiting type assignment This PR is waiting for its type to be assigned internally label Sep 4, 2024
Copy link
Contributor

@1080pCat 1080pCat left a 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>
Copy link
Contributor

@CinnamonSnowball CinnamonSnowball left a 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

@WenlockTheBritishHobo
Copy link
Contributor Author

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.

@BiancaWilkson BiancaWilkson added Balance This PR will modify how effective something is or isnt Tweak This PR tweaks something ingame labels Sep 6, 2024
@ParadiseSS13-Bot ParadiseSS13-Bot added -Status: Awaiting approval This PR is waiting for approval internally and removed -Status: Awaiting type assignment This PR is waiting for its type to be assigned internally labels Sep 11, 2024
@Onyxarias
Copy link
Contributor

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.

@WenlockTheBritishHobo
Copy link
Contributor Author

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.

Comment on lines +182 to +191
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))
Copy link
Contributor

@CinnamonSnowball CinnamonSnowball Oct 4, 2024

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?

Suggested change
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))

@S34NW
Copy link
Member

S34NW commented Oct 10, 2024

This PR has unfortunately failed to pass the relevant team vote, with 1 for and 2 against.
Some of the reasons for objection include (anonymised):

  • Yeah, slimes should not be getting any nutrition at all from an IPC. They should still take damage however because that can result in funny combat abusing with wearing a slime to prevent melee hits from hitting you with no downside.
  • Currently voting against. I'd prefer that IPCs still not take damage from slimes. If slime armor had been a problem up to now it'd be different, but having the slimes just not gain nutrition from IPCs wont suddenly make IPCs more likely to wear slimes as armor.

Please feel free to discuss this with the relevant team and see if you can rework it into something acceptable to them.

@S34NW S34NW closed this Oct 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
-Status: Awaiting approval This PR is waiting for approval internally Balance This PR will modify how effective something is or isnt Tweak This PR tweaks something ingame
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Slimes can latch onto IPCs without dealing damage and gain nutrition
7 participants