* 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>
* Persist construction menu favorites to player profile
* Use `ProtoId`s for construction favorites
* Validate construction favorites updates from the client
* Actually await the async database call
Fucking whoops
In #27742 I made it so sanitization of character profiles was moved to be *after* database load. Except that means I moved it to be after the copy of all character profiles got sent to the client.
Move the sending to *also* be in that second load stage, and rename it. Fixes the issue.
First bug: if an error occured during pref loading code, it would fail. If the person then readied up, it would likely cause the round to fail to start.
Why could they ready up? The code only checks that the prefs finished loading, not that they finished loading *successfully*. Whoops.
Anyways, now people get kicked if their prefs fail to load. And I improved the error handling.
Second bug: if a user disconnected while their prefs were loading, it would cause an exception. This exception would go unobserved on lobby servers or raise through gameticker on non-lobby servers.
This happened even on a live server once and then triggered the first bug, but idk how.
Fixed this by properly plumbing through cancellation into the preferences loading code. The stuff is now cancelled properly.
Third bug: if somebody has a loadout item with a playtime requirement active, load-time sanitization of player prefs could run into a race condition because the sanitization can happen *before* play time was loaded.
Fixed by moving pref sanitizations to a later stage in the load process.
* Mega Antag Refactor
* last minute delta save
* more workshopping
* more shit
* ok tested this for once
* okkkkk sure
* generic delays for starting rules
* well darn
* nukies partially
* ouagh
* ballin' faded and smonkin wed
* obliterated the diff
* Spread my arms and soak up congratulations
* I've got plenty of love, but nothing to show for it
* but there’s too much sunlight
Shining on my laptop monitor, so I
Can’t see anything with any amount of clarity
* ok this junk
* OOK!
* fubar
* most of sloth's review
* oh boy
* eek
* hell yea!
* ASDFJASDJFvsakcvjkzjnhhhyh