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

Floof Station release V13 #523

Merged
merged 204 commits into from
Feb 2, 2025
Merged

Floof Station release V13 #523

merged 204 commits into from
Feb 2, 2025

Conversation

Fansana
Copy link
Owner

@Fansana Fansana commented Feb 2, 2025

gluesniffler and others added 30 commits November 16, 2024 19:32
# 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
- [x] Have fun :)

---
# Demo/Walkthrough
<p>

[![Surgery
Demo](https://i.ytimg.com/vi/UhxS5b3LC-A/maxresdefault.jpg)](https://www.youtube.com/watch?v=UhxS5b3LC-A
"Surgery Demo")

</p>
---

# Tasks currently being worked on:

- [x] Porting an upgraded body doll that is less shit to use.
- [x] Add a completely innocuous felinization/defelinization surgery.
(Highly sought after feature :D )
- [x] 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
- [x] 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.

---------

Signed-off-by: gluesniffler <[email protected]>
Co-authored-by: FoxxoTrystan <[email protected]>
Co-authored-by: goet <[email protected]>
Co-authored-by: Saphire Lattice <[email protected]>
This is an automated Pull Request. This PR updates the GitHub
contributors in the credits section.

Co-authored-by: SimpleStation Changelogs <[email protected]>
<!--
This is a semi-strict format, you can add/remove sections as needed but
the order/format should be kept the same
Remove these comments before submitting
-->

# Description

<!--
Explain this PR in as much detail as applicable

Some example prompts to consider:
How might this affect the game? The codebase?
What might be some alternatives to this?
How/Who does this benefit/hurt [the game/codebase]?
-->

An attempt to do all engine updates in one go. Not focusing on content
associated, only what's needed for it to run and any bug fixes.

---

# TODO

- [x] Fix bug where unbuckling resets you to lying down.
- [x] Fix bug where you can no longer get up after lying down.
- [x] See what else I broke.
---

---------

Signed-off-by: sleepyyapril <[email protected]>
Co-authored-by: metalgearsloth <[email protected]>
Co-authored-by: Leon Friedrich <[email protected]>
Co-authored-by: Tayrtahn <[email protected]>
Co-authored-by: VMSolidus <[email protected]>
Co-authored-by: Nemanja <[email protected]>
Co-authored-by: ShadowCommander <[email protected]>
Co-authored-by: Plykiya <[email protected]>
Co-authored-by: plykiya <[email protected]>
Co-authored-by: Pieter-Jan Briers <[email protected]>
Co-authored-by: metalgearsloth <[email protected]>
Co-authored-by: Chief-Engineer <[email protected]>
Co-authored-by: deltanedas <[email protected]>
# Description

I hate that I have to check if the map even exists at all. How the hell
is there a station even existing in the first place if the default
loaded map is NULLSPACE?! GetSpawnableStations should have returned a
list containing zero stations if that was the case, which would then
exit out.
I hate these stupid tests.
I hate these stupid tests.
I hate these stupid tests.
I hate these stupid tests.
I hate these stupid tests.
I hate these stupid tests.
I hate these stupid tests.
I hate these stupid tests.
I hate these stupid tests.
I hate these stupid tests.
I hate these stupid tests.
I hate these stupid tests.

# Changelog

No CL because this isn't player facing.
<!--
This is a semi-strict format, you can add/remove sections as needed but
the order/format should be kept the same
Remove these comments before submitting
-->

# Description

<!--
Explain this PR in as much detail as applicable

Some example prompts to consider:
How might this affect the game? The codebase?
What might be some alternatives to this?
How/Who does this benefit/hurt [the game/codebase]?
-->

Goal of this PR is to fix the stamina system, as was caused by #1220.

---

# Changelog

<!--
You can add an author after the `:cl:` to change the name that appears
in the changelog (ex: `:cl: Death`)
Leaving it blank will default to your GitHub display name
This includes all available types for the changelog
-->

:cl:
- fix: Fixed stamina system

Co-authored-by: sleepyyapril <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>
# Description

Add real world Day/Night cycle changing, with Ambient color
interpolation and some configurable features for mappers.
High inspired by
[Nuclear-14](https://github.com/Vault-Overseers/nuclear-14.git) and
[Crystall Punk 14](https://github.com/crystallpunk-14/)

TimeCycle use 24h day calculation, instead coefficient, like in N14. 

---

# TODO

[ ] - Add more examples/prepared map palettes for Day/Night ambient.
[ ] - (Optional) Move all palette description into List of variables,
instead calling `IPrototypeManager` every minute passing.

---


https://github.com/user-attachments/assets/cc5d1b8c-bd25-4042-8cee-e2edfa0d9acc


![image](https://github.com/user-attachments/assets/abcdc11d-fdb1-4b48-8599-0116a5797f8b)

---

# Changelog

:cl:
- add: Added Day/Night time cycle for admins and mapers.
# Description

First in a series of PRs to introduce bugfixes and updates to Shitmed,
this will generally feature PRs from Goobstation or Backmen as well
since they are actively helping me maintain the code.

Usual Shoutouts:
Deltanedas: Goob-Station/Goob-Station#882

---

# Changelog

:cl: Mocho, Deltanedas
- add: You can now perform surgery as a monke. Rejoice.
- add: You can perform surgery on a lot of animals now, I missed a lot
of them so just ask if you want any particular critter to get it.
- tweak: Entities now perish after 60 seconds of losing their heart
and/or brain.
- fix: Entities properly take asphyxiation damage after losing their
brain.
- fix: Torsos being gibbable, which would break surgery or just about
anything.
- fix: Items not being removed from their respective slots if the parts
were gibbed rather than dropped.
- fix: Animal organs not being usable properly in surgeries
- fix: Cyborg limbs are now usable as pseudo-peg arm/legs.

---------

Signed-off-by: gluesniffler <[email protected]>
Co-authored-by: FoxxoTrystan <[email protected]>
Co-authored-by: goet <[email protected]>
Co-authored-by: Saphire Lattice <[email protected]>
# Description
Quick fix to prevent the Self-Aware trait from crashing the client of a
player when examining their character's health.


[`HealthExaminableSystem.CreateMarkupSelfAware`](https://github.com/Simple-Station/Einstein-Engines/blob/6945e3027bc14eac1de0099d30f8f35b19a3034e/Content.Shared/HealthExaminable/HealthExaminableSystem.cs#L119)
attempts to access the `AnalyzableTypes` and `DetectableGroups` data
fields from
[`SelfAwareComponent`](https://github.com/Simple-Station/Einstein-Engines/blob/6945e3027bc14eac1de0099d30f8f35b19a3034e/Content.Shared/Traits/Assorted/Components/SelfAwareComponent.cs),
but since they are only initialized in the server and `null` in the
client, the client crashes. I believe this could be related to the
recent trait overhauls, but not sure. I just fixed it by adding
`AutoNetworkedField` to those fields to automatically propagate the
initialized values. Other traits might have a similar bug to this.

## Changelog

:cl: Skubman
- fix: Examining yourself with the Self-Aware trait will no longer crash
your game client.
# Description

Adds popups for surgery steps in Shitmed that every player within PVS
range can see. This allows other players to see if the correct procedure
is being performed. This PR also includes locale text for the new
procedures and steps in #1240.

## Media

**Remove Brain / Insert Brain**


https://github.com/user-attachments/assets/ac20afa1-df74-48ab-b1d5-2e9a273dfba2

<details><summary>See more</summary>

**Amputate Right Arm**


https://github.com/user-attachments/assets/17f78683-6d3b-44ee-aea3-bb6987844fdc

**Attach Right Arm**


https://github.com/user-attachments/assets/584d4da2-d8b0-4c82-a323-26636e7fa4b8

</details>

## Changelog

:cl: Skubman
- add: Surgery step descriptions (like making an incision,
removing/attaching limbs and organs) are now shown as popups to everyone
in range upon the start of the step. This makes it clear which surgical
procedure is being done and to which body part. No more stealthy
brain-stealing in front of everyone!
<!--
This is a semi-strict format, you can add/remove sections as needed but
the order/format should be kept the same
Remove these comments before submitting
-->

# Description

<!--
Explain this PR in as much detail as applicable

Some example prompts to consider:
How might this affect the game? The codebase?
What might be some alternatives to this?
How/Who does this benefit/hurt [the game/codebase]?
-->

Fixes the silly heisentest.

---------

Co-authored-by: sleepyyapril <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>
# Description
QoL updates to improve the stamina management experience with power
attacks:
- The stamina cost of an object's power attack can be revealed by
examining its damage values.
- Power attacks can't be done if your stamina is too low, so you can't
accidentally stamcrit yourself with power attacks anymore.
- **Nerf:** Power attacks now cost stamina even without hitting
anything.
- Prevent power attacks from showing a blue visual effect on the
character who attacked due to stamina damage.

## Media

**Gameplay**


https://github.com/user-attachments/assets/f5031ce3-8303-475a-9c37-d8004ed55dbc

**Damage Examine**

<img
src="https://github.com/user-attachments/assets/82821d5a-176b-4edf-93c4-f08f9c104c7a"
width=300px>
<img
src="https://github.com/user-attachments/assets/6347db9f-11e3-45fd-8317-f132a125082a"
width=300px>

## Changelog

:cl: Skubman
- add: The stamina cost of an object's power attack can now be revealed
by examining its damage values.
- tweak: Power attacks can't be done if your stamina is too low, so you
can't accidentally stamcrit yourself with power attacks anymore.
- tweak: Power attacks now cost stamina even without hitting anything.
- tweak: Prevent power attacks from showing a blue visual effect on the
character who attacked due to stamina damage.
# Description

Small oversight that Glimmer Wisps are generally described as drinking
their victim's soul and obliterating their entire personhood. Which is
fundamentally just mindbreaking said person. So this PR makes it so that
Glimmer Wisps killing a psion also inflicts the Mindbroken condition on
them.

# Changelog

:cl:
- add: Glimmer Wisps now completely obliterate their victim's
Personhood, inflicting the Mindbroken condition on them.
# Description

This was entirely too long overdue. I am reorganizing the entirety of
all ingame loadouts, so that it is possible to see what jobs are
actually missing loadout items. Every job in the game will have its own
loadout tab, each of them all sharing the same organization hierarchy
with *plainly visible blank spaces* that people can use to see what jobs
are in need of having things added to them.

Command category only contains Captain, Head of Personel, with space for
Centcomm roles and Blueshield if we ever add those. Instead all of the
"Department Specific Commands" are sorted with their respective
departments. Which makes it really obvious if for instance there's an
entire 2nd list of Head of Security drip...

# TODO

- [X] All of the Categories
- [x] Localize the categories
- [x] Make item groups for everything

## Organize Command

- [x] Captain
- [x] Head Of Personnel

## Organize Engineering

- [x] atmos tech
- [x] CE
- [x] senior engineer
- [x] station engineer
- [x] tech assistant

## Organize Epistemics
- [x] acolyte
- [x] cataloger
- [x] chaplain
- [x] golemancer
- [x] mystagogue
- [x] mystic
- [x] noviciate
- [x] psionic mantis

## Organize Logistics

- [x] cargo tech
- [x] courier
- [x] LO
- [x] salvage

## Organize Medical

- [x] chemist
- [x] CMO
- [x] doctor
- [x] medical intern
- [x] paramed
- [x] senior physician

## Organize Security

- [x] cadet
- [x] corpsman
- [x] detective
- [x] HOS
- [x] secoff
- [x] senior officer
- [x] warden

## Organize Service

- [x] bartender
- [x] botanist
- [x] chef
- [x] clown
- [x] janitor
- [x] lawyer
- [x] mime
- [x] musician
- [x] reporter

## GUH

- [x] Add literally everything we are missing
- [x] Do literally all of the Job specific Item Groups

<details><summary><h1>Media</h1></summary>
<p>

![Example Media Embed](https://example.com/thisimageisntreal.png)

</p>
</details>

# Changelog

:cl:
- fix: Reorganized Loadouts so that all Jobs now have their own job
specific tabs. The code for them has been thoroughly reorganized too,
such that figuring out which jobs are missing crap is way easier to do.
- add: Captain's Personal Weapon loadout category. Currently only
contains a choice between the antique laser pistol, or a pulse pistol.
Whichever choice is made will be used as a target for a traitor
objective.

---------

Signed-off-by: VMSolidus <[email protected]>
# Description

This fixes some stupid math. Power attacks are now correctly slower than
left clicks. Previously they were faster.

# Changelog

:cl:
- fix: Power Attacks now correctly apply a penalty on swing speed, and
are no longer faster than left clicking.
# Description
Converted the descriptions of most wizden traits to a more formal and
roleplay-oriented style, also clarifying some aspects of other traits in
the process.

---

TODO:
- [ ] Test this

---

# Changelog
:cl:
- tweak: Tweaked the descriptions of most Wizden traits to be more vivid
and descriptive.

---------

Signed-off-by: Mnemotechnican <[email protected]>
# Description

This PR effectively "Reworks" several of the Bionic Traits through use
of new modular TraitFunctions. These being,

**TraitPushDescription**: Ensures that an entity has the new
ExtendDescriptionComponent, then writes to said component.
ExtendDescriptionComponent serves as a new highly modular "One stop
shop" for any system wanting to add text to the shift-click examine
window. It even accepts arguments for text color, font size, and whether
or not a person must be standing within touching distance to "See" the
provided texts. It accepts arbitrarily any number of descriptions.


**TraitAddArmor**: This takes advantage of a new functionality for the
DamageableSystem, whereby entities are able to have more than one
DamageModifierSet. This allows arbitrarily any number of traits to add
as many modifier sets as desired, without fear of any compatibility
issues. These can be both negative and positive, and as Skubman has
pointed out, this can also be used to create negative traits that make a
character more vulnerable to a given damage type!

Additionally, most of the Bionics Traits have been reworked. CyberEyes
has been split into two modules, one for the base implant, and one for
the Flash Protection. Dermal Armor has been reworked using
TraitAddArmor, so that it no longer replaces your original modifier set,
and instead stacks multiplicatively with whatever your original species
modifier set was. Thus, it can now be taken by any species.

# TODO

<details><summary><h1>Media</h1></summary>
<p>

TraitPushDescription

![image](https://github.com/user-attachments/assets/4661671a-6f20-4cb1-9fad-41c36f7ad79e)

TraitAddArmor

![image](https://github.com/user-attachments/assets/bbc823e1-73bf-471d-b5f6-ef8cdf35c746)

</p>
</details>

# Changelog

:cl:
- add: Five new functions for the Trait System, AddArmor,
PushDescription, ModifyMobThresholds, AddSolutionContainer, and
ModifyStamina.
- tweak: CyberEyes Basic System has been split, now Flash Protection is
a separate module.
- add: Dermal Armor no longer replaces your original species damage
resistances. It now stacks multiplicatively with your original
resistances.
- tweak: Dermal Armor can now be taken by any species, not just Humans.
- add: Dermal Armor, and Bionic Arms can now be revealed by a close
examination. Shift click on someone within touching distance will reveal
if they have these "Obvious" cyberware.

---------

Signed-off-by: VMSolidus <[email protected]>
Co-authored-by: Remuchi <[email protected]>
# Description
Makes it so that using one anomaly scanner on another transfers the
anomaly data onto the used scanner.

<details><summary><h1>Media</h1></summary>
<p>


![image](https://github.com/user-attachments/assets/b212e6e8-58a3-4a64-a216-3ba496a81d4a)

</p>
</details>

# Changelog
:cl:
- add: You can now touch one anomaly scanner with another to copy the
anomaly scan data from it.
@github-actions github-actions bot added Changes: C# Changes any cs files Changes: Audio Changes any ogg files Changes: Config Changes any configuration files Changes: Documentation Changes any xml or md files Changes: Localization Changes any ftl files Changes: Map Changes any yml file in the Maps directories Changes: Sprite Changes any png or json in an RSI Changes: UI Changes any XAML files Changes: Workflow Changes any GitHub workflow files Changes: YML Changes any yml files Status: Merge Conflict FIX YOUR PR AAAGH labels Feb 2, 2025
Copy link
Contributor

github-actions bot commented Feb 2, 2025

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

…-01-21

Merges & Cherry-Picks From EE up to 2025-01-24
Update for Central Command Outpost and Shuttle
Add the other Rubber Mags and fix the visuals of the any mags
@github-actions github-actions bot removed the Status: Merge Conflict FIX YOUR PR AAAGH label Feb 2, 2025
@FoxxoTrystan FoxxoTrystan added the Priority: 1-High Needs to be resolved as soon as possible label Feb 2, 2025
@FoxxoTrystan FoxxoTrystan removed the Status: Needs Review Someone please review this label Feb 2, 2025
@FoxxoTrystan FoxxoTrystan merged commit b5e86f3 into stable Feb 2, 2025
14 checks passed
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: Config Changes any configuration files Changes: Documentation Changes any xml or md files Changes: Localization Changes any ftl files Changes: Map Changes any yml file in the Maps directories Changes: Sprite Changes any png or json in an RSI Changes: UI Changes any XAML files Changes: Workflow Changes any GitHub workflow files Changes: YML Changes any yml files Priority: 1-High Needs to be resolved as soon as possible
Projects
None yet
Development

Successfully merging this pull request may close these issues.