Commit graph

9714 commits

Author SHA1 Message Date
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
neomoth
1918f8e8ea
Small tippy fix + msg toolshed additions (#43082)
* why is this not how it worked already fml

* better tippy checking
2026-03-06 16:04:55 +00:00
Shegare
eb1831774b
HTNComponent from SharedNPCSystem (#42750)
* init

* move system

* doc
2026-03-04 21:54:28 +00:00
UpAndLeaves
8cb0664f94
Inventory + Storage toolshed query commands (#40813)
* Add inventory and storage query toolshed commands

* Forgot FTL

* Fix stuff!

* Make requested changes and stop STACK MAX SIZE ERROR

* cleaning

---------

Co-authored-by: ScarKy0 <scarky0@onet.eu>
2026-03-03 17:56:42 +00:00
slarticodefast
2011b520ea
use proxy methods in EntitySystems (#43083)
use proxy methods
2026-03-01 03:13:22 +00:00
Samuka
7f15e77954
Xenoborg extractor (#42796)
* verb category

* voltage toggle comp

* move stuff

* add simple prototype

* implement verb action

* switch expression

* fixed the node not updating

* charge the battery

* fixed battery not charging

* spawn on battery level system

* finally works

* swap commentary position

* can only anchor the extractor on the station

* popup message for trying to anchor outside of station

* default placement for unanchored version

* ops

* fix body type

* commentary

* update visuals of power consumer

* add custom sprite

* fix light layer not changing

* xenoborg circuit

* fix xenoborg circuit

* add tag

* add hand to hold xenoborg circuits

* move to material

* add xenoborg circuit material

* add recipe to mothership core

* add a hand to hold circuits to the mothership core

* to not confuse

* update

* ops

* another ops

* update mothership

* update guidebook

* update values

* more info

* fix stack

* can store xenoborg circuits

* description

* also update description

* circuit -> crytal

* not modified from anything

* update description

* Revert "update mothership"

This reverts commit 84974c56afadac2a99ed2a166244a668d83fff48.

* update empty label

* small update to sprite

* not necessary code

* remove empty line

* color

* make it explode when destroyed

* change values

* update sprite

* update sprite

* make it eletrified

* flavor text

* simplify to only use charge

* subscribe to event

* new line

* remove popup

* no need for the setter

* no longer networked

* feedback popups

* Minor tweaks

* better to understand

* better now?

---------

Co-authored-by: beck-thompson <beck314159@hotmail.com>
2026-02-28 00:55:09 +00:00