31 Commits
Author SHA1 Message Date
CentroniasandGitHub 68ec95f554 Fix UI Window Memory Leak in CloseRecentWindowUIController (#45399)
no leaking windows
2026-08-16 22:38:14 +00:00
CentroniasandGitHub 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
CentroniasandGitHub 81e35ee3ac Cull LINQ from SatiationSystem's Update (#45260)
fixes #45257
2026-08-10 19:46:49 +00:00
8ad82dc665 Refactor hunger and thirst systems (#34166)
* ready

* oop forgot the HUD stuff

* woooo examinable generalized tooooo

* oop I forgot to rename the files

* bungled the merge, I guess

* this is called hubris

* Verin's comments

* PR comments

how did I use `ProtoId<> Hunger` in more than a few spots but then just say "thirst can stay a literal :^)"?

also changed a few spots to my beloved
```
functionInvocation(
  one
  param
  per
  line
)
```
```

* Satiation effect condition now with ADDED FUNCTIONALITY?? :o

* tfw you trust the markov chain recommendation because long generic type names are tough q-q

* TFW YOU TRUST THE MARKOV CHAIN BUT IT DOESN'T UNDERSTAND THE DIFFERING SEMANTICS OF MAX AND MIN AHHHHH

* tfw you think to yourself "i need to fix the effects", but then forget to and the code doesn't even compile.

* centralize satiation constants

* other small comments

* The enum is dead.
But at what cost?

* oop

* like 12 more ooperses

* green checks are mine by right; I have performed the rites; I have done my part; you will not deny me this succor

* oops I changed the semantics from `<=` to just `<` and didn't update the tests :)

* serialization has bested me :agony:

also PR comments

* never trust the auto merge :agony:

* literally just this

* force engine back to master because idk why it's different

* fix randomness and update master

* submodule fuckery

* fall before my might

* okay I ran the linter, ARE YOU HAPPY??

* cursed ovis, trouble me no more

* protoman stuff

* inb4 linter bonks me

* break non-critical stuff from the main satiation proto

* ![live crundle reaction](https://preview.redd.it/xh68xqcz518g1.png?width=677&format=png&auto=webp&s=79ba10fe49ec3f8306217732321a7c5429bdfb14)

inb4 this breaks something somewhere lmao

* my two greatest PRs COLLIDE

I wonder why robust says it's changed :hmmclueless

* sanity is at an all-time low

* serialization, I guess

* I don't believe you

* field deltas on class \w*satiation\w*components

* PR comments

* 我做泥團子 😔

* doc + kill one property that's trivially accessible after the threshold caching changes

* fixes

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: AJCM-git <ajcm_mail@disroot.org>
2026-08-08 22:44:24 +00:00
CentroniasandGitHub 76b3105e89 Fix light tube sprite (#45178)
light tube
2026-08-07 04:31:38 +00:00
CentroniasandGitHub 928ecf541b Replace string with ProtoId<ReagentPrototype> in a few places (#44653)
* string -> ProtoId<ReagentPrototype> in a few places

* dictionary stuff

* update data record name, static function stuff, and clean imports
2026-07-13 21:02:01 -04:00
CentroniasandGitHub 22a2c131b8 Paramedic + emergency EVA suit get their helmets back (#44425)
paramedic + emergency EVA suit get their helmets back
2026-06-29 21:49:02 +00:00
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
CentroniasandGitHub 30c28b5833 Make test runnable on windows in debug config again (#43227)
tfw ur fs isn't posix compliant
2026-03-13 19:59:41 +00:00
CentroniasandGitHub d90284304e Wrapped parcels can go into mail carts (#43226)
wrapped parcels can go into mail carts

yeah, it technically allows wrapped humanoids to get in there too, but how're you gonna get something you can't pick up into inventory storage?

Also YEAH technically this allows arbitrage of carrying a ton of stuff in the mail cart, but that's no so different from just carrying a ton of stuff around in a trash cart and this at least has the cost of a bit of parcel wrap. I will tolerate no dissent
2026-03-13 19:56:38 +00:00
CentroniasandGitHub d448f0454e Make StatusEffectsSystem's cache an instance field (#42762)
make statuseffectsystem's cache not static
2026-02-03 05:38:26 +00:00
CentroniasandGitHub 4d9c25098b Fix localization missing spam from Admin Overlay (#42244)
playerInfo.StartingJob is already localized
2026-01-05 03:01:00 -08:00
3c15d9f312 Adds BallisticAmmoSelfRefillerComponent (#38537)
* Adds BallisticAmmoSelfRefillerComponent

And uses it to replace battery-based refilling of the Syndicate L6 and Viper modules.

# Automagic Ballistic Ammo Refilling
- Add `BallisticAmmoSelfRefillerComponent`
- Handle `EmpPulseEvent` to pause refilling behavior for EMP's duration

# Supporting Changes
- Change `Content.Server.Weapons.Ranged.Systems.Update` override in `GunSystem.AutoFire.cs` to `UpdateAutoFire`
- Add `Content.Server.Weapons.Ranged.Systems.Update` to `GunSystem.cs` so that it can call `UpdateAutoFire` and `UpdateBallistic`
- Add public methods to GunSystem for use by refilling implementation
  - PauseSelfRefill
  - IsFullBallistic (same as #299)
  - CanInsertBallistic (same as #299)
  - TryBallisticInsert (same as #299)

* _timing -> Timing

* unspawned count stuff

* imagine building the code before pushing

* - apply to c20r ROW
- make predicted/shared

* revert server system import only changes

* oop

* o great and wise Slarti

* Scar comments

* field deltas + correct serializer

* review

---------

Co-authored-by: ScarKy0 <scarky0@onet.eu>
2025-12-17 22:52:32 +00:00
CentroniasandGitHub d947dd8c6c Smart Fridges can contain anything edible (#41830)
I'm sure this will cause zero unintended consequences
2025-12-12 01:58:22 +00:00
CentroniasandGitHub e65518ff02 Make bleach a better space cleaner (#41276)
* make bleach a better space cleaner

* imagine me cherry picking just the first bad commit and then totally forgetting there was a second commit lel
2025-11-04 23:09:59 +00:00
CentroniasandGitHub c9fdac9364 BaseSpawnEntityEntityEffect scales its spawned entities by default (#41091)
* make basically all entity spawning reactions scaling

* Intelligence
2025-10-25 00:18:43 +00:00
CentroniasandGitHub c7406f65ab Make Foldable Clothing Hidden Layers "reset" Hidden Layers when un/Folding (#40251)
foldable clothing hidden layers fix
2025-09-10 12:20:01 +10:00
CentroniasandGitHub 82b94ec6de Derelict Mediborgs can Scan Solutions and see Mob Health (#40206)
Add mediborg unique components to derelict mediborg
2025-09-08 19:44:31 -07:00
CentroniasandGitHub c709d4d55c Add CVar for disabling loadout item role timers (#36775) 2025-09-03 13:04:44 +02:00
CentroniasandGitHub 973689425c Fixes Diona rooting not working since event based weightlessness refactor (#39893)
* Fixes Diona rooting not working since event based weightlessness refactor

Caused by #37971

* pr comments
2025-08-27 16:56:13 +02:00
CentroniasandGitHub 05436d3dcc Component for clothes to suppress emotes and scream action in general, and the muzzle to suppress vocal emotes in particular (#32588)
* Component for clothes to suppress scream noise

GaggedComponent + AddGaggedClothingComponent and relevant systems to make them work.

Currently only stifles the scream _action_, not all emotes

because if a mime can silently emote, so can gagged you!

* fix comments

* swap to inventory relay

and make it more general such that specific emotes or emotes of a given category can be blocked

* power gloves shouldn't block snapping

* easy fixes

* blockable emote event

* pr comments, switch to using emote event mostly

* pr comments

add beforeEmoteEvent

add emote blocker name to popup

maybe some other stuff, I forget

* get rid of emoteevent's source because I don't need it anymore

* smol clean

* formatting, style, and one minor thing where having a muzzle in your pocket would gag you
2025-07-11 13:18:15 -04:00
CentroniasandGitHub 9053c9692f Decouple Lights from Toggleable Visuals (and headphone music notes bugfix) (#35341)
* - Combine enum keys `ToggleableLightVisuals` and `ToggleVisuals` into `ToggleableVisuals`
- Rename `ToggleableLightVisualsComponent` to `ToggleableVisualsComponent` and `ToggleableLightVisualsSystem` to `ToggleableVisualsSystem`
  - (The `SpriteLayer` field on the component is now required because the old default of `light` doesn't make sense anymore)
- Make it so that `ToggleableVisualsComponent` works even when there's not a light attached to the entity
  - (Amazingly this seems to have only applied to  Headphones, but I can only imagine there are many other things people would like to do with simple toggleable visuals)
- Explicitly make `ItemTogglePointLightComponent`'s purpose to make `ToggleVisualsComponent` apply to `PointLightComponent`s on the same entity.
  - Add field `ToggleableVisualsColorModulatesLights`, which makes the `Color` appearance value of `ToggleableVisuals` modulate the color of lights on the same entity
  - Lots of prototype updates to uptake the above

* fix bad merge

* unbork robust

* blindly letting rider reformat stuff

* I guess I never cleaned up these imports at all
2025-05-30 19:53:56 -04:00
90582f27ee Adds Parcel Wrap (#34471)
* Parcel Wrap

* fix TG sprite licenses
update attribution on modified `unwrapped` sprite to better conform to CC's guidance

* ContainerContainer test failure fix

* Just easy changes for now.

* Imagine building your code before pushing it for review

* The rest of the PR comments

* PR comments

* more comments + cargo orderability

* whitespace: deduplicated.

* use limitedcharges
replace mostly-duped client/server with if(onserver)

* cabinet perspective sprites

* web edit detected

fite me

* @ps3moira 's new sprites for me :)

* add a touch of attribution

* EmoGarbage Review

* Merge with master

* Merge with master

---------

Co-authored-by: EmoGarbage404 <retron404@gmail.com>
2025-04-26 19:24:25 -04:00
CentroniasandGitHub 98f9149883 Add inhand sprites for the drink shaker (#36382)
* Add inhand sprites for the drink shaker

* Update Resources/Textures/Objects/Consumable/Drinks/shaker.rsi/meta.json

oop that's not actually their discord name

* Co-Authored-By: Failed <158702813+failed5@users.noreply.github.com>
2025-04-18 10:12:37 -07:00
CentroniasandGitHub f72604bf92 Make tank harness smaller in inventories and craftable at lathes (#35590)
* Make tank harness smaller in inventories and craftable at lathes

* pr comment
2025-04-17 22:33:31 +10:00
CentroniasandGitHub f45794002b Raw meatball cooks into cooked meatball (#36003)
meatballs can be cooked on their own
2025-03-26 23:26:13 -07:00
b980c94d89 Moths can eat lizard plushes again (#35835)
* tags back

* Update Resources/Prototypes/Entities/Objects/Fun/toys.yml

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-03-14 21:22:30 +01:00
12105234fe High Heel Boots do the Clicky Clacky (#35083)
* click clack

* fix quote marks

Co-authored-by: Hannah Giovanna Dawson <karakkaraz@gmail.com>

---------

Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>
Co-authored-by: Hannah Giovanna Dawson <karakkaraz@gmail.com>
2025-02-13 23:35:59 +01:00
CentroniasandGitHub 128721ee4e Logic Gate Compatibility with Non-Logic Signals bugfix (#33792)
:)
2024-12-19 12:31:13 +01:00
CentroniasandGitHub 6b99493e80 Reduce network burden of the hunger system (#32986)
* reduce network burden of the hunger system

* explicit start + last updated

* remove auto reformat changes to otherwise untouched code

add clamp helper

* imagine making breaking changes, documenting them, and then not thinking to check the yaml

* comments

* Remove unused net manager in hunger system
Remove lastAuthoritativeHungerValue from prototypes
2024-12-18 14:06:02 +01:00
CentroniasandGitHub e7ca4b8f2f Intercoms and Radios both pick up proximate speech (#32737)
* Deduping of recent messages should consider the channel it's being sent to

* rerun actions
2024-11-02 16:04:22 +01:00