Commit graph

5034 commits

Author SHA1 Message Date
pathetic meowmeow
6f8242c1fc
Simplify hands UI code (#42534)
* Simplify hands UI code

* i remembered about SortedHands in the component

* minor cleanup

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-01-22 21:31:45 +00:00
Minerva
c58e63c5c1
Makes defib cabinets constructable and deconstructable (#42571)
* Makes defib cabinets constructable and deconstructable

* fix crash on master

---------

Co-authored-by: Janet Blackquill <uhhadd@gmail.com>
2026-01-22 18:27:45 +00:00
eoineoineoin
6d4f622977
Character editor style fixes (#41278)
* Restore pre-StyleNano element height

* Add style for HelpButton to sheetlet

---------

Co-authored-by: Janet Blackquill <uhhadd@gmail.com>
2026-01-22 17:56:50 +00:00
SabreML
e9be97dee0
Colour picker, palettes, & other spraypainter stuff (#41943)
* The stuff

* Valid check

* Spraypaintable decals don't actually seem to use `ZIndex`

* Don't need this

* datafield fix and button swap

---------

Co-authored-by: Janet Blackquill <uhhadd@gmail.com>
2026-01-22 17:33:21 +00:00
Absotively
6ee812cfe5
SwitchButton (#39161)
* Initial toggle switch styling

* tweak toggle switch textures

* Simplify toggle SVG images a bit

* Better name for switch button

* Update CheckButtons that were already just regular buttons

* Match checkbox/text field outline colour instead of slider outline colour

* Use switch button for APC power

* Update switch button styling; add separate style for power buttons

* Use new switch button in midi channels menu

* Add spacer

* adjust switch button icon proportions, position

* Add disabled toggle switch styles, use improved pressed style setup, make APC breaker state visible to all

* Use Janet Blackquill's icon design; remove StyleClassPowerSwitchButton. Co-authored-by: Janet Blackquill <uhhadd@gmail.com>

* Style switch children directly instead of with propagated styles

* Add attributions file

* Turns out source is a required field

* Move SwitchButton out of engine

* Move styles to sheetlet

* Make workaround for child controls not updating work in content

* Icon layers

* Set up ISwitchButtonConfig

* Fix disabled switch label font color

* Don't redefine base pseudostyles

* Use pseudoclass helpers for better readability

* Use margin instead of padding element

* Remove unused using statements

* Remove extra image file

* Update attributions for changed files
2026-01-22 17:31:56 +00:00
c4llv07e
8e1145b1fc
Cargo console rework (retry) (#34052)
* Cargo console upgraded

* add comment of hardcode

* Update Resources/Locale/en-US/cargo/cargo-console-component.ftl

Co-authored-by: Thomas <87614336+Aeshus@users.noreply.github.com>

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

Co-authored-by: Thomas <87614336+Aeshus@users.noreply.github.com>

* Update Content.Client/Cargo/UI/CargoConsoleOrderMenu.xaml

Co-authored-by: Thomas <87614336+Aeshus@users.noreply.github.com>

* Some small technical improvements

* More indent

* Fix unknown requester name

* whitespace cleanup

* Small improvement

* Add order price to the title

* Fix build errors

* Port new slip system

* Remove unused loc

* Some required changes

* Add stride

* minor code style + update to sheetlets

---------

Co-authored-by: VideoKompany <135313844+VlaDOS1408@users.noreply.github.com>
Co-authored-by: Thomas <87614336+Aeshus@users.noreply.github.com>
Co-authored-by: Janet Blackquill <uhhadd@gmail.com>
2026-01-22 16:37:45 +00:00
pathetic meowmeow
6cfedfa34f
Ensure cat ears & tails cannot be selected by players (#42579)
Ensure cat ears & tails cannot be selected.
2026-01-22 02:27:56 +00:00
ArtisticRoomba
1b1cb64d24
Power Consumers Rebalance: Simple Dynamic Power Loading (#41961)
* initial commit

* misc additions and fixes

* final tests and additions

* cleanup 1

* fix tests and add a test

* fix tests AGAIN

* abject horror and misery

* cleanup

* cleanup 2

* address some issues
2026-01-21 04:05:44 +00:00
pathetic meowmeow
0ec9975e4f
Fix hideable humanoid layers (#42553)
* Fix hideable humanoid layers

* test maintenance coin

* clean return

* voxes can no longer have human beards

* voxes fixes

* voxing out

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-01-20 22:24:09 +00:00
B_Kirill
7f7f3b6ef1
Fix MagicMirror UI (#42544) 2026-01-20 11:59:58 +00:00
pathetic meowmeow
8cf744ec55
Visual nubody (humanoid appearance refactor) (#42476)
* initial visual nubody

* oops overlay

* im so pheeming rn

* conversion...

* tests

* comeback of the underwear

* oops eyes

* blabbl

* zeds

* yaml linted

* search and visible count constraints

* reordering

* preserve previously selected markings colors

* fix test

* some ui niceties

* ordering

* make DB changes backwards-compatible/downgrade-friendly

* fix things again

* fix migration

* vulpkanin markings limit increase

* wrapping

* code cleanup and more code cleanup and more code cleanup and more code cleanup and

* fix slop ports

* better sampling API

* make filter work + use the method i made for its intended purpose

* fix test fails real quick

* magic mirror cleanup, remove TODO

* don't 0-init the organ profile data

* remove deltastates

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-01-20 07:07:53 +00:00
eoineoineoin
daccef7b43
Rename "Inset" style, implement in sheetlets (#41975)
* Rename "Inset" style, implement in sheetlets

* Remove from StyleNano
2026-01-19 23:27:42 +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
Nemanja
d2ac15c76f
Fix flatpacker exploit ignoring board costs (#42445)
Fix flatpacks ignoring costs and board requirements
2026-01-16 00:22:24 +00:00
ScarKy0
897a2d40bc
Add Mortar and Handheld Juicer (#42019)
* init

* API

* testing

* review

* return

* good enough, fix later

TODO:
Proper prototype
DoAfter
Sounds

* "proper" prototype

TODO
DoAfter
Sprite

* proper protos, mortar sprite

* juicer sprites

TODO:
Juicer sounds
Makeshift crafting recipes
Add regular to vendors

* sprite tweak

* juicing sound, cleanup, construction

* vendors

* line end

* attribution newline

* small balance tweak

* Let it be known id never webedit

* meta

* item size

* review

* handhelds

* partial review

* cache solution, looping

* graph

* review

* popup

---------

Co-authored-by: Janet Blackquill <uhhadd@gmail.com>
2026-01-16 00:19:42 +00:00
B_Kirill
b14964398b
Camera map (#39684)
* Camera map

* I hope this helps

* Review 1

* Review 2

* Review 3

* Review 4

* Review 5

* Colorblind mode support

* Review 6

* Change design

* Map wire

* Logic fix

* Fix a terrible mistake

* Fix

* Fix 2

* Small rename

* More fix

* Better removal

* And another fix

* Will it work?

* It is literally pointless

* some small things
2026-01-15 21:21:55 +00:00
Fruitsalad
4f997f2069
Cryo pod UI (#41850)
* Add CryoPodWindow (placeholder)

* Change HealthAnalyzerWindow: split off reusable HealthAnalyzerControl for cryo pod UI

* Improve CryoPodWindow: add health analyzer

* Improve CryoPodWindow: add eject button

This wasn't requested in the issue but I implemented it as practice with the UI system.

* Rewrote GasAnalyzerWindow, split off reusable gas mix viewer for cryo pod

* Change GasAnalyzerWindow: change back to three columns

With two rows you get a layouting bug when there's a lot of different gases, which looks somewhat bad. I didn't feel like fixing the layouting bug (it's an engine issue) so we're going back to three columns. That way you don't ever get two rows in practice.

* Change GasAnalyzerWindow: simplify by disabling Resizable

I added a lot of complexity to make resizable work nicely with a derived max & min size, but it's not necessary.

* Change GasAnalyzerWindow: file-wide namespace

* Change GasAnalyzerSystem: add GenerateGasMixEntry

* Split HealthAnalyzerUiState from HealthAnalyzerScannedUserMessage

* Rewrote CryoPodWindow, add atmos info

* Improve CryoPodWindow: add loading placeholder

* Improve CryoPodWindow: add internationalization support

* Fix GasAnalyzerControl: add missing translation

* Improve CryoPodWindow: add beaker info, high temperature warning

* Improve CryoPodWindow/System: inject button in window + necessary system changes

* Fix CryoPodWindow: Entering cryopod now closes window

This way you can't heal yourself with a cryopod.

* Change CryoPodWindow: add & update comments

* Change HealthAnalyzerComponent: remove `uiKey` property (no longer necessary)

* Tiny fixes

* Improve CryoPodUiMessage: replace string with enum

* Change GasAnalyzerWindow: simplify Measure code

* Change CryoPodComponent: rename Injecting to InjectionBuffer

* Change CryoPodBUI: tiny code simplification

* Fix HealthAnalyzerComponent: Removed stray import

* Improve CryoPodWindow: Prettier, concise atmos

* Improve CryoPodWindow: Chemicals bar chart

* Improve CryoPodWindow: Add Ruler to reagents

* Change CryoPodWindow: More horizontal layout

* Improve CryoPodWindow: Reduce height jiggling

The health analyzer's height changes a lot, which can be annoying with the buttons (for example when the oxygen damage label is popping in and out)

* Improve CryoPodWindow: Add setup checklist

This is mostly here to fill vertical space in the new horizontal layout.

* Improve CryoPodWindow: Eject beaker button

* Improve CryoPodWindow: Localization

* Improve CryoPodWindow: Add BeakerBarChart

An animated version of the chemicals chart

* Fix CryoPodSystem: Ejecting beaker no longer clears injection buffer

* Improve BeakerBarChart: Not animated on first frame

* Fix CryoPodWindow: Fix broken translation

* Improve CryoPodWindow: Reorder sections

* Fix BeakerBarChart: Tooltips now show up

* Change BeakerBarChart: Reorder functions

* Change CryoPodWindow: Reorder sections, change margins

* Change CryoPodWindow: Edit flavor text

* Revert changes to GasAnalyzerWindow

Since GasAnalyzerControl is no longer used in CryoPodWindow, these changes are no longer relevant to this PR.

* Tidy CryoPodWindow: Remove old workarounds

These are old layouting bug workarounds from the older version of CryoPodWindow that had a ScrollContainer in it. They're no longer necessary. Less ScrollContainers less problems.

* Tidy up: Remove unused imports

* Remove LabelledSplitBar

It was replaced by BeakerBarChart, which is a lot fancier.

* Tidy up: Tiny code style fix

* Change CryoPodSystem: Move code from server to shared

This is still without adding UI prediction

* move a ton of stuff to shared.

* one last thing

* Improve BeakerBarChart: Keep visual entry width when swapping beakers

* Improve BeakerBarChart: Respect beaker order of reagents

* Improve CryoPodWindow: Ensure space for injection buffer

 We need to keep space on the chart for the injection buffer after swapping to a full beaker.

* Improve CryoPodWindow: Prettier ejection error

* Improve CryoPodWindow: Add "Cooling patient" status

* BeakerBarChart: Fix UI scale bug

* BeakerBarChart: Fix bluespace beaker ugliness

* BeakerBarChart: Add more pod status strings

* HealthAnalyzerControl: Filewide namespace, sort imports

* Style fix: Replace `bool x = y` with `var x = y`

* CryoPodUiMessage: Split off separate class for inject

* SharedCryoPodSystem: Move message-related code into Subs.BuiEvents

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-01-15 17:52:03 +00:00
slarticodefast
5cda60f2f9
Predict defibrillators and add an integration test for them (#41572)
* cleanup

* fix fixtures

* prediction

* fix test

* review

* fix svalinn visuals

* fix chargers

* fix portable recharger and its unlit visuals

* fix borgs

* oomba review

* fix examination prediction

* predict

* readd zapping interacting mobs
2026-01-15 17:43:32 +00:00
slarticodefast
499e9f9a0f
Predict TransferAmountBoundUserInterface (#42358)
prediction!!!
2026-01-15 17:17:00 +00:00
ArtisticRoomba
f702dc8f2d
Atmos GasSpecificHeats in shared (#42136) 2026-01-14 15:21:04 -08:00
Charlie Morley
14b867dbe1
allow shuttle to Scan for Objects while FTL is on cooldown (#42283)
* allow shuttle to Scan for Objects while FTL is on cooldown

* cleanup

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2026-01-14 21:38:19 +00:00
slarticodefast
94071a6350
Fix GenpopLockerBoundUserInterface prediction (#42365)
fix genpop prediction
2026-01-12 02:58:56 +00:00
SlamBamActionman
435b7d5cf8
Add the ability for station maps to track grids they are not on (#41248)
* Initial commit

* Accidentally included the nukie map changes

* Fix the gridcheck

* Addressing review

* Review change

* Review comments
2026-01-12 02:47:47 +00:00
slarticodefast
4fafb55477
Predict BarSignBoundUserinterface (#42364)
fix bar sign prediction
2026-01-11 22:48:01 +00:00
slarticodefast
716e5ace87
Fix action tooltip warnings (#42361)
fix action examine warnings
2026-01-11 20:05:32 +00:00
Perry Fraser
b707110dea
fix: clear health bar/icon overlay damage containers on update (#39288)
* fix: clear health overlay damage containers on update

* linqn't

* import

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2026-01-11 16:39:21 +00:00
Pieter-Jan Briers
c0fbaf1228
Fix warning spam from ShortKeyName (#42351) 2026-01-11 00:46:54 +00:00
ScarKy0
5d9371931a
Predict Mind State Examine (#42253)
* init

* review

* i might be stupid

* docs

* datafieldn't

* update comments
2026-01-10 23:02:56 +00:00
BarryNorfolk
319617f6ba
Use NextByte to properly construct colours (#42335) 2026-01-10 19:56:17 +00:00
Perry Fraser
78343b2dbb
feat: allow removing empty smart fridge entries (#39195)
* feat: allow removing empty smart fridge entries

* review

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2026-01-09 14:48:38 +00:00
Princess Cheeseballs
8ec4669bf9
Allow items spawned in the smart fridge to show up as an entry. (#42268)
* Allow items spawned in the smart fridge to show up in the view

* AAAAAAAAAAAAAAAAAA

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-01-09 00:35:39 +00:00
ScarKy0
590dc948ee
Chameleon Projector Battery, Price Decrease (#42271)
* init

* fuck using

* glowup

* unused

* meta

* whuh

* review

* tests

* Update SharedChameleonProjectorSystem.cs
2026-01-07 05:51:44 +00:00
Princess Cheeseballs
279dabd889
Merge stable into master (#42274)
Fix admin loc spam 2 (#42265)

Co-authored-by: Princess Cheeseballs <66055347+Princess-Cheeseballs@users.noreply.github.com>
2026-01-06 13:51:13 -08:00
Princess Cheeseballs
5207c0694a
Fix admin loc spam 2 (#42265) 2026-01-06 20:29:10 +01:00
slarticodefast
e572d75f04
STABLE -> MASTER (#42251)
Fix localization missing spam from Admin Overlay (#42244)

playerInfo.StartingJob is already localized

Co-authored-by: Centronias <me@centronias.com>
2026-01-05 13:17:40 +01:00
Centronias
4d9c25098b
Fix localization missing spam from Admin Overlay (#42244)
playerInfo.StartingJob is already localized
2026-01-05 03:01:00 -08:00
Myra
fe6a2f0708
Stable to master (#42238)
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: Princess Cheeseballs <66055347+Princess-Cheeseballs@users.noreply.github.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2026-01-04 18:07:51 +01:00
Vasilis The Pikachu
0ab3b1a075
Revert "feat: RnD tech research console now have reroll feature (#32931)"
This reverts commit 1f2d80297c.

Discussed during the maintainer meeting and voted to be reverted at this time.
2026-01-04 17:28:09 +01:00
Princess Cheeseballs
3ab84443f9
[STAGING] Staging Chat Fix (#42206)
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-01-04 01:24:18 +01:00
Red
da4a488197
Melee weapons animations upgrade (#41425)
* upgrading

* Update MeleeWeaponSystem.Effects.cs

* Easing
2026-01-03 21:29:48 +00:00
eoineoineoin
d366c67baf
Fix style classes used on monotone labels (#41969)
* Fix style classes used on monotone labels

* Heading>SubHeading
2026-01-03 06:19:35 +00:00
Princess Cheeseballs
267357a4b0
Fix all currently known markup issues (#42032)
* fix 1

* fafa

* remove

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-01-01 21:17:43 +01:00
mq
4920c9e907
Update (MOST) instances of EntityUid, Component in GunSystem to Entity<T> (#41966)
* Entity<T>, skipping Magazine and ChamberMagazine

* missed some

* AUGH!!

* ballistic examine

* dotnet hates me

* WHY ARE YOU CALLED THAT!!!!

* cheers aada
2026-01-01 19:00:49 +00:00
Jessica M
41234b7eb1
Move borg module remove button to the left side (#42119)
Move module remove button to the left side

Co-authored-by: Jessica M <jessica@maybe.sh>
2025-12-30 23:13:59 +00:00
OnyxTheBrave
3cc79c223a
Chemmaster Pill Source (#40121)
* Buttons and basic internal data

* The buttons DO something

* it works?!!

* I hate predictions

* 5000 monkeys on typewritters

* who let the monkeys code?

* Localizations

* waiter, more commits please

* Not going insane (this is a lie)

* last one I SWEAR

* Some improvements ported from Moff

* clean it up a little

* one more cleanup

* The chemmaster is not a mime

* Fix my mistakes + address the other review

* Point to what chemmaster is broken, and why it's broken

* ChemMasterComponent changes

* Margin for packaging source

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-12-30 21:34:54 +00:00
ScarKy0
662d2ee964
ReagentGrinder Comp and API to shared (#41956)
* init

* API

* review

* return

* review

* I tend to be stupid
2025-12-27 17:09:33 +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
B_Kirill
cd8d5a6a9c
Cleanup warnings: CS0414, CS0618 (#42068)
Cleanup
2025-12-27 14:14:42 +00:00
alexalexmax
4ff7411fb7
Voice mask effects are toggleable and hide your accent (#41965)
* apply negate accents system

* add toggle to voice mask ui

* roll negateaccents into voice mask system, delete negate accents comp&system, update yml entries

* convert button to ToggleButton and some cleanup

* retry for heisenfail

* accent toggle

* update names and add mask active check for accent hiding
2025-12-26 02:47:05 +00:00
eoineoineoin
b436e2a937
Fix missing scrollbars in Admin Player List window (#40525)
* Fix missing scrollbars in Admin Player List window

* Revert "Fix missing scrollbars in Admin Player List window"

This reverts commit c5aea1a0550deb1d1d7aae4e2dec964e93d2d8ae.

* Invalidate cached item height when item generation callback changes
2025-12-22 16:41:02 +00:00