Commit Graph

4495 Commits

Author SHA1 Message Date
ArtisticRoomba 1737f9ee94 Show battery level for selected devices in Power Monitoring Console (#33854)
* Use class instead of out variables

* Show battery level in power monitoring console

* Better color contrast for battery level + localized string

* Add visualization to battery percentage

* Reverts random ChatSystem.cs whitespace change

* Address review

* Show BatteryLevel stats in child view when selecting devices

---------

Co-authored-by: Crotalus <crotalus@users.noreply.github.com>
2024-12-21 10:20:42 +00:00
Ed 3a4dcb9ee6 Sprite Movement working with AI movement (#33494)
* FINALLY

* Update animals.yml
2024-12-21 10:19:51 +00:00
chromiumboy dc44048047 Holopads (#32711)
* Initial resources commit

* Initial code commit

* Added additional resources

* Continuing to build holopad and telephone systems

* Added hologram shader

* Added hologram system and entity

* Holo calls now have a hologram of the user appear on them

* Initial implementation of holopads transmitting nearby chatter

* Added support for linking across multiple telephones/holopads/entities

* Fixed a bunch of bugs

* Tried simplifying holopad entity dependence, added support for mid-call user switching

* Replaced PVS expansion with manually networked sprite states

* Adjusted volume of ring tone

* Added machine board

* Minor features and tweaks

* Resolving merge conflict

* Recommit audio attributions

* Telephone chat adjustments

* Added support for AI interactions with holopads

* Building the holopad UI

* Holopad UI finished

* Further UI tweaks

* Station AI can hear local chatter when being projected from a holopad

* Minor bug fixes

* Added wire panels to holopads

* Basic broadcasting

* Start of emergency broadcasting code

* Fixing issues with broadcasting

* More work on emergency broadcasting

* Updated holopad visuals

* Added cooldown text to emergency broadcast and control lock out screen

* Code clean up

* Fixed issue with timing

* Broadcasting now requires command access

* Fixed some bugs

* Added multiple holopad prototypes with different ranges

* The AI no longer requires power to interact with holopads

* Fixed some additional issues

* Addressing more issues

* Added emote support for holograms

* Changed the broadcast lockout durations to their proper values

* Added AI vision wire to holopads

* Bug fixes

* AI vision and interaction wires can be added to the same wire panel

* Fixed error

* More bug fixes

* Fixed test fail

* Embellished the emergency call lock out window

* Holopads play borg sounds when speaking

* Borg and AI names are listed as the caller ID on the holopad

* Borg chassis can now be seen on holopad holograms

* Holopad returns to a machine frame when badly damaged

* Clarified some text

* Fix merge conflict

* Fixed merge conflict

* Fixing merge conflict

* Fixing merge conflict

* Fixing merge conflict

* Offset menu on open

* AI can alt click on holopads to activate the projector

* Bug fixes for intellicard interactions

* Fixed speech issue with intellicards

* The UI automatically opens for the AI when it alt-clicks on the holopad

* Simplified shader math

* Telephones will auto hang up 60 seconds after the last person on a call stops speaking

* Added better support for AI requests when multiple AI cores are on the station

* The call controls pop up for the AI when they accept a summons from a holopad

* Compatibility mode fix for the hologram shader

* Further shader fixes for compatibility mode

* File clean up

* More cleaning up

* Removed access requirements from quantum holopads so they can used by nukies

* The title of the holopad window now reflects the name of the device

* Linked telephones will lose their connection if both move out of range of each other
2024-12-21 10:13:32 +00:00
chromiumboy e977f87e50 Atmospheric network monitor (#32294)
* Updated to latest master version

* Added gas pipe analyzer

* Completed prototype

* Playing with UI display

* Refinement of the main UI

* Renamed gas pipe analyzer to gas pipe sensor

* Added focus network highlighting and map icons for gas pipe sensors

* Added construction graph for gas pipe sensor

* Improved efficiency of atmos pipe and focus pipe network data storage

* Added gas pipe sensor variants

* Fixed gas pipe sensor nav map icon not highlighting on focus

* Rendered pipe lines now get merged together

* Set up appearance handling for the gas pipe sensor, but setting the layers is bugged

* Gas pipe sensor lights turn off when the device is unpowered

* Renamed console

* The gas pipe sensor is now a pipe. Redistributed components between it and its assembly

* AtmosMonitors can now optionally monitor their internal pipe network instead of the surrounding atmosphere

* Massive code clean up

* Added delta states to handle pipe net updates, fixed entity deletion handling

* Nav map blip data has been replaced with prototypes

* Nav map blip fixes

* Nav map colors are now set by the console component

* Made the nav map more responsive to changes in focus

* Updated nav map icons

* Reverted unnecessary namespace changes

* Code tidy up

* Updated sprites and construction graph for gas pipe sensor

* Updated localization files

* Misc bug fixes

* Added missing comment

* Fixed issue with the circuit board for the monitor

* Embellished the background of the console network entries

* Updated console to account for PR #32273

* Removed gas pipe sensor

* Fixing merge conflict

* Update

* Addressing reviews part 1

* Addressing review part 2

* Addressing reviews part 3

* Removed unnecessary references

* Side panel values will be grayed out if there is no gas present in the pipe network

* Declaring colors at the start of some files

* Added a colored stripe to the side of the atmos network entries

* Fixed an issue with pipe sensor blip coloration

* Fixed delay that occurs when toggling gas sensors on/off
2024-12-21 10:13:11 +00:00
Intoxicating-Innocence 1071fc7505 Chem master UI (#33328)
* chemmaster buffer has colors now

* I have saved chemists everywhere

* implimented panelcontainers instead of labels, slight visual rework

* added UI changes to input buffer

* fixed some unsightly indentation on brackets and removed redundant minheight specification from verticalstretch elements

* Formatting and code cleanup

* pills still not rendering correctly

* more tinkering, entities finally display correctly

* entities display correctly, pill fields default to max now

* fixed stripes

* fixed excess pillCount bug

* removed cache, fixed tab swapping

---------

Co-authored-by: Saphire <lattice@saphi.re>
2024-12-21 10:13:10 +00:00
Plykiya e62d937c06 Cluster grenade refactor and contra markings (#31108)
* Cluster grenade refactor

* oopsies on the name

* Solve client-side errors

* reviews addressed

* filling scattering grenades is now predicted

* reviews addressed
2024-12-21 09:58:01 +00:00
TGRCDev db7955b028 Bug fixes for Store UIs with multiple currencies (#33565)
Fixed stores with multiple currencies having bad formatting and non-functional withdraw screens
2024-12-21 09:58:01 +00:00
Southbridge 5b57004ed8 Monospace Support for Rich Text (#33830)
* Initial Commit

* Moved all this to SS14 on it's own

* Added prototype validation
2024-12-21 09:56:32 +00:00
BramvanZijp e0636a829c Rework the HoS's Energy Shotgun (Varying energy consumption depending on fire-mode + re-adds a toned down self recharge.) (#32104)
* Rebalance HoS's Energy Shotgun

* SLIGHTLY Up the max charge so the gun properly recharges all of its charges, which matters a lot more with the self charge cooldown system.

* Prevent recharge cooldown if 0 power is used.

* Makes the clientside HUD actually update to reflect the changes in firecost and thus max/current charges.

* Properly fix that recharging to just under full issue instead of applying a budget fix to only the eshotgun.

* Clean up the client ammo UI fix.

* Update the self recharger component to comply with maintainer request.

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Remove code that was made redundant by a hotfix from another PR.

* Make the recharge pause on EMP, document things where needed, clean up code as per maintainer request, add a note to make the code better when power is moved to shared.

* Fix another internal issue

* Code cleanup + fix the rapid recharge verb to remove pause.

* cleanup

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-12-21 09:55:48 +00:00
deathride58 3c9b179222 Adds an introductory message to the user-facing ahelp chat window (#33348)
* Adds an introductory message to the user-facing ahelp chat window

* Update Resources/Locale/en-US/administration/bwoink.ftl

* Update Resources/Locale/en-US/administration/bwoink.ftl

---------

Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>
2024-12-21 09:39:18 +00:00
Vasilis The Pikachu d3e498fad4 Revert "Simplify separated screen top menu (#33047)"
This reverts commit f27fa1ed30920581c6322d08867cb3334f897589.
2024-12-21 09:37:09 +00:00
Pieter-Jan Briers 18ec5acfdd Give silicons proper lobby/character editor previews (#33763)
* Give silicons proper lobby/character editor previews

No more naked dummies, properly show a borg/AI sprite now.

This means taking the JobEntity into account when spawning the dummy. For AIs I had to add a "JobPreviewEntity" field because they'd look like a posibrain otherwise. AI therefore uses a custom dummy entity I defined.

Also I had to add some margins to the UI, because otherwise the 32x32 sprite of the AI would look bad.

* Update Content.Shared/Roles/JobPrototype.cs

* Update Content.Client/Lobby/LobbyUIController.cs

* Update Resources/Prototypes/Entities/Mobs/Player/silicon.yml

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-12-21 09:36:03 +00:00
deltanedas 98f554a8ba
make wrecks cost mining points to pull (#2457)
* add UserHasPoints helper method

* add cost to wreck pulls

* implement wreck pull cost

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-12-20 05:28:42 +00:00
BarryNorfolk 600ef0e5a6
Add history tab to bounty console (#2473)
* Add struct for holding historical data on cargo bounties

* Add localisation strings for bounty history

* Add new XAML entry for display bounty history

* Expand cargo bounty menu to include tabs

* Ensure station databases hold historical bounty data

* Add to the bounty history when removing one from active

* Feed bounty history into cargo's bounty system
2024-12-18 13:36:06 +00:00
Unkn0wn_Gh0st 6b8375402a
Frontier Port: Pretty Money (#2398)
* Frontier Port: Pretty Money

* Update Resources/Prototypes/Entities/Objects/Misc/space_cash.yml

Co-authored-by: Whatstone <166147148+whatston3@users.noreply.github.com>
Signed-off-by: Unkn0wn_Gh0st <shadowstalkermll@gmail.com>

* Updated 100k texture

---------

Signed-off-by: Unkn0wn_Gh0st <shadowstalkermll@gmail.com>
Co-authored-by: Whatstone <166147148+whatston3@users.noreply.github.com>
2024-12-18 01:30:21 +00:00
deltanedas e809c51201 upstream merge 7/12 but merge commit 2024-12-17 04:48:41 +00:00
deltanedas f9efc755df
make mining shuttle console ui 1% better (#2447)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-12-15 03:13:21 +00:00
deltanedas 40362d22c4 what 2024-12-13 21:05:04 +00:00
deltanedas 6879e50c4e
add mining points (#2419)
* add mining points

* add claim points button to oreproc

* funny

* its over

* :trollface:

* xml fail

Signed-off-by: deltanedas <39013340+deltanedas@users.noreply.github.com>

---------

Signed-off-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-12-13 10:09:48 +01:00
Milon 2c6517953a
pda messaging real (#2362)
* the shiny new toy that breaks everything else

* privacy 😌

* janky shit

* real??

* :trollface:

* ALL HAIL DUCT TAPE SOLUTION

* FUCK

* commented every shit
2024-12-10 20:33:58 +00:00
deltanedas 8829c541b9
add lavaland real (#2380)
* fix not being able to make catwalk over lava

* add planet prototypes

* StationSurface -> StationPlanetSpawner

* spawn lavaland for all stations

* remove reclaimer wrecks muahaha

* add mining shuttle

* add lavaland map

* convert glacier surface to a grid (still unusable)

* update glacier comment

* add docking shuttle/console systems

* fix test

* make glacier use a lavaland base reskin

* -m actually set the atmosphere

* :trollface:

* fix test

* address most reviews

* add no shuttle warning

* remove unnecessary usings

* 80C and higher pressure

* lock the shuttle docks to external access

* correct comment pressure

* add salvage access to the console

* lock supply room to salv, add a cooler

---------

Signed-off-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: Milon <plmilonpl@gmail.com>
2024-12-10 19:37:43 +01:00
Milon 13c1e0154c
aac tablet refactor (#2401)
* another thing nobody asked for

* just.. why? who did this, and why?
2024-12-09 14:21:18 +00:00
SpaceManiac 88511938f8 Organize the Sandbox Panel window (#33684)
* Organize Sandbox Panel

* Map Editing -> Editing

* Unset ToggleMode on Suicide button. Can hardly un-suicide, no?

* Remove 'Link machines' button that has done nothing for 3 years

* Remember Sandbox window's position instead of forcing to center

* Shows Spawns -> Show Spawns

* Remove SandboxSystem.MachineLinking
2024-12-07 22:11:27 +00:00
metalgearsloth 76f8a19ce8 Predicted gas pumps (#33717)
* Predicted gas pumps

I wanted to try out atmos and first thing I found.

* a

* Remove details range
2024-12-07 22:10:56 +00:00
Hreno 6a544672bf Add cooldown to buttons in borg's laws UI (#31490) 2024-12-07 22:01:19 +00:00
Pieter-Jan Briers 04862dfe24 Fix layout on wires UI (#33714)
Layout would break for machines with >6 lights because the column count was hardcoded. Uncap the UI width and fix the rows count instead.

Lights with less than 4 characters of text weren't aligned right, now they are.
2024-12-07 22:01:19 +00:00
SpaceManiac d5e53e97d3 Fix lobby countdown not showing hours (#33685) 2024-12-07 22:00:07 +00:00
MilenVolf 9b4b264012 Replace obsolete GetTilesIntersecting methods (#32455)
* Remove usage of obsolete GetTilesIntersecting round 1

* Oop wrong uids

* Remove usage of obsolete GetLocalTilesIntersecting round 2

* Remove usage of obsolete GetLocalTilesIntersecting final round

* weh

* Fix using `SharedMapSystem` in `StencilOverlay`
2024-12-07 21:55:22 +00:00
Nikolai Korolev 511a3ac7d0 Fix formatting IDE0055 warnings in VS Code (#33669) 2024-12-07 21:55:15 +00:00
Plykiya f8d7995780 Fix for inspecting entities in the stripping window (#33644)
Handle it
2024-12-07 21:54:26 +00:00
Plykiya a8e0295656 Fix for inspecting entities in hand (#33642)
Actually inspect entity in hands
2024-12-07 21:54:25 +00:00
MilenVolf b3456640af Cleanup some Client atmos systems (#33634)
* Cleanup `ScrubberControl.xaml.cs`

* Minor cleanups

* Another pile of minor cleanups

* Apply requested changes

* Rename "which" into "bound". Add whitespace after "if"
2024-12-07 21:53:06 +00:00
beck-thompson df595e10c3 Light verb is now predicted (#33622)
Fix
2024-12-07 21:52:08 +00:00
Intoxicating-Innocence db85e1cf2e Ghost role drop-down alignment (#33397)
* dropdown shares margin width with children

* removed dependency that rider added for some reason

* reduced vertical margin from 8 to 2
2024-12-07 21:47:24 +00:00
metalgearsloth 33fa47e192 Simplify separated screen top menu (#33047) 2024-12-07 21:47:16 +00:00
Nikolai Korolev c129540b28 Fix RA0003 warning for ChatBox (#33531) 2024-12-07 21:46:33 +00:00
Ben dc3712f2de removed obsolete netmessage creator (#33542)
removed opsolete netmessage createor
2024-12-07 21:46:09 +00:00
eoineoineoin a10464abe7 Minor improvements & fixes to Shuttle Console UI (#31623)
* Fix grids and docks being culled from display prematurely

* Fix inconsistent disabling of "Undock" buttons

* Add a radar icon to indicate where the controlling console is

* Tidy up math

Remove lots of sketchy transforms-of-transforms, which should have been
as single matrix multiply. Assign proper names to matrices. Remove some
redundant calculations.

* Feedback
2024-12-07 17:28:38 +00:00
Winkarst c1792c6401 Disable submit admin note button on switch to note (#33456)
Co-authored-by: Winkarst <74284083+Winkarst-cpu@users.noreply.github.co>
2024-12-07 17:28:20 +00:00
slarticodefast 639b405cf0 another rename 2024-12-07 17:27:28 +00:00
slarticodefast 7768bea82c rename 2024-12-07 17:27:28 +00:00
slarticodefast b7a7cecc0f cleanup 2024-12-07 17:27:28 +00:00
c4llv07e 588357d6ca Add telegram to the server info-links (#33459) 2024-12-07 17:25:37 +00:00
DrSmugleaf 4ba7569729 Fix admin ghosts not being able to see items in pockets or interact with them (#31076)
* Fix admin ghosts not being able to see items in pouches or interact with them

* fix

* oops

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-12-07 17:15:03 +00:00
slarticodefast f6dda6b725 electrification hud 2024-12-07 16:50:43 +00:00
Saphire 8bcd3de68b Actually make the emagging popup work properly 2024-12-07 16:33:54 +00:00
qwerltaz 6868320af7 Construction menu grid view (#32577)
* button

* implement populate grid view

* tweak min width

* Make grid button toggle visible

* tweak min window size

* fix missing recipe button when mirroring item

* make grid buttons toggleable

* align button texture vertically

* selected grid item has plain color background

* tweak window width so all buttons look good

* rename select method, defer colouring

* get icon better

* whoops

* simpler button toggle

* spritesys frame0, move spritesys

* delete old sprite system refs
2024-12-07 16:32:35 +00:00
SlamBamActionman a6604276b0 Remove drag & drop dropping items from containers (#32706)
* Initial commit

* Update based on maintainer discussion

* Forgot to remove this woops
2024-12-07 16:31:52 +00:00
dffdff2423 d13b2403b0 Add admin remarks button to lobby (#31761) 2024-12-07 15:43:42 +00:00
Saphire Lattice c65ab51393 Improve crayon UI to not be stuck in 1996 (#33101)
* Improve crayon UI to not be stuck in 1996

* Make a horrifying crayon spaghetti

* Crayon

* Undeprecate the crayon, describe the crayon
2024-12-07 15:43:36 +00:00
deltanedas 027df56d23
borg slavery 🔥 🔥 🔥 (#2337)
* fuck it fix emag law 4

* add borg enslaving

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-12-01 23:48:13 +01:00
Pieter-Jan Briers 26b36db09d Integrate Modern HWID into content
This should be the primary changes for the future-proof "Modern HWID" system implemented into Robust and the auth server.

HWIDs in the database have been given an additional column representing their version, legacy or modern. This is implemented via an EF Core owned entity. By manually setting the column name of the main value column, we can keep DB compatibility and the migration is just adding some type columns.

This new HWID type has to be plumbed through everywhere, resulting in some breaking changes for the DB layer and such.

New bans and player records are placed with the new modern HWID. Old bans are still checked against legacy HWIDs.

Modern HWIDs are presented with a "V2-" prefix to admins, to allow distinguishing them. This is also integrated into the parsing logic for placing new bans.

There's also some code cleanup to reduce copy pasting around the place from my changes.

Requires latest engine to support ImmutableArray<byte> in NetSerializer.
2024-11-29 19:18:11 +01:00
deltanedas 9977160822 change secborg thing so it doesnt log errors 2024-11-24 04:36:20 +00:00
deltanedas 3b6c3b56ec merge master 2024-11-20 05:15:21 +00:00
Lyndomen fdb26756ec
Ports Bloodstains And Footprints from EE (#2186)
* bogos binted

* bogos binted

* Update human.yml

Signed-off-by: Lyndomen <49795619+Lyndomen@users.noreply.github.com>

* Update skeleton.yml

Signed-off-by: Lyndomen <49795619+Lyndomen@users.noreply.github.com>

* untouch

Signed-off-by: Lyndomen <49795619+Lyndomen@users.noreply.github.com>

* untouch please

Signed-off-by: Lyndomen <49795619+Lyndomen@users.noreply.github.com>

* fixed real

---------

Signed-off-by: Lyndomen <49795619+Lyndomen@users.noreply.github.com>
2024-11-20 01:00:15 +00:00
Milon f1c859a9ee
pain system + addictions + traits (#2192)
* the nightmare continues unchecked

* HOLY FUCKING SHITCODE

* Update traits.ftl

* makes the yaml linter happy

* we'll regret this later

* what why
2024-11-20 00:59:17 +00:00
beck-thompson ad46ea896f Note expiry time is now relative instead of using timestamps (#33262)
* Add the stuff

* Loc fix

* fixes

* Change
2024-11-15 19:47:29 +00:00
Pieter-Jan Briers 4aecc673ae Borg type switching. (#32586)
* Borg type switching.

This allows borgs (new spawn or constructed) to select their chassis type on creation, like in SS13. This removes the need for the many different chassis types, and means round-start borgs can actually play the game immediately instead of waiting for science to unlock everything.

New borgs have an additional action that allows them to select their type. This opens a nice window with basic information about the borgs and a select button. Once a type has been selected it is permanent for that borg chassis.

These borg types also immediately start the borg with specific modules, so they do not need to be printed. Additional modules can still be inserted for upgrades, though this is now less critical. The built-in modules cannot be removed, but are shown in the UI.

The modules that each borg type starts with:

* Generic: tools
* Engineering: advanced tools, construction, RCD, cable
* Salvage: Grappling gun, appraisal, mining
* Janitor: cleaning, light replacer
* Medical: treatment
* Service: music, service, clowning

Specialized borgs have 3 additional module slots available on top of the ones listed above, generic borgs have 5.

Borg types are specified in a new BorgTypePrototype. These prototypes specify all information about the borg type. It is assigned to the borg entity through a mix of client side, server, and shared code. Some of the involved components were made networked, others are just ensured they're set on both sides of the wire.

The most gnarly change is the inventory template prototype, which needs to change purely to modify the borg hat offset. I managed to bodge this in with an API that *probably* won't explode for specifically for this use case, but it's still not the most clean of API designs.

Parts for specific borg chassis have been removed (so much deleted YAML) and specialized borg modules that are in the base set of a type have been removed from the exosuit fab as there's no point to printing those.

The ability to "downgrade" a borg so it can select a new chassis, like in SS13, is something that would be nice, but was not high enough priority for me to block the feature on. I did keep it in mind with some of the code, so it may be possible in the future.

There is no fancy animation when selecting borg types like in SS13, because I didn't think it was high priority, and it would add a lot of complex code.

* Fix sandbox failure due to collection expression.

* Module tweak

Fix salvage borg modules still having research/lathe recipes

Engie borg has regular tool module, not advanced.

* Fix inventory system breakage

* Fix migrations

Some things were missing

* Guidebook rewordings & review

* MinWidth on confirm selection button
2024-11-15 19:35:37 +00:00
SlamBamActionman 493a7cb3cd Add a Walking alert (#32954)
* Initial commit

* Review feedback changes

* ProtoId

* TempCommit

* First attempt to have client alerts

* Review changes
2024-11-15 17:35:04 +00:00
deltanedas b1206efbeb cham projector fixes/rewrite (#27111)
* cant disguise to thing in a container

* copy cigarette visualiser

* prevent aghost throwing an error

* make disguises die in space

* fuck it rewrite it to not use polymorph

* fix action troll

* oop

* add vebr

* add access to the components

* 2/3

* fix

* relay damage from disguise to user

* fix integrity

* :trollface:

* :trollface:

* m

* kill integrity

* fix a bug

* review

* remove them from component

* relay flash effect to the disguise

* fix icon being weird

* change method since multiple systems cant handle same network event

* :trollface:

* actually network Disguise real

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-11-15 17:32:51 +00:00
SlamBamActionman 9304ee44d3 Changes to "Burst" firemode; Drozd, WT550 and C20-r (#31292)
* Initial commit

* Change burst fire variable to be a set value rather than a multiplier
2024-11-15 17:31:26 +00:00
Kirus59 56dcba3782 Hunger and thirst huds fix (#32832)
* Hunger and thirst huds fix

* delete poor caching
2024-11-15 17:28:49 +00:00
MilenVolf c0c9a8c2e4 Collapsible ghost roles menu (#32717)
* Make ghost roles collapsible

* Save `BodyVisible` state of each `Collapsible` box

* Make ghost role collapsible only when group has more than 1 role

* Make it a little prettier

* Make only ghost role buttons collapsible

* Apply requested changes

* Typo

* Small cleanup

* Store in list, instead of iterating

* Make unique ids more unique

* Move it out of the cycle

* Make _collapsibleBoxes into dictionary and use key instead of Collapsible boxes names

Added TODO. So after the problem will be fixed in `GhostRolesEui`, it should be mirrored and fixed here too.

* Put TODO in GhostRolesEui. I guess Issue must be made for this

* Use HashSet instead of Dictionary as suggested. Invert the HashSet, so being present means it uncollapsed

I decided to invert HashSet to _uncollapsedStates, because players surely will have more collapsed buttons than opened, so we optimise memory usage a little bit.

* Remove extra space from ghost roles window

* Add buttons stretching. Size 3:1
2024-11-15 17:26:03 +00:00
Milon 07ae96ed2c change ShowHealthBars and ShowHealthIcons to use protoId (#32355)
use protoId
2024-11-15 17:24:09 +00:00
deltanedas b6b2971616
prevent telegnomes from interacting with anything (#2117)
* disable interaction for telegnomes, add access for the components

* make client and server systems extend shared system

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-11-09 19:27:59 +00:00
deltanedas 2620eb48a8
upstream merge 2/11 (#2090)
* Fix multiplying colors of differing nullabilities (#32991)

* revert the temporary hack

* Make atmos alert computer colors private variables (#32992)

* Add flash reaction effect (#32377)

add flash reaction effect

* Automatic changelog update

* Fix loneop spawnrate by reverting it to not use the shuttle event system. (#32942)

Fix loneop spawnrate by reverting it to not use the custom shuttle event system.

* Automatic changelog update

* add atmosia to devmap (#32460)

change

* bowls now make drinking sounds (#32819)

* Automatic changelog update

* Add health analyzer unrevivability warning (#32636)

* Add health analyzer unrevivability warning

* Remove errornous comment

* Automatic changelog update

* Removed the name "Hujsak" (#32998)

removed hujsak

* fix pie throwing sound not playing (#33017)

* Automatic changelog update

* Fix TestSuicideByHeldItem and TestSuicideByHeldItemSpreadDamage (#33030)

* make ai speak robotically (#33025)

* Automatic changelog update

* Extends the minimum round time for meteor swarm events (#32876)

* adjusted minimum timers in meteorswarms.yml

* Updated timer minimum from 20 to 15 minutes

* Reduced minimum timer to 10 minutes as a result of other meteor changes

---------

Co-authored-by: august-sun <45527070+august.sun@users.noreply.github.com>

* Automatic changelog update

* add StartDelay bool to actions (#33026)

* add StartDelay bool to actions

* forgot summary

* Updated an incorrect sprite in the smite menu (#33043)

changed the synth sprite used in the icon for the instrumentify smite out for the more accurate supersynth sprite

* fix lava expeds (#33042)

Co-authored-by: deltanedas <@deltanedas:kde.org>

* Automatic changelog update

* Fix separated game screen bumping (#33046)

I don't really understand why RecordedSplitContainer exists but removing it looks identical and fixes the panel bumping occasionally.

* Automatic changelog update

* Fix: Make Plushie Damage Unexaminable (#33061)

Set hidden to true

* fix chameleon projector bot whitelist (#33055)

fix

* Various Vaugely Connected Sprite Updates™: Encryption Keys, Station Map, Brig Timer (#32786)

* various resprites (encryption keys + signal screens + station map)

* brig timer update

* fixes n shit

* Give proto-kinetic crushers, glaives, and daggers better inhands. Update the crusher and glaive icons. (#32212)

* inhands

* better inhands

* indent

* Automatic changelog update

* Make the security belt contain more useful items by default (#32291)

* replace tear gas and flashbang with holobarrier and sec radio

* holobarrier-belt-fix

* revert changes of 32291

* Automatic changelog update

* Add 3 bottle boxes to nanomed plus (#33018)

three bottle boxes in nanomed plus

* Automatic changelog update

* Nukie med bundle now costs 24 tc and contains a unique defibrillator (#32720)

* a-few-injectors

* comment

* defib-ops-when

* Automatic changelog update

* Pill Bottles can only store pills now (#33074)

* no longer absurd

* Update Resources/Prototypes/Entities/Objects/Specific/chemistry.yml

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Automatic changelog update

* Add a spare bible to PietyVend (#32363)

Update chapel.yml

* Automatic changelog update

* [#28722 fix] Add notification for dependent wearables being dropped (#33078)

* add notification for dependent wearables being dropped

* fix dropped item popup redundancy
- did a check to see if any item was dropped, instead of making a notification for each item being dropped.

* change popup to client-only variant

* fix redundant messages, add plural locale string

* fix conventions, fix locale input to be more intuitive

---------

Co-authored-by: Justin <justinbrick1@gmail.com>

* Automatic changelog update

* More pda space (#32601)

* Rebalance the max programs that a PDA can hold

* Give Caps PDA more programs too.

* Make the max programs a static 8

* I forgor sec and med

* CaseCase

* Empty commit to re-run checks

* The final change, I hope.

* Automatic changelog update

* Fixed spelling mistake in water blaster description. (#33087)

Fixed minor spelling mistake

* [#20285 fix] Carp Plush and Rehydratables can now be put into mop bucket (#33079)

* Make shark plush janitor-bucketable

* fix bucketed grey shark texture

* Make sprites less shiny and adapt copyright notice

* Made shark way way less shiny

* Allow carp plush and rehydratables in mop bucket.

* Remove old mop bucket shark sprites

* Fix post-merge bugs

* Fix errors

* Move ReactiveContainer stuff to shared

That should mean it is now predicted.

* Custom eject verb for the mop bucket

* Fixes OnSolutionChange, removes pop-up as there already is one.

* .ftl is not necessary as the custom pop-up was removed

* Review fixes

* Update Content.Shared/Chemistry/Components/ReactiveContainerComponent.cs

* Update Content.Shared/Chemistry/EntitySystems/ReactiveContainerSystem.cs

---------

Co-authored-by: Psychpsyo <psychpsyo@gmail.com>
Co-authored-by: Psychpsyo <60073468+Psychpsyo@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Automatic changelog update

* remove now duplicated nyano PlushieCarp tag

* Fixes tailthump breaking positional audio by making it mono (#33092)

* Automatic changelog update

* ExaminableDamage now puts its message at the bottom and in color (#32820)

* the examineableDamage component now puts its messages at the bottom, and in color

* god help us if something is priority -100 :godo:

* Automatic changelog update

* Lower in-round votekick requirements (#32953)

Initial commit

* Allow votekicks to be initiated in the lobby (#32528)

Initial commit

* Automatic changelog update

* Fixes bolt lights of previously unpowered bolted doors (#33063)

fix

* Automatic changelog update

* Muffins (#29318)

* Update meta.json

* Add files via upload

* Update misc.yml

* Update meal_recipes.yml

* Update meta.json

* Add files via upload

* Update plate.yml

* Update food_baked_single.yml

* Update dinnerware.yml

* Update cooking.yml

* Update misc.yml

* Add files via upload

* Delete Resources/Textures/Objects/Consumable/Food/Baked/misc.rsi/muffin-cherry.png

* Add files via upload

* Update meta.json

* Update misc.yml

* Update meal_recipes.yml

* Update meta.json

* Fix meta.json

* Fix meta.json again

* Update misc.yml

* Update misc.yml

* Update misc.yml

* Update misc.yml

* Update meta.json

* Update meta.json

* Update misc.yml

* Update meal_recipes.yml

* Update Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/misc.yml

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Update dinnerware.yml

* Delete cherry

* Add files via upload

* Delete banana

* Add banana

* Delete chocolate

* Add chocolate

* lathe recipe fix

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Automatic changelog update

* Borgs can no longer see mindshield + AI can no longer toggle off seeing job icons (#33069)

* :(

* Removed the sprite + updated RSI

* Automatic changelog update

* Add CanLoad for biomes (#33050)

CPUJob to come later.

* Remove CargoPallet component from the cargo pallet (#33022)

* Change cargo shuttle pallets to catwalks.

* Remove CargoPallet component from the cargo pallet.

* Undo cargo shuttle changes.

* Automatic changelog update

* Minor antagonist guidebook changes (#32824)

* took a two month nap. accidentally pushed too many buttons. let's try this again. added thieves to antagonists.xml

* even after that nap, i don't feel well-rested at all.

* please don't kill me for using webedit

* capitalization, typo

* Apply suggestions from code review (more period moving)

Thanks Evan, very cool

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* guess you could say im not pro-proper noun

* typo

* Update Resources/ServerInfo/Guidebook/Antagonist/Nuclear Operatives.xml

* ok

Co-authored-by: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>

* Give Nukies a Hand Labeler (#33053)

* Add hand-labeler to nukie planet

* Rearrange nukie chem table

* Fix `ItemSlotSystem` popup Logic (#28856)

* move popup call out of `CanInsert` into `OnInteractUsing`

* im stupid and `reason` is completely unnecessary

Signed-off-by: Brandon Li <sirbrandonthenerd@gmail.com>

* return early when `itemSlots.Slots.Count == 0`

* tweak logic for triggering popups

* change popup logic again

* Consolidate whitelist check

* Get any popup message not just last failed slot

* Apply suggestions from code review

Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>

* yoink

Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>

---------

Signed-off-by: Brandon Li <sirbrandonthenerd@gmail.com>
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>

* Add cvars to votekick to customize requirements for the initiator. (#32490)

* Automatic changelog update

* Add on-call functionality for adminning (#30443)

* Add on-call functionality for adminning

The first time an ahelp gets SOS it gets relayed to the specified channel with the specified ping. Every time after that it doesn't until it gets a non-SOS response received.

* Remove redundant name

Pretty sure this already gets chucked on the name of the msg itself I think it just didn't show in screenshot because they were subsequent.

* Update Content.Server/Administration/Systems/BwoinkSystem.cs

Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>

---------

Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
Co-authored-by: deathride58 <deathride58@users.noreply.github.com>

* Automatic changelog update

* Pills are explosion resistant (partially reverts #15851) (#32458)

* idk how to revert a pr so I just deleted some lines

* pill destructible with explosion resistance

* comment for explosion resist

* "and" to "but"

---------

Co-authored-by: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>

* Automatic changelog update

* Hasten handcraft gauze recipe & decrease techfab gauze cost (#32744)

* med lathe gauze price reduction

* gauze craft doafter time

* 3 second doafter craft

* Automatic changelog update

* Service workers antagonist fix. (#31359)

* add

* Revert "add"

This reverts commit 25da34b0fead5812fe5800c9bf5dd7b10ef48d7d.

* antagonism allowed™️

* Automatic changelog update

* Adds a new AME sound effect! (#33097)

* Changes the AME sound effect to not be the default MetalThud.

* Was told on discord to make a minor change to autorerun the tests due to the Build & Test Debug failing!

* Attribution and licensing, as requsted by deathride58

* Fixes the high-pitched squeak audible to some people!

* Audio file tweaked by SlamBamActionMan to eliminate a weird squeak they were still able to hear. Thanks!

* Automatic changelog update

* Allow for the ai's laws to be changed from its core and eye (#32461)

* Allow for the ai's laws to be changed from its core and eye

* Address reviews

* Automatic changelog update

* clean up tools lathe recipes (#31521)

* clean up tools lathe recipes

* add medical and cooking tools

* add result

* add result to others

* review

* engine

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>

* Automatic changelog update

* Intercoms and Radios both pick up proximate speech (#32737)

* Deduping of recent messages should consider the channel it's being sent to

* rerun actions

* Automatic changelog update

* Adds headphones to loadouts (#33067)

added headphones to trinkets

* Automatic changelog update

* Cardboard Box Capacity 4 -> 5 (#32743)

* capacity upgrade

* comment update

* remove our duplicate pill whitelist

* fix

* remove broken crew monitor from dev map, how did it even get there

---------

Signed-off-by: Brandon Li <sirbrandonthenerd@gmail.com>
Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>
Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
Co-authored-by: BramvanZijp <56019239+BramvanZijp@users.noreply.github.com>
Co-authored-by: Ilya246 <57039557+Ilya246@users.noreply.github.com>
Co-authored-by: Moomoobeef <62638182+Moomoobeef@users.noreply.github.com>
Co-authored-by: Saphire Lattice <lattice@saphi.re>
Co-authored-by: FluffMe <1780586+FluffMe@users.noreply.github.com>
Co-authored-by: Theodore Lukin <66275205+pheenty@users.noreply.github.com>
Co-authored-by: August Sun <45527070+august-sun@users.noreply.github.com>
Co-authored-by: august-sun <45527070+august.sun@users.noreply.github.com>
Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Preston Smith <92108534+thetolbean@users.noreply.github.com>
Co-authored-by: Milon <plmilonpl@gmail.com>
Co-authored-by: Flareguy <78941145+Flareguy@users.noreply.github.com>
Co-authored-by: Alzore <140123969+Blackern5000@users.noreply.github.com>
Co-authored-by: Boaz1111 <149967078+Boaz1111@users.noreply.github.com>
Co-authored-by: Jarmer123 <148848017+Jarmer123@users.noreply.github.com>
Co-authored-by: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
Co-authored-by: Justin <justinbrick1@gmail.com>
Co-authored-by: SpaceLizard <the.justice.league.of.canada@gmail.com>
Co-authored-by: Psychpsyo <psychpsyo@gmail.com>
Co-authored-by: Psychpsyo <60073468+Psychpsyo@users.noreply.github.com>
Co-authored-by: deathride58 <deathride58@users.noreply.github.com>
Co-authored-by: PopGamer46 <yt1popgamer@gmail.com>
Co-authored-by: RumiTiger <154005209+RumiTiger@users.noreply.github.com>
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
Co-authored-by: Minemoder5000 <minemoder50000@gmail.com>
Co-authored-by: UBlueberry <161545003+UBlueberry@users.noreply.github.com>
Co-authored-by: Brandon Li <48413902+aspiringLich@users.noreply.github.com>
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
Co-authored-by: Vasilis <vasilis@pikachu.systems>
Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
Co-authored-by: K-Dynamic <20566341+K-Dynamic@users.noreply.github.com>
Co-authored-by: Ubaser <134914314+UbaserB@users.noreply.github.com>
Co-authored-by: AftrLite <61218133+AftrLite@users.noreply.github.com>
Co-authored-by: nikthechampiongr <32041239+nikthechampiongr@users.noreply.github.com>
Co-authored-by: Centronias <me@centronias.com>
Co-authored-by: joshepvodka <86210200+joshepvodka@users.noreply.github.com>
Co-authored-by: Scribbles0 <91828755+Scribbles0@users.noreply.github.com>
2024-11-07 20:09:25 +00:00
Milon e7065f0e1f
stocks trading (#2103)
* sort of works

* fix

* oh right

* admin abuse

* buy/sell events

* price history, better error handling

* joke

* buying and selling

* access handling

* IT'S FINALLY REAL

* fixes

* AAAAAAAAAAAAAAAAA

* i keep fucking forgetting things

* FUCKING

* move company structs out of the comp

* ok im going to sleep

* Revert "oh right"

This reverts commit 8681e5a07b.

* Revert "fix"

This reverts commit 3992ec99fd.

* address reviews
2024-11-06 18:30:54 +01:00
Milon 7f53bd3792
Addictions 2 electric boogaloo (#1897)
* OMG FINALLY FIXED THIS JANKY SHIT

* oh

* no structure, zero fucks given

* this also

* trolled

* shitcode v2

* FUCK

* what was i even fucking thinking???

* remove unused codeanalysis import

Signed-off-by: deltanedas <39013340+deltanedas@users.noreply.github.com>

---------

Signed-off-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
2024-11-04 14:55:13 +00:00
Milon 29c66f3f96
add the no EORG popup (#2070)
ONE MORE PR TODAY
2024-10-28 23:36:49 +00:00
Milon a59dc99d0f
mail refactor (#2067)
* DEAR GOD

* shuffle shit around

* ohhhhhh
2024-10-28 19:32:07 +00:00
Milon 1c46732b19
fix playtime formatting (#32974) (#2038)
Fixed playtime formatting

Co-authored-by: stalengd <p.zamorskiy@yandex.ru>
2024-10-25 00:15:01 +00:00
deltanedas 6a533f2fea :trollface: 2024-10-24 02:36:25 +01:00
chromiumboy deaf652637 Visualized regions for NavMapControl (#31910)
* Atmospheric alerts computer

* Moved components, restricted access to them

* Minor tweaks

* The screen will now turn off when the computer is not powered

* Bug fix

* Adjusted label

* Updated to latest master version

* Initial commit

* Tidy up

* Add firelocks to the nav map

* Add nav map regions to atmos alerts computer

* Added support for multiple region overlay sets per grid

* Fixed issue where console values were not updating correctly

* Fixing merge conflict

* Fixing merge conflicts

* Finished all major features

* Removed station map regions (to be re-added in a separate PR)

* Improved clarity

* Adjusted the color saturation of the regions displayed on the atmos alerts computer
2024-10-24 02:25:28 +01:00
slarticodefast b48b1c157a fix playtime stats window (#32856) 2024-10-24 02:11:18 +01:00
Vasilis 636ed4e69e Change the window titlebar to show the joined server (#32547)
* Change the window titlebar to show the joined server

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

* Totally not a webedit

* Can you tell what cvar I copied?

* And this kids is why we don't webedit

* Reviews

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-10-24 02:09:49 +01:00
scrivoy 47ade44b83 Enhance Vending Machine UI: Adjust Minimum Height for better User Experience (#32851)
set FancyWindow MinHeight to 210
2024-10-24 02:09:24 +01:00
Джексон Миссиссиппи 53e4abf428 cleanup melee (#32486)
* it removes warns ig

* Quick fix

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-10-24 02:06:01 +01:00
Leon Friedrich 59d5a3cbff Remove inaccurate admin log when moving a held item (#32525)
Remove inaccurate admin log when switching held item
2024-10-24 02:02:23 +01:00
metalgearsloth c66df62b98 Jobreq format (#32806)
* Format job requirements as hours and minutes

* Use TimeSpan.ToString for playtime instead of custom method

* wehflicts

---------

Co-authored-by: jmcb <joelsgp@protonmail.com>
2024-10-24 02:02:23 +01:00
Pieter-Jan Briers a75c5b7eae Fix role ban loading bugs (#32725)
This code was a mess. Now it's less of a mess and user UserDbDataManager now.

Fixes the following bugs:

* If you connect to a server, restart your client, connect again in the same round, you role bans would not be visible in the client.
* If you role ban somebody who is not connected to the server, then they connect within the round, they will only have the recently-applied ban.

Likely fixes #24781, #27282
2024-10-24 02:01:46 +01:00
eoineoineoin 2c001fb6dc Make APC UI work correctly with multiple users (#32465)
* Make APC UI work correctly with multiple users

* Check access only on client, when constructing UI

* Do TODO (Thanks, Robust 236.1)

---------

Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
2024-10-24 01:56:14 +01:00
eoineoineoin b40ef09c51 Allow users to drag-reorder action bar (#32552)
* Avoid rebuilding all buttons on action state change

Allows for drag events to continue when actions change

* Remove excess action buttons

---------

Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
2024-10-07 22:26:19 +01:00
Pieter-Jan Briers 3337c91e7b Fix borg hands showing up in stripping menu (#32606)
* Fix borg hands showing up in stripping menu

Borgs can't drop their items anyways, and the amount of hands borgs have causes the UI to just bug out.

* Add more checks
2024-10-07 22:26:19 +01:00
FluffMe fc0704c4e6 Fix accidental erase of paper contents by spamming save action (#32598)
Fix spammable paper save issue
2024-10-07 22:25:14 +01:00
deltanedas 7e435cf8cb
Merge pull request #1957 from deltanedas/upstream-ops
upstream merge 2/10
2024-10-02 22:09:14 +00:00
deltanedas cc6bbfebd4
port psionic sacraficing (#1883)
* uncomment and update guidebook

* update loot pool to use entity table and dont hardcode bluespace

* add sacraficing to altars

* :trollface:

* :trollface:

* :trollface:

* 2 lines of sec

* rename files

* replace gamer loot with fake wizard outfit or a normality crystal

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-10-02 13:04:35 +00:00
Charlie 6bfcd9ea77 fix index stepping to avoid pushing front layers into back layers (#32553)
Co-authored-by: charlie <charlie.sc.wong@veiwsonic.com>
2024-10-02 12:13:09 +01:00
Leon Friedrich da431bbb81 Add interaction rate limits (#32527)
* Move PlayerRateLimitManager to shared

* Add interaction rate limits

* uncap tests
2024-10-02 12:09:34 +01:00
nikthechampiongr a5ebe6a25d Fix RA0032 (#32514) 2024-10-02 12:08:12 +01:00
beck-thompson b4452f8fa5 Predict appraisal tool verb! (#32496)
* First commit

* Network :(
2024-10-02 12:08:11 +01:00
Fildrance 75f17c9c97 Station AI ability to electricute doors (#32012)
* Boom! Emergency access!

* Emergency access sound

* locale

* Updated sounds

* bleh

* Door electrify base

* feat: popups on attempt to activate AI action when wires cut

* refactor: use SharedApcPowerReceiverComponent to check if AI can interact with door

* refactor: added icon and sound for door overcharge

* meta.json should use tabs not spaces

* refactor: extracted sounds for airlock overcharge to static field in system

* refactor: cleanup, ScarKy0 mentions for resources

* refactor: removed unused textures

* feat: now notification is displayed when AI attempting to interact with door which have wire cut

* StationAiWhitelistComponent is properly gating  BUI OnMessageAttempt, SharedPowerReceiverSystem.IsPowered is now used to check if device powered

* refactor: use PlayLocal to play electrify sound only for AI player

* refactor: SetBoltsDown now uses TrySetBoltDown, checks for power.

* bolts now check for power using SharedPowerReceiverSystem

* electrify localization and louder electrify sounds

* extracted ShowDeviceNotRespondingPopup, reverted airlocks not opening/closing when ai wire was cut

* refactor: cleanup

* New sprites and fixes

* Copyright

* even more sprite changes

* refactore: cleanup, rename overcharge => electrify

---------

Co-authored-by: ScarKy0 <scarky0@onet.eu>
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2024-10-02 12:06:48 +01:00
metalgearsloth 9a59024f13 Predict stripping (#32478)
* Predict stripping

Stops mob verbs from getting moved around again.

* Bola

* Fix ftl
2024-10-02 12:06:37 +01:00
beck-thompson 41341a8a03 Voice Mask refactor (#30798)
* First commit

* Added base.Initialize()

* Voice wire fix (Electricty name)

* Various minor cleanups

* Localized default voice mask name

* Added VoiceOverride stuff

* Removed unused stuff

* Typo

* Better localized stuff

* Typo / spelling stuff / comments

* Blessed
2024-10-02 12:06:05 +01:00
SlamBamActionman fccb0e30ed Add Votekick functionality (#32005) 2024-10-02 11:38:43 +01:00
keronshb aaa4ab9351 Adds real-time charge & disabled action information to Actions (#31821) 2024-10-02 11:38:42 +01:00
ArchRBX 726ad01ccd AstroNav GPS Cartridge (#32194)
* initial commit

* adds astronav cartridge to QM locker

* changes requested in review

* fix merge conflicts

* fixes the statuscontrol disappearing if you eject the cartridge but still have it installed

* fix notificationsenabled on salv pda proto

* fixes lingering statuscontrol on eject while held

---------

Co-authored-by: archrbx <punk.gear5260@fastmail.com>
2024-10-02 11:36:12 +01:00
eoineoineoin 9a826a8a27 Paper QOL improvements (#32418)
* Don't add newlines (fixes #32357)

* Improve UI around max paper length (Fixes #32344)

* Display a "fill progress" indicator so users know how close they are to filling it
* Don't allow users to save a paper which went over the limit, to avoid them losing data they want to keep.

---------

Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
2024-10-02 11:29:23 +01:00
Leon Friedrich b92a8edcf2 Entity menu lookup changes (#32395) 2024-10-02 11:24:27 +01:00
metalgearsloth 192d1415e3 Include container ents in examine (#32267)
Mainly for closets but if it's like a mouse in a bag they can see what's in the bag type deal.
2024-10-02 11:24:27 +01:00
metalgearsloth 845a04c1d7 Predict vending machine BUI (#32376) 2024-10-02 11:24:27 +01:00
metalgearsloth 27f8c75ecd Make buckle mint (#32370)
- Fix the unbuckle mispredicts.
- Fix unbuckle offset existing.
- Fix interaction range not aligning with interactionoutline system.
2024-10-02 11:22:12 +01:00
Velcroboy 6a809889b0
Adds load acts + action bar loadout files (#1921)
Co-authored-by: Velcroboy <velcroboy333@hotmail.com>
2024-09-27 09:50:41 +00:00
deltanedas c4d6e1b781
revert mapping mode (#1907)
Add mapping load acts (#30722)

Smug doesn't seem to have time to fix mapping state and I don't want to dump more time into it so.

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2024-09-24 18:30:50 +02:00
deltanedas 92546f2d71
fix verb sub by sloth (#1896)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-09-22 14:52:04 +00:00
deltanedas 00e2b5468d
Fix verbs in mapping state (#30631) (#1895)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2024-09-22 14:19:41 +00:00
deltanedas f6480d0c32 :trollface: 2024-09-22 03:45:52 +01:00
TGRCDev 615f125c80 Added a directory to station maps (#31156)
* Added directory to station maps

* Add null checks to map directory sorting/filtering

* Reworked station map directory to be more readable and responsive
2024-09-22 02:57:24 +01:00
goet 2448d19de5 Fix medical PDA/health analyzer long range intel bug (#31879)
* hide spriteview from health analyzer while inactive

* add out of range indicator if analyzer becomes inactive

* hide out of range icon if there is no patient data
2024-09-22 02:57:24 +01:00
Winkarst 4da56f2242 Dialog windows now grab the keyboard focus (#31294)
* Dialog windows now grab the keyboard focus

* Comment
2024-09-22 02:47:17 +01:00
Errant 0b55418ff3 Crew Monitor filter (#31659)
* crewmon filter

* string case matching

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-09-22 02:45:17 +01:00
Tayrtahn 00e00d9fd8 Fix Set Outfit command/verb (#29672)
* Filter Set Outfit menu to exclude loadout sets

* Apply loadouts to job outfits

* Use appropriate species for Urists

* squishy

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-09-22 02:45:06 +01:00
Willhelm53 f990671307 Padded ItemStatus Text (#29560)
* Back in the saddle again! <(8o)

* if you like my STYLE you should see my SHEETS ;-)

* stylesheet change works for ItemStatusNotHeld but broken for ItemStatus. Just using xaml for now.

* teehee

* beeg

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-09-22 02:45:06 +01:00
ArchRBX 42c3d3d296 Coordinates under IFF Label on Mass Scanners and Shuttle Consoles (#31501)
* adds coord label beneath iff label

* fixed wrong coordinate system being used

* changes the clamping on the label UI to instead normalise the UI's distance vector from the centre of the screen, fixes corner-hugging

* cleaned up if-statement by moving the calc ahead of it

* fixed clamping, fixed parenting issue, added draw cull on coord label

---------

Co-authored-by: archrbx <punk.gear5260@fastmail.com>
2024-09-22 02:45:05 +01:00
metalgearsloth 0ca9079406 Add flip button to mapping state (#30636) 2024-09-22 02:44:30 +01:00
DrSmugleaf a8c2444a66 Add mapping editor (#23427)
* Add mapping editor (#757)

* Remove mapping actions, never again

* Cleanup actions system

* Jarvis, remove all references to CM14

* Fix InventoryUIController crashing when an InventoryGui is not found

* Rename mapping1 to mapping

* Clean up context calls

* Add doc comments

* Add delegate for hiding decals in the mapping screen

* Jarvis mission failed

* a

* Add test

* Fix not flushing save stream in mapping manager

* change

* Fix verbs

* fixes

* localise

---------

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2024-09-22 02:44:27 +01:00
chavonadelal e331842c01 Localization cooldown/remaining string in alerts (#32282)
Cooldown localization
2024-09-22 02:38:57 +01:00
chavonadelal 724456d099 Wires ui tooltip localization (#32284)
* Wires ui tooltip localization

* Corrections after review
2024-09-22 02:38:56 +01:00
Leon Friedrich e7ac40578a Fix AudioSystem nullability checks for engine PR (#32233) 2024-09-22 02:38:29 +01:00
Ed 0535e3e809 Fix Anomaly infections infinity growing after curing (#32259) 2024-09-22 02:38:29 +01:00
Ed dd701436ab Anomalous infections (#31876)
* inner anomaly

* anomaly pulse action

* test anom mine

* Update anomalies.yml

* fix action cooldown

* pyro_eyes

* clientsystem

* experiments

* blya

* some telegraphy

* shock eyes!

* shadow eyes

* separate files

* frosty eyes

* fix

* flora eyes

* bluespace eyes

* flesh eyes

* redoing injction

* auto add layers

* пипяу

* new injector component

* stupid me

* nice marker injectors

* anomaly spawn on shutdown

* gravity anom

* dead anomaly spawning

* add VOX states

* sprite specific layers support

* technology anom infection

* auto detach anomalies that have moved away

* Update anomaly_injections.yml

* anomalyspawner integration

* rock anomaly!

* Update anomaly_injections.yml

* fix crash bug

* tag filter

* fix anom dublication spawns

* Update anomaly.yml

* Update InnerBodyAnomalyComponent.cs

* Update anomaly_injections.yml

* dont spawn anomalies after decay

* fix morb sprite, add end message

* gravity resprite

* admin logging, double injection fix

* make flesh and living light mobs friendly to anomaly hosts

* popups

* severity feedback

* sloth review

* A

* keep organs after gib

* punpun host

* sloth synchronization

* Update arachnid.yml

* increase infections spawnrate
2024-09-22 02:38:28 +01:00
Nemanja 78646ac1df Remove blurry vision examine mispredict (#29633)
remove blurry vision examine mispredict
2024-09-22 02:26:59 +01:00
DrSmugleaf e6ff813eda Fix examine flickering until you examine something around you (#32205) 2024-09-22 02:26:19 +01:00
Pieter-Jan Briers de1ecb95ca Fix powered machines working unpowered if the panel is open. (#32135) 2024-09-14 14:27:12 +01:00
ShadowCommander 8f239aa216 Set default PDA uplink and music visibility to false (#28373)
* Set PDA uplink and music default visibility to false

#27376 seems to be the PDA receiving state before first PDA UI open

* Log error on PDA state received before first open

* Fix logging

* Fix error message

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-09-14 14:27:11 +01:00
Pieter-Jan Briers 391a253ef2 Fix replay load error screens (#32115)
If an error occurs while loading a replay, it's *supposed* to show a popup "hey do you wanna continue with error tolerance", and it does do this. But because of spaghetti in the replay state code, it also immediately tries to reload the replay without input, as a consequence of trying to reset to the game's default state.

Now the replay load system has a proper game state for "replay load failed", with nice presentation and explicit formatting and 10% less italian cuisine.
2024-09-14 14:27:11 +01:00
Errant d1f48cf16b movercontroller namespace (#31749) 2024-09-14 14:27:10 +01:00
Tayrtahn bd542971a6 Add guidebook protodata tag: embed prototype values in guidebook text (#27570)
* First clumsy implementation of guidebook protodata

* Support for Properties, format strings

* Better null

* Rename file

* Documentation and some cleanup

* Handle errors better

* Added note about client-side components

* A couple of examples

* DataFields

* Use attributes like a sane person

* Outdated doc

* string.Empty

* No IComponent?

* No casting

* Use EntityManager.ComponentFactory

* Use FrozenDictionary

* Cache tagged component fields

* Iterate components and check if they're tagged
2024-09-14 14:26:27 +01:00
metalgearsloth e9d59ad3e6 Make context menu uses spritetree (#31792)
Rather than doing goofy hacks we just use what sprites are near the mouse.
2024-09-14 14:24:13 +01:00
Plykiya bebaf1f32f Reduce vertical margin on vending machine UI (#32074)
Smaller vending machine UI
2024-09-14 14:23:34 +01:00
themias 15b0315e5f Save unpublished news articles (#31491)
* Add draft saving to news consoles

* fix after bui changes

* comments + rename vars

* no
2024-09-14 14:04:52 +01:00
Cojoke 283eacd83c Nuke Now Requires the Disk to be Inserted to Toggle Anchor (#29565)
* Nuke Now Requires the Disk to be Inserted to Toggle Anchor

* message stating you need the disk to toggle floor bolts
2024-09-14 14:02:05 +01:00
James Simonson 517aad0c3d Add SetEntity(Owner) so can view APC sprite in UI (Bug fix) (#31962)
* Add SetEntity(Owner)  so can view APC sprite in UI

* bump apc version flavor text

---------

Co-authored-by: TIMMY <timmytriggers@cock.li>
2024-09-14 13:54:57 +01:00
Ed a59f68e227 Metamorphosis - FoodSequence 3 (#31012)
* setup some data

* cheeseburger recipe

* Update FoodSequenceSystem.cs

* finalize cheseburger recipe

* remove fun

* return old taco sprites

* full foodsequence data refactor

* return tacos

* well done

* add cutlets to burger

* chickenburger recipe

* +2 burger recipes

* more fun

* Update brain.png

* some slice produce added

* documentation

* watermelon

* skewer work

* flipping

* tomato

* skewer watermelon

* Update skewer.yml

* oopsie, ok, im go to sleep

* fix checks

* Update produce.yml

* screwed

* cheeeeeeeese

* all cooked meat added

* produce added

* aaaaand suppermatter

* key to Tag

* More

* proto string remove

* raw snail

* fix

* Update FoodMetamorphableByAddingComponent.cs

* fixes

* fix3

* fififififx
2024-09-14 13:52:20 +01:00
deltanedas c93551dad7
upstream merge 7/9 (#1762)
* Remove always false checks (#31708)

* Remove calls to FormattedMessage obsolete methods (#31706)

* Remove FormattedMessage obsolete methods

* Oops

* remove misinformation from tip 26 (#31705)

tip 26

* Automatic changelog update

* Replace obsolete code in AnomalySystem.Generator.cs (#31718)

* replace obsolete

* weh

* Added cursor indicator for space dragon fire breath ability (#31725)

space dragon breath cursor indicator

Co-authored-by: YourUsername <you@example.com>

* Automatic changelog update

* small yml cleanup (#31720)

* Updates descriptions of station specific jobs. (#31713)

done

* Remove unused IoC dependency references. (#31704)

Remove unused IoC dependencies

* cleanup filing cabinets yml (#31211)

* partmedia ahh kommit

* ahh

* everything should be fine now

* f

* now should be good

* Update Resources/Prototypes/Entities/Structures/Storage/filing_cabinets.yml

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* fix suffix

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Move IgnitionEvent to shared (#30985)

* Cleanup railings yml (#31618)

* Cleanup railings

* fix line

* real fix

* Roundstart Grappling Gun (#31737)

Roundstart grappling hook

* Automatic changelog update

* Added in-hand sprite for Smile the Slime (#31731)

added smile the slime in-hand texture

Co-authored-by: YourUsername <you@example.com>

* Lite Magnet Rebalancing (#31726)

magnet rebalancing ish

* unnerf fishops

* Devmap crew monitor fix (#31677)

* Automatic changelog update

* Add ERT time stats (#31629)

* add jobs for ghost roles

* add job to ToggleableGhostRole

* typo

---------

Co-authored-by: Mota <belochuc@gmail.com>

* Automatic changelog update

* Fix CS0642 - Possible mistaken empty statement (#31740)

* Throw the book at em! The space law book now does 1 blunt projectile damage (#31387)

* you can now throw the space law book for 1 blunt damage

* made book damage a feature of all books

* Replace instances of SolutionContainerSystem with SharedSolutionContainerSystem (#30084)

* Replace instances of SolutionContainerSystem with SharedSolutionContainerSystem

* guap

* More fixes

* Wait you can do that?

---------

Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>

* Add Donk Co. microwave board to Combat Bakery Kit (#31239)

* Add special microwave board to Combat Bakery Kit

* use event instead of trycomp

* make the board sus

* add instructions note

* embarrassing typo

* Add functionality to Donk Co. microwave instead

* update note

* Automatic changelog update

* Actions bar dynamic resizing (#31759)

* action bar dynamic resizing

* action bar dynamic resizing for separated style

* decreased indent for separated style

---------

Co-authored-by: YourUsername <you@example.com>

* Automatic changelog update

* Fix warnings related to non-exhaustive pattern matching.  (#31763)

old man shakes fist at modern syntax

* ats update (#31766)

* ats update

* fix pipenet

* Ninja throwing star ability fix (#31684)

fixed ninja star not spawning

Co-authored-by: YourUsername <you@example.com>

* Automatic changelog update

* Remove duplicate using from FoodSystem (#31769)

* vox voices revamp (#31679)

vox voices v2

* fixed broken pipe sprites (#31773)

* Return Long2 and Long3 hairstyles  (#30963)

* Sprites

* Prototype_&_Locale

* sorted_in_alphabetical_order

* Automatic changelog update

* Added many old ion lawsets for borgs and AI. (#31664)

* Added the Commandments, Paladin, LetLive, Station Efficiency, Robocop, Overlord, Dungeon Master, Artist, Antimov and Nutimov lawsets/

* Wording

* Anti-Antimov

* Fixed fun

* Add Snails (#30765)

* add snails

* scuffix

* migrate

* mo-grate

* oopsied the ftls

* Revert "oopsied the ftls"

This reverts commit 0d3c6c17f31ec904679d6a48799cea71e77c1f99.

* the curse of staging the wrong file, resolved.

* Snoth

* fix my dumbs

* reviews 1

* anti space technology

* salt hurty

* spelling

* Its a slotherhouse out here

* sequencing

* cooked snail

* volfix

* speed reversal

* Automatic changelog update

* Remove testbed command (#31793)

* feat: now when research is unlocked in console, approver of reasearch is radio-ed too (#31170)

* feat: now when research is unlocked in console, approver of reasearch is radio-ed too

* refactor: now most of events that require actor name to be radio-ed or logged use TryGetIdentityShortInfoEvent which is subscibed by id-card system and borg system (to work for both carbon and synthetic life-forms)

* refactor: moved TryGetIdentityShortInfoEvent on id card system to shared, fixed cargo cent-com-originated orders

* remove unused check

* refactor: decoupled systems from IdCardSystem (those that are not dependent on it anymore)

* refactor: removed unuseed usings

* feat: emagged cargo/research consoles wont radio messages on buy/research confirm anymore

---------

Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>

* Automatic changelog update

* New chemical based artifact nodes (#30873)

* Initial pH nodes, and description changes to indicate pH

* Psychoactive and stimulant nodes, Medical foundation, bioreactive hint

* Added medical reagents to medical node. Added norepinephric acid to acidic and made up a pH

* Added pyrotechnic chem node, and corresponding hint

* spelled psychedelic correctly

* Fixed capitalisation skill issue

* fixed indentation skill issue

* fixed a further indentation skill issue

* Removed extraneous whitespace

* Replaced bioreactive with theraputic and psychoactive. Also fixed typo skill issue.

* removed unnecessary comment

* Replaced heartbreaker with THC for psychadelic

* removed artifexium from acidic

* added tran acid to acidic

* added more medical chems

* removed pH values

* removed all but medical

* Automatic changelog update

* Add Red Neck Gaiter To Secdrobe (#30106)

* Red Neck Gaiter Added to SecDrobe

* Removes Gaiter From TheaterDrobe

* Automatic changelog update

* Fixed typos (#31811)

* Automatic changelog update

* Station AI has their name displayed in announcements now. (#31802)

* Station AI has their name displayed in announcements now.

* I'm so sorry

* Corrections

* part 2

* part 3 :|

* part 4

* Whitespace

* Fixing whitespace part 1

* No more whitespace

* PLEASE NO MORE WHITESPACE

* Automatic changelog update

* Add disabled station anchors version (#31794)

* Add disabled station anchors versions

* remove this

* add structural damage taken to a lot of prototypes (#30790)

* fix

* add structural damage taken to a lot of other things

* do requested changes

* how did this happen

* Automatic changelog update

* No Mr.Snail, I expect you to die! (fix sprite) (#31834)

* No Mr.Snail, I expect you to die!

* emoting

* Allow some mobs to walk slowly (#31360)

* Allow mice to walk slowly

* add more

* Automatic changelog update

* Delete nonsense solar assembly construction through the Construction window (#31425)

* Delete construction for solar assembly, it's the way to do it

* Fix description of solar tracker electronics

* Improvements to hand labeler UI (#31833)

Give line edit focus when window is opened
No longer require pressing enter to set the text
Give feedback when user hits the maximum label length

Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>

* make tesla brighter (#31357)

* make tesla brighter

* radius to 10

* Automatic changelog update

* CorrectContraband levels on each type of magboots (#30960)

* Added a ClothingShoesBootsMagBase, to allow the other versions of the magboots to have their own contraband settings

* Changed Science Boots to not be contraband

* Made ClothingShoesBootsMagBase abstract

* Removed Engineering Contraband from base magboots. Now only the CE's Advanced Magboots are contraband (Grand Theft Contraband). Blood Reds are Syndie Contraband.

* Automatic changelog update

* Morgue system refactor remove unused VVs and into Entity (#31835)

* Remove unused VVs params and usings
from entityUid, MorgueComponent into Entity<MorgueComponent> ent

* remove unnecesary VVs cuz datafields add em

* Make midround zombie outbreaks much rarer (#30266)

* Remove midround zombies

* super rare, like, 1/651 chance every few minutes.

* weight to 1

---------

Co-authored-by: Ubaser <134914314+UbaserB@users.noreply.github.com>

* Automatic changelog update

* Teleporting while pulling crash fix (#31787)

teleporting while pulling crash fix

Co-authored-by: YourUsername <you@example.com>

* Automatic changelog update

* quietify stealthbox (#30741)

* Automatic changelog update

* Atmospheric alerts computer (#25938)

* Atmospheric alerts computer

* Moved components, restricted access to them

* Minor tweaks

* The screen will now turn off when the computer is not powered

* Bug fix

* Adjusted label

* Updated to latest master version

* Automatic changelog update

* Day 0 bug fix for atmos alerts computer (#31858)

Initial commit

* Basically every electronic device can now be used by the AI. (#31730)

* Basically every electronic device can now be used by the AI.

* Removed stuff that didnt make sense

* oops

* Removed access from mailing and disposal units.

* Added AI wires to a couple machines.

* cool epic stuff

* Automatic changelog update

* Fix a typo in the 10 commandments (#31856)

* feat: #26107 uplink discounts for traitors (no nukies for now) (#26297)

* feat: #26107 uplink discounts for traitors and nukies

* refactor: #26107 extracted discount label from price of StoreListingControl

* refactor: minor renaming

* refactor: parametrized adding discounts to uplink store

* fix: #26107 prevent exception on empty discountOptions

* feat: uplink now have 'Discounted' category which contains all discounted items on this session.

* after merge fixups

* rename discount categories according to common sense

* refactor: DiscountOptions is now optional (nullable) on ListingData

* add nullability check ignore for already checked listingData.DiscountOptions

* fix after merge store menu ui

* remove unused using

* final fix after merge conflicts

* [refactor]: #26107 fix variables naming in UplinkSystem

* fix: #26107 fix after merge

* refactor: #26107 now supports discountDownUntil on ListingItem, instead of % of discount

* feat: #26107 support multiple currency discount in store on side of discount message label

* refactor: #26107 extracted discounts initialization to separate system. StoreDiscountData are spread as array and not list now

* refactor: #26107 move more code from storesystem to StoreDiscountComponent

* refactor: #26107 separated StoreSystem and StoreDiscountSystem using events

* fix: #26107 placed not-nullable variable initialization in ListingData for tests

* refactor: #26107 minor renaming, xml-docs

* fix: #26107 changed most of discounts to be down to half price for balance purposes

* ids used in with discounts are now ProtoIds, dicountCategories are now prototypes, code with weights simplified

* decoupled storesystem and store discount system

* xml-docs

* refactor:  #26107 xml-doc for StoreDiscountSystem

* is now a thing (tmp)

* fix: compilation errors + StoreDiscountData.DiscountCategoryId

* refactor: rename ListingDataWithCostModifiers, fix all cost related code, enpittyfy performance, uglify uplink_catalog

* refactor: removed unused code, more StoreDiscountSystem docs, simplify code

* refactor: moved discount category logic to respective system, now creating ListingData c-tor clones all mutable fields as expected

* refactor: rename back (its not prototype)

* refactor: move ListingItemsInitializingEvent to file with handling logic

* refactor: comments for StoreBuyFinishedEvent handling, more logging

* refactor: moved StoreInitializedEvent, xml-doc

* refactor: simplify StoreDiscountSystem code  (reduce nesting) + xml-doc

* refactor: restore old listing data cost field name

* refactor: fix linter in uplink_catalog.yml

* refactor: xml-doc for ListingDataWithCostModifiers

* refactor: limit usage of ListingData in favour of ListingDataWithCostModifiers

* refactor: purged linq, removed custom datafield names, minor cleanup

* refactor: removed double-allocation on getting available listings

* refactor: StoreSystem.OnBuyRequest now uses component.FullListingsCatalog as reference point (as it was in original code)

* fix: minor discount categories on uplink items changes following design overview

* refactor: StoreBuyListingMessage now uses protoId and not whole object

* refactor: store refund and discount integration test, RefreshAllListings now translates previous cost modifiers to refreshed list, if state previous to refresh had any listing items

---------

Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>

* Automatic changelog update

* Fixed AI Actions (#31823)

* Updated sprites for AI HUD

* Epic test fail

* Merged AGhost actions and AI actions together again.

* Seperate comms and bugfix. Fixed broadcast.

* Automatic changelog update

* add wireless net to evac shuttles

* Automatic changelog update

* A kit to help new botanists discover chemistry (#31738)

* Add a kit for botanists to do some limited chemistry to the NutriMax. Intended to help new botanists learn in-game about chemistry.

* remove exclamation marks from names

* naming fix

* Rejected trademark application for 'Farmers Helper'.

---------

Co-authored-by: PraxisMapper <praxismapper@gmail.com>

* Automatic changelog update

* Board for the AI upload console (#31867)

board

* Automatic changelog update

* Fix typo in agri-chem manual (#31869)

* Fix typo in agri-chem manual

* Unremove my added newline

* Cleanup books.yml (#31838)

* Cleanup books.yml

* yeah

* shame

* Vox sign/N2 locker update (#31845)

* Vox sign/N2 locker update

The "vox area" sign and N2 locker sprite were both taken from /vg/station. These sprites have bad racist connotations as discussed in https://github.com/space-wizards/space-station-14/issues/31840, and do not fit our server culture.

The new N2 locker is not a taped on piece of trash. It now also has a blue stripe to mimic the regular O2 locker and make it more distinct from fire safety closets.

The new "vox area" sign sprite follows the same style as other "area indicator" signs used throughout the blue and isn't an explicit warning sign anymore. It still has "No O2" on it to fill that role though.

* emogarbage adjustments

---------

Co-authored-by: EmoGarbage404 <retron404@gmail.com>

* Automatic changelog update

* Pizza boxes now have a chance to contain cotton pizza (#31883)

Pizza box now contains cotton pizza

Co-authored-by: Ekkosangen <9094006+XyyxShard@users.noreply.github.com>

* Automatic changelog update

* Tech Anomaly (#31764)

* A

* B

* C

* D

* Update TechAnomalySystem.cs

* idle anim

* Update meta.json

* new animation

* Automatic changelog update

* Fixed throngler name inconsistencies (#31889)

changed throngler names

* I have spent more time today cleaning up garbage than coding new shit, and I am mad (#31246)

* Fix logging of GetWebhook errors

Yeah let's just not log the error only stack trace.

* I have spent more time today cleaning up garbage than coding new shit, and I am mad

Cleans up the custom vote Discord webhook code because I *happened* to lay my eyes on how completely terrible it was and immediately found an obvious bug with it.

Also did basic QA because jesus christ: it more clearly reports pending votes, properly indicates cancelled votes, improves footer formatting, better error logging, all the usual shit.

Requires https://github.com/space-wizards/RobustToolbox/pull/5375 to avoid test failures

* Mineral Scanner (#31390)

* Mineral Scanner

* doink

* review

* sunday funday

* review and fix bugs i think?

* Update MiningOverlay.cs

* Automatic changelog update

* Fix ai upload console itemslot whitelist (#31900)

* Fix ai upload console itemslot whitelist

* aw man

* Automatic changelog update

* improved vox laugh (#31798)

vox laugh not underwater

* fix pump shotgun wielded sprite (#31885)

* fix shotgun sprite

* fix take 2

* fix: Snail event wasnt tabled (#31884)

pest events reorganized and snails spawn

* Automatic changelog update

* Force stop pulling when fall asleep (#31893)

* break pull at sleep

* TryStopPull without user

---------

Co-authored-by: YourUsername <you@example.com>

* Automatic changelog update

* Energy Shotgun Change 2 - Narrow Nerf + instances from NoSpawn --> categories: [ HideSpawnMenu ] + self recharge removed + 1 more shot + normal recharge speed (#31235)

* narrow nerf

* last instance of nospawn gone

* removes self recharge

* 8 shots, less recharge time

* Automatic changelog update

* Add justice helm (#31905)

* Add justice helm

* backslash moment

* spinny light

* remove power cell from recipe

* Automatic changelog update

* Quiver Crafting Recipe (#27198)

* Update quiver.yml

* Create quiver.yml

* Update clothing.yml

* Update pneumatic_cannon.yml

* Update pneumatic_cannon.yml

* Update pneumatic_cannon.yml

* Update pneumatic_cannon.yml

* Delete RDs binary encryption key (#31909)

Deleting binary key

Silicon supremacy!

* undelete rd key

* Automatic changelog update

* split temperature protection into heating and cooling (#30662)

* split temperature protection into heating and cooling

* fugg

* weh

* update TemperatureProtection for stuff

* Automatic changelog update

* makes the maple wing marking have a primary and a secondary color (#31691)

bogos binted

* Automatic changelog update

* Remake bottles and syringes names to use labels (#29956)

* Remake bottles and syringes names to use labels

* vial

* fix and add stuff

* Automatic changelog update

* guide on agrichem and botanicals guidebook update (#31896)

* Automatic changelog update

* Automatic changelog update

* Lost evac pod thing tiny fan (#31915)

* disaster evacpod tinyfan

* real

* :trollface:

* untroll

* Ghostrole rule updates (#29249)

* First batch of ghostrole rule updates

* Second pass

* Re-word free agent

* Apply review comments

Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>

* You heard it here first folks

God rules are weird to write.

Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>

* Honkbot -> Free Agent

Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>

* Mimebot -> Free Agent

Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>

* Jonkbot -> Free Agent

Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>

* Softer blue

---------

Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>

* :trollface:

* :trollface:

* :trollface:

* pro

---------

Co-authored-by: Winkarst <74284083+Winkarst-cpu@users.noreply.github.com>
Co-authored-by: Ilya246 <57039557+Ilya246@users.noreply.github.com>
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>
Co-authored-by: godisdeadLOL <169250097+godisdeadLOL@users.noreply.github.com>
Co-authored-by: YourUsername <you@example.com>
Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com>
Co-authored-by: Boaz1111 <149967078+Boaz1111@users.noreply.github.com>
Co-authored-by: Mervill <mervills.email@gmail.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: DrSmugleaf <10968691+DrSmugleaf@users.noreply.github.com>
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: poeMota <142114334+poeMota@users.noreply.github.com>
Co-authored-by: Mota <belochuc@gmail.com>
Co-authored-by: Moomoobeef <62638182+Moomoobeef@users.noreply.github.com>
Co-authored-by: Cojoke <83733158+Cojoke-dot@users.noreply.github.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
Co-authored-by: themias <89101928+themias@users.noreply.github.com>
Co-authored-by: Emisse <99158783+Emisse@users.noreply.github.com>
Co-authored-by: Арт <123451459+JustArt1m@users.noreply.github.com>
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
Co-authored-by: IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Fildrance <fildrance@gmail.com>
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
Co-authored-by: Lye <128915833+Lyroth001@users.noreply.github.com>
Co-authored-by: DieselMohawk <gavin.drinka@gmail.com>
Co-authored-by: Hreno <hrenor@gmail.com>
Co-authored-by: eoineoineoin <github@eoinrul.es>
Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
Co-authored-by: qwerltaz <69696513+qwerltaz@users.noreply.github.com>
Co-authored-by: Ty Ashley <42426760+TyAshley@users.noreply.github.com>
Co-authored-by: Token <esil.bektay@yandex.com>
Co-authored-by: Alzore <140123969+Blackern5000@users.noreply.github.com>
Co-authored-by: Ubaser <134914314+UbaserB@users.noreply.github.com>
Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>
Co-authored-by: Psychpsyo <60073468+Psychpsyo@users.noreply.github.com>
Co-authored-by: drakewill-CRL <46307022+drakewill-CRL@users.noreply.github.com>
Co-authored-by: PraxisMapper <praxismapper@gmail.com>
Co-authored-by: Nim <128169402+Nimfar11@users.noreply.github.com>
Co-authored-by: Perry Fraser <perryprog@users.noreply.github.com>
Co-authored-by: EmoGarbage404 <retron404@gmail.com>
Co-authored-by: Ekkosangen <9094006+Ekkosangen@users.noreply.github.com>
Co-authored-by: Ekkosangen <9094006+XyyxShard@users.noreply.github.com>
Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: Chubbicous <100180479+Chubbicous@users.noreply.github.com>
Co-authored-by: Ps3Moira <113228053+ps3moira@users.noreply.github.com>
Co-authored-by: FungiFellow <151778459+FungiFellow@users.noreply.github.com>
Co-authored-by: Futuristic-OK <141568243+Futuristic-OK@users.noreply.github.com>
Co-authored-by: Ian <ignaz.k@live.de>
Co-authored-by: TsjipTsjip <19798667+TsjipTsjip@users.noreply.github.com>
Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
2024-09-10 01:20:38 +10:00
portfiend 690cbe995a
Rodentia Species (#1511)
* add: basic rodent species

* add: rodentia base sprites

* add: basic rodent hand/foot markings

* add: ears i got em

* add: tail markings

* add: big ears

by request

* tweak: default markings, coloration

everything uses skin color by default when added except for these new "default" markings which use tattoo

* add: the rest of the basic body part markings

* add: snout textures

* add: pattern markings

* add: cheek detail

* add: sex variations for chest marking

* add: give rodentia the generic markings

* add: rodentia names

* add: damage, voice, mass, emotes to rodentia

* add: rummager ability for rodentia

* remove: temperature protection from rodentia

* add: some makeup markings for rodentia

* add: include rodentia in misc pools

* add: rodentia guidebook entries

* tweak: adjust rodentia marking points

* add: rodentia pie sprite

* tweak desc

* tweak: change rodentia name scheme

* tweak: adjust damage modifiers for rodentia

* add: rodentia always trigger mouse traps

* tweak: rodentia have unique speech verbs

* tweak: change rodentia inventory shape

* tweak: rodentia take more phys dmg overall

* tweak: made rodentia hungry

* add: mouth storage component on rodents

* add: server mouthstoragesystem

* add: force-dump mouth storage on trip

hmm the networking on this is a little ehh. but watever

* add: rodentia drop mouth items on damage

* add: blocked interactions if mouth is full

* fix: corrected accent oops

* tweak: tense

* fuck this import in particular

* tweak: spit damage threshold

* fix: no redundant open actions

* refactor: move this action into the types file

* add: rodentia get ability to hide under tables etc.

* tweak: change rodentia action icons

* refactor: im renaming this component and system lol

* refactor: rename this event too

i was gonna refactor the whole system to be more like climbing, but the climbing system is convoluted so im just gonna do this and put it aside

* tweak: fix the mouth storage icon
the number covers it

* tweak: check if colliding with table before un-sneaking

* fix: crawl action cooldown and popup text

* add: slowdown to sneak ability

* refactor: fix this namespace

* tweak: rummageable objects now use a cooldown

* fix: newlines

* Apply suggestions from code review

Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
Signed-off-by: portfiend <109661617+portfiend@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
Signed-off-by: portfiend <109661617+portfiend@users.noreply.github.com>

* fix: collision group variavbles

* add: proper "full body" sprite

* add: move blaze to head folder, "round face" marking

* add: whisker markings

* tweal: rodentia are 50% -> 33% hungrier

1.5x seemed excessive

* refactor(mouthStorage): move OnExamined from server to shared

* refactor(mousetrap): use HasComp

* refactor(mouthStorage): use a public api instead of event here

* refactor(yml): KILL REPETITION

* refactor(parts/rodentia): KILL REPETITION

---------

Signed-off-by: portfiend <109661617+portfiend@users.noreply.github.com>
Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
2024-09-07 23:04:34 -03:00
Pieter-Jan Briers e1eb8373f0 Quick warning fixes (#31694) 2024-09-01 03:56:15 +01:00
Julian Giebel 5f5a0d46be Station Anchor (#26098)
* Work on abstracting out chargeup functionality/ui from grav gen

* Work on station anchor

* Finish implementing station anchors

* uhh yeah

* ok.

* fix tests

* whoops

* Get the last extraneous yaml fail

* PJB review

* beast mode... ACTIVATE!

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: EmoGarbage404 <retron404@gmail.com>
2024-09-01 03:36:44 +01:00
deltanedas 32268c1a30
make jobs that dont use whitelist greyed out on whitelist panel (#1718)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-08-31 01:10:24 +00:00
Milon c54b29b51c
job whitelist panel presets (#1717)
* SHIT -> GOLD

* the label looks like shit
2024-08-31 00:11:45 +00:00
deltanedas b6cef70f5c update stuff 2024-08-30 08:36:14 +01:00
lzk 52d9ad8d48 Remove random cyrillic letters (#31600) 2024-08-30 07:59:27 +01:00
metalgearsloth 2fc56bdb6b Storage BUI bandaid (#31506)
grug storageuicontroller
2024-08-30 07:54:16 +01:00
metalgearsloth d58bdd65ec Station AI (#30944)
* Station AI overlay

* implement

* Bunch of ports

* Fix a heap of bugs and basic scouting

* helldivers

* Shuffle interactions a bit

* navmap stuff

* Revert "navmap stuff"

This reverts commit d1f89dd4be83233e22cf5dd062b2581f3c6da062.

* AI wires implemented

* Fix examines

* Optimise the overlay significantly

* Back to old static

* BUI radial working

* lots of work

* Saving work

* thanks fork

* alright

* pc

* AI upload console

* AI upload

* stuff

* Fix copy-paste shitcode

* AI actions

* navmap work

* Fixes

* first impressions

* a

* reh

* Revert "navmap work"

This reverts commit 6f63fea6e9245e189f368f97be3e32e9b210580e.

* OD

* radar

* weh

* Fix examines

* scoop mine eyes

* fixes

* reh

* Optimise

* Final round of optimisations

* Fixes

* fixes
2024-08-30 07:53:19 +01:00
Simon f9f2549746 Automated whitelists (#23985)
* Beginnings of making the breadmemes jobs easier

* stuff

* stuff pt. 2

* Stuff pt.3

* Stuff I forgot last time

* Basic whitelist

Only people that are added to the whitelist with the addwhitelist command will be able to join. I call this the "legacy" whitelist

* Remove always deny condition in favor of just breaking if playtime check fails

* Change default whitelist

Default whitelist is now the "legacy" whitelist.

* localization

* Admin check

* minor spelling change

* Fix build

* Whitelist message

* Fix vars not being datafield and spelling mistakes

* Minor spelling mistake

* Change config for salamander

* Reviews and stuff

* Add summaries

* Fix whitelists

* Forgot to add a datafield

* Fixing stuff I guess

* Reuse admin remarks to reduce load when connecting.

* Update log messages to be verbose instead of debug

* Reviews

* whoops

* Explain a bit more how whitelist checking works

* Apply CE's review

* Append Membership to Blacklist and Whitelist conditions

* Fix review comments

* Uncapitalize playerConnectionWhitelist, add to ignored client prototypes

* Make note count field work

* Fix cvar for thingy

---------

Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2024-08-30 05:37:15 +01:00
Thomas 40708f3142 New Health Analyzer UI (#30834)
* WIP: first prototype

* Change text slightly

* Allow names to wrap

* Add label for the scan mode

* Remove ugly text

* Readd bleeding message

* Update code

* Allow for the Health Analyzer UI to grow vertically
2024-08-30 05:35:45 +01:00
eoineoineoin 93bb4c9608 Scale text in admin player overlay (#31503)
* Scale text in admin player overlay

Fixes #30040

* Feedback from PR - get UI scale through root window

---------

Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
2024-08-30 05:35:45 +01:00
eoineoineoin 7fec166a3b Add title to multitool door-access-configuration window (#31504)
Fixes #29923.

Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
2024-08-30 05:35:45 +01:00
deltanedas 523e4220c8
fix blanket whitelist not working in client (#1708)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-08-30 03:42:52 +00:00
deltanedas 6e29441a46 merge master 2024-08-28 03:20:44 +01:00
Nemanja db4e7cb567 Add space debris to salvage magnet (#31113)
* add space debris to salvage magnet

* multiplication

* necessary mercy for NPCs

* back and forth on mercy
2024-08-28 03:17:20 +01:00