Commit graph

103 commits

Author SHA1 Message Date
Whatstone
1c2517ebab
Bugfix: Tail wag respects tail visibility in occluding suits (#44911)
* Fix tail wag visibility

* SPACE

* use logical or, not bitwise or

* wow, new struct, so cool

* little cleanup, modernization, few fixes, organ ev

* ShouldHide, unconditional clear

* Back to HashSet, unindent comments
2026-08-01 12:51:56 +00:00
deltanedas
0f930a3674
Serialization content changes (#44364)
Co-authored-by: deltanedas <@deltanedas:goida.zip>
2026-07-24 11:00:48 +10:00
mq
4a50966c80
re-allow humans with non realistic eye colors (#44809)
adjust eye randomization
2026-07-20 14:28:14 -04:00
mq
09eb5d525e
Randomized Markings (take two) (#38528)
* preliminary porting

* weighting

* cleaning up after myself

* literally forgot to include this. oops

* apply more defaults and fix oversight that guaranteed humans would always be bald

* skincoloration

* did not actually mean to include vox in there oops!

* bugfix & performance

* macrocosm edits

* my yaml slop

* clean up some stuff i missed

* OOPS!

* ah fuck that should be further down shouldnt it

* yo mama

* req changes

* req changes 2

* yo mama

* my joker moment

* fixes

* move shit to engine

* wtf how did you get in there!!!

* array

* my dante's hell cosplay

* schmoovin

* adding portfiend cologne

* yep

* god dammit

* oops again

* uno mas

* req changes

Co-authored-by: AJCM-git <60196617+AJCM-git@users.noreply.github.com>

* fix clamping logic

* test fix

---------

Co-authored-by: AJCM-git <60196617+AJCM-git@users.noreply.github.com>
2026-07-18 23:45:01 -04:00
TriviaSolari
4474deb959
Multicoloured Hair Proof of Concept + Minor Marking Code Tweaks (#44111)
* Add highlight option to longovereye human hairstyle

* undo edit to development.toml

* Revert "undo edit to development.toml"

This reverts commit 67eee3ff774a75df2a8502e663ce074626b4ec73.

* undo edit to development.toml

* Resprite right-facing state

* Try to salvage marking colours when sprite count changes

* Use last existing colour if exists instead of flat white

* First iteration of new hairstyle

* Editing pass on sprites

* Possible fix for vulps?

* Remove debug log

* Add comment explaining additional index offset

* Clarify attribution in meta.json

* Reformat marking colour validation

* Raise error when less sprites than markings colours

* Evil displacement index change

* Comment out error throw for now since that will always fail tests

* Insert displacement layer at index + 1, with comment explaining

* VC Feedback: there are now three indices, removed commented out exception

* Displacement below original

* Add more detail to comment
2026-07-13 07:51:51 +00:00
Lizard
c3ccd7e42a
Fix bug with character imports (#44585)
fix typo
2026-07-09 07:26:09 +00:00
Centronias
20320a7452
Fix bug in HideableHumanoidLayers system (#42903)
bugfix
2026-07-04 20:28:00 +00:00
Vladislav Suchkov
3a0aad1ff5
Add randomizer lock buttons to character editor screen (#44363)
* init

* tweak lightness

* add randomize helpers, refactor to use

* wip

* wip

* wip

* wip

* docs, cleanup

* review partial

* review wip (doesnt build)

* wip (now working, but found a bug)

* touchups

* less ambiguity

* Tweak the UI, make LockButton a BoxContainer

---------

Co-authored-by: AJCM-git <ajcm_mail@disroot.org>
2026-07-02 19:56:34 -04:00
Falcon
9805fe3956
Refactor voice to separate it from sex (#40593)
* feat: separate sex from voice

* wip: tried to make it use voice collection directly

* fix: yaml

* fix: migrations

* fix: ensure valid now validates correctly

* fix: unisex mobs wouldn't have voice

* chore: fix RT version

* refactor: clean up code into subfunctions

* refactor: swap name and protoId in voice

also rename sounds to voice

* chore: add comment

* fix: fallback sounds for non-humanoid characters

* fix: tests

* fix: tests

* refactor: change requests

* refactor: convert sheepers

* refactor: move Voice to SpeciesPrototype

* chore: add tests

* fix: test IoC error

* refactor: use null coalesing in ConvertProfiles

* refactor: move vocal sex association to speciesPrototype

* style: remove space from new()

* refactor: use name from emoteSoundsPrototype for UI

* refactor: no more null Voice on profile

* refactor: make DefaultVoice a static readonly property

* fix: add default voice to HumanoidProfileComponent

* chore: remove repeated vocal component from species yaml

It's inherited from BaseSpeciesMob

* style: correct comments for refactor

* fix: add missing locale for FemaleVulpkanin

* refactor: simplify logic based off surounding code

* test: add test to make sure that sexes are properly enumerated for the voices

* fix: add back urist sounds

* style: clarify comments again

* style: last thing im changing before I sleep

* refactor: battling programming semantics

* refactor: Name on EmoteSoundsPrototype.cs to VoiceSelectorName for clarity

* revert: isDirty change

* Fix HumanoidProfileTest.EnsureValidLoading.
    The profile's voice wasnt being updated, thus the voiceChanged event was never raised and that meant that the voice component had old EmoteSounds

* oops

* refactor: do the easy change requests

* refactor: use an array for indexing sex conversion for performance

* fix master

* mistakes were made

* chore: redo migrations

---------

Co-authored-by: AJCM-git <ajcm_mail@disroot.org>
2026-06-30 23:46:27 -04:00
Whatstone
a8453723d8
Cleanup: ProtoMan Part 1 - remove Shared EntitySystem IPrototypeManager instances (#44386)
* Remove Shared System IPrototypeManager instances

* Remove RecipeManager IPrototypeManager instance

* Fix ItemSystem IPrototypeManager refs, use TryComp

* SharedItemSystem changes, EntWhitelist CompName

* HasComponent->HasComp
2026-06-29 10:18:44 +00:00
Whatstone
5cf67d8729
Heisentest: revert Epsilon, temporarily increase node-clamped HSV tolerance (#44390)
* Increase NodeHSVTolerance

* print out failing skin colour

* Return old Epsilon value (move its comment up)

* Update Content.Shared/Humanoid/SkinColorationPrototype.cs

---------

Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
2026-06-28 16:56:21 +00:00
ScarKy0
1819201cdb
Hue based skin color clamping (#43889)
* works!!!!!!!!!!

* rewrite it AGAIN

* wtf

* vox coloring

* fuck this comment in particular

* Apply suggestions from code review

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* docs

* review p2

* review?

* review from stinker

* stuff

* i SWEAR these are supposed to be reversed right???

* more clear test errors please

* ig this was correct????

* reason

* unused

* review

* cleanup

* i was a silly boy

* grah

* fix gametest locally

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-05-20 21:17:48 +00:00
Connor Huffine
4e4298a32d
Fix Humanoid Heisentest (#43919)
* Expand epsilon

* Increase epsilon slightly more

* Add more comment
2026-05-11 04:08:57 +00:00
Pieter-Jan Briers
5168b5f3d4
IoC source gen compatibility (#43863)
* IoC source gen compatibility

Can be merged before or after https://github.com/space-wizards/RobustToolbox/pull/6549 doesn't really matter.

* Missed a spot
2026-05-09 03:29:58 +00:00
Princess Cheeseballs
c5bef48b94
Actually Apply Skin Color to Markings when randomly generating a character. (#43380)
* me when I forget to apply valid marking data when making random characters :(

* actually fuck that TODO

* tests

* fix skeleton test fails

* accurate descriptions

* SKELETON FAILING AGAIN

* end the skeleton problem permanently

* better number

* remove spaces

* GRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-04-24 15:42:40 +00:00
Kyle Tyo
116e09e1cc
Fix bug blocking character saves for species without hair. (#43170)
* Update ServerDbBase.cs

* Update ServerDbBase.cs

* Update ServerDbSqliteTests.cs

* :grumble grumble grumble:

* tests

* Update ServerDbSqliteTests.cs

* commit

* forgot this.

* relocation.

* nope, not doing that lmao

* Update ServerDbSqliteTests.cs

* test rerun

* GAAAAAA

* Update ServerDbSqliteTests.cs

* Update ServerDbSqliteTests.cs

* Update ServerDbSqliteTests.cs

* GAAAAAA

* go fish
2026-03-15 15:55:42 +00:00
Kyle Tyo
43c8dc711a
Fix(Humanoid): Prevent skin color verification failures due to precision loss (#42836)
port over uberrations fixes.
2026-02-08 23:47:43 +00:00
pathetic meowmeow
9c23b4a6d8
Documents all the public APIs for Nubody & markings code (#42857) 2026-02-08 18:30:09 +00:00
John
cfb59ef20e
fixed vox tail marking and suitslot layer order (#42808)
* fixed vox tail marking and suitslot layer order

* explained marking

* now it's hideable

* Revert "now it's hideable"

This reverts commit ab799b088739b3d986a5158f51b44f9c770e6e3e.

* re-order one more time for correct parity with the previous system
2026-02-06 21:03:59 +00:00
pathetic meowmeow
08bbc11972
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>
2026-02-03 03:13:26 +00:00
pathetic meowmeow
4e9a456591
Drop ICharacterProfile/ICharacterAppearance interfaces (#42661) 2026-01-26 20:15:44 +00:00
B_Kirill
2977d89f3e
Cleanup warnings: CS0168, CS0414, CS8321 (#42623) 2026-01-24 20:35:41 +00:00
pathetic meowmeow
0ec9975e4f
Fix hideable humanoid layers (#42553)
* Fix hideable humanoid layers

* test maintenance coin

* clean return

* voxes can no longer have human beards

* voxes fixes

* voxing out

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-01-20 22:24:09 +00:00
pathetic meowmeow
efb6c68ac8
Fix humanoid profile voice being broken (#42550)
Fix humanoid appearance voice being broken
2026-01-20 19:13:51 +00:00
pathetic meowmeow
8cf744ec55
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>
2026-01-20 07:07:53 +00:00
pathetic meowmeow
d0c2734dad
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>
2026-01-17 00:39:35 +00:00
B_Kirill
0c9d33d5d6
Cleanup warnings: CS0414, CS8524 (#40776)
* Cleanup

* CS8524
2025-10-08 12:43:59 +00:00
āda
320e67a411
Predict identity (#40185)
* crossing the pond

* share some station records

* share some criminal records

* single system

* comments

* minor touchups

* I always forget this part

* requested changes

* revert predicted spawn

* requested changes

---------

Co-authored-by: iaada <iaada@users.noreply.github.com>
2025-09-24 01:32:20 +02:00
pathetic meowmeow
d9c24b3d10
De-enumify humanoid species skin colours (#39175)
* De-enumify humanoid species skin colours

* Change index to resolve

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-09-13 22:30:17 -07:00
Pieter-Jan Briers
0c97520276
Fix usages of TryIndex() (#39124)
* Fix usages of TryIndex()

Most usages of TryIndex() were using it incorrectly. Checking whether prototype IDs specified in prototypes actually existed before using them. This is not appropriate as it's just hiding bugs that should be getting caught by the YAML linter and other tools. (#39115)

This then resulted in TryIndex() getting modified to log errors (94f98073b0), which is incorrect as it causes false-positive errors in proper uses of the API: external data validation. (#39098)

This commit goes through and checks every call site of TryIndex() to see whether they were correct. Most call sites were replaced with the new Resolve(), which is suitable for these "defensive programming" use cases.

Fixes #39115

Breaking change: while doing this I noticed IdCardComponent and related systems were erroneously using ProtoId<AccessLevelPrototype> for job prototypes. This has been corrected.

* fix tests

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-09-09 18:17:56 +02:00
ScarKy0
a590d65dc5
Add SnoutCover appearance layer (#39949)
* init

* cover
2025-08-29 19:12:51 +02:00
poklj
f76e3b63b7
Changeling devour and transform (#34002)
* Initial:

Create Devour componentry, preliminary identity storage and the systems
for Devouring

* I have genuinely no idea what i'm doing

- added the radial menu, it has nothing in it.

- trying to get it to populate. the event under the event is broken,
i don't know why, but apparently it's not typed right

- Added a placeholder transform

- oh also fixed up some devour stuff and moved some things around.

* Holey moley, Transform, better devour, oh my!

- Move DnaComponent into Shared because we need it for the DNA cloning

- Make Transform MOSTLY work on the LAST identity devoured.

- Fix some issues on devour that involved prediction, canceling and
Damage exeucting (Thanks Plykiya for pointing out AttemptFrequency!)

* Proper tail stealing and Damage modifier attempt

Add check to add a wagging component on the Changeling if the victim's
species Prototype had one.

attempt to add the Damage mitigation check

* MAJOR CLEANUP AND FIXES AUGH 3 DAYS!!!

- Nullspaced a clone of a victim

- fix audio using server virtualized Pvs (i hate this)

- fix the mispredicted doafters

- Clean up a wholelotta code

- utilize clone systems to clone appearances

- Move CloneAppearance from server to shared So we can actually access
it

* Examine stuff, more cleanup, Jumpsuit ripping

- make rotting prevent the action

- Add ripping of clothing (guh why is it also server)

- add some System stuff for pushing husked corpse inspection

- clean up more badcode

* Doing things properly, UI sorta kinda works.

- Utilize Relayed events for Devour checking

- Get a UI that partially works, Says the name of identities, doesn't
show their looks

- Make use of the New Dynamic BUI assignment

- commit the sin of no client prediction cause nullspace entities aren't
networked

* Got an entity for the Frontend transform

Issue with the looks

* Stick a camera into a fake mobs forehead

- Get the UI to see the net entity in pause space by using a
ViewSubscriber to get the Pvs from the initially stored identity entity

- Remove all the other parts used to try to get this to work before hand

* Raaaaadiallllllls also fix protection coefficents

- Change FancyWindow to Radial

- Fix Issue where coeffeient checking was the wrong way round

* absolutely massive cleanup, no more camera in mobs

- cleaned up event variables that are not needed

- Removed the use of a Pause space and go back to Nullspace usage

- use a PvsOverride rather than ViewSharing

- Remove old commented out code and Lots of unused code

* Fix "Ui elements" dying  on the screen

- some minor cleanup

- don't start the entities that get cloned

* ftl, cleanup, and fixing missing transform details

- add replace functionality to TypingIndicatorSystem and
BodyEmotesSystem

- add placeholder sounds and functions to TransformBodyEmotes

- add extra Pvs handling for later use

- attributions for the funny straw sound

- Sound collections for all of the sounds

- various cleanups

* Some extra cleanup

* Fix some false assumptions about TypingIndicator

- Bubbles now transfer on spawned humans rather than used humans

- Clean up YET MORE CODE

- make it so you can't eat yourself

* Oooprs, forgot to add a Husked Corpse Loc

* Missing period in the husked corpse loc

* bad devour windup placeholder

* Husking and WIP Lungs

- Husking now will be prevented from Revival fully and will change
the appearance of players

* Add finalized Sprites for actions and final meta

- add devour on and off sprites

- add transform action sprite

- Add Armblade sprite for future use

- Credit obscenelytinyshark for the sprites <3

* Remove ling lungs, Entity<> everything

- Remove the ling lungs stuff for now... body system is overly
complicated, makes my head hurt

- Switch every method to use Entity<> from Uid, Comp format

* cleanup, admin logging, WIP Roles

* Admin verb, Roundstart, gamerule stuff

- add a Admin verb to make Changelingification easy!

- Add game rule stuff for admin verb and to tell the hapless
goober how to be a changeling... sorta

- clean up parts to make VV easy... USE THE VERB!!

* Armor Coefficent Check

- Remove bespoke changeling armor check and replace it
with a generic armor coefficient query.

* move to UnrevivableComponent instead of husked

- Move UnrevivableComponent to shared

- add Analyzable and ReasonMessage to UnrevivableComponent
to give granular control of the message and whether or not it shows up
in the analyzer

- remove the check for HuskedComponent in DefibrillatorSystem

* aaaaaaa CopyComp

- Some cleanup

- make Vocal system shared

- make VocalSystem Not make more Actions than it needs

- Use some code from ChameleonProjector so we can copy components

- partially ungod method the Transform system

* Cleanup, Moving more things to CopyComp

- TransformBodyEmotes now uses CopyComp (it's a server component so i
need to tell the server to deal with it

- TypingIndicatorComponent also now uses CopyComp

- cleaned up old, now unused "replace" methods in favor of CopyComp

- BodyEmotesSystem now has a publically accessable LoadSounds to deal
with the same problem Screaming had

* WIP

* Devour Windup noise, ForensicsSystem cleanup

* Revert VocalSystem Changes

- Reverted Moving VocalSystem to shared, copy comp acomplishes it

- added component.ScreamActionEntity = null; for copy comp

* cleanup unneeded comments

* revert an accidental line removal

* Remove duplicate SharedHumanoidAppearanceSystem

* Cleanup Typo's and import Forensics components for Dna

* Some more forensics calls

* cleanup use CopyComp for now until CopyComps

* CR cleanup

* Undo some SharedHumanoidAppearanceSystem changes

* Confound these spaces

* Some Copycomp stuff and fixing some PVS override

* use the proper TryCopyComps that are merged

* Change TransformMenu with RadialWithSector

* All sounds done, Fix lack of typing indicator issue

* Updated attributions to include used sound authors

* some ftl typos and mind_role text issue

* DNA, Screaming, appearance, grammar, wagging

- reduced all of the above using ApplyComponentChanges

- Issue still remains with bodyEmotes sticking around in the UI

* Fix UI stuff, partials, entprotoid, good practices

- bunch of partials added

- UI now has a predicted message

- EntProtoID in the admin verb

- RipClothing now uses Entity<ButcherableComponent>

- husking is now optional (off by default) for testing/till we have
hivemind/when we figure out what were doing with devour

- remove TransformGrammarSet

* More CR stuff and documentation

- Make TargetIsProtected less of a meme, with a prototype
set of DamageTypes to check

- Documenation everywhere

- Move DevourEvents into its own file

* Predicted sounds and fix the comp clone list

- Made all start and stop sounds shared

- Split out the rest of the events and UI stuff into subfiles

- Fixed some Clone comp list issues where comments had -'s causing them
to be read incorrectly

* Damage cap check, Identity Shutdown cleanup, cleanup

* Sound stuff (but actually this time)

* Missed documentation

* Missed Documentation and a EntProtoId

* Remove unused dependency

* Remove a nullcheck

* Some dummy minplayers

* CR - Husked now uses a rem/ensure

* Update Actions in the Prototype

* Fixup mindswap handover

- cleanup and handover PVS on mindswap

* Fixup Missing meta from accidental "Take-theirs"

* Add the Armblade to the roundstart-role

* Cleanup, CR (everything but the UI and renames)

* missed a spot

* missed some more whitespace

* Renames

* Primary constructor and a space in these trying times

* User interface stuff for Slime transformation

* popup prediction

* Ling devour no longer makes duplicate identities

- added a key to identities to the original victim

- Add some extra clone settings

* add guard statements to OnClones

* SentOnlyToOwner additions

* fix for sound stoppage error

* Move Organ deleter into soon to be atomized husk

* clone event inventory

* mono sounds

* lower sound volume

* Fix networked sound warning

* Clone comps thing

* review

* attributions

* Fix clobbered changes

* I'm gonna weh out

- whole bunch of CR changes

* fix some very buggy git

* okay its fixed

* address most review points

* fix inventory

* we hate entityuids

* fix test and more cleanup

* move this

* fix more stuff

* fix validation and rootable

* Remove Quickswitch due to some UI quirks

* oops left out some better explanation

* remove dangling LastConsumed component fields

* fix test fail

* try this

* cleanup cloning subscriptions, add movement speed modifier

* fix slime storage

* fix cloning setting inheritance

* Add session information to transform admin logs

* slay the integration test hydra

* dwarf size

* more volume tweaks

* comments

* improve comments and unpredict deletion due to errors when shutting down the server

* fix displancement cloning

---------

Co-authored-by: ScarKy0 <scarky0@onet.eu>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-08-06 21:55:49 +02:00
Pieter-Jan Briers
af4ff4e9de
Update content to remove redundant Robust math types (#38930)
Vector3, Vector4, Matrix4, and Quaternion are now gone. This switches us over to System.Numerics where applicable.
2025-07-22 12:29:17 +02:00
Tayrtahn
c565b44965
Replace ValidatePrototypeId uses with ProtoId or EntProtoId (#38814)
* The easy ones

* For certain values of easy

* Easy test

* Hair

* Fix sandbox violations

* Sort usings
2025-07-07 21:57:05 +02:00
Tayrtahn
f09bade8e7
Validate remaining ProtoId strings (#38747)
Validate remaining ProtoId strings
2025-07-04 22:55:45 +02:00
Nemanja
d0c067f006
Fix human skin tone distribution (#38701) 2025-07-04 15:22:26 +02:00
slarticodefast
aa15371049
fix polymorph errors (#38409)
fix polymorph error
2025-06-17 16:16:24 -04:00
beck-thompson
d8b70a3887
Revert "Randomized Markings" (#38345) 2025-06-16 00:50:17 -07:00
beck
b636e3fcba
Randomized Markings (#34765)
randomized markings
2025-06-15 14:11:52 -07:00
slarticodefast
5d26a38a1d
fix clone appearance (#37130) 2025-05-02 21:26:12 -04:00
J
ded94ebc3d
Various sharedsystem spring cleaning (#36200)
* Various shared system warnings cleanup

* More shared system warnings cleanup

* Rearranging changes

* Using correct transform for unbuckle

* Small changes

* Revert buckle change

* Update Content.Shared/Ghost/SharedGhostSystem.cs

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-04-21 20:40:31 +02:00
Verm
dd308c6d2d
Makes EventRole Ids properly set ID names. (#28958)
* Add id binding system

* Change so it activates when added too

* Add to eventhumanoid

* Add PDA binding, try to fix some things

* Still not fixed, PDA is working right

* Move to server, add on mind instead

* Implement suggestions

* Fix things

* Finish review stuff

* Messed up cluwne

* Remove after only changing id too

---------

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
2025-04-21 14:25:22 -04:00
Ed
f6a29e24a2
Markings overhaul (#35938)
* markings displacement setup

* ok i got it!

* fix map updating

* remove trackingLayers

* markings clean up and modernizize

* marking disabling displacements

* markings restriction

* dehihienize

* dehihiniezize 2

* aa

* nice
2025-04-20 17:01:50 -04:00
Tayrtahn
b780b74bbd
Validate some SpeciesPrototype fields (#35965)
* Convert SpeciesPrototype strings to ProtoIds

* Simplify protoman indexing calls
2025-03-20 21:15:30 +01:00
paige404
2e7f01b99e
Fix broken layer hiding on clothes with multiple equipment slots (#34080)
* Fix broken layer hiding on clothes with multiple equipment slots

* Refactor ToggleVisualLayers, HideLayerClothingComponent, and ClothingComponent to allow more
precise layer hide behavior and more CPU efficient layer toggling.

* Adjust HumanoidAppearaceSystem to track which slots are hiding a given layer (e.g. gas mask and welding mask)
Add documentation
Change gas masks to use the new HideLayerClothingComponent structure as an example of its usage

* Fix the delayed snout bug

* Misc cleanup

* Make `bool permanent` implicit from SlotFlags

any non-permanent visibility toggle with `SlotFlags.None` isn't supported with how its set up. And similarly, the slot flags argument does nothing if permanent = true. So IMO it makes more sense to infer it from a nullable arg.

* Split into separate system

Too much pasta

* Remove (hopefully unnecessary) refresh

* Fisk mask networking

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

* Keep old behaviour, use clearer names?

I'm just guessing at what this was meant to do

* english

* Separate slot name & flag

* dirty = true

* fix comment

* Improved SetLayerVisibility with dirtying logic suggested by @ElectroJr

* Only set mask toggled if DisableOnFold is true

* FoldableClothingSystem fixes

* fix bandana state

* Better comment

---------

Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
2025-03-21 00:30:47 +11:00
Tayrtahn
86aa82f2b6
Cleanup: Remove redundant prototype name specifications (#35793)
* Remove redundant prototype name specifications

* These can stay
2025-03-19 19:30:31 +01:00
MilenVolf
bcf3390c88
Remove unneeded Loc.GetString (#35739) 2025-03-09 11:06:11 +01:00
slarticodefast
4735097385
Fix integration tests (#35727)
* test

* fix names

* fix more
2025-03-08 20:38:18 +01:00
MilenVolf
1abd2d3a08
Localize all dataset names (#32893)
* Use `LocalizedDatasetPrototype` instead of `DatasetPrototype` in `RoleLoadoutPrototype`

* Localize ai names

* Replace to `LocalizedDatasetPrototype` in `NamingSystem`

* Localize arachnid first and last names

* Localize atv names

* Localize autoborg names

* Forgot to change type to localizedDataset

* Localize borer names

* Localize borg names

* Localize cargo shuttle names

* Localize clown names

* Localize death_commando names

* Localize diona names

* Localize fake_human names

* Localize first and last names

* Localize first male and female names

* Localize fortunes descriptions

* Forgot about equal sign

* Localize golem names

* Localize hologram names

* Localize military names

* Localize moth first male and female names

* Localize moth last names

* Fix autoborg name error

* Localize mushman first and last names

* Localize ninja names

* Localize operation names

* Localize regalrat names

* Fix mushman_first

* Forgot about `Loc.GetString`

* Move comments into comment section & fix names

* Localize reptilian male and female names

* Localize revenant names

* Fix locale word order in operation

* Localize rollie (btw it was never used and was added as "for the futuгe" long time ago)

* Localize skeleton_first names

* Localize syndicate names

* Localize vox names

* Localize wizard first and last names

* `{owner}-name-dataset` -> `names-{owner}-dataset`

* Change `DatasetPrototype` to `LocalizedDatasetPrototype` and make sure it works properly

GetFTLName is no more the static method, we need it to be able to use `Loc.GetString`

* I hate those mothname comments

* Combine name datasets prototypes

* Move every ftl from` /en-US/names` to ` /en-US/datasets/names`

* Remove ftl files

* Get every dataset yml back

* Remove changes for planets. Move it in another PR

* Revert these changes (Moved to another PR)

* How

* Apply suggested changes
2025-03-08 20:04:26 +01:00
SlamBamActionman
27cfc0939c
Add undergarments & "Censor Nudity" toggle to options (#33185)
* Initial commit

* Attribution

* Review changes

* Added comment for upstream
2025-03-05 10:14:01 +01:00