Commit graph

9719 commits

Author SHA1 Message Date
ScarKy0
4a88b375df
Make cameras react to the AI eye nearby (#43466)
* init

TODO:
Make this part of the surveillance camera system
Make this be bearable when unpowered(Probably commented out until we make AI lose vision without power)
Remove leftover shit
Probably clean up the camera RSI

* move to surv cameras, unpowered, remove leftovers

* silly

* review

* review

* I can see the light

* reverse fixtures

* review

* dependency query

* unused oops
2026-04-05 15:03:29 +00:00
Tayrtahn
9ad745045b
Fix IdCardConsoleSystem missing prototype error (#42884)
* Fix IdCardConsoleSystem missing prototype error

* Resolve -> TryIndex

* Poke
2026-04-05 14:01:01 +00:00
ArtisticRoomba
974eb80ff4
Fix LINDA pressure delta nonsense and weighting (#43471)
* Fix LINDA equalization

* Apply suggestion from @slarticodefast

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2026-04-05 12:17:08 +00:00
ArtisticRoomba
666032f88a
Atmospherics GetBulkTileAtmosphere/GasMixturePressures API (#42745) 2026-04-05 03:25:53 -07:00
Naxel
ca95da6daa
Add parallelization to RadiationSystem.GridCast (#39173)
* add parallelization to RadiationSystem.GridCast

* change the preparation of sources receivers data

* failed integrationtest fix

* Update Content.Server/Radiation/Systems/RadiationSystem.GridCast.cs

Co-authored-by: Southbridge <7013162+southbridge-fur@users.noreply.github.com>

* Change namespace to file-scoped

* Method signature changed

* null check changed

* null check changed. exactly

* Use TryComp instead of Resolve in UpdateSource

* replace TryComp with xform in UpdateSource

* replace DynamicTree with B2DynamicTree

* return comment

* Remove magic number

* Optimize radiation memory usage

* replace ThreadLocal to ArrayPool

* fix "false sharing" issue

* Revert "fix "false sharing" issue"

This reverts commit c0729f024f8e2df9d15f1cc9cc9bc1be4d4be312.

* cleanup

* inject entquery

---------

Co-authored-by: xNaxelx <46362288+xNaxelx@users.noreply.github.com>
Co-authored-by: Southbridge <7013162+southbridge-fur@users.noreply.github.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2026-04-05 04:39:00 +00:00
RainyGale
07bdfe3049
Update DungeonSystem.Rooms to use IRobustRandom instead of Random (#43457)
* Use IRobustRandom instead of System.Random

* Use IRobustRandom instead of System.Random

* Add Robust.Shared.Random directive
2026-04-04 21:29:38 +00:00
SlamBamActionman
0d616cf6df
Universal uplink codes (#38712)
* Halfway commit

* Finishing commit, maybe?

* Fix test, update ringtone UI to look nicer

* Fix command, add failsafe

* Documentation

* Can we just mark ValidatePrototypeId as obsolete please

* I'm too tired and my bones hurt

* Change uplink code generation method

* Move RingerAccessUplinkComponent to Server, because cheat clients could make use of it

* Fix uplink implant changes, review changes, repair broken serialization.

* cleanup and master merge

* forgot the Linq

* Linqd

* Our store system is pretty goddamn awful wow

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-04-04 19:46:43 +00:00
themias
d595590f39
Replace space dragon timer deletion with gibbing (#43296)
* save

* fix test failure
2026-04-04 18:20:46 +00:00
SlamBamActionman
17490ca615
Add random sell value to player mobs (#43445)
* Initial commit

* Review fixes
2026-04-04 16:40:51 +00:00
slarticodefast
4fb78b777c
fix tailwag action for changelings (#43452) 2026-04-03 23:22:43 +00:00
baynarikattu
8d052e7f85
fix: small typo in the restart alert V2 (#43454)
fix: round end typo

Co-authored-by: baynarikattu <>
2026-04-03 22:29:08 +00:00
Samuka
ee618e3037
Add tile gun module (#41503)
* add tile gun module

* fix stacks being loaded all at once in guns

* fix tile gun module

* fixed indentation

* remove not necessary stuff

Co-authored-by: āda <ss.adasts@gmail.com>

* Use alias

Co-authored-by: āda <ss.adasts@gmail.com>

* fix OnBallisticInteractUsing

* forgot one

Co-authored-by: āda <ss.adasts@gmail.com>

* fix FillAmmo

* add another todo

* pass user instead of event args

Co-authored-by: āda <ss.adasts@gmail.com>

* fix last commit

* update todo

Co-authored-by: āda <ss.adasts@gmail.com>

* wrong place

* move gun to first slot

* custom sprite

* call a event

* important detail in the commentary

* remove recipe

* not used

* also not used anymore

* when did i remove this?

* fix sprite

* shoot faster

* move to shared

* use API method

* remove useless stuff

* Revert "remove useless stuff"

This reverts commit b198303aed7eb50aafb60e5a91b7af535219006b.

* fix code

* shot sound

* change spread

* fix attribution

* load sound

* empty sound

* commentary

* more commentary fix

* rename event

* remove duplicate

* who knew

* turn to mono

* yet another beep

* increase volume

* make it a crowbar

* make it able to self load clicking tiles

* make it able to pry tiles

* who needs a crowbar anymore

* make it networked

* no more hands

* move BeforeAmmoLoadedEvent call to TryBallisticInsert

* before now

* change sprite

* slight update to sprite

* mag visuals

* move split back to server

* get one method

* remove subscription

* use API method in the gun system

* move API call up

Co-authored-by: āda <ss.adasts@gmail.com>

* remove unused stuff

* fix get one method

* comment change

* half the firerate

---------

Co-authored-by: āda <ss.adasts@gmail.com>
Co-authored-by: beck-thompson <beck314159@hotmail.com>
Co-authored-by: iaada <iaada@users.noreply.github.com>
2026-04-03 21:30:12 +00:00
Moony
be9b2fbb88
Remove unused space worldgen. (#43428)
* Remove my unmaintained feature.

* Cut world loaders.

* Cut unused pool.
2026-04-03 18:40:21 +00:00
slarticodefast
7c60ea97e4
Fix banana creampie visuals, allow station AI to be pied (#43388)
* refactor and fixes

* fix ling transformation

* small fix

* Update Content.Shared/Nutrition/EntitySystems/SharedCreamPieSystem.cs

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

---------

Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
2026-04-03 18:16:17 +00:00
Schuyler Duryee
417f1b7ceb
Add "failed to load crew manifest" message (#43400) 2026-04-03 17:48:07 +00:00
phönix
7234cec825
Predict ghost examine (#43150)
* never

* forgot
2026-04-03 17:26:18 +00:00
alexalexmax
17ccf1dc70
Hijack the Automated Trade Station objective (#42135)
* predict TradeStationComponent

* hijack beacon first pass

* add Objective uplink category

* add HijackTradeStationCondition, objective, and uplink entry

* add sprite and cleanups

* fix + make cooldown sane

* use TimeSpans and update logic accordingly + private state-related fields

* remove temporary reward

* tiny loc changes

* buncha changes

* Change success message, beacon physics properties, formatting

---------

Co-authored-by: seanpimble <149889301+seanpimble@users.noreply.github.com>
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: SlamBamActionman <slambamactionman@gmail.com>
2026-04-03 10:21:04 +00:00
Booblesnoot42
81be6f2571
Force Vent Critters to Attack (#42399)
* Create force attack component, system and add to spider

* Add check for incapacitated enemies

* minor cleanup

* Fix networking stuff, hopefully

* Add component to slimes

* Move system and component to server, add localization

* Fixed attack animation not playing for server-forced attacks, hopefully didn't break anything godo

* Add feedback popup

* pretty big optimization

---------

Co-authored-by: SlamBamActionman <slambamactionman@gmail.com>
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-04-03 06:03:23 +00:00
Tayrtahn
03b46abef0
Fix ghost time of death (#43411)
* Use RealTime when setting ghost TimeOfDeath

* Don't pause with RealTime

* Oops. Also get rid of AutoGenerateComponentPause
2026-03-31 03:28:24 +00:00
Jessica M
29d9c1786d
Fix changeling transform ability (#42107)
* fix changeling transform

* Add store UI on MapInit instead

* Apply suggestion from @slarticodefast

* Apply suggestion from @slarticodefast

---------

Co-authored-by: Jessica M <jessica@maybe.sh>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2026-03-29 15:02:51 +00:00
slarticodefast
b582f2e156
cleanup GasPrototype and some other atmos code (#43318)
* cleanup

* fix some localizations

* fix typo

* review and test fix

* rename

* minus one

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2026-03-28 04:15:41 +00:00
Velken
ab9adaa14e
[FIX] Moved random manifest back server (#43361)
* moved random manifest back server

* fix ordering
2026-03-27 22:47:19 +00:00
Simon
ef1169a079
Minor fixes to server api ban endpoint (#43355)
minor fixes to server api ban endpoint
2026-03-27 22:45:52 +00:00
slarticodefast
db74373e50
remove all use cases of TimerComponent (#43320)
cleanup TimerComponent
2026-03-25 03:59:32 +00:00
Kyle Tyo
b03a72d0e7
DeleteComponentCommand minor cleanup/rename. (#43289)
commit
2026-03-18 17:40:14 +00:00
Princess Cheeseballs
9087a2ee6c
Stable -> Master (#43284)
Fix Airtight Explosion Cache (#43276)

fix explosions

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-03-17 18:15:42 -07:00
Princess Cheeseballs
dd6254fd12
Fix Airtight Explosion Cache (#43276)
fix explosions

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-03-17 17:54:03 -07:00
Vladislav Suchkov
4ae82ec8a3
Tech disk resprite and pricing changes (#37719)
* init

new disks are in. can be spawned or printed. no weights or correctly bound techs yet.

* tweak textures and naming

* make tech disks respect their tier and discipline

* make tech console respect tier weight

* yml fixes (forgo a million things)

* meow :3 reworked to use GenericVisualizer

* moved staticPrice comp to shared to support different pricing per tier

* unhardcoded prices; tweaked log messages

* cleanup

* a few fixes

* updated pricing to match weights

* lowering prices I forgor how many of them science can print

* what

* t3 texture, logger, factory

* move PriceCalculationEvent & EstimatedPriceCalculationEvent to shared

* remove static price comp; use EntProtoId for disk proto

* moved staticPrice comp back to server

* cleanup: price event, visualizer enums & yml

* ummove PriceCalculationEvent

* ummove PriceCalculationEvent attempt #2

* more unmoving

* fixes

* predict onExamine

* review changes

* small cleanup

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2026-03-17 22:52:05 +00:00
Princess Cheeseballs
9b0067eff4
Staging To Master (#43264)
* Revert "Remove salv stuff from mothership (#43007)"

This reverts commit eea773ffee.

* remove changelog

* Fix changelog for #43049 (#43248)

Changelogs gotta go on staging in the changelog thing

* Revert "Xenoborg extractor (#42796)"

This reverts commit 7f15e77954.

* revert CL

* Fix floating point tilefire nonsense (#43263)

* Change method call and epsilon

* holy guacamole

---------

Co-authored-by: ScarKy0 <scarky0@onet.eu>
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
Co-authored-by: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2026-03-16 19:41:19 -07:00
ArtisticRoomba
4495128f2f
Fix floating point tilefire nonsense (#43263)
* Change method call and epsilon

* holy guacamole
2026-03-16 18:26:14 -07:00
ScarKy0
f89fdaa935 Revert "Xenoborg extractor (#42796)"
This reverts commit 7f15e77954.
2026-03-17 00:02:36 +01:00
slarticodefast
2736c458c4
Predict reagent grinder (#42815)
* prediction!!!

* fixes

* fixes and add debug logs

* fix prediction and cleanup

* raise event on client + comp access

* reapply power state changes

* Update Content.Client/Kitchen/EntitySystems/ReagentGrinderSystem.cs

Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>

* Update Content.Shared/Kitchen/Components/ReagentGrinderComponent.cs

Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>

* comments and prefilled grinder protos

* t

---------

Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
Co-authored-by: ScarKy0 <scarky0@onet.eu>
2026-03-15 19:15:36 +00:00
Kyle Tyo
116e09e1cc
Fix bug blocking character saves for species without hair. (#43170)
* Update ServerDbBase.cs

* Update ServerDbBase.cs

* Update ServerDbSqliteTests.cs

* :grumble grumble grumble:

* tests

* Update ServerDbSqliteTests.cs

* commit

* forgot this.

* relocation.

* nope, not doing that lmao

* Update ServerDbSqliteTests.cs

* test rerun

* GAAAAAA

* Update ServerDbSqliteTests.cs

* Update ServerDbSqliteTests.cs

* Update ServerDbSqliteTests.cs

* GAAAAAA

* go fish
2026-03-15 15:55:42 +00:00
Velken
c51a7ea425
Refactor Ion Law string generation (#42629)
* YAMLs your ion laws

* forgot some weights

* this should be it

* comments and DAGD

* improved testing

* addressing review (part 1 out of 2)

* still part 1 :gosomnia:

* part 2

* refactor the refactor

* loc error fluffs

* address review

* weh

* cleanup

* oops

* fix

* more cleaning

* forgot to remove old thing

* prediction

* fix
2026-03-15 15:44:03 +00:00
Centronias
38f7800370
Single item cargo orders are delivered in Parcel Wrap instead of crates (#40834)
* - rework a bunch of cargo orders to not send a crate with just one thing
  - instead sends the item, wrapped
- add ability for cargo orders to wrap the item ordered in parcel wrap
- cargo order name and descriptions are now localization strings, but still 99.99% of the time just get that info from the entity they're spawning
- small refactor to how cargo orders move around in cargo code so that the actual order proto is kept around longer
- small rework to certain restock cargo orders to halve the cost and number of items received in one order

* oop

* Suffering

* Arbitrary containers for cargo products

* I ran the tests locally and they passed, github please rerun :)

* massage Slarti's work into this.
Mainly by taking the API wrapping ability out back with the rifle q-q

* testfail fake

* wow `_applyingState` is useful, I wonder where I should've been using that in other PRs before :^)

* pr comments

* tfw the hook doesn't update the submodule

* Update Content.Client/Cargo/UI/CargoConsoleMenu.xaml.cs

Co-authored-by: āda <ss.adasts@gmail.com>

* PR comments

* fixies

* Update Content.Client/Cargo/UI/CargoConsoleMenu.xaml.cs

* Update Content.Shared/ParcelWrap/Systems/ParcelWrappingSystem.WrappedParcel.cs

* fix wrapped parcel entity name + audio

* Actually read PR comments

* Apply suggestions from code review

Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>

---------

Co-authored-by: āda <ss.adasts@gmail.com>
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
2026-03-15 13:45:46 +00:00
Tayrtahn
3caea1649d
Move ID card name/title length limit to server (#43237)
* Validate string lengths serverside

* Organize usings

* Remove clientside check

* Also remove the cvar caching in the UI

It's one dictionary call, Michael. What could it cost?
2026-03-15 08:23:56 +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
themias
fe8f5f2d41
Add a holy light effect to bible healing (#43189)
* save

* remove unneeded event

* Revert "remove unneeded event"

This reverts commit 779ec783094144ca978a5e9d111235e29539e8a3.

Revert "save"

This reverts commit f88e0ab18b253915f5efde5886a4701a73ffa35a.

* Use simple light effect entities with TimedDespawn
2026-03-14 17:33:38 +01:00
SnappingOpossum
e49d36a88e
Make EntityTableSpawner spawn relative to grid instead of map (#43234) 2026-03-14 17:32:35 +01:00
Crude Oil
2cbc8575f7
Fix missing word from emitter alerts (#43225)
* fix emitter yapping

* use actual locid objects
2026-03-14 17:32:16 +01:00
Princess Cheeseballs
a1d7406bf2
Move a metric fuckton of AtmosphereSystem to Shared. (#42989)
* AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

* fix the tests I broke

* Remove methods that the client shouldn't be calling. Hamburger.

* light cleanup for now

* review

* whoop

* docs updates and misc changes

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2026-03-14 08:53:49 +00:00
Simon
012ffe5abd
Add banning to server api (#43205)
add banning to server api
2026-03-12 18:40:47 +00:00
ScarKy0
f3bb1becf5
Vent Hordes (#43047)
* init

* port hostiles to hordes, fakeout horde

* cleaning, docs

* i may be blind sometimes

* i may be even blinder

* remove friendly announcements

* fuck it

* i love microbalancing

* review

* review

* review p2

* Update Resources/Prototypes/GameRules/pests.yml

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

* review + powercreep

* lower the times to account for the gamerule delay

* review

* review

* fuck this return actually

* fial

---------

Co-authored-by: SnappingOpossum <snappingopossum@outlook.com>
2026-03-11 23:28:47 +00:00
ArtisticRoomba
5f030ee346
Atmos YAML-defined gas flammability, flammability API (#43165)
* atmos masked flammability/API

* on that oomba pac

* yuuup

* resolve todo and review

* rename
2026-03-11 06:23:27 +00:00
Tayrtahn
700e901cbf
Add a basic API to JukeboxSystem (#42896)
* Add a basic API to JukeboxSystem

* Update Content.Shared/Audio/Jukebox/SharedJukeboxSystem.cs

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

* Remove pointless Dirty

* Move SetSelectedTrack Dirty inside if block

* logMissing: false

* Remove pointless Audio.Stop call

* Poke tests

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2026-03-11 00:15:09 +00:00
Tayrtahn
c83077f436
Update NodeHelpers and Node.GetReachableNodes to use Entity<TransformComponent> and Entity<MapGridComponent> (#37734)
* Add overloads for NodeHelpers methods, obsolete old ones

* Pass in SharedMapSystem instead of IEntityManager

* Change GetReachableNodes signature, deal with aftermath

* Allow non-grid nodes

* Change GetReachableNodes to also take Entity<TransformComponent>

* Remove vestigial ReSharper hint

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

* Formatting

---------

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
2026-03-10 21:25:45 +00:00
Moony
4cdef6ac92
Patch for engine ComponentFilter (#43168)
* Patch for engine ComponentFilter

* Poke
2026-03-10 14:11:53 +00:00
Red
1b5011152b
Weather entities (#41427)
* weather status effect entities

* proto port + fixes

* Update weather.yml

* fix visuals

* Update SharedWeatherSystem.cs

* Update SharedWeatherSystem.cs

* Update WeatherSystem.cs

* Thanks Slarti, thats a much better

* Update WeatherSystem.cs

* Update StencilOverlay.Weather.cs

* Update Content.Client/Overlays/StencilOverlay.Weather.cs

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

* Update Content.Shared/StatusEffectNew/Components/StatusEffectComponent.cs

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

* Update Content.Client/Overlays/StencilOverlay.Weather.cs

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

* Revise weather command help descriptions

Updated weather command help texts for clarity.

* Merge branch 'master' into ed-14-11-2025-weather-entities

* Tayrtahn review apply

* fixes and cleanup

---------

Co-authored-by: Pok <113675512+Pok27@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2026-03-08 23:28:48 +00:00
alexalexmax
ae6b6811f9
PinpointerSystem&Component cleanup (#42463)
* cleanup

* make some stuff nullable again

* Apply suggestions from code review

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

* fix and remove a dependency

---------

Co-authored-by: seanpimble <149889301+seanpimble@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2026-03-07 14:37:04 +00:00
pathetic meowmeow
b2b547b806
Initial decoupling pass on Damageable (#43103)
* Initial decoupling pass on Damageable

* ope

* e

* mroaw

* ok sure on the medibot thing

* no medibot bounds

* okidooks

* arcryox era

* cryox moment
2026-03-07 04:13:50 +00:00