Commit graph

9703 commits

Author SHA1 Message Date
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
Samuka
2484ec7f36
Dynamic feedback popup (#43021)
* add rule filter to feedback popup

* fix the dependency

* simplify

* remove this

* deny popups with rules

* missed here

* new parameter

* the server handles the specific feedback prototypes

* fix logic

* active > added

* minor fixes

* not needed anymore

* now it should be back

* not needed

* cleaning

* create system

* forgot to remove this

* also remove this

* add a I

* remove old feedback popups

* doesn't actually fix it

* maybe this time?

* oh well

* use whitelists

* use gamerule added

* update fix comment

* simplify

* old commentary

* default false

* add blacklist option

* fix helper functions

* remove commentary

* who needs those

* orks hates linq

* not needed

* Change linq into foreach

* remove unwanted popups for next rounds

---------

Co-authored-by: beck-thompson <beck314159@hotmail.com>
2026-02-27 20:15:53 +00:00
pathetic meowmeow
e361944ef6
Make DamageSpecifier serializable (#43049)
* pt1 damageable refactor

* fixes

* thusd unused

* sparse damagespecifiers

* fix thongs

* aaaaaa

* fix tests

* de-crash
2026-02-27 06:20:13 +00:00
TriviaSolari
e16fc10c15
Fix Holosign Placement (#42909)
* Holosigns now spawn facing player direction

* Holosigns face south

* Snap holosign to grid and attach to clicked entity

* Back to setting local rotation to zero

* No need to snap to grid

* rifts

---------

Co-authored-by: ScarKy0 <scarky0@onet.eu>
2026-02-26 23:55:28 +00:00
Errant
8315eaab7e
Revert "Cleanup Antag Selection Logic a Lot" (#43041)
Revert "Cleanup Antag Selection Logic a Lot (#42673)"

This reverts commit c2f986ea8b.
2026-02-26 18:36:48 +00:00
SlamBamActionman
f981f8a32c
Partially revert "Remove bad accents" (#43030)
* Revert partially

* Add back to dwarves

* Remove pirate accent trait ftl

* Remove old changelog

* Review changes

* Maybe cowboys want beer

* Fix missed =

* Remove and-und in german
2026-02-26 17:32:57 +00:00
ScarKy0
e774e11d06
Add transfer entity to mind events. (#43020)
* init

* stuff

* to

* BeforeEvents

* comment

* docs

* Update Content.Shared/Mind/Components/MindContainerComponent.cs

Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>

---------

Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
2026-02-26 01:16:55 +00:00
Velken
af71eec42b
Make HasMind not always false for client. (#43033)
* it hasmind but i don't

* potatoe potato

* reading is hard

* still can't read

---------

Co-authored-by: ScarKy0 <scarky0@onet.eu>
2026-02-25 23:49:37 +00:00
blueDev2
63457d041a
Add TriggerOnRot Component (#42667)
* Add TriggerOnRot Component, and related systems and events

* Move around components and events to proper namespaces

* Improve TriggerOnRotComponent Comment

* fix a bunch of imports

* Change BeginRottingEvent to a ByRefEvent record

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2026-02-24 18:55:45 +00:00
Moony
04b4b7d51c
Non-obsoletion warnings as errors in Release. (#42983)
* Non-obsoletion warnings as errors in Release.

* Add two other obsoletions related to collection expressions.
These are not present in the codebase, but may become so in the future.

* Exempt NU1903 so the project can't mysteriously stop building.

* Fix some FULL_RELEASE mistakes.

* diff fix

* Resharper caught this one. Note to self: Wire up resharper to CI in another PR.
2026-02-23 21:07:22 +00:00
slarticodefast
7e10c3eebf
Show fuckrules usage to admins (#42988)
* fuck rules

* extreme

* update comment

---------

Co-authored-by: ScarKy0 <scarky0@onet.eu>
2026-02-21 20:10:02 +00:00
Leah
0e86bd45bd
Identity Mask now updates equipped Agent ID name (#42772)
* add identity mask updating agent id functionality

* fix indentation

* add check for voice mask item

* use ChangeIDName field instead

* Minor cleanup

* remove trycomp

---------

Co-authored-by: beck-thompson <beck314159@hotmail.com>
2026-02-13 21:42:16 +00:00