Commit graph

1585 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
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
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
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
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
bf8b4e7b6f bullied by a pizza
Co-authored-by: SnappingOpossum
<181905634+SnappingOpossum@users.noreply.github.com>
2026-09-25 08:07:31 -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
Whatstone
39a0ac38aa why no, I don't know how to write tests
how did you know?
2026-09-24 17:38:12 -04:00
Whatstone
bb305e6d7d const string it is 2026-09-24 17:27:32 -04:00
Whatstone
d05fce077c write a little test, also unused dep 2026-09-24 17:14:34 -04:00
Princess Cheeseballs
f8a29e834b
Fix Infinite Sleeper Agents + Tests (#46065)
* would you rather have infinite traitors but no game or infinite game but no game

* whitespace of doom

* also don't need that anymore!

* I'm fucking stupid actually :P

* fix that bug before someone else has to dive it in 2030

* pish

* merge my fixes!!!
2026-09-22 18:30:24 +00:00
SlamBamActionman
0cd76c7bac
Add industrial smelters (admin only) (#43651)
* Initial commit with shredder base functionality

* Fix items being deleted and make items continue moving after a grid tile gets deleted

* Make a bunch of previously unpullable/unrecyclable things work

* temp commit

* Fix the recycling hitbox to actually be good code

* Fix material spawning via tiles

* Finish up the prototype visuals for the shredder

* SHRED EVERYTHING

* Add reduced efficiency for recycling with shreder

* Fix miss in conflict merge

* Make more things pullable

* Update shredder textures to look different to recyclers

* Remove unused

* "fix" repairability and sprites

* Update sprites, set up TODO-s

* Fix switches, description

* Fix up some comments

* Add "Do Not Map" to the smelter

* Add to meta.json

* Review fixes

* Review changes

* Review changes

* Remove readonly in new system

* Aaaand partial class

* Fix the final test issues

* Update and resolve merge conflicts

* Update the impulse strength to match new mass values

* Fix issues after merge conflict

* Update size, fix physics resolve errors, prevent computers/circuitboards from being deleted

* Review comments

* Fix tiles giving steel

* Add a todo about tilestacking
2026-09-22 09:04:21 +00:00
Dmitry
cb9bcf9528 Merge remote-tracking branch 'space-wizards/master' into upstream 2026-09-18 20:34:44 +07:00
Princess Cheeseballs
1e1f7748fe
Fix ancient 2022 ghost test failures (#46060)
* fix ancient 2022 ghost test failures

* remove my logs

* update the comment to be accurate

* remove braces

* better loggeewafsafasafsafsfasfasfasafs

* What does bro even do?
2026-09-18 04:12:59 +00:00
Dmitry
73ffef2ac0 merge remote wizden/master 2026-09-17 23:33:06 +07:00
Whatstone
a023e5784c
Cleanup: Remove byte order markers from most files (#45796) 2026-09-17 23:23:54 +10:00
Princess Cheeseballs
2c6ffecf62
Move GameTicker to Shared (#45834)
* Scope creep my ass

* why was this shit not pushed????

* gone...

* fix that

* review plus buildd

* asfsafsafsafsafas

* grug

* burber

* I'll fix this later

* shrimply die

* also this

* it's snerf or snuthin

* assaads

* round snend

* aaaa

* fix this shit for real

* actually, don't start GameRules until MapInit now that I think aboot it.

* forgot u

* don't actually need this part nullable

* Deffer comp removal

* one liner

* do that too

* chungus

* Honestly makes more sense here, plus WHY are we doing all that shit on "GameRuleAdded" rather than GameRuleStarted(?)

* deferred removal :V

* aaaaaaaaaaaaaaa

* whhop

* Whoop

* better

* landmine that I placed for myself then forgot about lmao

* cleanup

* FUCKING `!`

* gotovo

* amogus

* please don't check by metadata I beg

* waawsasfdfsasfa

* sfafsasfafsas

* fdsaasffsasfa

* code

* fix

* fasasffasfasfsad

* chungaas

* I may be stupid

* gra

* graaaaaaaaaaaaaaaaa

* comment

* gra

* clearing is not predicted and would require major refactors, so don't cache on client.

* lame shit :P

* last holes

* nukeopsfsafsasafsfafsa

* why  was that shit public bruh

* bubrbgwahrghfaka

* dynamic

* revert change that did nothing lmao
2026-09-16 19:34:19 +00:00
Dmitry
bf22949b5b merge remote wizden/master 2026-09-06 14:40:48 +07:00
Princess Cheeseballs
bb98838d67
Energy Bow Nerf (#44138)
* phase 1

* delayed knockdown

* brudda

* microbalance

* enrrhguy gjkasnnboew

* does nothing

* whoop

* fix YAML linter

* some more changes

* no discounts

* I hate ContainerContainer

* gorbino's quest

* asfassaffsa

* dgdgsdgsgds

* humburber

* better description

* make it a metabolite...

* nevermind

* API text

* grok

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-09-05 23:45:37 +00:00
Sir Warock
ec63a41842
Cleanup of UseDelay (#45350)
* Moving into Systems & Components Folders

* splitting into API file

* Make Method accept null values

* small fix
2026-09-05 17:10:50 +00:00
Artem Lytkin
802b4e98a0
Only let the defib report on the entity it was used on (#45858)
Since #45062 the zap chain also covers whatever the target is buckled
to or pulled by, and TryRevive spoke its diagnosis for every one of
them. A patient on a bed therefore got an "inanimate object" warning
about the bed. Keep the chain heal/shock, emit the message only for
the original target, and cover it with an integration test.
2026-09-05 16:54:18 +00:00
UpAndLeaves
95432adaf4
Crew-sided stuns rebalance (#45823)
* Crew-sided stuns rebalance

* Test fail real

* Some otherwise unintended consequences

* More missed stuff

* I always forget stuff

* Fix shotgun

---------

Co-authored-by: SlamBamActionman <slambamactionman@gmail.com>
2026-09-04 15:51:01 +00:00
Dmitry
ec0bc8c3fa Merge remote-tracking branch 'space-wizards/stable' into stable-upstream 2026-09-04 03:39:30 +07:00
ScarKy0
9e065f7453
Fake Armblade Sting (#45724)
* init

* further work

TODO:
- Sprite
- Fix sound playing if item(s) were removed

* work work work

TODO:
- Sprite

* clean

* sprite

* yeah

* guh

* multi item support

* Update ForcedItemStatusEffectComponent.cs

* review + balance i dk
2026-09-03 19:58:20 +00:00
Fildrance
9c8df525bc
Stable to master sink after release 2026-08-31 (#45785)
* HOTFIX TeleportActionSystem map coords (#45659)

* Fix target map coords

* Improve performance

* Bonus improvement

* refactor: updated changelog

* refactor: fix changelog entry

---------

Co-authored-by: Fildrance <fildrance@gmail.com>

* [HOTFIX] fixing chameleon projector (#45689)

SpriteSystem.CopySprite instead of direct Copy Component

* Hotfix - Grappling gun assuming either end has physics component (#45683)

a can of monster does miracles at 4am

* Hotfix: Return hunger slowdown back to Starving from Peckish (#45693)

move hunger slowdown back to starving

* HOTFIX Set AI camera static to accessible variant by default (#45673)

* disable AI static

* comment

* [HOTFIX] Prevent Off-Station Objective Targets (#45692)

* init

* targets

* attempt 1 at this

* init

* rename file

* dont roll unkillable antags for kill objectives

* refactor: do not allocate on MindGetAllAntagTags when fail to get MindComponent, remove unneeded linq

* refactor: cleanup and added test for new condition. might be oddly specific but...

* oversight

* refactor: test cleanup after review

* refactor: fix changelog (AGAIN GOD DAMMIT)

* refactor: revert changelog thing, make it separate PR

---------

Co-authored-by: Fildrance <fildrance@gmail.com>

* [HOTIFX] Changelog actualisation for stable release (#45738)

* [HOTFIX] fix: make changelog discord publication not fail on missing 'labels' (#45779)

fix: make changelog discord publication not fail on missing 'labels' tag in changelog entry (which does not exist).

---------

Co-authored-by: Connor Huffine <chuffine@gmail.com>
Co-authored-by: xsainteer <156868231+xsainteer@users.noreply.github.com>
Co-authored-by: Velken <8467292+Velken@users.noreply.github.com>
Co-authored-by: Whatstone <166147148+whatston3@users.noreply.github.com>
Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
2026-08-31 23:13:01 +03:00
Rouden
cc2c14f8e4
Device Network refactor part 1: API improvements (#44346)
* Refactor DeviceNetwork

* Singleton

* NetworkPayloads refactor

* Reorganize DeviceNetworkSystem

* Surveillance cameras

* Fix code

* Fix build

* Fix test fail by rewriting entire singleton logic

* Properly predict examine

* Update DeviceNetworkSystem.API.cs

* Update EntityTest.cs

* Update DeviceNetworkSystem.cs

* Alright I'll do this expensive check fine

* Fix disposals debug assert

* Implement device network static events support

* Use frozen dictionaries for performance

* Update SharedDeviceNetworkSystem.Payloads.cs

* Parallel payload handling support

* Fix some spagetti-code

* Optimize NetworkPayload cancellation

* Parallel payloads are now cancellable

* Fix screens

* Fix robotics console

* Allow new methods for shared

* Mail fix

* Turret fix

* Fix network system method usage + signal and borg fix

* finally fix atmos devices OH MY GOOOD

* Remove stupid parallelism from fax

* Fix surveiollance cameras

* Working on a single thing for 2 days straight award

* Fix the test?

* Update units.yml

* Add IDevice interface because why not

* Add more device network suffixes

* Fix camera router failing test

* yaml linter peak

* Improve docs for DeviceNetworkHandlers

* fix build

* Update CartridgeLoaderSystem.Relay.cs

* Remove parallel system and EntitySystem post init

* Add more docs and also events

* Remove unnecessary caching

* Update DevicePayloadComponentSystem.cs

* Back to entity events

* Implement DeviceData

* Remove serializable from payloads

* Update DeviceData.cs

* Add a prototype for a singleton

* Fix tests

* Fix air alarms

* Update DeviceNetworkSystem.cs

* Fix cameras

* Make camera router event-less

* Fix atmos sync payloads, add more docs

* Remove singleton + instant packets

* oops remove public access

* Fix tests?

* Why the hell overload effect makes puddle sparks

* Apparently it was redundant

* Update gates.yml

* Finish documentation

* Review

* Mark relay properties as obsolete

* Struct payloads support (#blazinglyfastmemorysafe)

* Update DeviceNetworkTest.cs

* Make device structs stuff better

* Move address prefix to DeviceNetworkComponent

* Locale fixes

* Fix tests

* Doesn't know boolean logic award

* Update AtmosAlarmableSystem.cs

* Fix address predicted examine

* Partial fix to air alarmables

* Fix deployable turrets UI

* Fix firelocks, maybe

* Apparently Activatable UI was enough lol

* Fix surveillance cameras

* Rename `QueuePacket` into `SendPacket`

* Simplify DeviceData as much as possible

* Update DeviceData.cs

* Update FaxMachineComponent.cs

* Remove DeviceData because its stupid

* Update ScreenSystem.cs

* Fix build (camera map broken still)

* Fix map

* fix usings

* Review changes

* Build fix
2026-08-31 19:42:56 +00:00
ScarKy0
f0df68011c
[HOTFIX] Prevent Off-Station Objective Targets (#45692)
* init

* targets

* attempt 1 at this

* init

* rename file

* dont roll unkillable antags for kill objectives

* refactor: do not allocate on MindGetAllAntagTags when fail to get MindComponent, remove unneeded linq

* refactor: cleanup and added test for new condition. might be oddly specific but...

* oversight

* refactor: test cleanup after review

* refactor: fix changelog (AGAIN GOD DAMMIT)

* refactor: revert changelog thing, make it separate PR

---------

Co-authored-by: Fildrance <fildrance@gmail.com>
2026-08-31 12:31:47 +03:00
āda
cbbc651957
EntTable EmptyContainerCondition (#45583)
* surprisingly easy

* touchup

* comment

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

* tested

---------

Co-authored-by: iaada <iaada@users.noreply.github.com>
Co-authored-by: Fildrance <fildrance@gmail.com>
2026-08-24 16:00:55 +00:00
Fildrance
ff495df549
Injecting entity table conditions into context (#45231)
* refactor: entity table condition injection and hierarhical condition checks

* refactor: rename IsNotRepeatingCondition into ExcludeEntitiesFromContextCondition, simplify EntityTableSelectorWithChildrenBase.CheckConditions logic, + new test

* refactor: fix test using old name of condition

* refactor: renaming

* refactor: fix no condition + RequireAll case and added test

* refactor: GetSpawns no more virtual

* refactor: more tests!

* refactor: use ScopedConditionsRestore for child conditions in EntityTableSelectorWithChildrenBase, not for current type conditions
2026-08-24 00:12:07 +00:00
Dmitry
ac1942bffe Merge remote-tracking branch 'space-wizards/master' 2026-08-23 17:13:51 +07:00
chromiumboy
bbf24f904f
Atmospheric pipe layers YAML simplification (#44507)
* Initial commit

* Variantized most of the basic atmos devices

* ConstructionPrototype.AlternativePrototypes was removed

* Added Vox and freezer vent/pump variants

* Added prototype variants for thermomachines

* Added TODO for testing prototype variants

* Updated construction recipes

* Fixed naming error

* Attempt revert changes to RT

* Attempt to revert changes to RT

* Reverted unnecessary breaking change
2026-08-23 03:03:03 +00:00
Dmitry
aab252a2f5 merge remote wizden/master 2026-08-20 15:22:12 +07:00
Dmitry
cc755de98f merge remote wizden/master 2026-08-17 19:25:12 +07:00
Fildrance
1a5e9acb24
Extract notify on non-functioning from emitter (#45346)
* refactor: extracted notify-on-non-functioning feature from emitter component

* refactor: revert server side PowerStateSystem usage of SubscribeLocalEvent - it is not calling base Initialize, skip SetWorkingState raising event on init

* refactor: ensureAPC is now conditional for powerstate

* refactor: fix double notifiation on destruction and on un-powering for emitter

* refactor: added LocTurnedOff for NotifyOnNonFunctioningComponent, fix double alert on destruction, removed emitter-deconstructed-broadcast as it is unused (cannot deconstruct withou unanchor)

* refactor: modernize server PowerStateSystem subscription

* refactor: update and modernize PowerStatePrototypeTest

* refactor: give APE specific radio message upon unlocking

* refactor: extracted PowerStateSystem.SetPowerLoad to split init from triggering is-working change event

* Update Content.Server/Power/EntitySystems/PowerStateSystem.cs

---------

Co-authored-by: AJCM-git <60196617+AJCM-git@users.noreply.github.com>
2026-08-16 23:08:58 +00:00
Centronias
ee5a413134
Make satiation able to increase over time & reframe satiation not assuming it decays by default (#45244)
* flerp

* pr comments: mostly comment editting, but also add one missing dirty for alerts

* force basesateffect to run update on first load

* I have ridden the mighty moon worm

* oh good, it just didn't work before :)

* oop
2026-08-16 16:17:45 +00:00
Whatstone
f32bc056ae
Fix entity leak in SaveLoadSaveTest, StackTest cleanup (#45079)
* StackTest await consolidation, clean SaveLoadSave

* you know what they say about assumptions
2026-08-16 09:40:04 +00:00
Andrei Hava
0b3e40713c
Make AFK events shared (#44995)
* Make AFK events networked

* Make AFK events ByRef again

* Fix compilation error

* fix

* Primary constructors
2026-08-16 06:05:32 +00:00
metalgearsloth
4de7f7322f
Remove TCS for constructioncomponentvalid (#45179)
* Remove TCS for constructioncomponentvalid

Shaves 1m of test time off of my PC can't imagine how much for gh runner.

* refactor: modernize ConstructionPrototypeTest.ConstructionComponentValid a tiny bit

---------

Co-authored-by: Fildrance <fildrance@gmail.com>
2026-08-15 22:10:46 +00:00
DrSmugleaf
82e28037a6
Make creating the database not take 2 whole seconds in integration tests (#45151)
* Make creating the database not take 2 whole seconds in integration tests

* gramar
2026-08-14 18:44:34 +00:00
DrSmugleaf
65f5f67cd5
Make every EntitySystem partial (#45220)
* Make every EntitySystem partial

* Oobs thats for a diff PR

* Also oops on that one

* Test systems

* git are we fr

* Update file templates

* cleanup empty classes while we are here

* forgor

---------

Co-authored-by: AJCM-git <ajcm_mail@disroot.org>
2026-08-14 18:24:47 +00:00
Winkarst
b0026453c4
Refactor: Split `StunbatonComponent` into generic components (#44870)
* Refactor

* Update

* Rename

* Update prototypes

* Fix OnCollide

* Review

* Update

* Cleanup

* Update

* Update

* Update

* Cleanup

* Missed
2026-08-14 18:19:10 +00:00
Dmitry
341a710cea merge remote wizden/master
total resprite
2026-08-15 00:37:50 +07:00
Dmitry
9f63526a33 merge remote wizden/master 2026-08-14 18:06:13 +07:00
Whatstone
195cd4bd45
Heisentests: SkinColorationStrategy.VerifyClamped for nearby RGB lookup, avoid HSV/HSL roundtrips (#45237)
* Add VerifyClampedSkinColor

* skin coloration tests

* haha just joking, unless...

* won't somebody think of the poor reviewers

* remove duped proto

* remove N=10000 test cruft

* remove added whitespace

* null coersion, not empty coersion

* Fix testColor assignment, reason nullability
2026-08-13 23:20:33 +00:00
Emisse
689de19a71
derotate 3 maps (#45302)
derotate maps
2026-08-12 22:11:16 +00:00
AftrLite
4645e40b60
The Respritening - Batch 1 (#44857)
* initial commit
LICENSES / COPYRIGHT ARE NOT FINALIZED.

* test push per ArtisticRoomba

* more progress

* nearly done

* push

* more progress

* second big wave
LICENSING REMAINS INCOMPLETE

* more progress + attributions

* astrotile consistency

* walls attribution pass!

* marble walls, concrete tweaks, attribution fixes

* linter fixes, provisional borders for marble walls

* test fixes

* why is PlatingDamaged load-bearing???

* fixed attribution that flew under the radar, updates to Damaged Plating & Damaged Steel tiles.

* requested changes

* airlock visualizer tweak

---------

Co-authored-by: Princess Cheeseballs <66055347+Princess-Cheeseballs@users.noreply.github.com>
Co-authored-by: Whatstone <whatston3@gmail.com>
2026-08-12 17:46:16 +00:00
TheGrimbeeper
c724191e04
Xenoarchaeology - fix #42713, allow sibling nodes to count toward time add (#42721)
* Fix #42713 - refactor UnlockStateIncrementPerNode to allow sibling nodes to count towards time adding

* Only one foreach loop needed

* removed unnecessary variable

* whoops

* Remember that triggering the 'unlock target' node shouldn't count as failing the unlock!

* previous fix was incorrect

* refactor: whitespaces, unused usings and cleanup

* refactor: tests for special unlocking case timer

* refactor: fix namespaces for SharedXenoArtifactSystem after merge with master

---------

Co-authored-by: Fildrance <fildrance@gmail.com>
2026-08-12 08:27:09 +00:00