Commit Graph

51 Commits

Author SHA1 Message Date
AndrewFenriz 7d6a8426c5 Migrate all mechs to PartAssembly and remove legacy MechAssemblySystem (#39027)
* Removed the old MechAssembly system and component.
Converted all mechs to use the unified PartAssembly system.
Removed dismantling mechs during assembly logic to simplify the code.

* Delete Chassis via migration
2025-11-23 15:22:33 -06:00
William Lemon 29e55b9464
Upstream Merge (June / July) attempt 2 electric boogaloo (#4607)
* Fix the sensor monitoring console forcing a GC every 3 seconds (#38146)

* Optimize sensor monitoring window graph drawing

* Add shared static Vector2 pool for all GraphView instances

* Address requested changes

* remove lock

* Update submodule to 264.0.0 (#38629)

* Toy/Plushie Inhands and Wearables (#38514)

* Fixed dependency injection and some other issues in a few places.

* More issue fixes

* patchfor broken NetworkConfiguratorLinkMenu (#38632)

fix

* Fix solutions flickering when transferring contents (#34838)

* Use Solution clones when applying SolutionComponent states

* Revert "Use Solution clones when applying SolutionComponent states"

This reverts commit 013fd111cf92b22562e00f98a7aaa49bc4b4ed62.

* Make Solution implement ICloneable and rename Clone method.

* Copy CanReact value when cloning a Solution

* Convert to IRobustCloneable

* Fix typos in guidebook: Buisness → Business (#38636)

* Fix typo in `MinorAntagonists.xml`

Buisness → Business

* Fix typo in `YourFirstCharacter.xml`

Buisness → Business

* Various Headphones Fixes and Tweaks (#38479)

* sprites, wearables

* neck

* icon-on sprite

* Cleanup prototype instantiation in `DamageTest` (#38639)

Cleanup prototype instantiation in DamageTest

* Cleanup prototype instantiation in `ExplosionSystem` (#38642)

Cleanup prototype instantiation in ExplosionSystem

* AddBodyPartCommand localization. (#38612)

commit

* fix ItemSlotsSystem debug assert (#38655)

* Allow the Command & Super door remotes to use the access of their user. (Re-creation of PR due to changes to game balance) (#35536)

* Added directional beacons (#38284)

* Added directional beacons

Signed-off-by: Nox38 <nebulousnox38@gmail.com>

* Fixed names

Signed-off-by: Nox38 <nebulousnox38@gmail.com>

---------

Signed-off-by: Nox38 <nebulousnox38@gmail.com>

* Power stat and nuke codes commands get some LEC love. (#38585)

* commit

* requested changes.

* Dsay Dirty and Follow commands converted to LEC and localized. (#38666)

* commit

* whoopwhoopwhoop

* Retro laser sprite fix (#38676)

* Fixed everything except the icon

Signed-off-by: Nox38 <nebulousnox38@gmail.com>

* fixed icon

Signed-off-by: Nox38 <nebulousnox38@gmail.com>

---------

Signed-off-by: Nox38 <nebulousnox38@gmail.com>

* fix water coolers (#38681)

* Monochromacy typo fix (#38686)

* fixes the typo

* Fixed cloning looking for the trait, not the component, RE https://github.com/space-wizards/space-station-14/pull/38686#issuecomment-3025093504

* Apply suggestions from code review

---------

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

* Validate `CloningSettingsPrototype`s (#38688)

* Validate CloningSettingsPrototypes

* Update Content.IntegrationTests/Tests/Cloning/CloningSettingsPrototypeTest.cs

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

* Check EventComponents too

---------

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

* Add test of objective-related console commands (#36400)

* Add test of objective add/list/remove commands

* Not sure why we're validating test prototypes, but sure

* We don't need a map

* Improvements and fixups for New Status Effect API (#38660)

* 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

* Healing and bloodstream prediction fixes.

* 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.

* Switch HSV to the default colorspace for character customization (#38434)

* Made HSV default for character editor

* Adds/fixes comments to HSV defaulting

* Added dropbox fix, potentially cursed

* Revert "Added dropbox fix, potentially cursed"

This reverts commit a709883366fbee813e839742125e70844672af29.

---------

Co-authored-by: TrixxedHeart <46364955+TrixxedBit@users.noreply.github.com>

* Fix: Don't deploy foldables when clicking on items inside containers (#38709)

* Fix

* Apply suggestions from code review

---------

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

* 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>

* Fix TextLinkTag (#32203)

* Adjust uplink buy button to be under item icon (#38596)

* Adjusted uplink buy button to be under item icon

* Put the discount subtext under the icon

* Indent fixes, added margin

---------

Co-authored-by: TrixxedHeart <46364955+TrixxedBit@users.noreply.github.com>

* Scurrets - Audio Improvements (#38482)

* Scurret audio tuning

* Add new sfx

* Update sneezing sfx

* YAML support

* Rename a folder

* make telesci wreck easier (#37569)

rel

* Validate `ShaderPrototype` IDs (#38728)

* Convert all shader prototype string literals to protoids in overlays

* Convert more shader prototype literal strings to protoids

* Convert ValidatePrototypeId to ProtoId

* Later

* [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

* Tiny Tiny Cleanup of the EyeClosingSystem. (#38734)

Update EyeClosingSystem.cs

* Fix human skin tone distribution (#38701)

* fix: Use PredictedQueueDel for gib spell (#38729)

* fix: don't default to uncharged sprite state for cells (#38730)

* Fix Hristov description - remove inaccurate technical specs (#38746)

- Removes inaccurate 'armor piercing 14.5mm shells' reference
- Replaces it with a more funny description, matching the style of the other snipers and guns
- Keeps ammunition type '.60 anti-materiel ammo' specification
- Fixes issue #38590

Co-authored-by: Arthur Fiorese de Andrade <aandrade@cmcxs.gov.br>

* feat: allow mopping evaporating puddles (#38743)

* Validate remaining `ProtoId` strings (#38747)

Validate remaining ProtoId strings

* Validate `ProtoId`s in tests (#38745)

* Convert string literals to protoids in Content.Tests

* Convert string literals to protoids or consts in Content.IntegrationTests

* Fix linter failures
Tricksy static using misled me

* Cleanup warning in StomachSystem (#38748)

you did not see this

* Vox scars (#38592)

* Added vox scars n'stuff, renamed vox_tattoos.ftl to just vox.ftl

* Revert "Added vox scars n'stuff, renamed vox_tattoos.ftl to just vox.ftl"

This reverts commit c73da55ba3b39ddf93b493aecd85604c54dd8a15.

* locale key fix

* Changed top surgery scar names to be more generalized

* Adjusted face scars

* Formatting fixes

---------

Co-authored-by: TrixxedHeart <46364955+TrixxedBit@users.noreply.github.com>

* 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>

* Typofixes for figurine dialogue (#38737)

* Typofixes for figurine dialogue

* Forgot two

* Janitor Tool: Wire Brush (#38667)

* Wow! It's -brush-

* spacing.

* Update Resources/Prototypes/Entities/Objects/Specific/Janitorial/janitor.yml

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

* Update Resources/Prototypes/Entities/Objects/Specific/Janitorial/janitor.yml

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

* fixed changes

---------

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

* Minor escape menu UX improvements (#38650)

* fix: spellbooks can have infinite charges (#38376)

* fix: spellbooks can have infinite charges

* refactor: indicate infinite spellbook charges with null

Not sure if I like this much better...
2025-11-06 18:22:39 +00:00
Tayrtahn 781ec9b715 Forbid string literals for `SharedToolSystem` methods (#38250)
* Forbid string literals for ToolSystem methods

* Cleanup violations

* Sort usings
2025-08-07 02:15:21 +02:00
Leon Friedrich e7ac40578a Fix AudioSystem nullability checks for engine PR (#32233) 2024-09-22 02:38:29 +01:00
Gorox221 1e910d9b66 Eject mech pilot alert (#31649)
* Bruh

* well

* yes
2024-09-14 14:27:11 +01:00
Plykiya 17a24e13a5 Replace xform.WorldPosition with xformSystem method for Setting/Getting (#30029)
* GET WORLD POSITON, ROTATION

* Missing parentheses

* ui system depndency

* the issue

* Unused

* Let the function do the transform

---------

Co-authored-by: plykiya <plykiya@protonmail.com>
2024-08-09 18:57:59 +01:00
Plykiya 6583105f10
Replace obsolete EntityWhitelist IsValid usages part 2 (#28506) 2024-06-08 20:03:26 +02:00
Verm 22c7f4e610
Welding tweaks (#27959) 2024-06-06 21:59:35 +02:00
Tornado Tech 91f0ba53e5
Cleans up tag system (#28272)
* Updated tag system

* Added params methods

* Fixed tag integration tests

* Fixed params methods recursion

* Revert has All/Any tag one argument realisation

* Updated tag integration tests

* Shit happens

* Added individual List/HashSet methods, docs, tests
2024-06-06 21:33:38 +02:00
Nemanja bacd52c991
Decouple interactions from hands, cleanup old events, add new fears (#28393)
* ok basic shit

* second part

* pretend it isn't real it can't hurt you.

* 👁️ 👁️

* shadowcommander review
2024-06-01 18:00:07 +02:00
Jezithyr 17ff17a0d0
Move GasMixture to shared (#27480)
* Moved GasMixture to shared

* Temp Fix for sandbox violation, idk why Array.Resize isn't working properly. It's already sandboxed.

* The most powerful webedit in history
2024-05-07 04:00:15 +02:00
metalgearsloth 1d63b4cfcb
Content update for UI prediction (#27214)
* Content update for UI refactor

* Big update

* Sharing

* Remaining content updates

* First big update

* Prototype updates

* AUGH

* Fix UI comp ref

* Cleanup

- Fix predicted message, fix item slots, fix interaction range check.

* Fix regressions

* Make this predictive

idk why it wasn't.

* Fix slime merge

* Merge conflict

* Fix merge

(cherry picked from commit 5896e6875266b22c565009b5d45f60ceb981d90a)
2024-05-03 00:15:32 +02:00
Leon Friedrich 01e6149cc1
Atmos device performance improvements (#26493)
* Atmos device performance improvements

* AtmosDirection perf improvements

* Fix errors

* Add GasTileOverlayComponent arguments

* Make excite no longer invalidate a tile

(cherry picked from commit 888a3bda515a214733bf748c5d6a7e7c923a301e)
2024-04-07 14:14:34 +02:00
Jake Huxell 7be31aab33
Reduced Warning Count By 130 For Full Rebuilds (#26518)
* remove deprecated entity coordinate extension functions. Reduces warning count by approximately 50

* final toCoords Removed

* Remove all unused variables and dead code paths

* remove always true variable, should be a cvar or something instead

* remove superfluous variables from tests

(cherry picked from commit 59e46aab93ca38f8d57fcad4e3a2c893737d9ad4)
2024-04-07 14:11:06 +02:00
Tayrtahn 11eff87687
Code cleanup: Dirty(Comp) (#26238)
* Replaced uses of Dirty(Component) with Dirty(Uid, Component)
Modified some systems (notably pulling-related) to use uids.

* Missed a few

* Revert changes to pulling

* No

(cherry picked from commit 4a83c365858830e3b2ff2b94fff501256422c20e)
2024-03-24 00:04:13 +01:00
nikthechampiongr ad5628777b
Simplify DoAfterArgs behavior for movement and distance checks (#25226)
* Merge BreakOnWeightlessMove and BreakOnMove. Provide different theshold for weightless movement.

* Adjust WeightlessMovementThresholds. Put a thing I forgot to put in the doafterargs.

* Make DoAfterArgs only use OnMove to determine whether to check for
movement and MoveThreshold to determine the threshold regardless of
weightlessness. Gave DistanceThreshold a default value which will always
be checked now.

* Fix issue introduced by merge.

* Use interaction system for determining whether a distance is within range

* Fix incorrect doafter args introduced by previous merge.
Forgor to commit these.

* Exorcise ghost.

The execution system should have been deleted when I merged previously.
For a reason I cannot comprehend it came back, but only the execution
system.

* Exorcise ghost Pt. 2

* Allow for movement check to be overriden in zero g and adjust doafter args where needed.

You can now override checking for movement in zero g with the BreakOnWeightlessMove bool. By default it will check.
The following doafters were made to ignore the movement check in zero g:
- Healing yourself with healing items,
- Removing embedded projectiles,
- Using tools like welders and crowbars

* Adjust distance for cuffing/uncuffing to work. Make injections not break on weightless movement.

* Fix evil incorrect and uneeded comments

(cherry picked from commit 362d56981fd7654f6ebec36f16cc8fabdd04b6a7)
2024-03-24 00:03:28 +01:00
LordCarve cd0b4082bd
Unify `Content`'s `EntitySystem` logging (#26216)
Use Log with generated sawmill name rather than explicitly named one for all non rule-based Content EntitySystems.

(cherry picked from commit eeaea6c25b496106eb741e93738f2ab8503949ba)
2024-03-23 23:51:39 +01:00
Errant 42ac528eda
Suffocation alerts for nitrogen breathers (#24373)
* Respiratorsystem namespace

* WIP gas alert update, does not work

* Finally

(cherry picked from commit 2737c80169853223660948931aadba894723fcaf)
2024-01-27 23:50:55 +01:00
themias 5467965041
Limit hydraulic clamps to one DoAfter at a time (#23982)
Limit Ripleys to one DoAfter at a time

(cherry picked from commit f8f5524fd50abb0d5910b0ca0d0badccd6d14854)
2024-01-26 22:33:42 +01:00
TemporalOroboros aebae6fab7
Content ecs containers (#22484)
(cherry picked from commit 7a77d6d5dd73a34be238fdebc284da5bc2917c67)
2024-01-22 18:47:55 +01:00
metalgearsloth b1ee2d48ff Unrevert audio (#21330)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2023-12-02 20:16:36 +01:00
deltanedas 21923cb2e6 mech nitrogen filtering 2 (#19868)
* target oxygen logic

* filter out nitrogen when low on oxygen

* vvrw and datafield for everything

* :trollface:

* bruh does work

* tagless chicken

* move into atmos, make it not depend on mech

* update mech prototype

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-11-12 20:45:18 +01:00
Leon Friedrich 1465c02a77 Move ActorComponent to shared (#21293) 2023-10-31 19:12:44 +01:00
DrSmugleaf 9cc8a7fc81 Remove 700 usages of Component.Owner (#21100) 2023-10-20 15:31:13 +02:00
metalgearsloth c9648da984 Content update for NetEntities (#18935) 2023-09-27 21:59:12 +02:00
metalgearsloth 1127b7961a
Fix MechAir datadefs (#19778) 2023-09-03 17:20:45 +10:00
deltanedas 79394e7e70
mech air overhaul (#19140)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-03 16:30:26 +10:00
metalgearsloth 4cfc578011
Revert "Remove most usages of obsolete TransformComponent methods (#1… (#19714) 2023-09-01 12:30:29 +10:00
Visne 1416942bea
Remove most usages of obsolete TransformComponent methods (#19571) 2023-08-30 12:05:19 +10:00
DrSmugleaf a88e747a0b
Refactor serialization copying to use source generators (#19412) 2023-08-22 18:14:33 -07:00
TemporalOroboros 3ac4cf85db
Cleaner BoundUserInterfaces (#17736) 2023-07-09 02:02:17 +10:00
metalgearsloth 68480af109
Update content vectors to numerics (#17759) 2023-07-08 14:08:32 +10:00
brainfood1183 cd7d4be188
HAMTR mech (hamster mech) (needs review) (#16393)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2023-06-08 16:33:35 +10:00
metalgearsloth cd487b66e4
Content mapmanager query changes (#16894) 2023-05-28 23:22:44 +10:00
deltanedas bc101e1fb5
H.O.N.K. mech (#14670)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-05-05 23:21:13 +10:00
deltanedas dd4cf48c0a
mech tweaks (#15619) 2023-04-24 17:00:36 -04:00
DrSmugleaf ec28358e06
Remove mech component references (#15246) 2023-04-09 15:20:55 -07:00
Leon Friedrich 19277a2276
More DoAfter Changes (#14609)
* DoAfters

* Compact Clone()

* Fix mice and cuffables

* Try generalize attempt events

* moves climbabledoafter event to shared, fixes issue with climbable target

* Fix merge (cuffing)

* Make all events netserializable

* handful of doafter events moved

* moves the rest of the events to their respective shared folders

* Changes all mentions of server doafter to shared

* stop stripping cancellation

* fix merge errors

* draw paused doafters

* handle unpausing

* missing netserializable ref

* removes break on stun reference

* removes cuffing state reference

* Fix tools

* Fix door prying.

* Fix construction

* Fix dumping

* Fix wielding assert

* fix rev

* Fix test

* more test fixes

---------

Co-authored-by: keronshb <keronshb@live.com>
2023-04-02 21:13:48 -04:00
Leon Friedrich 07667ae34b
Fix mech double interactions (#14672) 2023-03-24 12:42:43 +11:00
Slava0135 d03ca61da1
Telecom server panel check (#14523) 2023-03-23 20:09:45 -04:00
Leon Friedrich 2f88173730
DoAfter and other bugfixes (#14669) 2023-03-15 13:05:53 +11:00
keronshb 9ebb452a3c
DoAfter Refactor (#13225)
Co-authored-by: DrSmugleaf <drsmugleaf@gmail.com>
2023-02-25 01:01:25 +01:00
Nemanja 587df4c625
fix ripleys being able to grab everything (#13944)
Co-authored-by: AJCM-git <60196617+AJCM-git@users.noreply.github.com>
2023-02-05 12:44:35 -07:00
metalgearsloth 1f3dba9235
Fix mechs picking up portals (#13581) 2023-01-20 06:14:00 -08:00
Zoldorf 792c35f1ba
Mechs now subscribe and handle UpdateCanMove Events. (#13507) 2023-01-16 16:58:37 -07:00
Jezithyr eeb5b17b34
Mobstate Refactor (#13389)
Refactors mobstate and moves mob health thresholds to their own component

Co-authored-by: DrSmugleaf <drsmugleaf@gmail.com>
2023-01-13 16:57:10 -08:00
Nemanja 56bdfad912
mech bug fixes (#13155)
* mech bug fixes

* struct events

* fug
2022-12-24 15:33:08 -06:00
Leon Friedrich 881a2b2ece
PopupSystem public methods rejig (#12830) 2022-12-19 08:41:47 +11:00
Nemanja ef8db74533
mech equipment fix (#12969) 2022-12-11 05:31:55 -06:00
Nemanja 7702e334d7
fix ripley grabber bugs (#12962) 2022-12-10 15:00:04 -06:00