* Nubody (#42419)
* Nubody
* fix test fails
* gibbing
* lung test returns
* doc comment
* hand organ test
* giblet test
* yaml formatting
* returning
* relocate
* trimming
* re-smite
* oops thusd tweak
* arachnids have slower metabolism i guess
* never mind the old behaviour is bad actually
* rider whyyy
* style changes and allat
* fix collision
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
* C# files done
* Visual nubody (humanoid appearance refactor) (#42476)
* initial visual nubody
* oops overlay
* im so pheeming rn
* conversion...
* tests
* comeback of the underwear
* oops eyes
* blabbl
* zeds
* yaml linted
* search and visible count constraints
* reordering
* preserve previously selected markings colors
* fix test
* some ui niceties
* ordering
* make DB changes backwards-compatible/downgrade-friendly
* fix things again
* fix migration
* vulpkanin markings limit increase
* wrapping
* code cleanup and more code cleanup and more code cleanup and more code cleanup and
* fix slop ports
* better sampling API
* make filter work + use the method i made for its intended purpose
* fix test fails real quick
* magic mirror cleanup, remove TODO
* don't 0-init the organ profile data
* remove deltastates
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
* Let vox eat trash again (#42503)
* C# complete port
* Getting closer
* Harpy Nubody Port
* Port Feroxi, Kitsune. Fix some yml typos and remove ipcs stuff
* Port Oni
* Port Rest, except Motorkind
* Port Motorkind
* Remove more surgery, restore too much deleted stuff
* Fix Typos and change some organ names. Need to split eyes next
* Harpy HAve Wings again
* Some fixes, More Surgeyr Removal, Copying of eye organs
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Use correct Body imports
* Markings Refactoring, Harpy Layering
* Motorkind doesn't crash anymore. Some layer remappings.
* Allow Organs to have Markings Displacements again. (#43604)
* first shtep
* readd markings support
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
* Fix STalk eyes and several layerings
* Fix sexed organs (#42554)
* Fix markings for several species, fit them for sexed organs and rename some files to fit them for it
* Additional IPC-related removals
* Vulpkanin eyes are now correct again
* Fix Subtle Cultist Marks on species
* Fix Asakim Sprites (sexed) and make CD imports work
* Migration, error fixes, and Height
* Fix humanoid profile voice being broken (#42550)
Fix humanoid appearance voice being broken
* Change Kitsune SexChanged Event to with ref
* Fix asakim issue, Respirator fix
* Simplify hands UI code (#42534)
* Simplify hands UI code
* i remembered about SortedHands in the component
* minor cleanup
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
* Set size of Analyzer back to 350, Kitsune can't gib themselves no more. Migration
* yml linter errors and an rudimentary onAdd Organ Functionality
* Fixing it trying to remove nothing
* midpoint migration
* Why do you put so many organs everywhere
* More missing prototypes
* Migration of more organs
* Forgot lungs
* Move character preview handling into a specialized control (#41252)
* Move character preview handling into a specialized control
Co-authored-by: Quantum-cross <7065792+Quantum-cross@users.noreply.github.com>
* Restore job name that I accidentally removed from character picker buttons
* Just resolve dependencies the standard way
---------
Co-authored-by: Quantum-cross <7065792+Quantum-cross@users.noreply.github.com>
Co-authored-by: Janet Blackquill <uhhadd@gmail.com>
* Drop ICharacterProfile/ICharacterAppearance interfaces (#42661)
* Ensure profile loading only returns valid species (#42842) (Stable merge) (#42865)
Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
* Changes to make it work for us.
* No more bald Harpy
* OperatingTables instead of null
* Adding Delta V Comments, commenting out instead of deleting
* Fix broken Height Scale.
* Remove HumanoidSilicon Mention
* Did an error. Readded, uncommented.
* Clean up Marking data structure, add tests for Zombie transformation (#42756)
* Clean up Marking data structure, add tests for Zombie transformation
* empty
* AAAAAAAAAAAAAAAA
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
* Fix markings colour setting (#42771)
* Fix: Markings Color For Downstream
* Comment out A Leg. Remove Todo
* Revert to original hidden species code
---------
Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Princess Cheeseballs <66055347+Princess-Cheeseballs@users.noreply.github.com>
Co-authored-by: Absotively <jen@jenpollock.ca>
Co-authored-by: Quantum-cross <7065792+Quantum-cross@users.noreply.github.com>
Co-authored-by: Myra <vasilis@pikachu.systems>
* 1 warning in MechAssemblyVisualizerSystem
* 2 warnings in RecyclerVisualizerSystem
* 1 warning in ClusterGrenadeVisualizerSystem
* 2 warnings in BarSignSystem
* 4 warnings in AlertControl
* 1 warning in ToolSystem
* 2 warnings in PinpointerSystem
* 2 warnings in ClientSpriteMovementSystem
* 2 warnings in OptionsVisualizerSystem
* 1 warning in FlatpackSystem
* 1 warning in ZombieSystem
* 1 warning in StackSystem
* 1 warning in MiningOverlay
* 1 warning in FlippableClothingVisualizerSystem
* Guard clause for MechAssemblyVisualizerSystem
* Get SpriteSystem in AlertControl constructor
* Initial work on having the Rev icons not be visible to ghosts depending on a Cvar and a component.
This commit just makes it so that the revcomponent and headrev component
are not shared with clients that shouldn't know about them. This is due
to the concern that clients having access to those components, even if
no image was displayed could allow modified clients to have meta
knowledge of revs.
Currently this has the issue that if a player later
for example becomes a rev, none of the existing rev components get
networked to them. I am not sure there is currently an effecient
solution to this.
This is probably in an issue for a lot more stuff. I might just make it
so all the logic just moves to the client on whether to put the icon
again.
Also this commit adds the ShowRevIconsComponent to allow anyone with it to just
view rev icons.
* Rev components now get communicated to clients that didn't have them previously and the AntagIconSystem is now properly checking whether to give the icons.
We now dirty all the rev/headrev components when someone gets converted
or gets the ViewRevIcons component. The AntagIconSystem now checks
whether it should draw the icons mostly based on an event, this is still done
client side.
This is not a full proof solution to make it so clients can't know
someone is an antag when they shouldn't because:
1. There are other components that need similar treatment, to my
knowledge not to for revs but for other antags. Maybe even the mind
component. This could be addressed in future PRs.
2. We cannot ensure that clients forget about these components if the
client gets deconverted for example. We can of course have code that
does this, but it will necessarily need to be done on the client and
if the client is modified then there is no way to ensure this.
Of course at that point they should already know who their fellow
revs are so this might not be an issue.
I now need to do the same thing for zombies in a future commit.
A similar system for nukies also needs to be looked at but I will not be
doing that in the PR this commit ends up in.
* Misc name changes and cleaning up the ZombieSystem
Changed some names around and decoupled the ZombieSystem from the
AntagStatusIconsystem. Now there is a cvar for ghost visibility for them
as well. The Zombie Component was not made SessionSpecific because:
1. Zombies are pretty visible anyways
2. The Component is needed to change the appearance of zombie players.
* Misc name changes and cleaning up the ZombieSystem
Changed some names around and decoupled the ZombieSystem from the
AntagStatusIconsystem. Now there is a cvar for ghost visibility for them
as well. The Zombie Component was not made SessionSpecific because:
1. Zombies are pretty visible anyways
2. The Component is needed to change the appearance of zombie players.
* Merged 2 if statements into 1 on the Zombiesystem.
* Cut down on code duplication in AntagStatusIconSystem
Now instead of having a seperate function for each component, there is 1 generic function. Functions for special cases
like the Rev/Headrev comp can have a separate function that does the special check and then calls the generic one.
This is done through the IAntagStatusIconComponent interface which provides a common interface to get the Icon.
* Removed some duplication from the SharedRevolutionarySystem with generics.
I have no idea why I didn't think of this sooner.
* Addressed Reviews I think
I think events get unsubbed automatically but I am probably missing something that I have not understood.
Either way this is a requested change.
* Replace war crimes with actual fixes for reviews
It was not clear to me what the reviews meant
* Addressed reviews by removing need for cvars.
Whether icons are visible to ghosts is now determined by a bool in IAntagStatusIcon which all antag components
with status icons should implement.
* Update Content.Shared/Revolutionary/SharedRevolutionarySystem.cs
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit 8b19b7fab9)
* zombie mode redux
* the great zombie changes
* fix this
* 65 down to 50
* empty
* Changes to address stalling
* make zombie nukies no longer nukies
* actually work