Skip to content

Projectile foreign bodies #3600

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

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

sowelipililimute
Copy link
Contributor

About the PR

  • projectiles can now spawn foreign bodies stuck in someone

  • atm this is limited to guns, which can get a bullet, incendiary bullet, or an uranium bullet someone stuck in someone

  • embedded bullets take 5 minutes before they start doing effects

  • BaseBullet embeds a 0.05/s poison at 50% base chance

  • BaseBulletAP embeds the same as above but w/ 75% base chance

  • BaseBulletPractice embeds at 0% base chance

  • BaseBulletIncendiary embeds a 0.05/s burn at 50% base chance

  • BaseBulletUranium embeds a 0.05/s radiation at 50% base chance

  • the chance is modified by the Piercing of worn armour

Why / Balance

  • it came to us in a dream
  • surgeons could use more stuff to do after fighting happens
  • make incendiary and uranium rounds even more evil

Technical details

  • ProjectileForeignBodyComponent marks a projectile as spawning a foreign body on impact with the ProjectileForeignBodyAttemptEvent event
  • ForeignBodyActivelyEmbeddedComponent keeps track of this foreign body being actively embedded in something and when it should start taking effects
  • ForeignBodyEffectsComponent deals those effects
  • two containers for foreign bodies: BodyForeignBodyContainerComponent/BodyPartForeignBodyContainerComponent that deal with foreign bodies in the context of a complex Body, whilst SimpleForeignBodyContainerComponent is for simple mobs
    • these respond to ProjectileForeignBodyAttemptEvent and spawn the embedded body in the appropriate place
  • new surgery elements SurgeryRemoveForeignBodyStepComponent and SurgeryForeignBodyConditionComponent for removing foreign bodies surgically

Media

grafik
grafik
grafik

Requirements

  • I have tested all added content and changes.
  • I have added media to this PR or it does not require an ingame showcase.

Breaking changes

Changelog

🆑

  • add: Bullets can now get stuck in you, and will start dealing trace amounts of damage after a few minutes. Surgical intervention is required to remove them.

@sowelipililimute sowelipililimute requested review from a team as code owners April 28, 2025 20:51
@github-actions github-actions bot added size/L 256-1023 lines S: Needs Review Changes: YML Changes any yml files Changes: C# Changes any cs files and removed S: Needs Review size/L 256-1023 lines labels Apr 28, 2025
@deltanedas deltanedas added the S: Do Not Merge Don't merge this yet label Apr 28, 2025
@deltanedas
Copy link
Member

woundmed 67.5% complete blocked by that

@Avalon-Proto
Copy link
Contributor

I feel like AP rounds should have a lower chance to embed the less armored a person is. After all they are designed to punch through armor and keep going. But if it punches through a hardsuit first it should have higher embed chance

@sowelipililimute
Copy link
Contributor Author

direction has no plans for the forseeable future to block delta-v content based on the development efforts of another codebase which we have historically had difficulties incorporating into ours in a beneficial manner. we will cross the woundmed bridge when we get to it.

@deltanedas
Copy link
Member

it will be reverted or need great reworking to work with wounds instead of a bespoke system

@sowelipililimute
Copy link
Contributor Author

it is not guaranteed that direction will give goobstation woundmed the greenlight

@ShepardToTheStars
Copy link
Contributor

Would it make more sense to use a retractor or scalpel over a bonesaw? From all my experience with bullet wounds from popular media, typically you dont need to saw through bone to get a bullet out, just an incision (which had been done), something to hold it open, and forceps to grab the bullet.

@sowelipililimute sowelipililimute force-pushed the work/jblackquill/foreign-bodies branch from 92b3d3b to 0b86129 Compare April 29, 2025 02:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Changes: C# Changes any cs files Changes: YML Changes any yml files S: Do Not Merge Don't merge this yet size/L 256-1023 lines
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants