Commit Graph

3993 Commits

Author SHA1 Message Date
metalgearsloth 8bd58f68b5
More storage tweaks (#25970)
- Fix some prediction stuff.
- Fix some jank.
- UseDelay.
- Cap.

(cherry picked from commit b2b1926eccbae918c8d9702cfba40e54d1f4d870)
2024-04-21 23:20:53 +02:00
dffdff2423 107fc0ff25
Disable Communication Console Announcement Button for Too Long Messages. (#27145)
Disable comms console announce for long messages

Disable the "announce" button on the communications console for messages
above the cap. I did not touch broadcasting because I could not identify
an easy way to check the maximum length for it.

(cherry picked from commit cff80836503c8d7bd3ed0b018d9feff904114128)
2024-04-21 23:20:48 +02:00
Nemanja 0d88c372e9
add fuel costs back to finishing welding (#27030)
* add fuel costs back to welding

* ack

* meh

* eek!

(cherry picked from commit a47c5561a9632b6577abdc252f712d7f2da823e6)
2024-04-21 23:20:07 +02:00
Leon Friedrich ccd3357ded
Hide some map related logs from clients (#27127)
* Hide some map related logs from clients

* #if !DEBUG

* Fix typo

(cherry picked from commit 8245caaf613b8acbb045c14ceff1d9affa30e5b4)
2024-04-21 23:18:38 +02:00
NullWanderer 73e4780e6c
Revert "Fix character preview not updating on character change (#27043)"
This reverts commit f9f204a6d03e08cb0d189f7d64c031a025711430.
2024-04-21 22:18:58 +02:00
Krunklehorn 02567b4afa
Refactor status icons take 2, cyborgs don't see criminal status (#26207)
* Initial commit.

* review

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit 460b588de5b1fc2aa8b1c8272ba1a90d99378731)
2024-04-21 22:11:15 +02:00
Tayrtahn 794302839d
Add ability to shake fizzy drinks so they spray in peoples' faces (#25574)
* Implemented Shakeable

* Prevent shaking open Openables

* Prevent shaking empty drinks. Moved part of DrinkSystem to Shared.

* DrinkSystem can have a little more prediction, as a treat

* Cleanup

* Overhauled PressurizedDrink

* Make soda cans/bottles and champagne shakeable. The drink shaker too, for fun.

* We do a little refactoring.
PressurizedDrink is now PressurizedSolution, and fizziness now only works on solutions containing a reagent marked as fizzy.

* Documentation, cleanup, and tweaks.

* Changed fizziness calculation to use a cubic-out easing curve.

* Removed broken YAML that has avoid the linter's wrath for far too long

* Changed reagent fizzy bool to fizziness float.
Solution fizzability now scales with reagent proportion.

* Rename file to match changed class name

* DoAfter improvements. Cancel if the user moves away; block if no hands.

* Match these filenames too

* And this one

* guh

* Updated to use Shared puddle methods

* Various fixes and improvements.

* Made AttemptShakeEvent a struct

* AttemptAddFizzinessEvent too

(cherry picked from commit cfa94be4c2044146298d07c703f3b71bc377ca63)
2024-04-21 22:08:21 +02:00
deltanedas c597aec3a8
prop hunt ss14 (real) (#26691)
* texture appropriation

* add code for projector

* add chameleon projector yml

* damage and actions

* prevent small props being killed round removing you (700 damage from a single shot)

* tweak default

* oop

* do appearance properly, need engine update

* fix bugs, blacklist pda

* remove status icons

* amou

* sus

* fix test + make props fast

* amouuuung

* remove funny log

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
(cherry picked from commit 395c33024cb9d4e80078e3ab3c70c1e92e7fd5bc)
2024-04-21 22:05:50 +02:00
chromiumboy 4fd43751ce
Navmap rework (#26713)
* Optimized the drawing of lines and tracked entities

* Optimized nav map updating and added thin wall support

* Added support for thin doors

* Removed floor tile seams, more line drawing optimizations

* Fixed split grids not updating correctly

* Cleaned up NavMapControl code

* Fix nav map header

* Converted nav map updates from system network messages to delta-states

* Addressed review comments

* Fixed timing issue where NavMapSystem would update before AirtightSystem did

(cherry picked from commit 009d06d97833b7700bcfaa534b20575fdbbd7db5)
2024-04-21 22:05:45 +02:00
slarticodefast a2e1dc8107
Show volume on the gas analyzer (#25720)
The gas analyzer now shows the volume of pipes, tanks, canisters and the environment.

Adjust gas analyzers so that the volume and number of moles shown corresponds to only the scanned element, e.g. a canister or single pipe in a pipenet.

(cherry picked from commit 5a5efa11cf1d68708a70d48a286cb97fde96afdf)
2024-04-21 22:05:43 +02:00
metalgearsloth 056400b0c1
Fix character preview not updating on character change (#27043)
I love lobby code :3

(cherry picked from commit f9f204a6d03e08cb0d189f7d64c031a025711430)
2024-04-21 22:05:15 +02:00
metalgearsloth cc5d741a09
Added Jukebox (#26736)
* Added Jukebox, along with music for jukebox

* Fixed Jukebox meta.json copyright

* Removed songs I couldn't find a license for.

* Renamed files to solve check failures from spaces

* Added missing attributions.yml

* Fixed lack of description in Jukebox

* Jukebox is now constructable.

* Change Jukebox menu to FancyWindow

* Moved Jukebox messages out of jukebox component

* Removed Jukebox OnValueChanged.

* JukeboxComp now uses AutoGenerateComponentState

* Removed state code, since it's auto generated

* Fixed various Jukebox code to match conventions.

* Updated Standard.yml to match changed song list.

* fixes

* Jukebox workin

* Fix

* Polishing

* Finalising

* Revert

* bad

* jukey

* Reviews

* name

* Update submodule to 218.2.0

---------

Co-authored-by: iNVERTED <alextjorgensen@gmail.com>

(cherry picked from commit 2db374988c91c6ce5f932b9cee1ba251cbfb22e5)
2024-04-21 22:04:54 +02:00
Hannah Giovanna Dawson 8d48570f0d
SS14-26950 Fix Waddling During Improper States (#26965)
* SS14-26950 Fix Waddling During Improper States

Fix some states when a clown can waddle when no clown should be able to waddle, no-matter their clowning powers.

1. You cannot waddle whilst weightless
2. You cannot waddle whilst stunned
3. You cannot waddle whilst slowed down due to stam damage
4. You cannot waddle whilst you're knocked down
5. You cannot waddle whilst you're buckled
6. You cannot waddle whilst crit
7. You cannot waddle whilst dead

There's some argument for being able to waddle whilst on the floor
and doing some bizarre floor-humping exercise but I'm not coding an animation layer system just to handle clowns doing the worm.

* Use a nicer "can move" check

(cherry picked from commit 3d0fc1067303635a743af04ef4c463abd0dba343)
2024-04-21 22:00:49 +02:00
Hannah Giovanna Dawson c690e55972
Clown shoes make you waddle, as God intended (#26338)
* Clown shoes make you waddle, as God intended

* OOPS

* Toned down, client system name fix

* Tidy namespacing for @deltanedas

* Refactor to handle prediction better, etc.

* Resolve PR comments.

(cherry picked from commit ef42fb38061b29d7202eb6d65f1b658aecc43452)
2024-04-21 21:58:28 +02:00
metalgearsloth f7e4c84143
Fix options menu crashing in replays (#26911)
Not having the nullable set properly is annoying but fixing that would probably be a significant amount of work.

(cherry picked from commit 4cb344cc307c33247492ba64cccca6dfe720540f)
2024-04-21 21:57:19 +02:00
Tayrtahn 7095f3e8a7
Add two-message overload to PopupPredicted (#26907)
Added two-message overload to PopupPredicted

(cherry picked from commit 9107d421bdd2600883780d02d521ebbbec06ac68)
2024-04-21 21:56:56 +02:00
DrSmugleaf 99ab8cea68
Fix rockets and lasers looking like they have nothing loaded (#26933)
(cherry picked from commit 13cef85a6e7d0f5873d1f66358ef742356541582)
2024-04-21 21:56:42 +02:00
DrSmugleaf b11f3a16d9
Fix guns that spawn without a magazine looking like they have one (#26922)
(cherry picked from commit 2d53cfeabcc977938f217c303ce46a79d7fe80c9)
2024-04-21 21:54:36 +02:00
TsjipTsjip cfe5153f5d
Health analyzer UI unit correction (#26903)
Correct Kelvin displayed on health analyzer UI, use T0C constant.

(cherry picked from commit 998bf453684ed91ae5971e41be72820c87b441ef)
2024-04-21 21:54:26 +02:00
Nemanja c651727215
uplink and store freshening (#26444)
* uplink and store freshening

* more

* im gonna POOOOOOGGGGGGG

* we love it

(cherry picked from commit 9d5a3992fa635194cfe1d9fbfa60a5ea72288f4e)
2024-04-21 21:54:07 +02:00
Killerqu00 e0333ee9de
Skipping bounties (#26537)
* add button to menu

* networking and component work

* try to add access stuff

* main functionality done

* add access lock? I think?

* remove extra line

* fix access system

* move SkipTime to StationCargoBountyDatabaseComponent

* Disable/Enable skip button based on cooldown

* remove debugging

* add access denied sound

* remove DataField tags

* dynamic timer

(cherry picked from commit fd067731b544eb219493338a8fe446c154e880f4)
2024-04-21 21:47:43 +02:00
Wrexbe (Josh) 403f256393
Improve access overlay (#26667)
* Improve access overlay

* review changes

---------

Co-authored-by: wrexbe <wrexbe@protonmail.com>
(cherry picked from commit 682afd4ae499e09df8703fef78f5ab015be676c7)
2024-04-21 21:47:42 +02:00
Crotalus c569162bb3
Fix lathe materials list bug (#26826)
Fix lathe material list bug

(cherry picked from commit a9df8cf18a9217da46d76e05fe0189b771555cbc)
2024-04-21 21:30:47 +02:00
chromiumboy 1c00c720f2
Bug fixes for RCD (#26792)
Various fixes

(cherry picked from commit f784e9ca4e7493bd2f20d44a6b52da10ddb8f02f)
2024-04-21 21:28:57 +02:00
Crotalus 9cd3e23dfd
Show missing materials in lathes tooltip (#26795)
* Lathes: Show missing materials amount in tooltip

* Use AppendLine and remove the last newline at the end

(cherry picked from commit a17875498056ff746abb9ec1d4a40017c99ad7cc)
2024-04-21 21:28:54 +02:00
no d8b97e8d37
Randomized lollipop and gumball flavors (#1074)
* Give lollipops and gumballs random flavors

* RandomizedCandy: Fix borg lollipop action

* RandomizedCandy: Play sound when candy is fabricated

* RandomizedCandy: Lollipop can now be put in mouth

* RandomizedCandy: Quieten fab sound

* RandomizedCandy: merge icons and reexport without pHYs chunk

should speed up downloading these textures on 9600 baud modems

* RandomizedCandy: loads more flavors and update description

* RandomizedCandy: Fix duplicate candyFlavor IDs

* RandomizedCandy: Fix attrib and preserve flavor order

* RandomizedCandy: init on MapInit instead of ComponentInit

* RandomizedCandy: Fix minor code style issues, file placement

* RandomizedCandy: put new code into DeltaV namespace

* RandomizedCandy: Removed redundant datafield tags

Signed-off-by: no <165581243+pissdemon@users.noreply.github.com>

---------

Signed-off-by: no <165581243+pissdemon@users.noreply.github.com>
2024-04-14 16:48:59 +00:00
Velcroboy f5c7808446
Fix shuttle structure construction (#1069)
Co-authored-by: Velcroboy <velcroboy333@hotmail.com>
2024-04-09 22:12:36 -05:00
PrPleGoo 57f3f72724
Task/fix nightvision huds (#26726)
* StatusIcon: add field to set if icon should be rendered with shading

* set/unset shader based on icon field

* set new field to true for hud icons

* re-shade health bars

(cherry picked from commit d314a41e4f5c166de5e59504090117435f6ba0c2)
2024-04-07 14:34:58 +02:00
Pspritechologist 31bda710af
Suit Sensors No Longer Use a Hardcoded 'Total Health' (#26658)
* Suit sensors now know the 'total health' of an entity

* Missed the constructor 😔

(cherry picked from commit f5d9d3c4586252b6741f1c7473eef2b63b8fe586)
2024-04-07 14:34:09 +02:00
Aexxie b28c3a5da3
OOC Patron Color Toggle (#26653)
* Adds the option for you to toggle your OOC Patron color visibility to yourself and others.

* Makes the button magically disappear if you arent a patron

(cherry picked from commit 7ced9d42f0351319b20828115cad0abd274e4577)
2024-04-07 14:33:45 +02:00
Sk1tch f269ccc099
Added chat window transparency slider to options (#24990)
* Adds a new slider to the misc tab in options that lets the player set chat window transparency

* Tweaked variable names

* Fixed order to match UI

* Renamed set chat window transparency function

* Changed and refactored to opacity instead of transparency

* Remove unnecessary int to float conversions

Slider used to be 0-100 while the CCVar was 0.0-1.0f. This is confusing and was only used for rounding to 2 decimal points.

* Round the value to two decimal points

* Remove rounding for now

* Rename

* Unhardcode chat color by moving to stylesheet

* Fix indent

* Make opacity slider only change opacity

---------

Co-authored-by: Your Name <you@example.com>
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
(cherry picked from commit bc31c193c25b297179e0de2bf54c2623fbeeebe0)
2024-04-07 14:28:59 +02:00
eoineoineoin 06280a2ed4
Fix clipping/overlap in lathe machine UIs (#26646)
* Add scrollbars to lathe material list when necessary

* Fix bug where shrinking window would cause elements to overlap

---------

Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
(cherry picked from commit a05f95269f8e04a29e8d93da37cff47b84026d51)
2024-04-07 14:28:58 +02:00
Ed b6ff9f6fe4
Anomalies behaviours (#24683)
* Added new anomaly particle

* Add basic anomaly behaviour

* +2 parametres

* add functional to new particle

* add components to behaviours

* big content

* add shuffle, moved thing to server

* clean up

* fixes

* random pick redo

* bonjour behavioUr

* fix AJCM

* fix

* add some new behaviours

* power modifier behaviour

* rmeove timer

* new event for update ui fix

* refactor!

* fixes

* enum

* Fix mapinit

* Minor touches

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>

(cherry picked from commit a4ec01d4719e9489b5cceb23357b3be0ea4b86e7)
2024-04-07 14:28:52 +02:00
deltanedas 5e3d7350ba
scoopable ash and foam, solution transfer prediction (#25832)
* move SolutionTransfer to shared and predict as much as possible

* fully move OpenableSystem to shared now that SolutionTransfer is

* fix imports for everything

* doc for solution transfer system

* trolling

* add scoopable system

* make ash and foam scoopable

* untroll

* untroll real

* make clickable it work

* troll

* the scooping room

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 1db178b63254c5b509a6493a631fddb596b376a4)
2024-04-07 14:27:04 +02:00
c4llv07e ecbef2b8eb
Add door electronics access configuration menu (#17778)
* Add door electronics configuration menu

* Use file-scoped namespaces

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Open door electronics configuration menu only with network configurator

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Doors will now try to move their AccessReaderComponent to their door electronics when the map is initialized

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Make the access list in the id card computer a separate control

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Fix merge conflict

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Remove DoorElectronics tag

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Integrate doors with #17927

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Move door electornics ui stuff to the right place

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Some review fixes

Signed-off-by: c4llv07e <kseandi@gmail.com>

* More fixes

Signed-off-by: c4llv07e <kseandi@gmail.com>

* review fix

Signed-off-by: c4llv07e <kseandi@gmail.com>

* move all accesses from airlock prototypes to door electronics

Signed-off-by: c4llv07e <kseandi@gmail.com>

* rework door electronics config access list

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Remove Linq from the door electronics user interface

* [WIP] Add EntityWhitelist to the activatable ui component

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Better interaction system

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Refactor

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Fix some door electronics not working without AccessReaderComponent

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Move AccessReaderComponent update code to the AccessReaderSystem

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Remove unnecesary newlines in the door access prototypes

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Remove unused variables in access level control

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Remove unnecessary method from the door electronics configuration menu

Signed-off-by: c4llv07e <kseandi@gmail.com>

* [WIP] change access type from string to ProtoId<AccessLevelPrototype>

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Remove unused methods

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Newline fix

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Restored to a functional state

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Fix access configurator not working with door electronics AccessReaderComponent

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Replace all string access fields with ProtoId

Signed-off-by: c4llv07e <kseandi@gmail.com>

* move access level control initialization into Populate method

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Review

---------

Signed-off-by: c4llv07e <kseandi@gmail.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>

(cherry picked from commit 64bb8dbdd50e0b1e5744e1eb0cc6f24bda959ade)
2024-04-07 14:26:56 +02:00
SlamBamActionman d268105585
Coordinates Disks & Shuttle FTL Travel (#23240)
* Adds the CentComm Disk and configures it to work with direct-use shuttles

* Added functionality for drone shuttles (i.e. cargo shuttle)

* Adds support for pods, and a disk console object for disks to be inserted into. Also sprites.

* Added the disk to HoP's locker

* Removed leftover logs & comments

* Fix for integration test

* Apply suggestions from code review (formatting & proper DataField)

Co-authored-by: 0x6273 <0x40@keemail.me>

* Fix integration test & changes based on code review

* Includes Disk Cases to contain Coordinate Disks, which are now CDs instead of Floppy Disks

* Check pods & non-evac shuttles for CentCom travel, even in FTL

* Import

* Remove CentCom travel restrictions & pod disk consoles

* Major changes that changes the coordinates disk system to work with salvage expeditions

* Missed CC diskcase removal

* Fix build

* Review suggestions and changes

* Major additional changes after merge

* Minor tag miss

* Integration test fix

* review

---------

Co-authored-by: 0x6273 <0x40@keemail.me>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit bed9e9ac6a068495ff70f09eb852a9c7a156d632)
2024-04-07 14:24:24 +02:00
eoineoineoin afb70a74dc
Fix some text overflow bugs in HUD (#26615)
* Don't clip text in item status

* Fix overflow in examine tooltip

---------

Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
(cherry picked from commit 9b08c2c908e344e3356c7cb4bd75efca0adae2e4)
2024-04-07 14:23:26 +02:00
avery f5b9f4dd1e
cancelable brig timers (#26557)
brig timers now cancelable. also some screensystem yakshave

(cherry picked from commit 5eff7f169e95e94aab54b742c6928c4925cf7887)
2024-04-07 14:22:06 +02:00
Wrexbe (Josh) b8598e479d
Make the buttons on the map ui not squished (#26604)
Make the map ui work

Co-authored-by: wrexbe <wrexbe@protonmail.com>
(cherry picked from commit ad438a7ac2216c6295cae97025b4204a9c2ae41f)
2024-04-07 14:21:51 +02:00
Nemanja d9f1a5f042
disallow unanchoring or opening panels on locked emitters/APEs (#26600)
* disallow unanchoring or opening panels on locked emitters/APEs

* no locking open panels

* oops

* needback feedback

* Update Content.Shared/Lock/LockSystem.cs

* Update Content.Shared/Lock/LockSystem.cs

* Update Content.Shared/Lock/LockSystem.cs

* sanity

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 1b69762816c5ae5184baa024a4bcd23b75236a6c)
2024-04-07 14:21:48 +02:00
Plykiya 7182e0f674
Injector UI shows TransferAmount change, Spilling liquid changes Injector mode (#26596)
* Injector UI shows TransferAmount change, spill changes mode

* Update Content.Shared/Fluids/SharedPuddleSystem.Spillable.cs

* Update Content.Shared/Fluids/SharedPuddleSystem.Spillable.cs

---------

Co-authored-by: Plykiya <plykiya@protonmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit d71062a64c569d59bc67c950a34454eef7ccaa14)
2024-04-07 14:21:27 +02:00
metalgearsloth ac273c0912
Revert Paint (#26593)
* Revert "Fix build (#26258)"

This reverts commit 6de5fbfafbde700d711a566f6a43f05f7a99e455.

* Revert "Spray Paint (Review Ready) (#23003)"

This reverts commit e4d5e7f1aebfc37b1bc3453fdb39578f3897b6a1.

# Conflicts:
#	Resources/Prototypes/Entities/Structures/Holographic/projections.yml

(cherry picked from commit c91ed9685349efd0cb7dc0e541f5349dbdb17f81)
2024-04-07 14:20:19 +02:00
chromiumboy 7f158f2e5f
Improved RCDs (#22799)
* Initial radial menu prototyping for the RCD

* Radial UI buttons can send messages to the server

* Beginning to update RCDSystem

* RCD building system in progress

* Further updates

* Added extra effects, RCDSystem now reads RCD prototype data

* Replacing tiles is instant, multiple constructions are allowed, deconstruction is broken

* Added extra functionality to RadialContainers plus documentation

* Fixed localization of RCD UI strings

* Menu opens near cursor, added basic RCD

* Avoiding merge conflict

* Implemented atomized construction / deconstruction rules

* Increased RCD ammo base charges

* Moved input context definition to content

* Removed obsoleted code

* Updates to system

* Switch machine and computer frames for electrical cabling

* Added construction ghosts

* Fixed issue with keybind detection code

* Fixed RCD construction ghost mispredications

* Code clean up

* Updated deconstruction effects

* RCDs effects don't rotate

* Code clean up

* Balancing for ammo counts

* Code clean up

* Added missing localized strings

* More clean up

* Made directional window handling more robust

* Added documentation to radial menus and made them no longer dependent on Content

* Made radial containers more robust

* Further robustness to the radial menu

* The RCD submenu buttons are only shown when the destination layer has at least one children

* Expanded upon deconstructing plus construction balance

* Fixed line endings

* Updated list of RCD deconstructable entities. Now needs a component to deconstruct instead of a tag

* Bug fixes

* Revert unnecessary change

* Updated RCD strings

* Fixed bug

* More fixes

* Deconstructed tiles/subflooring convert to lattice instead

* Fixed failed tests (Linux doesn't like invalid spritespecifer paths)

* Fixing merge conflict

* Updated airlock assembly

* Fixing merge conflict

* Fixing merge conflict

* More fixing...

* Removed erroneous project file change

* Fixed string handling issue

* Trying to fix merge conflict

* Still fixing merge conflicts

* Balancing

* Hidden RCD construction ghosts when in 'build' mode

* Fixing merge conflict

* Implemented requested changes (Part 1)

* Added more requested changes

* Fix for failed test. Removed sussy null suppression

* Made requested changes - custom construction ghost system was replaced

* Fixing merge conflict

* Fixed merge conflict

* Fixed bug in RCD construction ghost validation

* Fixing merge conflict

* Merge conflict fixed

* Made required update

* Removed lingering RCD deconstruct tag

* Fixing merge conflict

* Merge conflict fixed

* Made requested changes

* Bug fixes and balancing

* Made string names more consistent

* Can no longer stack catwalks

(cherry picked from commit 02273ca0e7a4091bac88e585ecca5253dd0e7fd7)
2024-04-07 14:19:42 +02:00
J. Brown 389e39e4ba
Uplink store interface searchable with a searchbar. (#24287)
* Can now search the uplink store interface with a searchbar.

* Search text updates no longer send server messages. Persists listings locally.

* Formatting fixes and tidying.

* Added helper method to get localised name and description (or otherwise, entity name and description) of store listing items.

* Update Content.Client/Store/Ui/StoreMenu.xaml

* Review change; moved localisation helper functions to their own class.

* Prevent thread-unsafe behaviour as-per review.

* Remove dummy boxcontainer

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit de62ec204b04809175945a2ccfd4dbce6dafd8eb)
2024-04-07 14:18:45 +02:00
brainfood1183 a7fb1b4bbc
Toilet Upgrade (needs review) (#22133)
* Toilet Draft

* fixes

* toilets now have secret stash to place items in cistern.

* fixes

* plungers now unblock toilets.

* fix sprite

* new sprites and fix

* fixes

* improve seat sprites.

* fix

* removed visualisersystem changed to genericvisualizers

* flush sound for toilets and copyright for toilet sprites.

* fix atrributions

* fixes

* fix datafield flushtime

* sprite improvements

* fixes

* multiple changes

* fix

* fix

* fixes remove vv

* moved stash related functions to secret stash system from toilet.

* fix

* fix

* changes for recent review.

* fix

* fix

(cherry picked from commit 5f063d2d6d2a41702b60d11f779e23c34fa74410)
2024-04-07 14:18:32 +02:00
Wrexbe (Josh) e31ea299c4
Make timer ignore client predict setting (#26554)
* Make timer ignore client predict setting

* making tests run

---------

Co-authored-by: wrexbe <wrexbe@protonmail.com>
(cherry picked from commit 8676aad583ad7104151bf22932da86a87cb52c5a)
2024-04-07 14:15:43 +02:00
Wrexbe (Josh) 33b274c9a8
Fix initial infected icon hiding (#26585)
(cherry picked from commit 0edd0a74f426f19fc1fb7519656c62f70d02cd1f)
2024-04-07 14:15:17 +02:00
Plykiya 8d8a7b2004
Hyposprays Draw from Jugs (#25544)
* Hyposprays Draw from Jugs

* Fix last onlyMobs usage in yml

* Some Suggested Changes

* Remove unnecessary datafield name declarations

* Remove unnecessary dirtying of component

* Same line parentheses

* Added client-side HypospraySystem

* Cache UI values and only updates if values change

* empty line

* Update label

* Label change

* Reimplement ReactionMixerSystem

* Remove DataField from Hypospray Toggle Mode

* Change ToggleMode from enum to Bool OnlyAffectsMobs

* Add DataField required back since it's required for replays...?

* update EligibleEntity and uses of it

* Add user argument back

* Adds newline

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* Guard for dirty entity

* Adds summary tag

---------

Co-authored-by: Plykiya <plykiya@protonmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit f192d7901fedd134c38a6cab38731f8e93994492)
2024-04-07 14:14:28 +02:00
Pieter-Jan Briers f9c225df61
Refactor FTL time tracking code to fix a UI bug (#26538)
The FTL UI on the shuttle console would reset the FTL progress bar every time you open it. This is because the server only sends "time until completion", not a start/end time. The FTL code now uses a separate start/end time so the exact same progress bar can be preserved.

For convenience, I made a StartEndTime record struct that stores the actual tuple. This is now used by the code and has some helpers.

(cherry picked from commit 3b791459c74c6b56c8ae6204a936f6de06674b93)
2024-04-07 14:12:57 +02:00
Tayrtahn 8ecb0d9ae2
Add prediction to Spill Container verb, add dummy TrySpill methods to shared (#25813)
* Moved abstract spill methods to shared; added prediction to spill container verb.

* Rerun tests

* Requested changes

* Note Client behavior in Spill method docs

(cherry picked from commit 4cd2fbd076ac09d93e5258bf2b822360c77d1ea1)
2024-04-07 14:11:49 +02:00
Crotalus 230c1cf328
Add auto modes to reagent grinder (#26290)
* Add auto-mode to reagent grinder

* Remove redundant stuff with DataField

* Use margin instead of dummy control

* Resolve grinder component

(cherry picked from commit a606909d30477453bc23765df4c78f04b2ead522)
2024-04-07 14:11:40 +02:00
metalgearsloth c228198f8f
Update audioparams (#26387)
Drops busname + attenuation.

(cherry picked from commit a25801b35b6170ce7b371957ec97f9db516f1094)
2024-04-07 14:11:11 +02:00
Jake Huxell 7be31aab33
Reduced Warning Count By 130 For Full Rebuilds (#26518)
* remove deprecated entity coordinate extension functions. Reduces warning count by approximately 50

* final toCoords Removed

* Remove all unused variables and dead code paths

* remove always true variable, should be a cvar or something instead

* remove superfluous variables from tests

(cherry picked from commit 59e46aab93ca38f8d57fcad4e3a2c893737d9ad4)
2024-04-07 14:11:06 +02:00
Jake Huxell 9e8416ba73
[BugFix] Persist Job Restrictions When New User Late Joins (#26498)
* make sure to keep late join button disabled if requirements not met

* more succinct representation of condition

(cherry picked from commit cfc0ecbf80ab497a01443aea354f4ac3dc205b58)
2024-04-07 14:10:51 +02:00
Tayrtahn fc280ed0c5
Separate "thank you" messages from general ads (#25867)
* Separated "thank you" messages from general ads

* Moved MessagePackPrototype to shared, cleaned up AdvertiseComponent, and actually killed AdvertisementsPackPrototype.
+More suggests changes.

* Rename PackPrototypeID to Pack in both components.

(cherry picked from commit 794a447bb7f0a36abaac802e0fa4d1ce7c8998ef)
2024-04-07 14:10:23 +02:00
deltanedas 9c2666cdb2
voicemask can select speech verb (#25768)
* add Name field to SpeechVerbPrototype

* extra locale for voice mask ui

* SpeechVerb ui and handling

* raaaaaaaaa

* reeeeeeeeal

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

* fix sort

* did you hear john syndicate died of ligma

* Update Content.Client/VoiceMask/VoiceMaskNameChangeWindow.xaml

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit d13da2837d3a919df2101b37eae945e633c76c56)
2024-04-07 14:09:57 +02:00
Nemanja e2ddce9938
dynamic alert sprites (#25452)
* dynamic alert sprite

* fix fat cooldowns

(cherry picked from commit d576f5cbbb3969d1399a25b9692c16b63bbf2a46)
2024-04-07 14:09:54 +02:00
deltanedas 76199f9ff0
biggest gridinv update OF ALL TIME (#25834)
* add SaveItemLocation keybind

* make item direction public to avoid having to change between Angle for no reason

* add item location saving

* show

* Added a better save keybind, made it draw saved positions, and trying to save in a position it has already been saved in removes that position.

* w

* code style

* Make taken spots appear blue

* style

* !

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: notquitehadouken <tripwiregamer@gmail.com>
Co-authored-by: I.K <45953835+notquitehadouken@users.noreply.github.com>
(cherry picked from commit 6863a7cc26f815ec9089003e8735777cea927d0f)
2024-04-07 14:08:49 +02:00
Jake Huxell a85967f65f
Late Join Menu Properly Retains Position On New Player Joins (#26483)
* When another player late joins it will correctly update the UI locally

* Resolve passengers not displaying the correct message in late join

* Improve final boolean comparison of button disabled state to be a bit neater

(cherry picked from commit bf7c1d647e7633ee2993a7da22318b7cf280d8ba)
2024-04-07 14:04:28 +02:00
nikthechampiongr 623d6414d5
Fix mailing units turning into disposal units while recharging. (#26383)
* Fix mailing units turning into disposal units while recharging.

The states were hardcoded.

* Fix error handling

* Make default states constants

(cherry picked from commit 94e4755a8de6885c97fac1cfb767144e8e07981a)
2024-03-27 18:36:59 +01:00
Wrexbe (Josh) 0bb151f0d5
Store keybind priority (#26356)
* Fix saving keybind priority

* Change movestoreditem keybind priority to prevent bug

---------

Co-authored-by: wrexbe <wrexbe@protonmail.com>
(cherry picked from commit f7a1ffd0aab25d70ac185753d596469fc1e87480)
2024-03-27 18:33:45 +01:00
Leon Friedrich 7ecc968f8c
Run `fixgridatmos` for cargo & emergency shuttle (#26382)
Fix cargo & emergency shuttle

(cherry picked from commit ec761114eacdeed6e68f9c94dddfdbec8a6e26be)
2024-03-27 18:32:40 +01:00
DrSmugleaf ad0888a0fd
Hide empty marking categories in the markings picker (#26377)
Hide empty marking categories

(cherry picked from commit 4790ccba19c1f63f21a2aa57fe4525587c119d9c)
2024-03-27 18:28:50 +01:00
Leon Friedrich 239fd1d654
Partial atmos refactor (#22521)
* Reduce atmos component queries

* Remove method events

* Cache airtight data

* Make MolesArchived nullable

* Fix airtight cache

* only get tile def once

* Immutable mixtures

* firelock queries

* misc

* misc cleanup

* Trim disconnected tiles

* Fix merge issues and bugs

* Why does the PR keep increasing in scope

* debug overlay

* Fix bugs

* Fix test, remove unused events

* Add setmapatmos command

* Fix overlays

* Add map check

* A

* Resolve conflicts with #26102

* Remove some obsolete methods

(cherry picked from commit 18a35e7e83b2b71ee84b054d44d9ed5e595dd618)
2024-03-24 00:14:24 +01:00
Wrexbe (Josh) 998bc5af12
Fix crash on load when no slot key assigned (#26354)
Co-authored-by: wrexbe <wrexbe@protonmail.com>
(cherry picked from commit e69723153dc571e1461c99ac5c7d82a1992e011d)
2024-03-24 00:14:01 +01:00
Tayrtahn eb4cd9bc0b
Code Cleanup: Purge obsolete MapManager methods (#26279)
* GetGrid

* GridExists

* TryGetGrid

(cherry picked from commit ae3d745430e3c5250d19553429e7cda2b8050d10)
2024-03-24 00:13:35 +01:00
metalgearsloth 2c49471e3e
FTL UIScale fixes (#26305)
- Fix text drawing being offset.
- Fix beacon snapping and distance check.
- Fix DrawData being offset.
- Fix bounds check for map objects not using PixelSize.

(cherry picked from commit 000a259563fd6ac1ec6889cd1fc767fcbc4a39de)
2024-03-24 00:12:31 +01:00
Plykiya 0db205377e
Door Remote now shows Mode in UI (#26162)
* Prep for DoorRemote Status

* Door Remote Mode Messages

* plural opens and closes

* never trust webedits

---------

Co-authored-by: Plykiya <plykiya@protonmail.com>
(cherry picked from commit e627a0d24bc8ae89665feb0b0d519b5fbb77ce32)
2024-03-24 00:08:08 +01:00
Pieter-Jan Briers 16c7c2882d
Improve admin message seen/dismiss state. (#26223)
Fixes #26211

Admin messages now have separate "seen" and "dismissed" fields. The idea is that an admin should be able to tell whether a user pressed the "dismiss for now" button. Instead of using "seen" as "show this message to players when they join", "dismissed" is now used for this.

Existing notes in the database will automatically be marked as dismissed on migration. A note cannot be dismissed without being seen (enforced via constraint in the database too, aren't I fancy).

As part of this, it has become impossible for a player to play without dismissing the message in some form. Instead of a shitty popup window, the popup is now a fullscreen overlay that blocks clicks behind it, making the game unplayable. Also, if a user somehow has multiple messages they will be combined into one popup.

Also I had enough respect for the codebase to make it look better and clean up the code somewhat. Yippee.

(cherry picked from commit d776c4b392a082dba7539d77cfa20fc904ed4091)
2024-03-24 00:08:01 +01:00
Tayrtahn 3dd5dcadc5
Code cleanup: Purge calls to obsolete EntityCoordinates methods (#26292)
* Purge calls to obsolete EntityCoordinates methods

* Pizza defruited; rerun those tests!

(cherry picked from commit f4cb02fb0ca385c858569c07c51afb0d24ade949)
2024-03-24 00:07:58 +01:00
Tayrtahn 11eff87687
Code cleanup: Dirty(Comp) (#26238)
* Replaced uses of Dirty(Component) with Dirty(Uid, Component)
Modified some systems (notably pulling-related) to use uids.

* Missed a few

* Revert changes to pulling

* No

(cherry picked from commit 4a83c365858830e3b2ff2b94fff501256422c20e)
2024-03-24 00:04:13 +01:00
metalgearsloth d3a54f710f
Fix build (#26258)
* Fix build

- Fixes a couple paint things that were broken.

* wat

(cherry picked from commit 6de5fbfafbde700d711a566f6a43f05f7a99e455)
2024-03-24 00:03:31 +01:00
metalgearsloth 4bacc02a0e
Pulling rework v2 (#24936)
* Pulling rework

Fixing up the FOUR systems managing pulling, all the shitcode, and also making it nicer ingame.

* More pulling cleanup

* stats

* More cleanup

* First draft

* More pulling

* weh

* Fix puller

* Pulling working

* Fix merge

* Dunked

* Self-merge time

* Fix hotkey

* Fix container changes

* oop

* Fix multi-pulling

* Move alerts cleanup.

* pulling fixes

(cherry picked from commit c584f6444a85cc53edb060230f7e7b2b76cc87bf)
2024-03-24 00:03:20 +01:00
nikthechampiongr 6d38428b56
Fix SCRAM implant not working while cuffed. Incidentally fix freedom implant working while dead/crit (#25978)
* Fix SCRAM implant not being usable while in cuffs. Also fix freedom implant from working while dead/crit as a side effect

* Move check up to apply to all actions and do thing I forgor to do before

* Change check into an ActionBlocker check that also checks whether the user is sleeping.

* Make checking for Consciousness the default for actions

Went through and chose what I believe to be sensible defaults for actions that had CheckCanInteract.

* Fix typos my beloved

I had an unbelievable skill issue

* Fix major skill issue

(cherry picked from commit 22e9d6562f21bdd4f0962d6e3b6fcdd81bb4c253)
2024-03-24 00:01:51 +01:00
Killerqu00 f33fe79c7a
Initial Infected can see each other (#25934)
initial infected icon

(cherry picked from commit 45d6c03407e41d92caa368e1db826efd6d828b66)
2024-03-24 00:01:46 +01:00
brainfood1183 53b2d209b0
Spray Paint (Review Ready) (#23003)
* Spray Paint (Draft)

* paint colors, paints in maints loot, cargo crate of paints.

* fix

* remove paint (sort of)

* moved paintcleaner into own system

* Moved paint to server (had to unfortunately)

* doafter now breaks when moving away.

* cant paint mobstatecomp

* loads of fixes

* fixes

* fixes

* nopaintshadercomp

* fixes

* fix

* use locale for paint remove string

* remove nopaintshadercomponent and use blacklist

* remove enabled.true from visualizer

* paint doafter event.

* add verbs for paint and remove paint and icon for paint verb.

* fixes

* no longer replaces shader when shader exists.

* replace forloop with foreach, check shader before adding and removing.

* paint doafter now separate so no copy paste code

* Entities in sprayed targets item slots are also now correctly sprayed.

* fix

* fix

* fix airlock psray painter now removes painted before painting door.

* spray paints now use openablecomponent.

* fix

* fix damn accesstypes.

* fix

* fix

(cherry picked from commit e4d5e7f1aebfc37b1bc3453fdb39578f3897b6a1)
2024-03-23 23:59:20 +01:00
DoutorWhite 2db74bd7c5
Improves Medical Hud interface and functionality (#26027)
* Improvements to the medical hud interface

* Adds an icon for SSD players

* Indentation fix

* Update sprites, changes direction and adds new status icon.

* Adds decomposing icon

* Code cleaning

* Changes Crit Icon sprite

* Simplifies the decision structure

* Changes copyright line

* Changes Critical Icon sprite

* Makes the Critical Icon border darker

* Changes sprites to /tg/ station

* Updates copyright

* Makes Dead Icon animation slight faster

* Code cleaning

* Remove some unused imports

* Code cleaning and rename icon

* Minor code cleaning

(cherry picked from commit 8d40bc36a93d3d5c6d3ece6c662ac9747f7837ae)
2024-03-23 23:56:19 +01:00
Leon Friedrich 1aefd9c6a1
Add reckless replay load button (#26212)
* Add reckless replay load button

* A

* More descriptive button

(cherry picked from commit 646f7e07a83816875157c1a445af445d2b72dfae)
2024-03-23 23:56:14 +01:00
deltanedas e948115f9f
Move faction exception and everything it needs to shared (#25154)
* move faction prototype to shared

* move faction exception and member stuff to shared

* fix breaking changes for random stuff

* move pettable friend stuff to shared

* mostly fix

* final fixy

* dragonops

* final fixy II

* use querys and fix warpspeed fish (probably)

* fixer

* Rrrr!

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>

(cherry picked from commit 7561bef6a7aee65149381e155da53abc65a6a4e7)
2024-03-23 23:55:48 +01:00
Golinth b56551f310
Criminal Record Icons below Job Icons (#26203)
SS13 Criminal Record Icon Location REAL

Adds a new Offset DataField to the StatusIcon Prototype. It effects status icon location on a per-pixel level. Not sure what else it could be used for, but hey, nothing wrong with generalizing. Also moves the mindshield icon priority to one, to fix an unreported bug with them covering non-job icons.

(cherry picked from commit 21de5e9a08929e8c710030b887c081bf6afc9649)
2024-03-23 23:51:45 +01:00
LordCarve f8ea31a192
Obsolete `Logger` cleanup for `EntitySystem`s part 2 (#26159)
* Kill the static InRangeUnOccluded

* Adjusted 4 more EntitySystems that were missed.

(cherry picked from commit 7d275a4b5e4188db424cc417c609dced3f9aca89)
2024-03-17 15:11:33 +01:00
Ed a74bbc0fc0
Fashion is my profession - Procedural jumpsuit variants (#25888)
* add color field to clothing layers

* add support to randomsprite

* bababa

* finalize spriting work

* add to game

* fix

* remove space

* edit patelle, +1 decor variant

* added only pants, some sprite fix

* inflation

* fix mixed

* not tested commit

* Revert "not tested commit"

This reverts commit 4a904df3452263e87c9cb819ab5d8cf411ebe468.

* naked human is fun

* update

* add new style

* some sprite pixel tweak

* Update meta.json

(cherry picked from commit 986ac589b44687fd2f3b71da00a52434db75abe3)
2024-03-17 15:09:40 +01:00
Pieter-Jan Briers 17c1a5a7fa
Throttle people trying to connect to a full server. (#20972)
* Throttle people trying to connect to a full server.

To reduce spam/load on the server and connection logs table.

Players are forced to wait 30 seconds after getting denied for "server full", before they can try connecting again.

This code is an absolute nightmare mess. I tried to re-use the existing code for the redial timer but god everything here sucks so much.

Requires https://github.com/space-wizards/RobustToolbox/pull/4487

* Use new NetDisconnectMessage API instead.

* Add admin.bypass_max_players CVar.

Just something to help with debugging the player cap on dev, I don't expect this to ever be disabled on real servers.

(cherry picked from commit 0ecc5e8c96c235af265ab747d7345b363f94b1e4)
2024-03-17 15:07:14 +01:00
778b 3493b63074
Fixed bug with appearance of ammo battery magazine guns (#26009)
fixed

(cherry picked from commit 63232389ca9a499fb614960ccf9eae9b3d186037)
2024-03-17 14:59:06 +01:00
maylokana 1356203d30
Attempt at a more noticably whispered bubble (#25602)
* Attempt at a more noticably whispered bubble

* Better implementation

(cherry picked from commit 4f698a6e0d74d28713e2dabbfb20969477538e11)
2024-03-17 14:55:51 +01:00
Arendian 13c6eeb87a
Criminal record hud icons (#25192)
* Security hud shows icon based on criminal record status

* Criminal status now linked to name instead of identity

* parole loc

* Test fix

* review changes

* Check station records instead of storing names on criminal record consoles.

* cleanup

* more cleanup

* review changes

* change outdated comments

* rename

* review changes

* remove event subscription

* replaced event with trycomp

* default value

(cherry picked from commit 60b9d89e4dbdd8aaad4992a105628297d9480617)
2024-03-17 14:52:22 +01:00
Errant 572e7b186f
Species info in Guidebook and at chargen (#25844)
* guidebook pages defined

* species info button in character profile editor

* if current species has no guidebook page then open the parent page

* skrek

* destroying evidence of secret vox plot

* icon size adjustment, no icon if guidebook page for species does not exist

* finished pages

* additional info

* weh

(cherry picked from commit 84a07315dde09c2cff716f9f3a73f493b6b56cc7)
2024-03-17 14:52:17 +01:00
metalgearsloth df544f094d
Shuttle map IFF tweaks (#25897)
- HideLabel just means it won't have its name / button drawn whereas Hide will block it completely.

(cherry picked from commit a41772a006302bbe267793569b4b0d171eb82c87)
2024-03-17 14:52:08 +01:00
Gregg 6ac1c7e8e3
fix: ambient music fade in (#25874) (#25969)
(cherry picked from commit e47f84568eec53efd66fca6e79d8c594a508cf3c)
2024-03-17 14:51:28 +01:00
DoutorWhite 5d055baf1a
Prevents FloorOcclusion from breaking rendering (#25960)
* Prevents FloorOcclusion from breaking rendering

* Minor change

(cherry picked from commit 717da4a8f3b6d68cb17d6bf75c84eae6ce46e1b5)
2024-03-17 14:51:23 +01:00
Vasilis 0342e170f4
Fix game.role_timers not effecting the antag menu (#25964)
* Fix game.role_timers not effecting the antag menu

* Yeah i guess i should

(cherry picked from commit 1eb2bcf45532c4200c1f2606d1759fe335a636f7)
2024-03-17 14:51:22 +01:00
LordCarve 60f2c8376d
Obsolete `Logger` cleanup for `EntitySystem`s (#25941)
* Small obsolete Logger cleanup

* Fixed three EntitySystem logs that weren't doing it right.

(cherry picked from commit aafe81512258b5a80776ada1f471b58e7507ca2d)
2024-03-17 14:46:35 +01:00
Flesh 0facab061b
Added winddown to space drugs effect (#25652)
added winddown to drug effect

(cherry picked from commit 865765d4eca5483d22c5d1e496b7f7c8787833a8)
2024-03-17 14:46:32 +01:00
Nemanja 8950fd6a0f
Add a toggle for colorblind friendly progress bar colors (#25318)
* Add a toggle for progress bar colors

* yeah this thing

* PJB review

* optimization

(cherry picked from commit f3f4616c49317898aeeff304160b0b50df9ee851)
2024-03-17 14:46:26 +01:00
Brandon Hu 34d820f0f2
Disable the publish and preview buttons on news management console when bounds are exceeded (#25939)
(cherry picked from commit 08e1b79a7f6d75441bf50ead268e4b852d270172)
2024-03-17 14:46:19 +01:00
MODERN ee8e5b4f2f
CargoConsoleMenu localization (#25931)
- every category of type "cargoProduct" was edited to "cargoproduct-category-name-{categoryName}"
- file "cargoproduct-categories.ftl" was added to english localization to localize categories of cargoProduct
- CargoConsoleMenu.xaml.cs got tweaks which prevent issues with strings comparisons

(cherry picked from commit 6e38b992cfc607e09178efc178b86f35152f0cde)
2024-03-17 14:46:09 +01:00
metalgearsloth 132d02653c
Fix exped FTL (#25823)
Also fixed some other stuff I noticed.

(cherry picked from commit c23b3d804efc7f35cf6c56d872d8dd7fee82ece1)
2024-03-08 12:54:55 +01:00
metalgearsloth 02c58d4e80
Fix shuttle IFF drawing (#25821)
Didn't account for UI scale properly I love transforms.

(cherry picked from commit 87e2755c31a972f8839b408e5cf78d4665533927)
2024-03-08 12:54:54 +01:00
metalgearsloth 772218ab65
Fix shuttle console UI scaling (#25807)
(cherry picked from commit b7ccf738883b486364b10b272ce4c9fef3ad6261)
2024-03-08 12:54:54 +01:00
metalgearsloth f102e8ff75
Shuttle console + FTL rework (#24430)
* Add shuttle interior drawing back

Just do it per-tile she'll be right, at least it's done with 1 draw call.

* Revamp shuttle console

* Bunch of cleanup work

* Lables sortito

* dok

* Pixel alignment and colours

* Fix a bunch of drawing bugs

* Shuttle map drawing

* Drawing fixes

* Map parallax working finally

* weh

* Commit all my stuff

* mic

* deez

* Update everything

* Xamlify everything

* uh

* Rudimentary blocker range

* My enemies have succeeded

* Bunch of changes to FTL

* Heaps of cleanup

* Fix FTL bugs

* FTL

* weewoo

* FTL fallback

* wew

* weh

* Basic FTL working

* FTL working

* FTL destination fixes

* a

* Exclusion zones

* Fix drawing / FTL

* Beacons working

* Coordinates drawing

* Fix unknown map names

* Dorks beginning

* State + docking cleanup start

* Basic dock drawing

* Bunch of drawing fixes

* Batching / color fixes

* Cleanup and beacons support

* weh

* weh

* Begin pings

* First draft at map objects

* Map fixup

* Faster drawing

* Fix perf + FTL

* Cached drawing

* Fix drawing

* Best I got

* strips

* Back to lists but with caching

* Final optimisation

* Fix dock bounds

* Docking work

* stinker

* kobolds

* Btns

* Docking vis working

* Fix docking pre-vis

* canasses

* Helldivers 2

* a

* Array life

* Fix

* Fix TODOs

* liltenhead feature club

* dorking

* Merge artifacts

* Last-minute touchup

(cherry picked from commit c5486873db0d6826122eb1f30007e392fc101082)
2024-03-08 12:54:53 +01:00
metalgearsloth fa61952f51
Add trade stations (#23863) 2024-03-08 09:52:50 +01:00
Tayrtahn 549d4f18cd
Add SharedPopupSystem.PopupPredicted (#25811)
* Added SharedPopupSystem.PopupPredicted

* Documentation improvement

(cherry picked from commit 0738829510d823bf0f22eaf197f6f5cc3744bbc3)
2024-03-07 01:52:38 +01:00
Errant bdcfcf108f
Readmin enables Debug Coordinates in F3 overlay (#25063)
readmin debugcoords

(cherry picked from commit 46f6799ba2afe0e6a5cfbcceef9db84f950d84e5)
2024-03-07 01:52:29 +01:00
Pieter-Jan Briers e01969b0fd
Paper save button, back to ctrl+enter save. (#25870)
* Revert "Change keybindings for paper (#25853)"

This reverts commit 4b56996fcdbf88581d31d4c8aeb184f0c4c23309.

* Add a save button to the paper editing UI instead.

(cherry picked from commit d385c1bb2327da4fa6bf83d1813c44295eb8efdd)
2024-03-07 01:28:18 +01:00
Tayrtahn c255822389
Add prediction to hand labeler labels (#25869)
Added prediction to labels

(cherry picked from commit f4976a32886850df2033e7866d0c9a5df37be1af)
2024-03-07 01:27:58 +01:00
exincore a66dc10cf0
feat(inventory): Add secondary smart-equip star (#25696)
* feat(inventory): Add secondary quick-remove star

* style: Fix end of file newline

* feat(inventory): Change secondary smart-equip star to silver star

* feat(inventory): Decrease secondary quick-equip star luminosity to better match the primary

(cherry picked from commit c8cc806a8fed7de92db48f4f066f63d5464502d1)
2024-03-07 01:18:38 +01:00
Fildrance 426b208c1d
fix: lobby music volume will be changed on options change without restart (also lobby music not looped anymore) (#25530)
* fix: lobby music volume will be changed on options change without restart (also lobby music not looped anymore)

* refactor: now lobby music is part of ContentAudioSystem. Lobby playlist is used instead of single track. Client now selects next lobby soundtrack after previous finished.

* refactor: incapsulated info on current lobby track in simple record

* refactor: fixed inconsistent naming between song and soundtrack for lobbymusic

* refactor: xml-doc for LobbyPlaylistChangedEvent

* fix: inverted invalid _audio.PlayGlobal check to return only if lobby soundtrack play call failed

---------

Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
(cherry picked from commit 4c87dcd3cb92855df1fa01dea52d2ddd09f2adce)
2024-03-07 01:18:33 +01:00
lapatison 4444cce972
Small news manager localisation (#25718)
* loc

* per review

* Update Content.Client/MassMedia/Ui/ArticleEditorPanel.xaml

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>

---------

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
(cherry picked from commit 4f7facbd73270d38efce72fbb9d0dabd1f432dd2)
2024-03-07 01:18:30 +01:00
Errant 63e45f9532
Alerts for breathing plasma/tritium (#24484)
* Alert autoremove v0

* Code cleanup and timing

* comment

* Tritium, code compression

* not resolving manually

* reduced lookups, new comp

* fix-fix yes

* use RemCompDeferred, handle OnUnpaused

* missed a todo

* entitysystem resolve

* remove unnecessary component updates

* remove AlertState from comp, move EntityUnpausedEvent actions to AlertStateComponent's Timespan

* Code cleanup

* comments

* combines AutoRemove input into Clear

* minor logic adjustment that does not really change anything but is less ambiguous

(cherry picked from commit ecd2d5a644540c6ad28903ee4fb2af87876e3030)
2024-03-07 01:17:31 +01:00
Flesh 34287d692c
Cargo request console search now includes crate descriptions (#25708)
added condition checking description to cargo search

(cherry picked from commit c83ad11be170f860a0fbd5dde257fd0537e89712)
2024-03-07 01:12:17 +01:00
LordCarve ba36e5195f
Refactor AME to use ItemSlot for Fuel (#25558)
* Using wrench on AME doesn't first try to put it in.

* Refactor AME to use ItemSlot for fuel.

* Apparently these names want to match.

(cherry picked from commit c47391011d0f7f56dfcba8e4db348f0dc0d58c09)
2024-03-07 01:08:04 +01:00
Rainfey b9d2f5a409
Refactor antag rule code (#23445)
* Initial Pass, Rev, Thief

* Zombie initial pass

* Rebase, Traitor

* Nukeops, More overloads

* Revert RevolutionaryRuleComponent

* Use TryRoundStartAttempt, Rewrite nukie spawning

* Comments, Add task scheduler to GameRuleSystem

* Zombie initial testing done

* Sort methods, rework GameRuleTask

* Add CCVar, Initial testing continues

* Might as well get rid of the obsolete logging

* Oops, i dont know how to log apparently

* Suggested formatting fixes

* Suggested changes

* Fix merge issues

* Minor optimisation

* Allowed thief to choose other antags

* Review changes

* Spawn items on floor first, then inserting

* minor tweaks

* Shift as much as possible to ProtoId<>

* Remove unneeded

* Add exclusive antag attribute

* Fix merge issues

* Minor formatting fix

* Convert to struct

* Cleanup

* Review cleanup (need to test a lot)

* Some fixes, (mostly) tested

* oop

* Pass tests (for real)

---------

Co-authored-by: Rainfall <rainfey0+git@gmail.com>
Co-authored-by: AJCM <AJCM@tutanota.com>

(cherry picked from commit 4e6c59cfe51211064d79a727cc2d37c2a2f55a2c)
2024-03-07 01:06:59 +01:00
Menshin 37c7ac7931
Add space heaters (#25250)
(cherry picked from commit 98843511014e1b5fce34b7e1215179dd3d0f94c8)
2024-03-07 01:05:02 +01:00
Debug c6bd89ce76
Revert "Fix chat bubbles (#25643)"
This reverts commit a074c30a52.
2024-03-07 01:03:46 +01:00
metalgearsloth a074c30a52
Fix chat bubbles (#25643)
Dependencies got misused

(cherry picked from commit 23d2c4d924efbae39f1b6677f1e495f55e3d75a2)
2024-03-07 01:02:59 +01:00
Julian Giebel c9f4910cb9
News UI overhaul and PDA notifications (#19610)
(cherry picked from commit 0752acdc2ca2db43581e2c0d95a5d96041247bc9)
2024-03-07 01:02:24 +01:00
Whisper e0d84f2db2
Whisper bleed update v3 (#25434)
* Whisper bleed update v3

* missed a few

* Add bleeding message to health analyzer.

* Fix bleed notification not updating.

* Apparently this either doesnt exist

(cherry picked from commit ff65cb7b0caaeb9edd9461eff942bdc6f5eb7f50)
2024-03-07 00:59:34 +01:00
Plykiya 9adf84fb89
Syringe UI cached updates (#25581)
Injector status UI cached values

Co-authored-by: Plykiya <plykiya@protonmail.com>
(cherry picked from commit dffd02adb161f8299e858fb6c0c2eb71e595e21f)
2024-03-07 00:57:12 +01:00
Pieter-Jan Briers 5d93d35fdf
Character profile sanitization improvements (#25579)
Validate that job and antag prototypes can actually be set in character profiles, rather than just checking if the prototype exists.

Make preferences system just call existing validation code when loading prototype from database, instead of some hacked-together stuff.

Also I made the character profile validation logic take dependencies in via parameter because fuck resolves.

(cherry picked from commit 8d244f7b76ba881253eb94611acaab31865c3920)
2024-03-07 00:56:04 +01:00
Krunklehorn 17af37f8bc
Fix grid inventory pick/drop rotation (#25510)
OnPiecePressed

(cherry picked from commit 7d6e4b164d6013257423afe02b3f06447e37bec3)
2024-03-07 00:53:11 +01:00
Tayrtahn f40668818b
Add a container display to dispenser UI (#25391)
* Implemented contents display for dispenser UI

* Update Content.Client/Chemistry/UI/ReagentDispenserWindow.xaml.cs

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>

* Resolve the netent into a euid first

---------

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
(cherry picked from commit 100ece2e2078ab2fe99f4ce1ab36b2cd05319772)
2024-03-07 00:53:04 +01:00
Vasilis 4cced6e9d6
Fix centcom and other jobs with setPreference set to false showing up anyway (#25496)
* God dammit pjb

* Smol cleanup

(cherry picked from commit 237d89cbfe526856dd547a7e9f37b01d87e84361)
2024-03-05 09:49:48 +01:00
metalgearsloth cd8b5b96b5
Optimise DecalOverlay (#25266)
ChunkSize is still 32 so doesn't cut down on heaps of decals atm though we avoid passing many decals to drawing with the coordinates bounds check now.

(cherry picked from commit d8e5f5c24b88bf8096ddaec11e80f1af2953637b)
2024-03-05 09:49:43 +01:00
Pieter-Jan Briers 905bb83a2d
Make department / job list sorting consistent. (#25486)
* Make department / job list sorting consistent.

This makes late join, crew manifest and character profile all apply consistent sorting for jobs and departments.

We use the already-defined weights for departments (so command, then sec, then station specific, then just sort by prototype ID). Jobs also use weight (so heads are always at the top) then prototype ID, then character name (for manifest).

Removed the crewmanifest.ordering CVar as doing it via prototype weight is just easier, and that CVar was already a mess anyways.

* Fix jittery job icons in lists.

They were set to KeepCentered in TextureRect. This has issues because the allocated space is actually an odd number of pixels, so it tries to position the draw at a half pixel offset.

Now, yes, fixing this in TextureRect would make much more sense, but get off my back. (Ok seriously we need better helper functions for doing that in the engine. Don't wanna deal with that right now and I already have this patch made.)

Instead I'm just gonna fix the issue by using VerticalAlignment in all these places instead which ends up doing exactly the same thing YIPPEE.

Also gave a margin next to the icon on the crew manifest. Margins people!

(cherry picked from commit 715794dd414c5d4b794cd6f2201983ecbc5d4f17)
2024-03-05 09:49:19 +01:00
Pieter-Jan Briers 324ea7fbc8
Switch project files to C# 12. (#25487)
Just unlocks new language features like primary constructors.

(cherry picked from commit b1de6dd6017f4f56045df409db59fb7d303bde5d)
2024-03-05 09:49:02 +01:00
Tayrtahn 164c06f6ed
Add prediction to Openable (#25477)
* Fix formatting problem with FullOpened

* Moved to Shared and networked

* Revert "Fix formatting problem with FullOpened"

This reverts commit f8353403da830a4402bdd457bcf24a2432a5f566.

(cherry picked from commit 381bb9020aeba82e9cad111c77c34bee29d52c68)
2024-03-05 09:48:52 +01:00
Nemanja 384c060ea5
Predict doors and airlocks (#25419)
* predict doors and airlocks

* prying, too

* ack

* eek

(cherry picked from commit ce0a51fc29675b3b0afb90296b6a8ce90c3f9cd3)
2024-03-05 09:48:41 +01:00
dffdff2423 6757f63a90
Add option for admins to disable bwoink (#25008)
* Add option for admins to disable bwoink

In a vain attempt to get people to ahelp more, provide the possibility
for admins to not play the bwoink sound if they don't want to scare the
player.

* Add silent indicator to discord relay

* Use string interpolation

(cherry picked from commit a3c93b0bd7478c0f75daaa2f7d0bd8b88565b27e)
2024-03-05 09:43:40 +01:00
Debug 813db18871
Re-enable AnyCommand on acts 2024-03-01 01:04:24 +01:00
Debug b32a3446ff
Vision filter accessibility option (#889)
* Add option to disable vision filters

* Remove DefaultVision in favor of the setting

* Clean DeltaTab.xaml.cs
2024-02-23 19:36:18 +01:00
Golinth cd1b5f07c7
Mindshield outline flashes, (#25409)
* Add animation support to status icons

Animated like any other entity. Change the png to have all frames, add delays in meta.json, and you're good to go.

* Dirty "fix" for the crashing.

Still have no idea why files cannot be read without changing their path in the yaml.

* Sloth review ig

I still have no idea why it wont work with /Textures/ missing as a prefix.

(cherry picked from commit 79dc4e4d6f918b2d56ae5e1909f2ccdbc552014c)
2024-02-21 04:08:37 +01:00
Pieter-Jan Briers 2333da8353
Fix PlayerListControl re-raising selection changed when repopulated. (#25412)
Now we just skip duplicate "item pressed" events from the ListContainer.

This caused the ahelp window to unfocus the message box after sending something. Flow is something like this: you send ahelp -> bwoink window refreshes player list due to new bwoink -> repopulated player list -> sent selection change -> repopulates right pane -> line edit gets unfocused.

(cherry picked from commit 84d455b9f862dcbfdffd5827ceab4890dcf653cc)
2024-02-21 04:04:45 +01:00
Pieter-Jan Briers 28d18c0035
PlayerListControl fixes. (#25248)
* PlayerListControl fixes.

Fix a button being selected by default always, which then can't be selected properly for real. This affected multiple admin UIs.

This broke due to upstream RT changes but ButtonGroup was always kinda busted so whatever. Uses the new IsNoneSetAllowed to implement everything properly.

Also make sure the selected player STAYS selected when filtering the list and stuff.

Also this PlayerInfo record has been changed to only do equality on the User ID because otherwise it'd need to compare each field individually which would be weird.

* Revert changes to ListContainer

This change was made default in the engine, no longer necessary here.

(cherry picked from commit 74a31ac5f3316cc865ab9f39f39efff4e0b9e748)
2024-02-21 04:03:46 +01:00
Pieter-Jan Briers 837272c745
Fix admin notes and database time nonsense. (#25280)
God bloody christ. There's like three layers of shit here.

So firstly, apparently we were still using Npgsql.EnableLegacyTimestampBehavior. This means that time values (which are stored UTC in the database) were converted to local time when read out. This meant they were passed around as kind Local to clients (instead of UTC in the case of SQLite). That's easy enough to fix just turn off the flag and fix the couple spots we're passing a local DateTime ez.

Oh but it turns out there's a DIFFERENT problem with SQLite: See SQLite we definitely store the DateTimes as UTC, but when Microsoft.Data.Sqlite reads them it reads them as Kind Unspecified instead of Utc.

Why are these so bad? Because the admin notes system passes DateTime instances from EF Core straight to the rest of the game code. And that means it's a PAIN IN THE ASS to run the necessary conversions to fix the DateTime instances. GOD DAMNIT now I have to make a whole new set of "Record" entities so we avoid leaking the EF Core model entities. WAAAAAAA.

Fixes #19897

(cherry picked from commit 2e6eaa45c57c7f5ba561d1fb1ef6712d2432a8fa)
2024-02-21 04:03:44 +01:00
Leon Friedrich 585c34e71f
Fix action state handling bug (#25395)
* Rejig action state handling

* Fix entity arg

* Fix deserialization

(cherry picked from commit bd4597c5ca8a3c55b17868a2c8aef543d3ea503d)
2024-02-21 04:03:41 +01:00
James Simonson d5c65dd4d6
Vending UI facelift (#25377)
* Convert to fancy window + added footer + add list spacing

* margin add

(cherry picked from commit 99aa72e30dd79ed2388a449de41a2b3f70491356)
2024-02-21 03:58:07 +01:00
Tayrtahn 292b92c039
Add support for metamorphic fill levels (#25022)
* Added support for fill levels to metamorphic glasses

* Fix warnings and cleanup

* Don't break non-metamorphic fills!

(cherry picked from commit e74f3019f7dc36a9e8ba19ae253692ed4af864c7)
2024-02-21 03:58:06 +01:00
Debug 2717706994
Make loadacts more user friendly (#864)
Allow loadacts to take a file
2024-02-19 22:58:14 +01:00
Pieter-Jan Briers 5da6086a02
Add new "OptionsVisualizer" (#25128)
This is a visualizer somewhat similar to the Generic. It allows configuring appearance info based on specific CVars the user has set. This allows YAML to easily configure alternatives for accessibility CVars like reduced motion.

(cherry picked from commit 1ce21553152199e3d97a8d02c11922fb8db5fd52)
2024-02-18 23:39:23 +01:00
MilenVolf cb0fdb47d1
LockVisualizer (#25224)
* LockVisualizer

* Fix state

* Clean some code

* Make it component, fix tests fail

* Fix for StateUnlocked

Now it is possible to manually set the unlocked state and it will work!

* Optimize LockVisualizer, add check for unlocked state

* No todo I guess

(cherry picked from commit c7870882f6f956eea07cbb4738ae45c8805c8ce6)
2024-02-18 23:27:28 +01:00
themias c459072d8a
Allow t-ray to penetrate carpets and puddles (#25276)
* Allow t-ray to penetrate carpets and puddles

* handle edge cases

(cherry picked from commit d7eb3b1c5c3faf2f9cf363407790bd383feb0070)
2024-02-18 23:24:54 +01:00
Debug 3889a3a14d
Fix changelog 2024-02-18 23:23:34 +01:00
metalgearsloth 0d8558335b
Re-organise main menu screen (#25173)
- The dummy control of 2px size has annoyed me for almost 5 years.
- Why is it in the top-right.
- Why is the server address not labelled.

(cherry picked from commit 1a438e644f17f1352cec29d90fa755f37e120f34)
2024-02-18 23:18:57 +01:00
Golinth 5273ce7e77
Kill Seperated Mindshield Icons (#25303)
* Unghettoify mindshield icons

Adds support for layers in status icons, through the StatusIconLayer enum and the new "layer" datafield. Defaults to the Base layer where functionally remains unchanged.

* TG icon for shield

probably better than the shitty one I made in paint

* forgor meta.json

I forgor

* Emo review

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>

---------

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
(cherry picked from commit bced73f67657246bc167531414ea0be5a5bba6bf)
2024-02-18 23:17:51 +01:00
Pieter-Jan Briers 1031a93942
Predict Injector (syringes), cleanup (#25235)
At least the mode/transfer amount logic. Actual transfer logic needs Bloodstream which I didn't wanna move into shared.

(cherry picked from commit 6d8be538c90cf4c3a6636e2f8b84631af457cd42)
2024-02-18 23:11:33 +01:00
Guilherme Ornel 88f4ca25a2
Fax machines can print from text file (#23262)
* added

* checks tweaking

* fixed what sloth wanted

* fixed?

* dialog diposing fix

* checks tweaking

* more changes

* dispose streamreader

* Update Content.Client/Fax/UI/FaxBoundUi.cs

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* Update Content.Server/Fax/FaxSystem.cs

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* fix minor typo

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit ff920250260c89840bfee3f514d79d5a2a82a61d)
2024-02-18 23:03:53 +01:00
James Simonson 1083aeb8e1
Microwave UX enhancements (#24547)
* Facelift Microwave UI

Includes new background light in UI, Uses predictive input, UI now properly disables buttons when microwave is active

* Microwave now shows Elapsed time

* Fixed bad formatting

* Added new term for "BottomMargin"

* Change yellow color

* Update StyleNano.cs

just spacing fixed

* Cook time countdown now detached from server

Instead of the server constantly sending out messages for the cook countdown, it is now predicted client side using TimeSpan

* Update MicrowaveMenu.xaml

forgot to re-add item space

(cherry picked from commit 25f73f64065f370d8560ff4695579c259e4b7667)
2024-02-18 23:03:05 +01:00
Pieter-Jan Briers ccea85136b
Random spontaneous cleanup PR (#25131)
* Use new Subs.CVar helper

Removes manual config OnValueChanged calls, removes need to remember to manually unsubscribe.

This both reduces boilerplate and fixes many issues where subscriptions weren't removed on entity system shutdown.

* Fix a bunch of warnings

* More warning fixes

* Use new DateTime serializer to get rid of ISerializationHooks in changelog code.

* Get rid of some more ISerializationHooks for enums

* And a little more

* Apply suggestions from code review

Co-authored-by: 0x6273 <0x40@keemail.me>

---------

Co-authored-by: 0x6273 <0x40@keemail.me>
(cherry picked from commit 68ce53ae17985876d6d112b764b2144964a9f42e)
2024-02-18 23:02:29 +01:00
PoorMansDreams 9461cd2ab4
Fixed Tipped ammo not being Spent (#25167)
Fix Tipped Ammo not being Spent

(cherry picked from commit e40318b83130a532e3654bdacd08993220b7be93)
2024-02-18 23:01:40 +01:00
metalgearsloth cb97e156cb
Fix decal error spam (#25172)
(cherry picked from commit 4cec0821e40cf0eabde7f8919a0474e2719aa8cb)
2024-02-18 23:01:15 +01:00