Commit Graph

9170 Commits

Author SHA1 Message Date
DrSmugleaf 00826aaad6
Replace usages of customTypeSerializer PrototypeIdListSerializer with something that doesn't take 20 separate words to type out (#37959)
* Replace usages of customTypeSerializer PrototypeIdListSerializer with something that doesn't take 20 separate words to type out

* Missed one

* Missed another

* Fix data field ids
2025-07-10 05:06:51 +02:00
Kyle Tyo 326712faca
Predict RepairableSystem (#38886)
* commit

* Update SharedRepairableSystem.cs

* compo

* final touches.

* Update RepairableComponent.cs

* Update RepairableSystem.cs

* Update Content.Shared/Repairable/RepairableSystem.cs

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-07-10 04:39:34 +02:00
Crude Oil 9ebf6a24c4
Parroting Parrots part 1: Help maints! SQUAWK! Maints! (#38243)
* parrots have ears. add poly

* high tech parrot functionality

* adjust times

* add accent to radio message

* don't spam everything all at once probably

* learn about the existence of prob(float)

* actually use Prob(float) correctly

* newline

* add pet spawner for poly

* move chance to talk on radio to component

* missing comment

* minor edits and doc additions

* the reviewerrrrrrr

* parrot can't learn when crit or dead

* increase default memory

* rename poly to polly

* crude way to ignore whispers. chatcode please

* This is Polly. It is set to broadcast over the engineering frequency

* add missing initialize

* add displacement map for parrot ears

* review comments - Errant

* minor things

* large rework

* fix attempting to talk when entity has no channels

* use list of active radios again to track channels

* fix bad return, some comments

* fix long learn cooldown

* minor adjustments

* use FromMinutes

* the voices told me to make these changes

* remove default reassignment

* Review changes

* remove polly's accent

* decouple radio stuff from parrotsystem

* minor stuff

* split vocalization and parroting

* minor review work

* re-add missing check

* add admin verb for clearing parrot messages

* minor action icon update

* oops

* increase icon number text size

* Admin erase parrot messages associated with players

* part 1 beck review

* add whitelist and blacklist for parrots

* Downgrade missing component error to warning

* Add comment

* add some missing comments

* Remove active radio entity tracking, use all inventory slots

* Minor changes

* small review stuff

* review radio stuff

* swap ears displacement to invisible death displacement

* remove syncsprite

* vscode why do yo have to hurt my feelings

* review changes

* use checkboth
2025-07-09 12:04:57 -07:00
Sparlight 2c3c510fe9
Fix non-humanoid mobs being destroyed on devour (#38087)
* Allow non-preference living things to be added to a devourer's stomach

* Fix ordering of devour logic

* Minor refactor for whitelist on storage and food preference

* Fix linter issue

* Coerce workflow to run again; also fix bad indenting error

* Code review changes
2025-07-09 14:43:35 +02:00
Quantum-cross 989338cb08
Fix lingering ghost roles (and expand tests to catch it) (#38788)
* Improve and expand `TakeRoleAndReturn` to fail on bug #38292

* fix #38292 and expanded test cases

* use validated EntProtoIds for tests

remove unusued using declarations

* use const strings that match the TestPrototypes
2025-07-09 13:07:41 +02:00
Perry Fraser 871860208c
fix: Register OnRequestMovePulledObject under the right system (#38484)
* fix: Register OnRequestMovePulledObject under the right system

* nukeops test flake
2025-07-09 05:44:21 +02:00
Perry Fraser c802b8bbb2
Make mopping predicted (and some other stuff) (#38749)
* refactor: move puddle evaporation + absorbents to shared

* refactor: move SolutionRegeneration to shared

* refactor: make AbsorbentSystem visuals clientside

* style: general formatting/cleanup on touched files

- Few logical simplifications
- Add field for hard-coded sparkle effect ent
- Switch stuff to Entity<T>

No actual prediction fixes in this commit (though in
retrospect I should've done this commit last).

* fix: use predicted variants for predicted code

* fix: average out evaporation rates in mixtures

* refactor: move SolutionPurge to shared

* style: Basic SolutionPurgeComponent field cleanup

* fix: general prediction + timing + networking fixes

- Moves client side visuals back to shared because other
  players exist
- Don't accumulate CurTime in Purge/RegenerationSystem
- Network the next update field in Purge/RegenerationSystem to
  deal with UI mispredictions???

* fix: add udder bug workaround

Not needed for SolutionPurgeSystem which doesn't resolve
solutions (probably fine that SolutionPurgeSystem doesn't
cache since it's much rarer, though it probably should), and
likely not needed for AbsorbentSystem since it only resolves
against puddles which, I don't think can be in containers.

* fix: don't divide by zero for evaporation speed = 0.

* refactor: revert evaporation changes

Will cherry-pick these out in another PR.

Also reverting the evaporation speed bugfix since it's easier
to revert all at once. :)

* fix: component cleanup; autopause fields, use ProtoID

* fix: remove unused AbsorbentComponentState

* fix: ProtoId is not string

* refactor: move PuddleSystem.UpdateAppearance to shared

* style: general PuddleSystem.UpdateAppearance tweaks

- Switch to Entity<T>
- Use ProtoIds
- Minor simplifications

* fix: add udderly silly PVS workaround

* cleanup

* fix

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-07-09 05:17:55 +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
Winkarst-cpu bb02be1dc7
Cleanup: Remove ``TryInsert`` method from the ``DisposableSystem`` and use event subscriptions instead (#38819)
Cleanup
2025-07-07 12:13:35 -07:00
Winkarst-cpu ae3b3b6173
Cleanup: Remove ``TelephoneComponent.RequiresPower`` (#38823)
* Cleanup

* Forgot about yml
2025-07-07 17:55:09 +02:00
slarticodefast b1fb01fed5
Stable merge (#38822) 2025-07-07 14:39:12 +02:00
slarticodefast a03c35a9bc
sanitize MIDI parser (#38806)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2025-07-07 14:23:45 +02:00
ArtisticRoomba faa4508b65
Fix storage voice control bug after handssystem refactor (#38810) 2025-07-07 01:42:13 +02:00
Hannah Giovanna Dawson f5fd2dcb76
Scurret naming fixes (#38776)
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-07-07 00:30:44 +02:00
B_Kirill 7ea3120a07
Cleanup warnings: CS0414 (#38793)
Cleanup
2025-07-06 12:28:29 +02:00
Nemanja ab201b6e82
Stasis bed cleanup and bugfixes. (#38762)
* Stasis bed sent to shed

* Code Review

* Code Review 2
2025-07-06 02:59:31 +02:00
Tayrtahn e042b3acab
Log an error when adding an admin log containing a null char (#38782)
* Log an error when adding an admin log containing a null char

* Also log LogType and LogImpact

* Remove them
2025-07-05 17:07:53 -07:00
Kyle Tyo 78e8d98137
UnlockNode command to LEC. (#38751)
* commit

* Update UnlockNodeCommand.cs

* commit

* move command locale to its own file.

* Update Content.Server/Xenoarchaeology/Artifact/UnlockNodeCommand.cs

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-07-05 01:14:12 +02:00
Perry Fraser 4905e097c8
feat: allow mopping evaporating puddles (#38743) 2025-07-04 23:50:44 +02:00
Tayrtahn f09bade8e7
Validate remaining `ProtoId` strings (#38747)
Validate remaining ProtoId strings
2025-07-04 22:55:45 +02:00
Velken e82064916a
[BUGFIX] Fixed revenant malfunction ability not working properly only MediBots and Stasis bed (#38664)
* fixed

* clean up

* orks fix smart

* review fix 1

* more requested changes

* less cursed

* more descriptive description

* better wording
2025-07-03 22:08:45 -07:00
Pieter-Jan Briers e99fc501a6
Revert biome rework (#38724)
* Revert "Fix world generation (#38713)"

This reverts commit 10fa6ff4af.

* Revert "Biome rework (#37735)"

This reverts commit fe7b96147c.
2025-07-03 20:48:04 +02:00
ArtisticRoomba f874459092
Pressure Relief Valve (#36708)
* initial system (this math is probably WRONG)

* General code cleanup and OnExamined support
(holy moly this code sucks)

* UICode and related events foundation
TODO:
- Actually write the XAML UI and the underlying system
- Un-shitcode the entire thing
- Actually test everything...

* Working UI code
TODO: Make predicted, as this certainly isn't predicted. Even though I said it was. It isn't.

* Remove one TODO for unshitcoding the examine code

* Add reminder
yea

* Make predicted (defenitely isn't)
(also defenitely isn't a copypaste from pressure pump code)

* It's predicted!
TODO:
- Give it snazzy predicted visuals!
- Have a different field for pressure entry, lest it gets bulldozed every UI update.

* Improve gas pressure relief valve UI
TODO: Reminder to reduce amount of dirties using deltafields

* Implement DirtyField prediction

* Entity<T> cleanup
A lot of Entity<T> conversions and lukewarm cleanup.

Also got caught copy pasting code in 4K UHD but it's not like you couldn't tell.

* More cleanup and comments

* Remove TODO comment on bulldozing window title

* """refactoring"""
- Move appearance out of shared and finally fix it. Pointless to predict appearance in this instance.
- More Entity<T> conversions because I like them.
- Move UI creation handling over entirely to the ActivatableUI system.
- Fix a hardcoded locale string (why????).

* Add visuals

* Revert debugging variable replacememt
yea

* Revert skissue

* Remove unused using directives and remove TODO

* Localize, cleanup, document

* Fix adminlogging discrepancy

* Add ability to construct, add guidebook entry

* Clear up comment

* Add guidebook tooltip to valve

* Convert GasPressureReliefValveBoundUserInterface declaration into primary constructor

* Adds more input handling and adds autofill on open

* Un-deepfry input validator shitcode
Genuinely what was I smoking

* improve visuals logic

* Refactor again
- Update math to the correct implementation
- Moved code that could be re-used in the future into a helper method under AtmosphereSystem.Gases.cs

* I'm sorry but I hate warnings

* Remove unused using directive in AtmosphereSystem.Gases.cs

* Review and cleanup

* Lukewarm UI glossup

* Maintainer for the upstream project btw

* Remove redundant state sets and messy logic

* Unduplicate valve updater code

* Redo UI (im sorry Slarti)

* run tests

* Test refactored UI messaging

* Second round of UI improvements
- God please find a way to improve this system. Feels bad.

* Update loop implementation

* Further predict UI

* Clear up SetToCurrentThreshold

* cleanup

* Update to master + pipe layers and bug fixes
want to run tests

* fixes

* Deploy rename pipebomb

* Documentation and requested changes

* Rename the method that wiggled away

* Undo rounding changes

* Fix comment

* Rename and cleanup

* Apply suggestions from code review

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-07-03 18:00:34 +02:00
Kowlin 10fa6ff4af
Fix world generation (#38713)
* Fix world generation

* Remove unused impoty
2025-07-03 16:44:37 +02:00
metalgearsloth fe7b96147c
Biome rework (#37735)
* DungeonData rework

Back to fields, serializes better, just make new layers dumby.

* wawawewa

* Fix this

* Fixes

* Port the work over

* wawawewa

* zoom

* Kinda workin

* Adjust wawa

* Unloading work

* Ore + entitytable fixes

Iterate every dungeon not just last.

* Big shot

* wawawewa

* Fixes

* true

* Fixes

# Conflicts:
#	Content.Server/Procedural/DungeonJob/DungeonJob.cs

* wawawewa

* Fixes

* Fix

* Lot of work

* wawawewa

* Fixing

* eh?

* a

* Fix a heap of stuff

* Better ignored check

* Reserve tile changes

* biome

* changes

* wawawewa

* Fixes & snow

* Shadow fixes

* wawawewa

* smol

* Add layer API

* More work

* wawawewa

* Preloads and running again

* wawawewa

* Modified

* Replacements and command

* Runtime support

* werk

* Fix expeds + dungeon alltiles

* reh

---------

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
2025-07-03 00:36:06 -04:00
slarticodefast 38232d2255
Predict healing and bloodstream (#38690)
* initial commit

* reapply 38126

* fix rootable

* someone missed an important minus sign here

* try this

* fix

* fix

* reenable crit hits

* cleanup

* fix status time dirtying

* fix

* camelCase
2025-07-02 19:20:31 -04:00
Andrew Malcolm O'Neill 80d733a152
Resolving Wizard casting recall on nuke disk making it impossible to disarm (#38661)
* Resolving Wizard Recall on Nuke disk making it impossible to disarm
- Adding a DisarmBomb case to nuke status update loop
- Changing a few methods and parameters to properly follow formatting standards
- Updating some names to follow camelCase

* Updating missed tag

* Reverting DataField change

Should prevent this preventative bugfix being a breaking change.
2025-07-02 22:50:22 +02:00
Princess Cheeseballs 579b38b92b
Improvements and fixups for New Status Effect API (#38660) 2025-07-02 20:46:30 +03:00
Kyle Tyo 0009ad32ab
Dsay Dirty and Follow commands converted to LEC and localized. (#38666)
* commit

* whoopwhoopwhoop
2025-07-01 01:33:59 +02:00
Kyle Tyo 34825464dc
Power stat and nuke codes commands get some LEC love. (#38585)
* commit

* requested changes.
2025-06-30 03:41:55 +02:00
BramvanZijp 7951db15ca
Allow the Command & Super door remotes to use the access of their user. (Re-creation of PR due to changes to game balance) (#35536) 2025-06-29 18:21:14 +02:00
Tayrtahn 2f37923db6
Cleanup prototype instantiation in `ExplosionSystem` (#38642)
Cleanup prototype instantiation in ExplosionSystem
2025-06-28 21:34:15 +02:00
Kyle Tyo 2c4cae2af9
AddBodyPartCommand localization. (#38612)
commit
2025-06-28 13:11:08 +02:00
Pieter-Jan Briers 5bc778d42e
Fix silicons looking at their laws crashing the server (#38623) 2025-06-27 15:03:16 +02:00
Princess Cheeseballs d7d83bd87c
RespiratorSystem Cleanup (#38572)
* Respirator Debodied

* Forgot about alerts (also respirator testa and events)

* Fix Urist eating air and not giving it back

* Stop nuke ops from taking in a breath then taking in a second breath causing them to get a headache from carbon dioxide poisoning and failing TryStopNukeOpsFromConstantlyFailing();

* Consts are smelly,

* Actually we don't need to raise the entity, just the component

* Don't forget to remove the unused code today, said me yesterday

* Remove all fallbacks

* Debody that too

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-06-26 22:33:43 -04:00
slarticodefast a3b82e9afd
Cleanup SharedRoleCodewordSystem (#38310)
* cleanup

* Update Content.Shared/Roles/RoleCodeword/SharedRoleCodewordSystem.cs

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* Apply suggestions from code review

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-06-27 02:27:25 +02:00
Tayrtahn 75db49f9c0
Clean up all missing `EntitySystem` proxy method uses (#38353) 2025-06-26 16:50:49 -07:00
Pieter-Jan Briers 73df3b1593
Stop network serializing prototypes (#38602)
* Stop network serializing prototypes

Send the damn proto ID instead.

* Fix sandbox violation
2025-06-26 19:27:23 -04:00
Tayrtahn 3a8974f574
Improve lathe queue performance (#38583)
* Use an actual Queue

* Store ProtoIds instead of prototypes

* Network as NetListAsArray

* Remove Serializable & NetSerializable from LatheRecipePrototype

* Convert CurrentlyProducing too

* No point using NetListAsArray<T> if you're going to .ToArray() it anyways.

---------

Co-authored-by: PJB3005 <pieterjan.briers+git@gmail.com>
2025-06-27 00:08:01 +02:00
Kyle Tyo 433893679e
Convert DumpReagentGuideText command to LEC. (#38569)
* commit

* revert linq conversion
2025-06-25 22:02:01 +02:00
slarticodefast d998d71ce2
Fix PowerCellDrawComponent draw rate (#38562)
* fix power cell draw rate

* comment
2025-06-25 09:38:57 -04:00
Nemanja 524725d378
HandsSystem Refactor (#38438)
* checkpoint

* pt 2

* pt... i forgot

* pt 4

* patch

* More test fixes

* optimization!!!

* the REAL hand system

* fix RetractableItemActionSystem.cs oversight

* the review

* test

* remove test usage of body prototype

* Update Content.IntegrationTests/Tests/Interaction/InteractionTest.cs

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>

* hellcode

* hellcode 2

* Minor cleanup

* test

* Chasing the last of the bugs

* changes

---------

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
2025-06-25 15:13:03 +02:00
Red 78a94730be
New status effect system (#37238)
* spectra

* documentation

* added into liquid anomaly

* Update TemporaryStealthComponent.cs

* Update TemporaryStealthComponent.cs

* integrated

* new system

* mark old status effect system as obsolete

* ForcedSleeping new status effect

* work with reagents

* networking???

* Revert "integrated"

This reverts commit bca02b82bae18ae131af593d7eb86e6de2745157.

* Revert "Update TemporaryStealthComponent.cs"

This reverts commit 4a5be8c4b704a0d1ff9544b2e245d8b2701ec580.

* Revert "Update TemporaryStealthComponent.cs"

This reverts commit a4875bcb41347638854bd723d96a51c3e6d38034.

* Revert "added into liquid anomaly"

This reverts commit df5086b14bb35f1467158a36807c0f2163a16d99.

* Revert "documentation"

This reverts commit 3629b9466758cbdfa4dd5e67ece122fa2f181138.

* Revert "spectra"

This reverts commit 2d03d88c16d16ad6831c19a7921b84600daeb284.

* drowsiness status effect remove

* reagents work

* polish, remove test changes

* first Fildrance review part

* Update misc.yml

* more fildrance review

* final part

* fix trailing spaces

* sleeping status effect

* drowsiness status effect

* Create ModifyStatusEffect.cs

* some tweak

* Yay!!! Manual networking

* minor nitpick

* oopsie

* refactor: xml-docs, notnullwhen attributes, whitespaces

* fildrance and emo review

* refactor: simplify check in SharedStatusEffectsSystem by using pattern matching, TryEffectsWithComp now returns set of Entity<T, StatusEffectComponent>

---------

Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
2025-06-25 07:41:35 -04:00
Kyle Tyo 09d7f7adf6
Electrocute command cleanup and localization (#38563)
* hey look I knocked out a todo :shockedface:

* Update Resources/Locale/en-US/electrocution/electrocute-command.ftl

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-06-25 04:28:13 +02:00
beesterman 34e12f2c82
Lobby Audio from static to CVar (#38375)
* Changed LobbyMusiccollection over to a Cvar and edited ContentAudioSystem.cs to use Cvar Values

* Addedd Ability to modify the lobbyMusiccollection from the command line

* Fixed changing lobby music while in the round

* Deleted uneeded duplicate line

* Removed additional duplicate lobbyplaylist line

* Alphabatized imports and refactored to use Subs.CVar

* Added error checking and default behaviour to CVar sub.

* Refactored to use TryIndex and Allowed for a empty soundcollection when a sound collection is not found. Edited Cvar comment to reflect changes.

* Made _lobbyMusicCollection nullable and addedd handling for null case where used. Also Changed LobbyMusicCollection Cvar over to audio rather than ambience.

* Update Content.Server/Audio/ContentAudioSystem.cs

---------

Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2025-06-25 04:22:28 +02:00
Kyle Tyo eb359fb760
Crew manifest command cleanup and LEC (#38544)
commit
2025-06-24 13:06:20 +02:00
Kyle Tyo 71eed923ae
Add uplink command minor revision and cleanup (#38532)
* commit

* Update AddUplinkCommand.cs
2025-06-24 12:46:35 +02:00
Kyle Tyo 6a2afa5625
Revisions and cleanup to dock and shuttle commands. (#38533)
commit
2025-06-23 23:25:35 +02:00
slarticodefast b83d00b792
Predict Flashes (#37640)
Co-authored-by: ScarKy0 <scarky0@onet.eu>
2025-06-23 13:32:56 +02:00
Tayrtahn 7e77ee0cd2
Content fix for `LocalizedCommands` `Loc` change (#38133)
* Content fix for LocalizedCommands Loc change

* Switch to LocalizationManager
2025-06-23 07:22:21 +02:00