Commit graph

337 commits

Author SHA1 Message Date
Varen
c512e35bf9
Add bolt signal to door outputs (#44940)
* Add bolt signal to door outputs

* Update DoorSignalControlSystem.cs

* fix test

---------

Co-authored-by: Pok245 <113675512+Pok27@users.noreply.github.com>
2026-09-23 19:54:44 +00:00
UpAndLeaves
1e3b924417
Allow toggling shuttle docks via network linking (#45734)
* Allow toggling shuttle docks via network linking

* RQC

* RQC 2

* Fuck shit I fucked it

* More explainin'

* RQC

* review

* Fix merge issues

* Update DockingSignalControlSystem.cs

---------

Co-authored-by: Pok245 <113675512+Pok27@users.noreply.github.com>
2026-09-22 10:20:40 +00: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
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
Whatstone
26a92f4180
Cleanup: Resolve GetAnchoredEntitiesEnumerator, Get*TilesEnumerator warnings (#45234)
* Resolve GetLocalTilesEnumerator etc. warnings

* forgot you

* technically correct

* dangit
2026-08-17 01:34:10 +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
InsoPL
9174b7ae71
Dock types visible on shuttle nav console (#44666)
* init push

* after merge fixes

* arrivals

* upsie

* fixes

* early return

* name changes
2026-08-11 15:04:24 +00:00
Whatstone
8d8fc951d5
Cleanup: fix content-side obsolete TransformComponent warnings (#44494)
* Resolve obsolete TransformComponent warnings

* all gas no lerp, a few unused imports

* Resolve TransformSystem via IEntityManager.System

* Revert to set anchored in ConstructionSystem.Graph

* pragma, no FIXME, redundant TransformSystems

* Remove unused variable

* Address sloth's suggestions

* oneliner rotation assignment

* Use spawn commands with rotation

* yet more spawnattachedto changes & cleanup

* Remove unused transform import

* more transform system cleanup, dump restock warn
2026-07-28 22:45:45 +00:00
Stanislav
b22d38f9c0
Yaml audio params are often ignored (#36259)
* Replace WithVolume() with AddVolume(),
Remove AudioHelpers.WithVariation(),
Use specifier options for audio params

* Undo switching to AudioParams.AddVariation()

* Replace AudioHelpers.WithVariation with AudioParams.AddVariation()

* Test AudioParams.AddVariation() and change input parameters to sound like previous AudioHelpers.WithVariation()

* Fix build error

* Fix build error v2

* Remove DoAfter

* fixes

---------

Co-authored-by: AJCM-git <ajcm_mail@disroot.org>
2026-07-25 16:16:23 +00:00
Charlie Morley
933dd64a81
fix drone/remote shuttle consoles not refreshing on some state changes (#42282)
* fix drone/remote shuttle consoles not refreshing on some state changes

* nitpicks

---------

Co-authored-by: jessicamaybe <jessica@jessicamaybe.com>
2026-07-17 20:52:59 +00:00
InsoPL
6306707cfd
Nav console code cleanup (#44636)
* init

* init2

* commend fix

* staclallock sadly banned

* cleanup

* xaml cleanup

* one missed when fixing  merge

* fixes

* SubscribeLocalEvent tag to top

* xaml cleanuo
2026-07-13 18:19:36 +00:00
Krunklehorn
cb28e542b0
Gyroscope throttling take 2, automatic, inertia based (#37419)
* Sync debug gyroscope, rename SetAngularThrust to SetAngularThrustVisualState

* inertiaThreshold and GetInertiaThresholdScale

* basePowerLoad and UpdatePowerLoad

* Re-accumulate and update during OnShuttleTileChange

* Move to subscription on MassDataChangedEvent

* Fix for IsOn if the grid loses it's shuttle component

* Fixed return

* Reuse cached thruster ids

* Missing using

* Fixed map keys must be unique

* Somehow this got pasted in

* Copied basePowerLoad for large thrusters too

* Updated default threshold

* Fixed variable case
2026-07-11 04:07:59 +00:00
slarticodefast
964aebb031
Self-predicting popups (#44524)
* Popup prediction refactor

Co-authored-by: EmoGarbage404 <98561806+EmoGarbage404@users.noreply.github.com>

* fix popupcoordinates prediction

* review

* ProtoMan

---------

Co-authored-by: EmoGarbage404 <98561806+EmoGarbage404@users.noreply.github.com>
2026-07-07 20:42:08 +00:00
SlamBamActionman
2ce27e42bd
Add the ability to pull grids using a grappling hook (#43746)
* Make grappling hooks work when you are under gravity on a floor

* Apply into the grappling rework, change the weight of grids

* Add *a* function to scale depending on mass

* Update the grappling system to feel a loooot better

* Just make the grappling hook lose grip if entity is unanchored, and also make it smoother to use.

* Tweak shuttle impact values to maintain current behavior

* Fix spray pushing with the new grid weights

* Update other thrusters to the new values (x1600)

* Update and reorder SharedGrapplingGunSystem

* "Fix" that one audio bug

* Include anchoring as being tethered to a grid

* Review fixed
2026-07-06 13:29:24 +00:00
Connor Huffine
fb45d8f0e1
Fix exped returning to nukie planet (#44482)
* Add whitelist check

* whitespace

* Improve efficiency
2026-07-03 09:05:37 +00:00
TemporalOroboros
84b2f07157
The IMapManager is dead (#44002)
* Axes the easy IMapManager references

* Axes the references to unported (obsolete) IMapManager methods

* Converts salvageruler command to a LocalizedEntityCommand so it can use SharedMapSystem

* Removes IMapManager from GameTicker
This required axing the map nuke during restart, but that should be fine?
Maps are entities so EntityManager.FlushEntities should delete them all and that's the preceding line

* submodule update(?)

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2026-07-01 20:44:54 -07:00
Whatstone
f42f8df6d1
Cleanup: ProtoMan Part 2 - remove Client and Server EntitySystem IPrototypeManager instances (#44416)
* Remove all IPrototypeManager instances

* Remove redundant IComponentFactory instances too

* Found some stragglers

* DestructibleSystem.PrototypeManager: no dependency

* not based
2026-06-29 21:33:56 +00:00
Eveloop
22a547c7c8
Use dependency injection for EntityQuery<T>s in Content.Server (#43566)
* Replace usages of EntityQuery with dependency injected ones in Content.Server

* Remove unused EntityQuery dependencies

* Restore CheckPressureAndFire override method

* Revert EntityQuery refactor changes to DisposalTubeSystem.cs & DisposableSystem.cs

* Infer Transform/Metadata directly instead of passing (#43479)

* Resolve RA0049, RA0051 errors (#43479)

* Resolve RA0049, RA0051 errors (#43479)

* Apply suggestions from code review

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

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2026-05-17 15:59:37 +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
ArtisticRoomba
376f16504c
Content.Shared EntityQuery<T> dependency injection refactor (#43498)
* part 1

* second pass

* final fix

* last fix i swear

* an even bigger genius

* regex missed this

* should be all of em?

* oops

* yeah

* Revert "should be all of em?"

This reverts commit 4dd54d1b9a76977b4cf8d6008358e4dacdee6eb1.

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-04-11 21:30:36 +00:00
Moony
93dccc34c5
Content-side IRobustRandom cleanup. (#43231)
* Content-side fixes for engine IRobustRandom rejig.

* Define for ensuring SetSeed works.

* Poke.

* Poke

* Poke.
2026-03-14 17:37:02 +00:00
B_Kirill
ae5f8d0a6c
Fix emergency shuttle authorization bypass via ID rename (#42640) 2026-01-25 21:59:50 +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
pathetic meowmeow
fb133494cc
Decouple gibbing from the body system (#42405)
* Decouple gibbing from the body system

* allow gibs that don't drop giblets

* pass through user

* prediction gon

* comment

* destructible

* playpvs

* very very very very very very very minor cleanup

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-01-14 05:57:08 +00:00
Quantum-cross
d06b18a8f0
Allow late join from arrivals to be considered for antagonist. (#39837)
* Allow late join from arrivals to be considered for antagonist.

* Don't use `PendingClockInComponent` to block late join antag selection, instead do an arrivals grid transform check with new helper function `IsOnArrivals`.

* Minor formatting fixes

* missing using

---------

Co-authored-by: SlamBamActionman <slambamactionman@gmail.com>
2026-01-12 22:17:27 +00:00
mikey
ec024001e7
Increase shuttle FTL cooldown to prevent FTL spamming (#42209)
* seperate out shuttle cooldowns

* fix

* feedback

* fix spacing

* update to TimeSpan

* GOAT float

* return to TimeSpan

* add var

* clarify with seconds

* clarifying some things
2026-01-09 06:44:22 +00:00
Samuka
e1b790eecd
Make xenoborg thrusters anti-easy-sabotagge (#42201)
* code

* cant be toggled

* can't unwrench

* no rotating it

* comments

* change from PreventToggle to CanToggle

* commentary

* Update Resources/Prototypes/Entities/Structures/Shuttles/thrusters.yml

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2026-01-01 21:23:34 +00:00
EchoOfNothing
ac3a91eac1
Fix possible bug in my fix of IFF console. Add documentation to HideOnInit. (#42122)
* Refactor OnIFFShow and OnInitIFFConsole by extracting AddAllSupportedIFFFlags method. Fix possible addition of unallowed flags.

Fix posible addition of unallowed flags in OnInitIFFConsole by performing AllowedFlags check in the extracted function.

* Add documentation to HideOnInit

* Update IFFConsoleComponent.cs

---------

Co-authored-by: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
2025-12-29 08:53:18 +00:00
Ilya246
645c2494ec
optimise shuttle collision entity throwing (#40984)
* optimise

* reconstruct

* fix

* very mild change

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-12-28 07:16:07 +00:00
EchoOfNothing
ee2f1da8c2
Merge IFF controls into one control. Make syndicate IFF turned off by default. (#42104)
* Merge IFF controls into one control.

* Implement logic to hide IFF of sydicate IFF console on map load. Add hideOnInit property to IFFConsoleComponent

* DataField

---------

Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
2025-12-27 14:18:45 +00:00
Crude Oil
760463a67a
Port FTL arrival effect fix from https://github.com/new-frontiers-14/frontier-station-14/pull/3495 (#41951)
Port FTL arrival fix from https://github.com/new-frontiers-14/frontier-station-14/pull/3495
2025-12-22 21:01:56 +00:00
slarticodefast
5e294dcecc
Revert 39040 FTL Fixes (#41540)
Revert "FTL Fixes (#39040)"

This reverts commit 52a9f9b576.
2025-11-23 05:14:12 -08:00
Hannah Giovanna Dawson
cdbe92d37d
Update DamageableSystem to modern standards (#39417)
* Update DamageableSystem to modern standards

* DamageContainerId -> DamageContainerID with lint flag

* Replace strings with protoids

* Make CVar subscription declarations all consistently whitespaced

* ChangeDamage -> TryChangeDamage, cope with C# jank

* Revert event signature changes

* Restore a comment

* Re-add two queries

* Init the queries

* Use appearanceQuery in DamageChanged

* Use damageableQuery in TryChangeDamage

* Use damageableQuery in SetDamageModifierSetId

* Final cleanup, fix sandboxing

* Rectify ExplosionSystem:::ProcessEntity's call to TryChangeDamage

* Re-organize DamageableSystem

* first big fuck you breaking change.

* THATS A LOT OF DAMAGE!!!

* Fix test fails

* test fixes 2

* push it

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-10-27 19:53:04 +00:00
mtrs163
f6972de87d
Don't add ImplicitRoof to grids with roof component (#38551)
* Don't add implicitroof to grids with roof component

* changes 1
2025-10-14 23:05:29 +00:00
Nemanja
52a9f9b576
FTL Fixes (#39040)
* FTL fixes

* one. space.

* change this too
2025-10-14 22:58:55 +00:00
beck-thompson
a26bafacb1
Shuttle UI now properly goes into pilot mode only when using the UI (#40491)
Shuttle UI bug fix
2025-09-21 23:40:13 -07:00
Winkarst-cpu
ebfcddc62f
Fix emergency evac shuttle console early launch mispredict (#39751)
* Fix

* Yes

* Mess

* Update

* Like that?
2025-09-10 15:56:18 +02: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
Perry Fraser
b317d7514f
fix: don't do emergency shuttle stuff in lobby (#38732) 2025-08-19 23:52:52 -07:00
UpAndLeaves
9b6cb79fa2
Fix dock radar colours (#38942)
* Fix docking colours

* Add comments and fallback

* Better comments!
2025-08-12 13:09:00 -07:00
Princess Cheeseballs
55335cce0f
Crawling Fixes 1: Dragons and Borgs can't do the worm. (#39084)
* Init Commit

* Remove unused code, fix stun visuals bug

* Update Content.Shared/Stunnable/SharedStunSystem.cs

* Some initial changes

* first batch of changes

* Commit

* One line cleanup

* KnockdownStatusEffect ain't worth it.

* Fix 2 bugs

* Fixes

* Remove that actually,

* Commit

* Better solution

* Alright final commit I think

* Add better remarks

* How the fuck did this not get pushed???

* Wait no why was my ryder trying to push that??? I didn't make that change! DON'T DO THAT!!!

* Review

* Don't log that

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
2025-08-10 10:49:29 -07:00
Nemanja
1374ceea47
Move some Station methods into shared (#38976) 2025-08-08 11:22:34 -04:00
Princess Cheeseballs
e85bc1bb8c
Stunnable New Status and Cleanup (#38618)
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
2025-07-21 19:22:11 +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
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
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
Tayrtahn
75db49f9c0
Clean up all missing EntitySystem proxy method uses (#38353) 2025-06-26 16:50:49 -07:00
TemporalOroboros
d4876be6f0
Kills TurfHelpers (#37939)
* Create TurfSystem equivalent for and obsolete TurfHelpers.GetTileRef

* Fix EntitySystem uses of TurfHelpers.GetTileRef

* Fix EntitySystem uses of TurfHelpers.TryGetTileRef

* Fix construction condition uses of TurfHelpers.GetTileRef

* Fix last use of TurfHelpers.IsBlockedTurf

* Create TurfSystem equivalent to and obsolete TurfHelpers.GetContentTileDefinition

* Fix uses of TurfHelpers.GetContentTileDefinition(TileRef)

* Fix uses of TurfHelpers.GetContentTileDefinition(Tile)

* Create TurfSystem equivalent to and obsolete TurfHelpers.IsSpace

* Fix EntitySystem uses of TurfHelpers.IsSpace(Tile)

* Fix EntitySystem uses of TurfHelpers.IsSpace(TileRef)

* Fix remaining uses of TurfHelpers.IsSpace

* Fix uses of TurfHelpers.GetEntitiesInTile

* Delete TurfHelpers.cs

* Add GetEntitiesInTile lookup methods

* Convert some GetEntitiesInTile methods to LookupSystem extension methods

* Use new GetEntitiesInTile methods

* Recycle spiderweb hashset

* Recycle floor tile hashset
2025-06-21 11:23:19 -04:00
Tayrtahn
95632859b7
Cleanup unused/redundant dependencies (#38099) 2025-06-06 18:11:52 +02:00