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

Shitmed: Implementing Existing Newmed Code Into SS14 #1159

Merged
merged 45 commits into from
Nov 17, 2024

Conversation

gluesniffler
Copy link
Contributor

@gluesniffler gluesniffler commented Oct 28, 2024

Description

The mythical surgery system. Heard whispered in hushed tones in the corners of [REDACTED], it has been real since 2 years ago. If you listen very carefully you might be able to hear the sound of arachne crashing the server.

Jokes aside. Lets set some expectations, ideally this will not mess too much with existing body code, besides trying to not die from all the fucking test fails, all the while introducing needed systems for handling wounds, surgery, part/organ manipulation, and displaying all of those to the players.

The PR in its current state is working properly, you can pick it up and get surgery on your server today, though of course its buggy due to the unhandled issues it has right now. If you do pick it up, give me a heads up and I'll see if I can help you out.

This PR is mostly intended as a public roasting ground for my shitcode, so that other contribs/maints can pitch in to help improve it as well.


TODO

  • FIX MY FUCKING SHITCODE AAAAAAAAAAAAAAAAAAAAAAAAAA
  • Have fun :)

Demo/Walkthrough

Surgery Demo

---

Tasks currently being worked on:

  • Porting an upgraded body doll that is less shit to use.
  • Add a completely innocuous felinization/defelinization surgery. (Highly sought after feature :D )
  • Implement pizza limb sprites and add em as a surgery (soon ™️)
  • Add CyberneticsSystem
  • Add a series of cybernetic limbs with special properties, and different susceptibilities to EMPs
  • Add the associated surgeries to cybernetic implants and their associated maintenance.
  • Tweak Cybernetics Traits to use CyberneticsSystem, and overwrite the entity's limbs on spawn (I LOVE SHITCODE)
  • Add Cybernetic Limbs to Research
  • Start adding a shitload of Shitmed comments on wherever I made changes, since we're getting fairly close to what I could call a stable v1
  • Refactor SurgeryBUI to be slightly less shitcodey, and properly use BUI states instead of a half-assed BUIMessage.
  • Separate harpy wings into two distinct wings rather than a single layer.

Reported bugs that I haven't been able to replicate

  • Apparently returning to the body kicks you back to the body instead of the entity that the brain is attached to?
  • Disconnecting and reconnecting after a brain/head transplant makes the client crash. Seems to be related to identity.
  • Transplanting a head sometimes makes it so that you cannot strip other entities.

Changelog

🆑 Mocho

  • add: A week has passed. Surgery is here.

@github-actions github-actions bot added Changes: C# Changes any cs files Changes: Localization Changes any ftl files Changes: UI Changes any XAML files Changes: YML Changes any yml files Changes: Sprite Changes any png or json in an RSI Changes: Audio Changes any ogg files labels Oct 28, 2024
@SimpleStation14 SimpleStation14 changed the title Shitmed: Implementing Existing Newmed Code into SS14 Shitmed: Implementing Existing Newmed Code Into SS14 Oct 28, 2024
Copy link
Contributor

github-actions bot commented Oct 28, 2024

RSI Diff Bot; head commit 9c84e11 merging into 04cdc14
This PR makes changes to 1 or more RSIs. Here is a summary of all changes:

Resources/Textures/Interface/Targeting/Status/groin.rsi

State Old New Status
groin_0 Added
groin_1 Added
groin_2 Added
groin_3 Added
groin_4 Added
groin_5 Added
groin_6 Added
groin_7 Added
groin_8 Added

Resources/Textures/Interface/Targeting/Status/head.rsi

State Old New Status
head_0 Added
head_1 Added
head_2 Added
head_3 Added
head_4 Added
head_5 Added
head_6 Added
head_7 Added
head_8 Added

Resources/Textures/Interface/Targeting/Status/leftarm.rsi

State Old New Status
leftarm_0 Added
leftarm_1 Added
leftarm_2 Added
leftarm_3 Added
leftarm_4 Added
leftarm_5 Added
leftarm_6 Added
leftarm_7 Added
leftarm_8 Added

Resources/Textures/Interface/Targeting/Status/leftfoot.rsi

State Old New Status
leftfoot_0 Added
leftfoot_1 Added
leftfoot_2 Added
leftfoot_3 Added
leftfoot_4 Added
leftfoot_5 Added
leftfoot_6 Added
leftfoot_7 Added
leftfoot_8 Added

Resources/Textures/Interface/Targeting/Status/lefthand.rsi

State Old New Status
lefthand_0 Added
lefthand_1 Added
lefthand_2 Added
lefthand_3 Added
lefthand_4 Added
lefthand_5 Added
lefthand_6 Added
lefthand_7 Added
lefthand_8 Added

Edit: diff updated after 9c84e11

@gluesniffler
Copy link
Contributor Author

dont be scared at the test fail count btw :)

tests DO NOT like recursive part dropping code as of now lmao

@github-actions github-actions bot added the Status: Merge Conflict FIX YOUR PR AAAGH label Oct 28, 2024
Copy link
Contributor

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@Crono209ggg
Copy link

Surgery is finally becoming a reality!!

@gluesniffler
Copy link
Contributor Author

while we're on the topic of bugs, the surgery pain mood debuff seems to be broken. as in it literally never goes away. ever. i've waited entire three hour shifts with surgery at the START due to Space™ and was basically capped at mediocre because of tangerine saturine

Whoops, didnt add the timeout attribute to the mood effect, fixed!

@gluesniffler
Copy link
Contributor Author

Also for any future reports remember that we have a bug thread on the EE server, probably will be less cluttery to put them there. :blunt:

@github-actions github-actions bot removed the Status: Merge Conflict FIX YOUR PR AAAGH label Nov 11, 2024
@gluesniffler
Copy link
Contributor Author

Getting ready for a first round of "harassing maintainers for reviews" Todos for now are:

  • Getting de-felinization surgery working, missing some functions and it should be good to go
  • Adding a CVAR that lets server operators disable Shitmed if i break the server or something. (gee i wonder if that would ever happen :clueless:)
  • Making a huge commit where I move things to a Shitmed namespace.

Could someone enable the test runners on this? I'd like to see how many tests are failing as of now.

@VMSolidus VMSolidus marked this pull request as ready for review November 14, 2024 20:03
@gluesniffler
Copy link
Contributor Author

All tests passing. Only test fail is related to a funny heisenbug thats been plaguing us for a while (#1225). Should be good to start code reviews!

image

Copy link
Member

@VMSolidus VMSolidus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

@VMSolidus VMSolidus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alright fuck it let's go mess with Wizden.

@VMSolidus VMSolidus merged commit 029b763 into Simple-Station:master Nov 17, 2024
14 checks passed
@trest100
Copy link

mem

sleepyyapril pushed a commit to sleepyyapril/Einstein-Engines that referenced this pull request Nov 17, 2024
@3nderall
Copy link

is this based on wizden's newmed or is it a seperate system?

@gluesniffler
Copy link
Contributor Author

is this based on wizden's newmed or is it a seperate system?

A hodgepodge of everything. If they get their shit together I'll start yoinking things back and refactoring to accomodate.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Changes: Audio Changes any ogg files Changes: C# Changes any cs files Changes: Documentation Changes any xml or md files Changes: Localization Changes any ftl files Changes: Sprite Changes any png or json in an RSI Changes: UI Changes any XAML files Changes: YML Changes any yml files Holy Shit Priority: 2-High Needs to be resolved as soon as possible Size: 1-Very Large For especially large issues/PRs Type: Feature Creation of or significant changes to a feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.