Commit Graph

8524 Commits

Author SHA1 Message Date
Leon Friedrich
3917998edd Change some EntityQueryEnumerator to AllEntityQuery (#27969)
(cherry picked from commit 1f03111ff8affe1554a5fac4d1a49b1cccdf2fbb)
2025-07-20 21:28:27 +10:00
Эдуард
7d9eb7da03 Wanted list cartridge (#31223)
* WantedListCartridge has been added

* WantedListCartridge user interface works

* WantedListCartridge is added as standard in some PDAs

* The CriminalRecordsSystem can now also take into account who created the record

* Added offense history table

* Fix of missing loaderUid for a cartridge without installing the program

* Added personalized information about the target

* The crime history has been finalized

* Added StatusList

* The officer's name has been added to the automatic history

* WantedListCartridge has been added to the HOS locker

* WantedListCartridge has been removed from brigmedic's preset programs

* The StealConditionSystem now takes into account whether a cartridge is inserted or installed

* Added target to thief on WantedListCartridge

* Merge fix

* Removing copypaste

* Fix merge 2

* The sprite of WantedListCartridge has been changed

* Update pda.yml

* Fix scrollbar in the history table

* Upstream localization fix

* `StatusList` has been replaced by `ListContainer` with `TextureRect`

* Margin fix

(cherry picked from commit 1468cbdb8a59beb2dfc9188a3108157496549a57)
2025-07-20 21:28:09 +10:00
chavonadelal
f8e6604939 Localization of steal targets (#30153)
* Localization of steal targets

* Correction of localization of theft objects

* The second correction of the localization of theft targets

* Update steal-target-groups.ftl

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>

* Revision of the localization method

* Choosing a simple option for localization

* Fix TechnologyDisk name

* Corrections based on feedback received

* correction of declension

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>

(cherry picked from commit ccc5f61584b4017c315cb3df1178eb8a4e391194)
2025-07-20 21:26:32 +10:00
Truoizys
1721b491ad Fixed cartridges installing more than once (#29187)
* fixed cartridges installing more than once

* replaced prototypes with CartridgeComponent

* relocated checks from InstallProgram to InstallCartridge

(cherry picked from commit fc40cd79fb1e4a9890b6b7eba3ab707ddbd35bf6)
2025-07-20 21:04:23 +10:00
lzk
5f745e7add add StartDelay bool to actions (#33026)
* add StartDelay bool to actions

* forgot summary

(cherry picked from commit dc3a2f6d28c50abaab5453fd1aabe79e1b2ff859)
2025-07-20 21:04:19 +10:00
Killerqu00
1559a482c5 Remove rest of Geras files (#30912)
remove remaining geras stuff

(cherry picked from commit 65521696c83ad695244726a8d1a04fe93653db24)
2025-07-20 21:04:14 +10:00
drakewill-CRL
efa4d384ae Botany Rework Part 1: Mutations (#31163)
Instead of each mutation being a flag that gets checked at some unique point in BotanySystem somewhere, they're now EntityEffects that get applied when the mutation occurs and when produce is harvested. One new list was added to SeedData so that multiple other fields could be removed.

All the non-stat-change mutations that have been rolled are added to the Mutations list, and get applied to the plant when the mutation occurs or when a seed with the mutation is planted. Produce get mutations applied at harvest if they apply to the produce, and carry all of the plant's mutations over as a seed. This gets rid of the one-off checks for things like Slippery, Bioluminescent, Sentient, etc.

The base odds of a mutation applying should be equal to the odds of the original mutation check. It pretended to have 1 bit flip (on averge) per mutation power, and odds of each mutation was the odds of one of its bit being flipped (1 /275 * bits). The 'thermometer code' applied for numbers will be replaced with simple random rolls, as both average out to the middle value. The new checks are much easier to understand and don't obfuscate the actual changes of something happening behind 3 layers of math. The biggest player-facing change is that Potency will be able to get over 65 significantly more often than it did in the previous system, but it will be just as common to get low values as high ones.

Mutation definitions have been moved to a .yml file. These include the odds per tick per mutagen strength of that mutation applying that tick, the effect applied, if it applies to the plant and/or its produce. This makes mutations simpler to add and edit.

This PR is limited specifically to the mutation logic. Improving other aspects of the system will be done in other PRs per the design document. Mutations was chosen first because its got the largest amount of one-off checks scattered all over that could be consolidated. Once this is merged, mutations could be contributed to the codebase with minimal extra work for later botany refactor PRs.

(cherry picked from commit 1dec19cc052dd22c73cc25dc92b3d0a918ef13fd)
2025-07-20 20:44:00 +10:00
Nemanja
06f5a3128f Biogenerator (#30694)
* biogenerator

* ack

* test success!

* fix tests

* increase price of reagents

(cherry picked from commit efe54e011e4c9b52c688b28cce686d26ff267c28)
2025-07-20 20:43:49 +10:00
beck-thompson
056a3e2eba Plushies can now have pAIs stuffed into them (v2)! (#30805)
* First commit

* I forgot silly me

* Actually added comments

* spellin

* fixes

* more blacklists

* Minor fixes

* Speech Verb also changes now

* Simple name stuff

* Other fixes

* remove one line of whitespace

---------

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

(cherry picked from commit 327466a6e2e36eba03c4bee397371fec5d3e4a86)
2025-07-20 20:37:05 +10:00
Mervill
308c09a082 Remove duplicate using from FoodSystem (#31769)
(cherry picked from commit 7040f2fd2ed4309d3808af8e99d586e4d2a40e46)
2025-07-20 20:37:04 +10:00
Leon Friedrich
7046d80f16 Hide role entities in the spawn menu (#32798)
(cherry picked from commit 2d60a4684c771b350d9c3c0dab794aa21de624e5)
2025-07-20 20:36:57 +10:00
ElectroJr
ad6b81233d Refactor map loading & saving (#34020) 2025-07-20 20:34:12 +10:00
ScarKy0
3dc9e4a433 Derelict Borg Revival (#33433)
* Derelictn'tn't Borg!

* Clean *sparkles*

* Removed "S: Awaiting Changes"

(cherry picked from commit 274c3ab0b923af5f6d05a2965861df8b4a1cfdbc)
2025-07-20 16:09:31 +10:00
metalgearsloth
c8d4c137c9 Predict stripping (#32478)
* Predict stripping

Stops mob verbs from getting moved around again.

* Bola

* Fix ftl
2025-07-20 15:53:14 +10:00
Nemanja
85bd0bede8 Mineral Scanner (#31390)
* Mineral Scanner

* doink

* review

* sunday funday

* review and fix bugs i think?

* Update MiningOverlay.cs

(cherry picked from commit 85992518256e85c7980b784b6462727f9158a413)
2025-07-20 15:49:41 +10:00
Nemanja
7d3faf96ca Roundstart Grappling Gun (#31737) 2025-07-20 15:49:40 +10:00
Golinth
6b6cbdad00 Added Firebots - Real (#32482)
* Add Firebots

Had to add OnActivateInWorld to the spray system to get the bot to work. Checks for the flammable component and if the onFire boolean is true.

* Make SpraySystem actually use useDelay

got rid of that TODO

* Added firebot speech

Fire detected!

(cherry picked from commit 3b682d4d68c82b218a3727961241e519a91677f1)
2025-07-20 15:49:37 +10:00
metalgearsloth
7bf98d6616 Predict vending machine BUI (#32376)
(cherry picked from commit dd7884ed40114fab1584852647dbb39c24f091e7)
2025-07-20 15:49:35 +10:00
Robert V
8848a8d14e Allow vending machines to be repaired (#28920)
Vending machines can be repaired

(cherry picked from commit 48f90322f274cb5524c816a2f88ede8bc779cd64)
2025-07-20 15:49:22 +10:00
Repo
15c10b609f Fix wall vending machines spawning items in walls. (#28279)
* Find spawning of wall vending machines.

* Review fixes

(cherry picked from commit 4cec8110b0112b37971d6bac2da3593dd014b61c)
2025-07-20 15:47:37 +10:00
slarticodefast
d421131054 Greytide Virus station event (#33547)
* proof of concept

* full implementation

* I commited a crime

* t

* min players increase

(cherry picked from commit 470c869ce2cd14136662b1895f2a8e31e68f6f6c)
Signed-off-by: Spatison <137375981+Spatison@users.noreply.github.com>
2025-07-20 15:18:51 +10:00
deltanedas
00f7cef2c3 network airlock AutoClose (#32124)
* network airlock AutoClose

* least stupid language

* great language

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
(cherry picked from commit b11fdd5f0baa3e3a8e39c3335115fe56a53e9203)
2025-07-20 15:18:46 +10:00
SlamBamActionman
84764260ec Fix Station AI being affected by Bureaucratic Event (#32021)
* init commit

* I forgot components exist

* delta told me to make it a list

(cherry picked from commit 5740a88208707510009d7d976394069d2a593d3e)
2025-07-20 15:10:35 +10:00
qwerltaz
52e734124b fix dragon spawn location and round end summary (#31890)
* spawn dragon rule at station edge

* 2

* stuff

* fix round end summary not showing

* no invalid euid

(cherry picked from commit 7c99b5c10b1eb34afe6524b827b51203e7c2a31b)
Signed-off-by: Spatison <137375981+Spatison@users.noreply.github.com>
2025-07-20 15:10:35 +10:00
Mervill
4265b4a052 Replace obsolete functions in NPC systems (#31448)
(cherry picked from commit e85c25a7468b4daea7a5f1deb85900a9151651cf)
Signed-off-by: Spatison <137375981+Spatison@users.noreply.github.com>
2025-07-20 15:10:33 +10:00
osjarw
0226a6843f NPC exits MeleeOperator on invalid EntityUid (#30005)
EntityUid 0 problem fix

(cherry picked from commit 922be642904ede5988835a9143357d47be731b8d)
2025-07-20 15:10:32 +10:00
Tayrtahn
3e6d3856de Fix followers getting sent to nullspace when target is polymorphed (#33878)
* Add an event for polymorph actions

* Subscribe FollowerSystem to the event

* Add check that unfollow target is actually current target.

* Make followers try to follow on state update; Dirty follower on follow.

(cherry picked from commit 46b19291eae7311c3ee946e45432f0552328792d)
2025-07-20 15:08:44 +10:00
MilenVolf
8643496b9a Localize planet dataset names (#33398)
* Localize planet names (borer)

* DatasetPrototype -> LocalizedDatasetPrototype

* Apply requested changes

(cherry picked from commit 2002de9bb01e53e70b00fea5b3f4ffeed55a3cfa)
Signed-off-by: Spatison <137375981+Spatison@users.noreply.github.com>
2025-07-20 15:06:47 +10:00
DrSmugleaf
291f95c0c3 Move PlayerBeforeSpawnEvent and PlayerSpawnCompleteEvent to Shared (#33428) 2025-07-20 14:59:18 +10:00
ScarKy0
0fab35bb11 Ion storm refactor (#33311)
Signed-off-by: Spatison <137375981+Spatison@users.noreply.github.com>
2025-07-20 14:58:55 +10:00
BIGZi0348
2f700868e0 Moved hardcoded string "PEOPLE" to Loc.GetString() (#32164)
(cherry picked from commit 20914fea367289c36e9988f6c22ec802a74065b8)
2025-07-20 14:54:33 +10:00
Zachary Higgs
04fda905d8 Add Silicon Law cues to Every method a Silicon can have their laws change (#32887)
* Silicon Law Sound cue refactor

- Added CueEntityMind to Silicon Law system to more uniformally
send sounds to minds

- Switch all previous MindPlaySound to instead call to the new method

* Change SiliconLawEui to cue the mind

* CR: TryGetComponent and Change the Documentation

- Remove GetComponentOrNull for  _entityManager.TryGetComponent

- Change SiliconLawProviderComponent.LawUploadSound to be more general
rather than just referencing lawboards

* Update Content.Server/Silicons/Laws/SiliconLawEui.cs

* Update Content.Shared/Silicons/Laws/Components/SiliconLawProviderComponent.cs

* Silicon-law-cue-refactor - CR:

- Roll the cuing into NotifyLawsChanged via an optional variable for the
cue

- Modify "SetLaws" to take in an optional soundProvider for the cue

- modify Emagged, Ion, Eui and SetLaws to instead send the sound cue via
NotifyLawsChanged

---------

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

(cherry picked from commit a3f10ccfbb01616d08559950b5de4dc1c6df7f6d)
2025-07-20 14:54:20 +10:00
nikthechampiongr
2b729395ef Rename fix (#31654)
* Localize RenameCommand and delegate most of the process to MetaDataSystem.SetEntityName()

* Make renaming rely on the EntityRenamedEvent. Fix issue where renaming would keep old Examine text

Requires engine change

* Fix localisation strings

* Make PDA search be based on a renamed entity's Uid instead of its old name

To do this the pda component now has an PdaOwner field which gets
assigned when it is given as a loadout to a player

* Fix bad merge???

huh

* Use AllEntityQuery

(cherry picked from commit ee434e397d483c10b1dbf29e736de6a134e82746)
2025-07-20 14:50:45 +10:00
deltanedas
6a233e8683 fix id card console not updating records (#28237)
* fix id card console not updating records

* test

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
(cherry picked from commit 37ad81c59ca04b10cdc420eb66ae7a9487ecdfaf)
2025-07-20 14:50:45 +10:00
lzk
f87b1dc280 Special latejoin message for captain (#31991)
* Special latejoin message for captain

* fix gender in locale

* remove this for now

* shame

* not really shame

* change

* do that

(cherry picked from commit f2b67fc76b5b3f68fd4dd39691710d1f425f3178)
2025-07-20 14:50:37 +10:00
Pieter-Jan Briers
0aadba0f72 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

(cherry picked from commit 582a644c243d1c0a0ff660933e811b89024597f6)
2025-07-20 14:48:27 +10:00
Pieter-Jan Briers
9ee3fc053a Don't create new JsonSerializerOptions for every discord webhook (#31240)
*sigh*

(cherry picked from commit d63115d1f76ecbee0618b93a196ff57f49be816f)
2025-07-20 14:48:26 +10:00
Jacob
d58d615533 Add failure logging to DiscordWebhook.cs (#30835)
* Add failure logging to DiscordWebhook.cs

Add a new function that logs errors with discord webhook's http requests.

Create, Delete, and Edit functions were modified slightly to call the log function but return the same information as before.

The log function logs the error code, caller method using a simple constant (could be better), and attempts to log headers mentioned in issue #30248.

* remove extra ';'

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

* Move header error logs to debug

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
(cherry picked from commit beb86fa0fec95798ecc3811a93efad3b6675ef93)
2025-07-20 14:48:26 +10:00
lzk
56f4eb6d3d Fix cryo locale again (#32654)
* Fix cryo locale again

* yeep

(cherry picked from commit 33042b00d0fa64e2880acecd7430c425caf3e8f4)
2025-07-20 14:48:25 +10:00
lzk
41e44fdcbb fix conjugate have in cryo locale string (#31993)
(cherry picked from commit e490b69b4e4fd49f6fecf7a1e066fab1c7a1e630)
2025-07-20 14:48:24 +10:00
Eris
eefbd9970d no risks taken. 2025-07-20 14:39:34 +10:00
Eris
3bc325e74b s 2025-07-20 14:39:33 +10:00
Eris
d1abb827ae h 2025-07-20 14:39:25 +10:00
Eris
75a463cf5d Saving changes 1 2025-07-20 14:37:13 +10:00
Eris
110e22aa2f a 2025-07-20 14:25:39 +10:00
Thomas
65fca27321 Disable Arrivals message for Cryosleep (#30888)
* Disable arrivals message for cryosleep late arrivals

* Provide silent to PlayerSpawnCompleteEvent

* Fix typo

* Move message to event and into arrivals system
2025-07-20 14:22:55 +10:00
PursuitInAshes
035c316591 Change Resave Permission Requirement to Host (#31397)
ChangePermissionFlagToHost

(cherry picked from commit c1aee02c7439daec2e2b302cd4023acd17a80a1d)
2025-07-20 14:22:53 +10:00
AsnDen
87f6fcc234 AI now "can" use media console (#32334)
(cherry picked from commit 72acce520070056432058bf430152bd542d1802c)
2025-07-20 14:22:52 +10:00
nikthechampiongr
04d5f5b5ad Fix RA0032 (#32514) 2025-07-20 14:22:41 +10:00
Mervill
57f4465934 Fix warnings related to non-exhaustive pattern matching. (#31763)
old man shakes fist at modern syntax

(cherry picked from commit de13ff96639d8da5ca45b214e0c4df5ebf20856a)
2025-07-20 14:20:14 +10:00