Commit graph

7713 commits

Author SHA1 Message Date
Dmitry
7244f00e83 merge remote wizden/master 2026-10-05 18:57:03 +07:00
metalgearsloth
55961aa603
Update for new render API (#45883)
* Update for new render API

- Fix mob movement incorrectly causing rotation lerps sometimes.
- Update API calls to use the new render-specific methods.

* Thanks rider

* augh wrong event

* Buckle, vehicle, and mover fixes

* Rename render poses to render transforms

* garbage
2026-10-05 17:31:10 +11:00
Whatstone
58dae1ce4a
Check RelayInputMoverComponent lifecycle when applying input (#46172)
* Remove operator relay components immediately

* Use EntityQuery for relay comp lookups

* learn your ABCs with whatstone

* Check component lifecycle, not immediate removal
2026-10-05 02:24:24 +00:00
Whatstone
07f97fffa6
Cleanup: Resolve/suppress many obsolete warnings, delete EntityPrototypeHelpers. (#46141)
* Resolve warnings, mostly obsolete

* resolve via the entitymanager directly, not wref

* Ent<T>, why not

* minimize test diff

* StorageTest: consistent print order

* ChameleonProj: use Disguised value consistently

* GasArrayTest: TryComp

* OrganPickingMarker: cache ILocalizationManager

avoids warning from Loc.TryGetString, and avoids multiple IoCManager hits

* FormattedMessage.FromMarkup to FromMarkupOrThrow

* rerun tests 🙏
2026-10-05 01:58:03 +00:00
Whatstone
a257d91f5f
Cleanup: Modernize MaterialReclaimerSystem (#46281)
* MaterialReclaimerSystem: cleanup

* more cleanup

---------

Co-authored-by: Pok245 <113675512+Pok27@users.noreply.github.com>
2026-10-05 01:54:56 +00:00
Whatstone
e91add1eae
Bugfix: Global comms consoles work without a station check. (#45836)
* Comms console consistency

* alert-level-unknown is kill

* Address Pok's suggestions

Co-authored-by: Pok27 <113675512+Pok27@users.noreply.github.com>

* Remove unneeded string interpolation from AlertLevelSystem.cs

1 char webedit gang

---------

Co-authored-by: Pok27 <113675512+Pok27@users.noreply.github.com>
2026-10-05 01:42:07 +00:00
Whatstone
8a80326d86
Bugfix: Check component lifecycle in SharedInteractionSystem.OnMoveAttempt. (#45999)
* blockmovement: check component lifecycle

* whitespace

* well, guess I'll clean up then

* private EntityQuery

---------

Co-authored-by: Pok245 <113675512+Pok27@users.noreply.github.com>
2026-10-05 01:15:31 +00:00
portfiend
b9b794deef
Microwave Refactor and Prediction (#43129)
* adjust fields of meal recipe prototype

* document microwave recipe datafields

* use file scoped namespace for microwave recipes

* more of this

* localize every microwave recipe

* make microwave system shared

* refactor recipe reagent contents

* refactor recipe solids + add material ingredient datafield

* im making this a bit less silly

* awa

* move this shit out

* move this shit out also

* refactor Wzhzhzh

* im gonna shorten this parameter by 1 actually

* move this into recipes

* make processcontents a little better(?)

* clean imports

* rename a struct

* use cooking ingredients struct

* comment

* use whitelist for this

* unused dependency

* rearranged the parameters of get recipe portions

* rearrange some stuff

* clean up more imports

* move container related functions into separate file

* move this function out of ProcessContents

* prevent microwaves from having items inserted while active

* use IsPowered in microwave system

* use byref syntax and Entity<>

* moving the override up
sorry i like it being up here

* refactor microwave updating

* clean up recipe finish logic

* im renaming this function actually

* move some functions around

* move more stuff around

* some comments

* fix compiler error

* fix the yml of all microwave recipes

* use materials instead of solids for this stuff

* oops

* fix this

* turn microwave sparks into datafield

* move activelymicrowaved events into separate folder

* make UpdateUserInterfaceState use entity only

* rearrange some functions

* move UI functions out

* comment microwave UI stuff

* more comments

* comment recipe functions

* refactor GetTotalIngredients to use an operator

* give CookingIngredients addition methods

* comment the rest of CookingIngredients

* make subtraction functions clearer?

* remove redundant comment

* handle zero/negative ingredient cases

* simplify subtract contents logic

* fix these comments

* typo

* add microwave recipe test

* move active microwave methods

* comment active microwave methods

* comment cooking methods

* comment microwave methods

* change setappearance to use entity<>

* add some public api decorators

* comment all of MicrowaveComponent

* use file-scoped namespace for MicrowaveComponent

* comment

* fix baguette sword

* maybe...?

* oh oops

* document the rest of the owl

* kill the massive YML breaking change

* fix protoman dependency

* move shared microwave stuff to SharedMicrowaveSystem

* fix usings

* move microwave components to shared

* fix up microwave datafields

* move APIs to shared

* move activemicrowave methods to shared

* initialize on shared

* move ui functions to shared

* add actor here

* stuff

* predict microwave update loop

* make clientside microwave system

* adjust the update loop for microwaves

* clean up

* add field deltas to microwaves

* dirty fields instead of whole component

* move this to the partial

* move GetRecipesForMicrowave to shared

* comments

* predict microwave BUI

* oops

* refactor microwave bui update

* move UI messages to shared

* move messages to UI file

* move init to shared

* move container methosd to shared

* oops my using

* move cooking functions into partial

* move cooking methods to shared

* move microwave recipe methods to shared

* move the rest of the microwave events to shared

* update imports

* remove custom type serializer

* better (?) microwave UI prediction

* fix list notations

* OK IT WAS THE DATAFIELDS

* add IOC inject

* dont use IOC for htis

* sealed

* prediction fixes pt1

* make microwave cooking updates more consistent

* datafield tweaks

* test for multiple portions in microwave recipes

* test for multiple recipe portions

* better(?) prediction for malfunctions

* remove redundant comment

* prevent solution reactions in microwave

* cleanup some microwave stuff

* eh i think this should be container actually

* this can be API i think

* reduce system redundancy

* this has to be public

* use resolve pattern for explode

* use GetMicrowaveContents in microwave system

* this can be an API too

* add conversion script for unlocalized recipes

* use EnsureComp instead of AddComp

* suffering

* fix recipe prediction

* fix the audio

* reduce redundant networking

* i think this should be autopaused?

* nevermind we use dynamic portions in the test

* oops i wrote the test wrong

* make lemoon cake take 2 lemoons again
sorry test fail

* rename "materials" to "stacks"
realized theyre different

* add stack guidebook quantities

* Kill audio

* fix lemoon cake recipe for real?

* mark PortionedRecipe as a datadefinition

* fix the microwave timer

* review

* cleanup

* Update SharedMicrowaveSystem.Recipes.cs

* update

* add audio params

* review: inject microwavesystem

* review: named variable

* review: move dependencies

* review: use gametest for recipe test

* review: make access attributes standalone

* rename prototypes and datafields

* review: rename this var

* review: move this function down

* review: remove these scripts

* actually this should stay

* refactor cook time buttons

* review: use a color name for this

* fix timer reset

* Dirty

* review: make ActivelyMicrowavedComponent networked

* review: slarti comments part 1

* review: remove serializable attribute from CookingIngredients

* rename file

* review: more microwave audio boilerplate. yippee!

* review: use resolve pattern for TryGetStackId
i dont like the way this makes the rest of the code look but we ball maybe. i dont know what else to do here

* review: move ui update to constructor

* review: kill LastCookUpdated

* actually i do this instead

* fixed up the PR

* cleanup

* ///

* Update microwave.yml

---------

Co-authored-by: Princess Cheeseballs <66055347+Princess-Cheeseballs@users.noreply.github.com>
Co-authored-by: Pok245 <113675512+Pok27@users.noreply.github.com>
2026-10-04 23:38:48 +00:00
Whatstone
09ac03b932
Door/FirelockComponent cleanup + nullable layer states + firelock panel fix (#44714)
* destroy firelock empty sprites with fury

* fix the meta.json

* remove unused states

* we need all the layers

* string? never heard of it

* DoorSystem cleanup, FirelockSystem layer checks

* DoorComponent cleanup

* FirelockComponent cleanup

* firelock panel animation

* fix offset (-15/16, bad math)

* component cleanup and comments

* door cleanup

* 9-state firelock animations, no locked/deny state

* "comments"

* dedicated edge firelock panel, null airlock states

* screw it, subscriptions for airlocksystem too

* format

---------

Co-authored-by: Pok245 <113675512+Pok27@users.noreply.github.com>
2026-10-04 22:47:04 +00:00
InsoPL
b383ea8504
Strapable Supplybot (#43786)
* supplybot

* fix for being able to buckle to itself
2026-10-04 15:29:52 +00:00
InsoPL
cfd925d9e7
Vacuum shader (#46038)
* init

* slider

* fixes

* fixes

* vacuum

* toggle

* turned on be default lol

* typo

* mediump

* marker thingis

* GetWorldPositionRotationMatrixWithInv

* cvar dynamic

* fixes

* magic numbers bad

* discard

* refactors will continue until clean code improves

* format

* comm

---------

Co-authored-by: Pok245 <113675512+Pok27@users.noreply.github.com>
2026-10-04 12:58:17 +00:00
SlamBamActionman
64381ef101
[Stable -> Master] Hotfix: Fix melee wideswing damage exploit (#46299) (#46312)
Hotfix: Fix melee wideswing damage exploit (#46299)

* Initial commit

* TrimExcess to Take
2026-10-04 12:11:29 +02:00
SlamBamActionman
94087a918a
Hotfix: Fix melee wideswing damage exploit (#46299)
* Initial commit

* TrimExcess to Take
2026-10-04 11:50:25 +02:00
Orvex07
29668eb5a3
Predict swappable instrument verbs and small-minor clean up (#46292)
* ref: swappable instrument + loc

* null! -> default!
2026-10-03 16:46:33 +00:00
Orvex07
0abe545050
Predict holopad projector verb and minor cleanup (#46291)
* predict holoadp verb

* fix format

* default! -> null!

* tidy up hlsys layout
2026-10-03 16:46:18 +00:00
Zekins
be7f23bd65
Пустая Проверка (#3754)
Добавляет проверку на whitespace-only файлы в CI
2026-10-03 21:25:54 +05:00
metalgearsloth
0908314c98
Update turnstiles to use Math instead of MathHelper (#45543)
Co-authored-by: Pok245 <113675512+Pok27@users.noreply.github.com>
2026-10-02 18:38:59 +00:00
Khaomi
bf6ca7bc31
Fixed StrippableComponent having the wrong localization string (#43850)
* localization(strip): Wrong localization string

* feat: add missing parameter from merge
2026-10-02 17:35:34 +00:00
āda
fb9401cf6a
EntityInsertConstructionGraphStep accepts an amount (#46268)
* commit

* self review

* x

* format

---------

Co-authored-by: iaada <iaada@users.noreply.github.com>
Co-authored-by: Pok245 <113675512+Pok27@users.noreply.github.com>
2026-10-02 02:09:40 +00:00
Whatstone
3bce58629d
Add rear velocity compensation for projectile spells. (#46275)
* Allow projectile spells to set velocity inheritance

* dot product suggestions

* finish the damn comment

* little cleanup, a few comments, use the coeff

* magic system cleanup

* no default for structs

---------

Co-authored-by: themias <themias5@gmail.com>
2026-10-02 01:56:43 +00:00
Orvex07
7d9bf9169c
Fix: hide rotate verbs for inventory items (#46277)
mo need to spin stuff in your pockets -_-
2026-10-02 00:48:05 +00:00
āda
9619bc3770
Fix localhost linter (#46251)
linter therapist

Co-authored-by: iaada <iaada@users.noreply.github.com>
2026-10-01 16:22:35 +00:00
jckspjf
b6bcb7815f
Thief Command Hardsuits Objective (#46200)
* Command Hardsuit Objective, stealGroup is now a list

* difficulty buff considering its command hardsuits
2026-10-01 16:14:33 +00:00
Dmitry
fe8489e83a upstream fix 2026-09-30 14:30:21 +07:00
Princess Cheeseballs
09b80ab993
Make codewords mind role based (#46167)
* make codewords mind role based

* whoop
2026-09-30 06:53:09 +00:00
Dmitry
9f20d8bc46 merge remote wizden/master 2026-09-30 12:45:41 +07:00
Dmitry
b1861ffb69 merge remote wizden/master 2026-09-30 12:42:28 +07:00
Fildrance
ec01361c4e
Bind type of EntityTableContext keys to expected values (#46214)
* refactor: EntityTableContext methods now use strongly typed keys, which are bound to type of value you want to extract from context.

* refactor: remove unused attributes

* refactor: extracted EntityTableContext into separate file, fixed xml-doc
2026-09-30 03:04:19 +00:00
Jessica M
2dbcfa7649
Tweak dynamic rule a bit (#46249)
* lets see how well it works ???

* MOVE the calm events and rat king and stuff into the dynamic

* lets see about that shit
2026-09-30 01:15:05 +00:00
riccardi48
801c900b42
CargoSystem.Telepad Cleanup (#46215)
* SubscribeLocalEvent attr

* reorder

* Entity<T>

* Accumulator is kill

* naming consistency

* combining if statements

* database is one word

* needed

* This is called in SetData anyway

* small things

* This need to be before

* AutoPausedField

* Fixed unpowered telepad still working (oops)

* delay after repowered

* Update CargoSystem.Telepad.cs

---------

Co-authored-by: Pok245 <113675512+Pok27@users.noreply.github.com>
2026-09-29 20:55:10 +00:00
riccardi48
f1348da208
Missed capitalisation (#44875)
* big U

* Docs

Co-authored-by: Whatstone <166147148+whatston3@users.noreply.github.com>

---------

Co-authored-by: Whatstone <166147148+whatston3@users.noreply.github.com>
2026-09-29 17:37:27 +00:00
AftrLite
340a74f453
Sharedify more of GlobalSoundSystem (#46120)
* initial commit

* documentation

* inheritdoc

---------

Co-authored-by: Pok245 <113675512+Pok27@users.noreply.github.com>
2026-09-28 15:05:56 +00:00
portfiend
477cbdf8cd
Add examine text for tool refinable entities (#46191)
* the owl

* add butchering verb / text

* make mobs use butchering verb

* comment

* awa

* change these to use the subscription attributes while we're at it

* Update Content.Shared/Tools/Systems/ToolRefinableSystem.cs

Co-authored-by: Pok <113675512+Pok27@users.noreply.github.com>

* Apply suggestion from @Pok27

Co-authored-by: Pok <113675512+Pok27@users.noreply.github.com>

---------

Co-authored-by: Pok <113675512+Pok27@users.noreply.github.com>
2026-09-28 11:42:29 +00:00
Whatstone
231dbb02d5
Fix toilet visuals, comment ToolOpenableComponent. (#46185)
* better toilet visuals

* unshaded lights 👀

* better comments, LocId for name

* formatting

---------

Co-authored-by: Pok245 <113675512+Pok27@users.noreply.github.com>
2026-09-28 02:54:42 +00:00
āda
3d0ab6ae0a
Reopen #45584 Station Map Construction Graph Improvements (#45625)
* commit

* surprisingly easy

* graph improvements

* new sounds

* all the sounds

* redo the sounds and also microbal

* Revert "surprisingly easy"

This reverts commit b0b0f8aa6b07ac7a0bfe915a50c0e3294e05d68a.

* Early merge container fill PR

* context

* refactor: cleanup ContainerFillSystem.OnTableMapInit, more xml-doc for EmptyContainerCondition

* remove stray edge and add a few more comments

* microbalance and better construction behavior

* remix audio for loudening

---------

Co-authored-by: iaada <iaada@users.noreply.github.com>
Co-authored-by: Fildrance <fildrance@gmail.com>
2026-09-27 19:17:28 +00:00
Rachel
927ad18d81
Zombies now have hands (less metagameable in the strip menu) - but they're too clumsy to hold anything. (#45721)
* Solving #43723 by making zombies clumsy (they are unable to hold anything in their hands, passing items to them will fail).

Also made zombies uncuff themselves whenever they transform (seeing as they no longer lose their hands meaning that cuffs would otherwise remain on them)

* Cleaning up the code

* Renamed ClumsyHoldStatusEffectComponent.cs to ClumsyGrabStatusEffectComponent.cs (and renamed associated files).

I think "ClumsyGrab" works better than "ClumsyHold" (as the effect happens when the item is first grabbed, not whilst the item is being held).

everything still works

Reordered appropriate functions in ClumsyStatusTest.cs and ClumsyStatusEffectSystem.cs to retain alphabetical order.

* oopsies :p

* Appeased the YAMLLinter (at the cost of a somewhat hackier implementation).

ZombieSystem.Transform.cs now applies the zombie clumsiness via creating a new PermanentStatusEffectComponent with StatusEffectClumsyZombie as its status effect.

* requested changes have been made

(also re-added newline to end of clumsy-component.ftl because it has a newline at the end of it on the master branch, I guess it's probably supposed to be there)

* reordering so private members (including new one) are before the internal member

* hands are forcibly emptied - even if something's glued to them.

* UnZombify should remove the lingering ZombieClumsy status effect

(still needs to revert the rest of the zombification process, but at least the new bit I added can be undone)

* Minor refactor of my own refactor. New order of operations:

1. Uncuffs zombie (if needed)
2. Attempts to `DropAll` items from hands
3. Iterates through hand containers to empty them (removes otherwise unremovable items from hands)

Will refactor process to force drop all items if #45844 becomes implementable + is merged.

* formatting

* how the hell did the metabolizer code go missing!?

* uncuffing now happens in a safer way

less likely to accidentally infinitely loop

* tweaking that one comment I was asked to tweak (this is unrelated to the hand malarkey)

hopefully it won't lead to any merge conflicts later on

* formatting

* file style

---------

Co-authored-by: Pok245 <113675512+Pok27@users.noreply.github.com>
2026-09-27 19:04:52 +00:00
Whatstone
cdd526ee0a
Fix killer tomato visual bug after mutation, cleanup Plant*System IComponentFactory instances. (#46201)
* MutationSystem: take GrowthStages from new plant

* get the rest of the IComponentFactory instances

might as well

* todo bem
2026-09-27 17:05:57 +00:00
Rachel
28ad6ceaea
minor tweak to TryForcePickup (#45903)
only calls TryDrop if selected hand isn't empty, returns false if TryDrop fails (no need to TryPickup if there's no space in hand).
2026-09-27 17:00:32 +00:00
Rachel
cc0111e46d
Simplified HandIsEmpty implementation (#45902)
* Simplified HandIsEmpty implementation

previous implementation called GetHeldItem, which itself calls TryGetHeldItem. Refactored to just call TryGetHeldItem directly.

also added doc comment

* whoops
2026-09-27 16:32:28 +00:00
SeungWon Kim 김승원
b3c493ffb3
Fix mobs without hands like zombie or mouse being able to switch settings on the kitchen electric grill (#46161)
* fix: 🐛 Fix eletric grill's switch setting condition

* fix: 🐛 Use `ActionBlocker.CanComplexInteract` for eletric grill's switch setting condition

Check out https://github.com/space-wizards/space-station-14/pull/46161#discussion_r4094888577
2026-09-27 16:11:13 +00:00
metalgearsloth
a3cbf7ea68
Avoid assigning tool autonetworkedfield (#46071)
Sitting there for 4 years.
2026-09-27 13:24:58 +00:00
TheShuEd
6a93e3150b
ActionContainer null exception fix (#46195)
Update ActionContainerSystem.cs
2026-09-27 03:04:24 +00:00
Princess Cheeseballs
015a1a44d0
Fix Dynamic Rule (Real) (#46197)
fixe
2026-09-26 22:11:51 +00:00
Princess Cheeseballs
083f3aaacb
Staging -> MASTER (#46196)
* fix-PlantTraitLigneous

* HarvestToolQuality

* Update PlantHolderSystem.Relay.cs

* cache default storage size

* write a little test, also unused dep

* const string it is

* why no, I don't know how to write tests

how did you know?

* HandledHandledHandled

* TestPrototypes are overrated.  Apply Pok's sugg.

Co-authored-by: Pok27 <113675512+Pok27@users.noreply.github.com>

* BRACES

* bullied by a pizza

Co-authored-by: SnappingOpossum
<181905634+SnappingOpossum@users.noreply.github.com>

* scamboni also pizza credit

Co-authored-by: SnappingOpossum <snappingopossum@outlook.com>

---------

Co-authored-by: Pok245 <113675512+Pok27@users.noreply.github.com>
Co-authored-by: Whatstone <whatston3@gmail.com>
Co-authored-by: SnappingOpossum <snappingopossum@outlook.com>
2026-09-26 14:59:21 -07:00
Princess Cheeseballs
632b261a8b
Fix Ligneous Plant Trait (#46072) 2026-09-26 13:13:26 -07:00
Cabin-keeper
32a357397b
Bloodstream multiplier is 1.2 instead of 2x (#46193)
change bloodstream multi to 1.2 instead of 2
2026-09-26 12:54:22 +00:00
Princess Cheeseballs
f6fd7de6ec
Mild Cryopod changes before stable (#45452)
* mild cryopod change

* boergere

* lower it again

* asdsdaasddsa

* they call me flip mcflop
2026-09-25 14:44:40 +00:00
Whatstone
df0490c151 BRACES 2026-09-24 18:52:17 -04:00
Whatstone
780728237a TestPrototypes are overrated. Apply Pok's sugg.
Co-authored-by: Pok27 <113675512+Pok27@users.noreply.github.com>
2026-09-24 18:50:28 -04:00
Pok245
0e6932a56f HandledHandledHandled 2026-09-25 01:01:54 +03:00