Compare commits

...

4172 Commits

Author SHA1 Message Date
Ed
55876d9f68 Merge branch 'ed-31-08-2025-kenku' of https://github.com/crystallpunk-14/crystall-punk-14 into ed-31-08-2025-kenku 2025-09-28 20:14:56 +03:00
Red
c5e239f6f7 Merge branch 'master' into ed-31-08-2025-kenku 2025-09-28 20:14:31 +03:00
CrystallEdge Server
3d0b489392 Automatic changelog update 2025-09-28 11:17:58 +03:00
Red
c4087e9d5f Magic now respect physics again (#1805)
* fixes

* Update silva.yml
2025-09-28 11:16:52 +03:00
Ed
62589adb72 Update CP14RoofSystem.cs 2025-09-27 22:52:32 +03:00
CrystallEdge Server
2d91b5db65 Automatic changelog update 2025-09-27 22:18:32 +03:00
Kit
f6ef53e24e Spell/Shield tweaks (#1804)
* Spell changes

* shield changes
2025-09-27 22:17:27 +03:00
CrystallEdge Server
ae43454da2 Automatic changelog update 2025-09-27 22:15:17 +03:00
Red
51a3fb53aa God rays (#1803)
* god rays

* fix

* fix?
2025-09-27 22:14:11 +03:00
CrystallEdge Server
ec4a9a59cf Automatic changelog update 2025-09-26 19:32:08 +03:00
Kit
835cfa951f Merge pull request #1789 from KittyCat432/silva-buffs
Silva buffs and liquid mana buffs
2025-09-26 12:31:02 -04:00
CrystallEdge Server
00a9cf0fed Automatic changelog update 2025-09-26 00:27:08 +03:00
Nim
d16e4aaf2f Fixs zombie and loot (#1799)
* loot zombie

* fix
2025-09-26 00:26:03 +03:00
CrystallEdge Server
606a81d145 Automatic changelog update 2025-09-25 14:26:16 +03:00
nukkuminen
66379b65d1 added funny facial hair (#1797)
* added funny facial hair

* fixed atributions

* new mustages
2025-09-25 14:25:10 +03:00
CrystallEdge Server
a9d0551323 Automatic changelog update 2025-09-23 13:24:44 +03:00
Nim
3b7d6579b6 Microbalance of Vampires (#1773)
* micro vamp

* breakOnMove

* revert CP14ActionDoAfterSlowdown
2025-09-23 13:23:39 +03:00
CrystallEdge Server
30cbc470a7 Automatic changelog update 2025-09-23 13:20:52 +03:00
Kit
4623afed40 Demiplane difficulty rework (#1798)
* yea thats alot

* russian translation and fix

* Update Resources/Locale/ru-RU/_CP14/demiplane/modifiers.ftl

---------

Co-authored-by: Red <96445749+TheShuEd@users.noreply.github.com>
2025-09-23 13:19:47 +03:00
Kit
14e1fd9247 fix 2025-09-22 18:03:21 -04:00
Kit
fa2c1968f8 Requested changes 2025-09-22 17:44:54 -04:00
CrystallEdge Server
0f1766e98f Automatic changelog update 2025-09-22 13:39:53 +03:00
Nim
13ec48b980 Microbalance weapon (#1790)
* Microbalance weapon

* dagger

* dagger2

* shield

* fix
2025-09-22 13:38:47 +03:00
CrystallEdge Server
cb16adc14d Automatic changelog update 2025-09-21 13:48:20 +03:00
Nim
81164228ee Debaff rat (#1794)
* debaff rat

* XP
2025-09-21 13:47:14 +03:00
Viator-MV
692da1e830 Venicicalis weather fix (#1793) 2025-09-20 15:53:58 +03:00
github-actions[bot]
7c52fe6dec @Deatherd has signed the CLA in crystallpunk-14/crystall-punk-14#1792 2025-09-19 17:28:22 +00:00
Kit
d6d6fa86a9 guidebook change 2025-09-17 21:02:30 -04:00
Kit
43b8c8dbb9 wow buffs 2025-09-17 20:52:57 -04:00
Ed
3501e12ff2 Set sound to null and remove unused sprite in spells
Set the 'sound' property to null for hell_ballade and mana_ballade spell actions to explicitly disable sound. Removed an unused Sprite component from water_creation.yml to clean up the configuration.
2025-09-18 00:28:48 +03:00
Red
930caa30b3 Magic spell refactor part 2 (#1757)
* DoAfter support for Actions (#38253)

* Adds Action DoAfter Events

* Adds DoAfterArgs fields to DoAfterComp

* Adds a base doafter action

* Adds Attempt action doafter logic

* Adds doafter logic to actions

* Changes Action Attempt Doafter and action doafter to take in Performer and the original use delay. Use delay now triggers when a repeated action  is cancelled.

* Readds the TryPerformAction method and readds request perform action into the action doafter events

* Adds a force skip to DoAfter Cancel so we can skip the complete check

* Adds a Delay Reduction field to the comp and to the comp state

* Fixes doafter mispredict, changes doafter comp check to a guard clause, sets delay reduction if it exists.

* Cancels ActionDoAfter if charges is 0

* Serializes Attempt Frequency

* Comment for rework

* Changes todo into a comment

* Moves doafterargs to doafterargscomp

* Adds DoAfterArgs comp to BaseDoAfterAction

* Removes unused trycomp with actionDoAfter

* Replaces DoAfterRepateUseDelay const with timespan.zero

* Removes unused usings

* Makes SharedActionsSystem partial, adds DoAfter partial class to ActionSystem, moves ActionDoAfter logic to the SharedActionsSystem.DoAfter class

* Cleanup and prediction

* Renames OnActionDoAfterAttempt to OnActionDoAfter, moves both to Shared Action DoAfter

* Removes ActionAttemptDoAfterEvent and moves its summaries to ActionDoAfterEvent. Converts OnActionDoAfterAttempt into TryStartActionDoAfter

* Removes Extra check for charges and actiondoafters

* Sloptimization

* Cleanup

* Cleanup

* Adds param descs

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>

* Refactor CP14 action emote and speech handling

Moved emote and speech logic from magic spell components to dedicated CP14 action components and systems. Removed CP14MagicEffectEmotingComponent and related event handling, introducing CP14ActionEmotingComponent and updating event subscriptions. Updated resource consumption and performed logic to use new action-based components. Adjusted affected prototypes and removed obsolete code.

* kicking in

* Refactor athletic spell actions and remove mana cost calc

Reworked dash and sprint spell YAMLs to use modular effect events and updated their action properties. Removed the unused CalculateManacost method from CP14SharedMagicSystem.cs. Also removed the startDelay property from the kick action.

* fix cooldown and resource cost

* casting visuals adapt

* telegraphy adapt

* slowdown adaption

* Remove Lumera and Merkas demigod spells and skills

Deleted all spell and skill prototypes related to the Lumera and Merkas demigods, including their actions, effects, and skill trees. Updated athletic sprint and second wind spells, and refactored portal_to_city spell to use modular effects. Also added a debug category to the admin skill reset verb.

* fuck...

* done

* some refactor hell

* light + lurker process

* meta process

* mobs process

* vampire

* finish

* no clientside

* Update water_creation.yml

* fixes

* Update ice_ghost.yml

* а

* viator review

* fix lurker

---------

Co-authored-by: keronshb <54602815+keronshb@users.noreply.github.com>
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-09-17 22:13:10 +03:00
CrystallEdge Server
c1a13c6757 Automatic changelog update 2025-09-17 17:52:56 +03:00
SenorJaba
a370bc19b0 Guild berets and signs (#1786)
* Guild berets and signs

* Naming fix

* Small fix

* Russ
2025-09-17 17:51:51 +03:00
github-actions[bot]
66608b2388 @SenorJaba has signed the CLA in crystallpunk-14/crystall-punk-14#1786 2025-09-17 14:05:03 +00:00
CrystallEdge Server
53208457b0 Automatic changelog update 2025-09-17 13:59:17 +03:00
TheKittehJesus
94fc883ce7 Human tone elf skin fix (#1787)
* Patch saving for human skin tone elves

* Formatting clean up
2025-09-17 13:58:12 +03:00
TheKittehJesus
c99dee4928 Fix staff wideswing direction (#1788) 2025-09-17 09:45:46 +03:00
CrystallEdge Server
17302c4dcd Automatic changelog update 2025-09-16 18:12:52 +03:00
Viator-MV
565d8eb0fe passive heal (#1769) 2025-09-16 18:11:46 +03:00
Ed
366c1668e3 Merge branch 'master' of https://github.com/crystallpunk-14/crystall-punk-14 2025-09-16 14:49:07 +03:00
Ed
7014774e67 offset eng playtime +2 hour 2025-09-16 14:48:20 +03:00
Red
5377dd6926 fix skin coloring (#1781) 2025-09-16 14:39:46 +03:00
CrystallEdge Server
5b912f1ece Automatic changelog update 2025-09-15 22:31:59 +03:00
Red
54e7ec8530 DayLight tweaks (#1780)
* Update SunShadowCycleComponent.cs

* roundstart day
2025-09-15 22:30:53 +03:00
CrystallEdge Server
4a73ff41a3 Automatic changelog update 2025-09-15 19:02:18 +03:00
Nim
3630ac156a Bone hound (#1718)
* bone hound

* fix

* fix2

* fix3

* fix4
2025-09-15 19:01:13 +03:00
CrystallEdge Server
03159992b9 Automatic changelog update 2025-09-15 17:46:47 +03:00
Kit
d0322972ad Merge pull request #1777 from KittyCat432/Deconstruction
Various changes again
2025-09-15 17:45:42 +03:00
Red
ac07ecf199 Upstream sync (#1779)
* Half a commit

* requested changes

* variable alias

* Combat box now huge. Reorganize order of abstract, parent, id, and name. Replaced "type: Food" with "type: Edible".

* Removed redundant edible components.

* Removed crazy burger from happyhonk fill table.

* Updated Aseprite Tools (#39358)

Modified aesprite tools

* Amber Station - Added Late Join and Pressure Update (#39943)

Added relief valve to amber

* Marathon - Pressure Update (#39955)

* Pressure update for marathon

* Fixed an issue

* Automatic changelog update

* Automatic changelog update

* Box Station - Pressure Update (#39954)

* Modified the burn chamber

* Fixed a couple things

* Automatic changelog update

* Bagel Station - Pressure Update (#39945)

redid the whole atmos

* Automatic changelog update

* Remove a default Cyborg name (#39948)

* 1984 clanker

* Fix prototype

* Stop Sentience Event targeting Zombified Creatures (#39950)

* Strip Target From Zed

* Update RandomSentienceRule.cs

* Update RandomSentienceRule.cs

* Update RandomSentienceRule.cs

* Update RandomSentienceRule.cs

* Update RandomSentienceRule.cs

* Automatic changelog update

* Sentry turrets - Part 7: Electronics and construction graphs (#35236)

* Initial commit

* Fixing merge conflict

* Updated for deployment

* Whitespace fixes

* Linter fixes

* Test fail fix

* Fixed test failure

* Add separate command circuitboards

* Addressed review comments

* Small Status Effect Cleanup (#39944)

Heroic

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>

* Add SnoutCover appearance layer (#39949)

* init

* cover

* Fixed changelog error (#39971)

* Don't network ZombifyOnDeathComponent and ZombieImmuneComponent (#39963)

no networking

* [STAGING] 1984 Derelict Syndicate Borgs (#39978)

1984

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>

* Fix forensic scanner leaking fingerprints onto the scanning object if you use the verb (#39964)

Update ForensicScannerSystem.cs

* Automatic changelog update

* Scurrets - can wear pet bags, mail bags and spears (#38774)

* Scurrets - can wear pet bags, mail bags and spears

* a

* Resolve PR comments

* Automatic changelog update

* Messy drinker immunity and cleanup (#39989)

init

* SharedKitchenSpikeSystem bugfixes (#39959)

* Fixes

* Update

* Update

* Stop derelict borgs from duplicating their ghost roles. (#39992)

Add reregister to derelict borgs

* Automatic changelog update

* Clown bags squeak when inserting items (#39931)

squeak!

Co-authored-by: iaada <iaada@users.noreply.github.com>

* Automatic changelog update

* Bagel AI Turrets + Camera Coverage (#39968)

* Automatic changelog update

* Marathon AI Turrets + Camera Coverage (#39969)

* Automatic changelog update

* Nullable messydrinker tag (#40002)

init

* Update Credits (#40005)

Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>

* Removed unused asset from devmap (#39974)

* Migrate all mechs to PartAssembly and remove legacy MechAssemblySystem (#39027)

* Removed the old MechAssembly system and component.
Converted all mechs to use the unified PartAssembly system.
Removed dismantling mechs during assembly logic to simplify the code.

* Delete Chassis via migration

* Automatic changelog update

* improve spawnpoint error logging (#40021)

* TriggerOnMeleeHit and more (#39826)

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

* Fix docstring typo starts -> stops (#40031)

* set slot priority to 4

* Automatic changelog update

* Predict InjectorSystem (#39976)

* predict injectors

* hide verbs if no options

* Automatic changelog update

* Fix incorrect bullet & cartridge names (#39993)

* Fix conflicting names

* zero zeroes

* Texture Scaling for clothing (#39714)

scale

* Lizard Tails Can Be Hidden By Clothing (#40026)

Taken from @TiniestShark's PR.

* Fixed Corpsman Name (finally) (#40055)

Fixed Corpsman name (finally)

Signed-off-by: Nox38 <nebulousnox38@gmail.com>

* no utensil

* Event Shuttle Fixes (#40059)

* Automatic changelog update

* Update 4 visitor shuttles & nanomed inventories (#39718)

* Automatic changelog update

* Fix radiation vomit for dead mobs (#40020)

* Fix Radiation Vomit for dead mobs

* Update Content.Server/Destructible/Thresholds/Behaviors/VomitBehavior.cs

Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com>

* Fix Radiation Vomit for dead mobs

* Fix Radiation Vomit system for dead mobs

* refactors

* Adding mobStateSystem for validation

* refactor

* Unrelated cleanup

---------

Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com>
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>

* Automatic changelog update

* Remove empty `drink-component.ftl` file (#40064)

Probably had to be removed in #39031

* Add myself to Codeowners for Stunnable and Nutrition (#40061)

* I probably should do this

* Can't cut it up that easy cause of the events. Guess I'm just subscribed to all nutrition stuff ;_;

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>

* prevent double-mapping lights (#39939)

works?

* Adds a secHUD to the noir-tech glasses (#39859)

* Adds a SecHUD to the noir-tech glasses

* Adds a Security HUD to the noir-tech glasses

* Revert "Adds a Security HUD to the noir-tech glasses"

This reverts commit 68d7b9b6e190618e44a94df71cf311e056892392.

* Adds a security HUD to the noir-tech glasses

* Automatic changelog update

* Fix benchmark (#40039)

* Make git hooks work in git worktrees (#40038)

Make hooks work in worktrees and cleanup hooks

* Localize, cleanup, and LEC round control commands. (#38812)

* commit-progress

* commit

* Add CVar for disabling loadout item role timers (#36775)

* Don't show item dropping popup when wielding. (#40032)

silence

* Trimmed Sentience Targets from Corgis Smile and Cockroaches (#39810)

* Update animals.yml

* Update pets.yml

* Removed Sentience Target from corgi

* Update random-sentience.ftl

* Obliterated Scurret from .ftl

* Automatic changelog update

* Updated inspector description to reflect functionality (#40072)

update inspector desc.

Co-authored-by: Quasr <~182430031+quasr-9@users.noreply.github.com>

* Helm + Mask Displacements for Reptilians (and some unique helmets) (#39351)

* Liz displacements + unique helms

* small fix

* Couple of small fixes

* Reptilian tail sprites for hard/softsuits (#35842)

* Reptilian helmets and tail sprites for hard/softsuits (and a few others)!

* Removed the new fins from helmets.

* don't know how the caustic resistances got doubled? oops

* Update pirate helm sprites for lizards

* fixin errors

* ugh

* softsuit updates

* okay maybe this works now

* Corgi fixes. Boy it sure would be nice to not have to do this again.

* please work

* Helmets removed, will be done in another PR.

* missed a few.

* evil punctuation killed

* scream

* Re-parented clothingvisuals.

* Suits modified with tails

* oops chaplain tail was misnamed

* a

* one more time

* Update Resources/Prototypes/Entities/Clothing/OuterClothing/suits.yml

* Update Resources/Prototypes/Entities/Clothing/OuterClothing/suits.yml

* Update Resources/Prototypes/Entities/Clothing/OuterClothing/suits.yml

* Update Resources/Prototypes/Entities/Clothing/OuterClothing/suits.yml

* Update Resources/Prototypes/Entities/Clothing/OuterClothing/bio.yml

* Update Resources/Prototypes/Entities/Clothing/OuterClothing/base_clothingouter.yml

* Update Resources/Prototypes/Entities/Clothing/OuterClothing/base_clothingouter.yml

* oops chaplain lost their suit

* Small fix

* roll back unrelated fix

---------

Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>

* Automatic changelog update

* Some more vox customization (#39083)

* Added docked and spiked tails, added talisman for vox

* Tail Talisman ftl

* adjusts talisman to be its own tail to avoid having to deal with other tails at all

* vox tail stuff

* Added amputated tail (courtesy of flareguy) and split tail

* adds TODO regarding marking conditionals

* rsi run check pls stop screaming at me

* Shelving the talisman for later, keeping the sprites around

* Add RSI credits

* Remove unnecessary files

* renamed amputated to vestigial

* Automatic changelog update

* Add inhand sprites to Cartons and Cups, give new inhands to Cans. (#39814)

* Added inhand sprites to cans, cartons and cups.

* small tweak

* Burger Inhands (#39894)

burger is in your hands

* Adjust bureaucratic error to prevent only passenger being available (#40001)

Fire all the interns

* Cleanup AddPolymorphActionCommand and LEC conversion. (#38853)

commit

* Automatic changelog update

* Automatic changelog update

* Use a fixed amount of decimal points in gas analyzer window (#40081)

This prevents the volume and temperature labels from changing width when the value lands on integer values, making the text easier to read.

Co-authored-by: opl <4833621+opl@users.noreply.github.com>

* Berry Delight recipe edit (#40085)

berry delight change

* Automatic changelog update

* Don't enqueue construction events without validation (#39869)

* Remove unused combat-equipped-helmet (#40095)

Remove unused combat-equipped-helmet and combat-equipped-helmet-dog

* Atmos Delta-Pressure Window Shattering (#39238)

This PR adds delta-pressure damage. In short, airtight structures can now take damage proportional to the difference in pressures between the sides of the structure.

* Automatic changelog update

* Give inflatable walls the DeltaPressure component (#40098)

give inflatable walls the deltapressure component

* Automatic changelog update

* Add heat distortion shader for hot gases (#39107)

* Automatic changelog update

* Fix QM Golden Knuckledusters not being a objective (#40096)

test

* Automatic changelog update

* Telepad Label Fix (#39975)

Fixed telapad order labels showing wrong account

* Automatic changelog update

* Fool players with decoy presets (#40053)

* added secret gamepresets

* cut down on alias

* remove all secret presets

* change the command to allow for a secret argument

* update test

* moved the secret argument after the number of rounds argument

* added completions

* localization and use of CompletionHelper.Booleans

* command now has a option for a decoy preset

* fixed decoy message in the end

* ops

* clean up

* hint 2

* improve localization

---------

Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>

* Automatic changelog update

* Fix: Ability to open AHelp in the lobby by pressing the hotkey (#39525)

* Fix

* Update

* Add 2.25 second delay to scurret petting (#40097)

Add 2.25 second delay to scurret petting rate

* Automatic changelog update

* Stop packaging `Resources/ServerInfo` and `Resources/Changelog` on the server (#39897)

* Stop packaging `Resources/ServerInfo`

This is only used by the client, it is unneccery to pack into the server. Plus it keeps getting people to think that just editing the server resources will modify the guidebook even though that needs a custom dev enviroment.

* Add credits too

* Package win-arm64 and osx-arm64 servers (#40113)

* Improve Gas Yaml Serialization (#40070)

* Make yaml gas serialization cleaner

* fix exception

* fix validation code

* rudimentary test & permissive loading

* change it a bit

* Test fixes and adjustments

* Organize JobIconPrototype yml (#39774)

grouped

Co-authored-by: iaada <iaada@users.noreply.github.com>

* Dynamic anomaly scanner texture (#37585)

* Automatic changelog update

* Reuse lathe queue instead of redrawing (#39886)

* init

* init

* PUSH!!!

* //

* Me when the when the me when the

* review

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>

* Automatic changelog update

* Skip MapImages folder in packaging (#38928)

* Can't crawl over counters (#40099)

Counters and Tables separation

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>

* Automatic changelog update

* Fixes Theobromine missing from Iced Coffee (#40063)

adding ice to coffee no longer removes its theobromine

* Automatic changelog update

* Fix xenoborg action icons (#40118)

commit

Co-authored-by: iaada <iaada@users.noreply.github.com>

* Fixed a error in the "Adventures of Ian and Renault" books (#39932)

Fixed a publication error in the "Adventures of Ian and Renault" book series.

The editor of these books have been taken out back and shot.

* Fix DeltaPressure damage not capping beyond a certain pressure (#40125)

* Automatic changelog update

* Give shutters the DeltaPressure component (#40126)

* Automatic changelog update

* Alerts Cleanup and API (#39544)

* alert cleanup and API

* I expect update loops to be at the top.

* Address review

* Address review x 2

* Merg my PR

* Fix

* Update Content.Shared/Alert/AlertsSystem.cs

webedit

Co-authored-by: Perry Fraser <perryprog@users.noreply.github.com>

* FIX THAT TEST FAIL!!!!

* Me when I forget to actually give you alerts

* Hammedborgar

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: Perry Fraser <perryprog@users.noreply.github.com>

* fix a typo in the comments for game.ipintel_exempt_playtime (#40129)

* Vulpkanin Species (#37539)

* [April Fools] Elf species  (#35353)

elf

* [April Fools] Juice that makes me go insane (#35370)

* kill me

* MAKE IT STOP

* is it finally over?

* web edit

* webedit

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* webedit

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* webedit

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* webedit

* WEBEDIT PLEASE

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* vulpkanin species

the ultimate april fools joke

Co-Authored-By: Kr8art <188977876+kr8art@users.noreply.github.com>

* cant be bothered

* make build and test debug run on the april fools branch (#35396)

welp

* Revert "[April Fools] Juice that makes me go insane (#35370)"

This reverts commit fcbdcf8452cb1247733242aa44ea5b9f38dfa3d2.

* Revert "[April Fools] Elf species  (#35353)"

This reverts commit 704293a051033026bfca0c9e161d97796bc0cb81.

* nuh uh

* localized names

* fix survival box

* abilities (Mostly don't work yet, pending PRs)

* wagging loc

* slight heat tweaks

* stuff

* Update Vulpkanin.xml

* vulp screams + quieter howl

* MessyDrinker by Orks

* MessyDrinker guidebook

* animal bones

* fix wagging

* missed

* no loc

* Lower damage, remove butchering

* Revert "animal bones"

This reverts commit 3457cde13e57336678f62a20bf57fb315844c240.

* leap

* collision

* leap desc update

* leap guidebook

* fix leap

* microbalance

* comment

* microbalancing pt 2

* microbalancing pt 3

* test fail fix (i hope)

* fix organs

* no leaping on the ground

* remove SolutionScanner + ling work

* fix clone

* add stuff back

* microbalancing pt yes

* male vulp names

mainly slavic names with some similiar sounding ones mixed in

* Revert "male vulp names"

This reverts commit 1666f81821bfea241262627160a594dd1b0ce050.

* male vulps names pr 2 (slavic, dog names, few puns)

Slavic names, with mixed in typical dog names and some puns

* female names (mainly slavic, other stuff mixed in)

* oops

* Update vulpkanin.yml

* Vulps WIP Work (#1)

* Modified aesprite tools

* WIP

* wipperoni

* We are done here, wawa

* Revert "Merge branch 'aseprite-tools' into hannah/vulps-wip"

This reverts commit d258645df60a94d0217fecd85a38545f2b951cde, reversing
changes made to 0ae39e862152ef6548533eba0547709594c55e90.

* Resolve merge issue

* Fix Urist McVulp forgetting his fursuit

---------

Co-authored-by: Southbridge-fur <southbridgefur@gmail.com>

* re-add ears and husk overlay

* revert adding ears to vox

* Crest Markings

* Fade Markings

* Sharp Markings

* microbalance + comments

* censor character nudity option compliance

* Ear Markings

* 1984 wagging animations

* Tail Markings

* tail wag icon

* annoyance

* guidebook

* slight temperature tweak

* seperate out snouts, port over 2 markings for testing

* fix

* seperate snout file

* Snout/Head Markings

* cleanup + locale for ears

* Head and Snout loc

* gray eyes

* crest and husk cleanup

* Tail and Chest loc

* Legs and Arms loc

* most important commit

* mime vulps like rations too

* missing loc

* microbalance

* not needed

* goatee

* white eyes

* harmony feedback tail fixes

* personal changes and fixes after playing

* fix fluffy tail clipping

* Sprite fixes, displacement fixes (#2)

* Tune head displacement

* Vulps Sprite Tuning

* helmets

* detail

* Urist

* wag

* comban't

* fix attributions

* remove vulp biosuits

* fix vulp beards

* fixed up ears

* comment note

* further ear tweaks

* engi helmets

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
Co-authored-by: Milon <milonpl.git@proton.me>
Co-authored-by: Kr8art <188977876+kr8art@users.noreply.github.com>
Co-authored-by: Hannah Giovanna Dawson <karakkaraz@gmail.com>
Co-authored-by: Southbridge-fur <southbridgefur@gmail.com>

* Automatic changelog update

* Rejig LogStringHandler (#30706)

* Rejig LogStringHandler

* Fix session logs

* Fix properly

* comments

* IAsType support

* Fix mind logs

* Fix mind logging AGAIN

---------

Co-authored-by: PJB3005 <pieterjan.briers+git@gmail.com>

* Expedite gender reassignment (#36894)

* Automatic changelog update

* Adjusted minimumPlayers for Wizard midround events. (#38424)

* Adjusted minimumPlayers for Ninja and Wizard midround events

Wizard from 10->20
Ninja from 30->20
20 players matches Dragon and Loneop.

* Wizard midround minimum players from 20 to 30

* Update Resources/Prototypes/GameRules/events.yml

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

---------

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

* Automatic changelog update

* Add water cooler interaction test (#39612)

* Add altInteract option to interaction test helper methods

* Add water cooler interaction test

* Oops, that's not a NetEntity

* Is.Not.Empty

* SPlayer

* Assert.Multiple

* Document parameters

* Add a space in osx-arm64 to fix arm64 osx builds (#40137)

* Fix admin logs going to admin chat (#40141)

Oops

* Drink outta da toiler (#40133)

* totally unrelated to any other recent additions

* dispare

* enum

* Automatic changelog update

* update for glue/lube tube inhand

* Disable vulpkanin human hair (#40144)

init

* Fix bad loop in LogStringHandler.AddFormat (#40147)

* Fix exo burn chamber (#40152)

* Automatic changelog update

* Fix resin windows inheriting wrong dP values (#40151)

Fix resin windows inheriting from regular windows

* Automatic changelog update

* [HOTFIX] Fix Burgers (#39773)

* Borgar

* Review

* Predicted queuedel

* Predict

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>

* [Hotfix] Wizard Rod doesn't gib the wizard. (#40041)

* Title

* Tired

* That shit did nothing goddamn

* Fix for real

* Use og code

* Hmmm borgaer

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>

* Revert antique laser and appraisal tool sizes (#40158)

* init

* appraisal antique pistol sounds kinda cool tho ngl

* actually fuck items

* Automatic changelog update

* Fixed disconnected grid on box station (#40161)

Fixed tesla area on box

* Automatic changelog update

* Add some alternate jumpsuit designs which can be toggled (#31213)

* inital

* testfa

* New Sec sprite

* Update atmos

* Update meta.json

* Update meta.json

* 0

* Update meta.json

* Automatic changelog update

* Update Credits (#40187)

Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>

* Atmospherics Delta-Pressure YAML refactor (#40174)

* fix: Atmos dP Window Inheritance (#40192)

* Restore transfer amounts on regular syringes to 5, 10, 15 (#40197)

add transferamounts to regular syringes

* Automatic changelog update

* Allow Vulps With Human Hair To Be Shaved Without Clyde Joining The Circus (#40171)

* Revert "Disable vulpkanin human hair (#40144)"

This reverts commit d02aa1a4e2.

* You can once again shave your pet Vulp

* I can see the ass, I'm safe

* Rectified docstring as I am a good person

* I am doing this instead of playing Silksong please help

* Fix forgetting to re-add shader overriding

* Automatic changelog update

* Bug fix for APCPowerReceiverBattery (#40188)

Initial commit

* Atmos dP Guidebook Entry (#40194)

* Add Atmos dP guidebook

* Update Resources/ServerInfo/Guidebook/Engineering/DeltaPressure.xml

---------

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

* Automatic changelog update

* Being grappled with a grapple gun allows you to cross chasms (#39983)

* Being grappled with a grapple gun allows you to cross chasms

Closes #31698

* Update Content.Shared/Weapons/Misc/SharedGrapplingGunSystem.cs

* AAAAAAAAAAAAAAAAA

---------

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

* Automatic changelog update

* Lets diona sap trigger artifact blood nodes

* DoAfter support for Actions (#38253)

* Adds Action DoAfter Events

* Adds DoAfterArgs fields to DoAfterComp

* Adds a base doafter action

* Adds Attempt action doafter logic

* Adds doafter logic to actions

* Changes Action Attempt Doafter and action doafter to take in Performer and the original use delay. Use delay now triggers when a repeated action  is cancelled.

* Readds the TryPerformAction method and readds request perform action into the action doafter events

* Adds a force skip to DoAfter Cancel so we can skip the complete check

* Adds a Delay Reduction field to the comp and to the comp state

* Fixes doafter mispredict, changes doafter comp check to a guard clause, sets delay reduction if it exists.

* Cancels ActionDoAfter if charges is 0

* Serializes Attempt Frequency

* Comment for rework

* Changes todo into a comment

* Moves doafterargs to doafterargscomp

* Adds DoAfterArgs comp to BaseDoAfterAction

* Removes unused trycomp with actionDoAfter

* Replaces DoAfterRepateUseDelay const with timespan.zero

* Removes unused usings

* Makes SharedActionsSystem partial, adds DoAfter partial class to ActionSystem, moves ActionDoAfter logic to the SharedActionsSystem.DoAfter class

* Cleanup and prediction

* Renames OnActionDoAfterAttempt to OnActionDoAfter, moves both to Shared Action DoAfter

* Removes ActionAttemptDoAfterEvent and moves its summaries to ActionDoAfterEvent. Converts OnActionDoAfterAttempt into TryStartActionDoAfter

* Removes Extra check for charges and actiondoafters

* Sloptimization

* Cleanup

* Cleanup

* Adds param descs

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>

* Automatic changelog update

* Derelict Mediborgs can Scan Solutions and see Mob Health (#40206)

Add mediborg unique components to derelict mediborg

* Automatic changelog update

* Reworded the Galoshes description to be more clear about what they actually do. (#40200)

Reworded the Galoshes description to be more clear about what they do

* Automatic changelog update

* Fix usages of TryIndex() (#39124)

* Fix usages of TryIndex()

Most usages of TryIndex() were using it incorrectly. Checking whether prototype IDs specified in prototypes actually existed before using them. This is not appropriate as it's just hiding bugs that should be getting caught by the YAML linter and other tools. (#39115)

This then resulted in TryIndex() getting modified to log errors (94f98073b0), which is incorrect as it causes false-positive errors in proper uses of the API: external data validation. (#39098)

This commit goes through and checks every call site of TryIndex() to see whether they were correct. Most call sites were replaced with the new Resolve(), which is suitable for these "defensive programming" use cases.

Fixes #39115

Breaking change: while doing this I noticed IdCardComponent and related systems were erroneously using ProtoId<AccessLevelPrototype> for job prototypes. This has been corrected.

* fix tests

---------

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

* Cleanup: Remove unnecessary ``IEntityManager`` reference from the ``EmotesUIController`` (#40243)

Cleanup

* Make location in crew monitoring console localizable (#40247)

* Make Foldable Clothing Hidden Layers "reset" Hidden Layers when un/Folding (#40251)

foldable clothing hidden layers fix

* feat: SimpleRadial menu support for sprite-view and more extensibility (#39223)

* Decal spawners spawn on a higher layer (#39956)

changed decal spawn layer

* Fix RGB staff not working (#40258)

Add missing `TargetAction` to `ActionRgbLight`

This fixes the RGB staff not working.

* Automatic changelog update

* Make "Confirm" in VerbMenuUIController localizable (#40248)

* Add support for contraband text to the reagent guidebook (#37113)

* Add contraband text to reagent guidebook

* Add reagent for examining

* Update Content.Client/Guidebook/Controls/GuideReagentEmbed.xaml.cs

---------

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

* Fix emergency evac shuttle console early launch mispredict (#39751)

* Fix

* Yes

* Mess

* Update

* Like that?

* SpawnEntityTableOnTrigger (#39909)

* commit

* comment

* empty

* better xform

---------

Co-authored-by: iaada <iaada@users.noreply.github.com>

* PopupOnTrigger (#39913)

* commit

* comment

* changes

* Update Content.Shared/Trigger/Systems/PopupOnTriggerSystem.cs

---------

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

* [HOTFIX] Fix Loadout Validations (#40189)

p0 bugfix

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>

* Do after checks for being inside container (#39880)

fix

* Automatic changelog update

* Ignore non-content commands in AllCommandsHavePermissions (#39336)

Causing a test failure every time a Toolshed command gets added to engine is ridiculous.

* Allow to run `mappingclientsidesetup` and `showsubfloor` with +MAPPING permissions (#34455)

Allow +MAPPING admins to call mappingclientsidesetup and showsubfloor

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>

* "idk" no longer shrugs, instead sanitizing to "I don't know" (#39024)

* idk no longer shrugs

* accidentally had this in here!

* this was accidentally in here too!

* fucked up the removal

* fucked it up again this should HOPEFULLY be the last one

turns out it's hard to revert the edit of a file that's just numbers and spaces who woulda thunk?

* Restore SpaceStation14.sln to master

* Restore development.toml

---------

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

* Automatic changelog update

* Improve Do Not Map test to whitelist specific prototypes per map and whitelist entire directories (#36117)

* Enable whitelisting specific DNM prototypes per map

* Enable whitelisting directories

* Rename fields

* Use a HashSet instead of an array

* Add check for unused whitelist entries

* Remove whitelisting for meta (warden's rubber stamp was removed)

* Add glob support courtesy of @IProduceWidgets

* Update xmldoc

* Make Butterflies zombie immune (#40265)

butterfly zombie no longer

* Automatic changelog update

* Cardboard Box Weightless Fix (#40260)

Box is no longer space faring

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>

* Automatic changelog update

* Add admin shuttles (#32139)

* dis da shuttles tho

* power checking

* rerun tests

* purge invalids

* attributions

* Update shuttle save files for new serialization.

* get regexed nerd

* fix shuttle yml guh

* Kill actions

* Automatic changelog update

* Exo - Lighting update & more (#40199)

* Automatic changelog update

* Laser rifle is contraband again (#40253)

* Fixed contraband tag

* practice isnt contraband

* Added base

* Removal

* Automatic changelog update

* Fix darts inhand sprites (#40207)

fix

Co-authored-by: GeneralGaws <limonmessi@mail.ru>

* Fix APC breaker toggle button prediction by setting ToggleMode True (#40273)

* Use ToggleMode for toggle button

* Actually this bit doesn't require changing apparently

* fix chasmsystem resolve error (#40281)

* No take; Only throw. (#40143)

* commit atrocities

* hail satan

* Channel Pavlovian horror

* pet kitty cat

* Taint universe forever

* Assault sensibilities

* sully existence

* tarnish morality

* The degunnening

* encratening

* Update toys.yml

* add few pixels to fix vulp inhands

---------

Co-authored-by: ScarKy0 <scarky0@onet.eu>

* Automatic changelog update

* Clip the WindowTitle of FancyWindows, so close buttons don't get hidden (#40272)

ClipText of FancyWindow title, so close buttons don't get hidden

* Automatic changelog update

* They're milk jugs, not milk cartons!

* Fix Linter errors (#40283)

Fix yoml

* Remove unused BulletTennis (#40285)

init

* Automatic changelog update

* Make vending machine restocks predicted (and its sound not spammable) (#38609)

* feat: make vending machine restocks predicted

* refactor: VendingMachineRestockComponent cleanup

* refactor: minor simplification

* revert: refactor: minor simplification; load bearing IsFirstTimePredicted

lol second guessed myself

* chore: unneeded VendingMachineSystem dep

* Update Content.Shared/VendingMachines/VendingMachineComponent.cs

---------

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

* Added SmartFridge circuitboards (#39879)

* Automatic changelog update

* storage and inventory toolshed commands (#39046)

* First commit

* CommandImplementation on singletons is die, a la moony

* Fix duplicated thingy because yes

* Prototypes, bugfixes, refactoring oh my

* Remember to actually stage your ftl changes next time, leaf

* Automatic changelog update

* move all the radio components and system to Shared (#40293)

* move all the radio components and system to Shared.

* duh split impl

* address reviews

* cleanup

---------

Co-authored-by: walksanatora <walkerffo22@gmail.com>

* Clake frag round fix (#40294)

make the frag work

* Fix for can't stop pulling when cuffed (#40233)

* fix

* fix

* spaces added

* Stop microwaving! (#40132)

* Create KillMicrowaveTest.cs

* Update KillMicrowaveTest.cs

* Update Content.IntegrationTests/Tests/Microwave/KillMicrowaveTest.cs

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

* Update Content.IntegrationTests/Tests/Microwave/KillMicrowaveTest.cs

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

* Update Content.IntegrationTests/Tests/Microwave/KillMicrowaveTest.cs

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

* documentation

* Apply suggestions from code review

---------

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

* De-enumify humanoid species skin colours (#39175)

* De-enumify humanoid species skin colours

* Change index to resolve

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>

* Revert "Can't crawl over counters (#40099)"

This reverts commit 01a7fc66f0.

@Princess-Cheeseballs

This is being reverted per maintainer vote for the release cycle, check out the meeting video here https://youtu.be/N5-UYCLha2I?t=872

* Revert "Add heat distortion shader for hot gases" (#40352)

* Vulpkanin Color Clamping (#40348)

* [STAGING/HOTFIX] Butcher entities in containers. (#40299)

* Kitchen spike and sharp system

* Use transform and parent

* A

* Works

* A

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>

* adapt codebase

* fix injectors

* Update tools.yml

* Update tools.yml

* Update tools.yml

---------

Signed-off-by: Nox38 <nebulousnox38@gmail.com>
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: iaada <iaada@users.noreply.github.com>
Co-authored-by: 5tickman <5tick@comcast.net>
Co-authored-by: Southbridge <7013162+southbridge-fur@users.noreply.github.com>
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
Co-authored-by: Minemoder5000 <minemoder50000@gmail.com>
Co-authored-by: FungiFellow <151778459+FungiFellow@users.noreply.github.com>
Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>
Co-authored-by: Princess Cheeseballs <66055347+Princess-Cheeseballs@users.noreply.github.com>
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
Co-authored-by: ToastEnjoyer <masondoesgamingyes@gmail.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: Mr. 27 <45323883+Dutch-VanDerLinde@users.noreply.github.com>
Co-authored-by: Hannah Giovanna Dawson <karakkaraz@gmail.com>
Co-authored-by: Winkarst-cpu <74284083+Winkarst-cpu@users.noreply.github.com>
Co-authored-by: Kowlin <10947836+Kowlin@users.noreply.github.com>
Co-authored-by: āda <ss.adasts@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
Co-authored-by: AndrewFenriz <78079974+AndrewFenriz@users.noreply.github.com>
Co-authored-by: Travis Reid <86178026+Travis-G-Reid@users.noreply.github.com>
Co-authored-by: Quasr <~182430031+quasr-9@users.noreply.github.com>
Co-authored-by: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
Co-authored-by: InsoPL <lukasz.lindert@protonmail.com>
Co-authored-by: Nox <nebulousnox38@gmail.com>
Co-authored-by: IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com>
Co-authored-by: M4rchy-S <89603088+M4rchy-S@users.noreply.github.com>
Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com>
Co-authored-by: MilenVolf <63782763+MilenVolf@users.noreply.github.com>
Co-authored-by: SolidSyn <220547106+SolidSyn@users.noreply.github.com>
Co-authored-by: Partmedia <kevinz5000@gmail.com>
Co-authored-by: War Pigeon <54217755+minus1over12@users.noreply.github.com>
Co-authored-by: Kyle Tyo <36606155+VerinSenpai@users.noreply.github.com>
Co-authored-by: Centronias <me@centronias.com>
Co-authored-by: Quasr <182430031+quasr-9@users.noreply.github.com>
Co-authored-by: Tiniest Shark <head.rebel@yahoo.com>
Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>
Co-authored-by: Mora <46364955+TrixxedHeart@users.noreply.github.com>
Co-authored-by: MissKay1994 <15877268+MissKay1994@users.noreply.github.com>
Co-authored-by: opl- <opl-@users.noreply.github.com>
Co-authored-by: opl <4833621+opl@users.noreply.github.com>
Co-authored-by: breeplayx3 <breeplayx5@gmail.com>
Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
Co-authored-by: VoidMeticulous <voidmeticulous@gmail.com>
Co-authored-by: Quantum-cross <7065792+Quantum-cross@users.noreply.github.com>
Co-authored-by: jkwookee <157201244+jkwookee@users.noreply.github.com>
Co-authored-by: DDDragoni <38265528+DDeegan@users.noreply.github.com>
Co-authored-by: Samuka-C <47865393+Samuka-C@users.noreply.github.com>
Co-authored-by: Myra <vasilis@pikachu.systems>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
Co-authored-by: CawsForConcern <kopczynski.zesty@gmail.com>
Co-authored-by: SpaceLizard <the.justice.league.of.canada@gmail.com>
Co-authored-by: Perry Fraser <perryprog@users.noreply.github.com>
Co-authored-by: Skye <me@skye.vg>
Co-authored-by: Milon <milonpl.git@proton.me>
Co-authored-by: Kr8art <188977876+kr8art@users.noreply.github.com>
Co-authored-by: Southbridge-fur <southbridgefur@gmail.com>
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
Co-authored-by: Matt Idzik <matt.idzik1@gmail.com>
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
Co-authored-by: Crude Oil <124208219+CroilBird@users.noreply.github.com>
Co-authored-by: Hayden <banditoz@protonmail.com>
Co-authored-by: OrbitSystem07 <emilymurray717@gmail.com>
Co-authored-by: keronshb <54602815+keronshb@users.noreply.github.com>
Co-authored-by: Kittygyat <202250949+Kittygyat@users.noreply.github.com>
Co-authored-by: Ser11y <160628372+Ser1-1y@users.noreply.github.com>
Co-authored-by: Fildrance <fildrance@gmail.com>
Co-authored-by: Deerstop <edainturner@gmail.com>
Co-authored-by: Stefano Pigozzi <me@steffo.eu>
Co-authored-by: c4llv07e <igor@c4llv07e.xyz>
Co-authored-by: SweetAplle <151391001+SweetAplle@users.noreply.github.com>
Co-authored-by: imatsoup <93290208+imatsoup@users.noreply.github.com>
Co-authored-by: GeneralGaws <122978178+GeneralGaws@users.noreply.github.com>
Co-authored-by: GeneralGaws <limonmessi@mail.ru>
Co-authored-by: Absotively <jen@jenpollock.ca>
Co-authored-by: ScarKy0 <scarky0@onet.eu>
Co-authored-by: Charlie Morley <cmorley191@gmail.com>
Co-authored-by: SlamBamActionman <slambamactionman@gmail.com>
Co-authored-by: Lillian Industries <47704287+luegamer@users.noreply.github.com>
Co-authored-by: UpAndLeaves <92269094+Alpha-Two@users.noreply.github.com>
Co-authored-by: walksanatora <walkerffo22@gmail.com>
Co-authored-by: ApolloVector <149586366+ApolloVector@users.noreply.github.com>
2025-09-15 17:42:36 +03:00
Ed
9bd4fee694 Update tools.yml 2025-09-15 17:26:14 +03:00
Ed
8ddfba60a7 Update tools.yml 2025-09-15 17:11:37 +03:00
Ed
d3716300f8 Update tools.yml 2025-09-15 17:02:43 +03:00
Ed
d807c83a9c fix injectors 2025-09-15 16:51:58 +03:00
Ed
9425908ef2 adapt codebase 2025-09-15 14:49:58 +03:00
Ed
3409e0f752 Merge remote-tracking branch 'upstream/stable' into ed-15-09-2025-upstream-sync
# Conflicts:
#	.github/CODEOWNERS
#	Content.Client/Overlays/StencilOverlay.cs
#	Content.Server/Chemistry/EntitySystems/InjectorSystem.cs
#	Content.Server/GameTicking/Commands/SetGamePresetCommand.cs
#	Content.Server/Players/PlayTimeTracking/PlayTimeTrackingSystem.cs
#	Content.Shared/Chemistry/EntitySystems/SharedInjectorSystem.cs
#	Content.Shared/Clothing/Components/ClothingComponent.cs
#	Content.Shared/Humanoid/HumanoidCharacterAppearance.cs
#	Content.Shared/Humanoid/SkinColor.cs
#	Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/bowl.yml
2025-09-15 13:50:49 +03:00
Princess Cheeseballs
d8e818283c [STAGING/HOTFIX] Butcher entities in containers. (#40299)
* Kitchen spike and sharp system

* Use transform and parent

* A

* Works

* A

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-09-14 22:41:42 +02:00
ScarKy0
9e204c3023 Vulpkanin Color Clamping (#40348) 2025-09-14 20:55:26 +02:00
slarticodefast
a38c6c1aca Revert "Add heat distortion shader for hot gases" (#40352) 2025-09-14 20:48:24 +02:00
Vasilis The Pikachu
b9ddcc9e9f Revert "Can't crawl over counters (#40099)"
This reverts commit 01a7fc66f0.

@Princess-Cheeseballs

This is being reverted per maintainer vote for the release cycle, check out the meeting video here https://youtu.be/N5-UYCLha2I?t=872
2025-09-14 20:42:51 +02:00
Kit
28308cee08 NLR!!!!! (#1771)
* NLR!!!!!

* remove from RU side
2025-09-14 18:43:28 +03:00
pathetic meowmeow
d9c24b3d10 De-enumify humanoid species skin colours (#39175)
* De-enumify humanoid species skin colours

* Change index to resolve

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-09-13 22:30:17 -07:00
CrystallEdge Server
239bd2aafd Automatic changelog update 2025-09-13 15:23:07 +03:00
Nim
fbef31dfa6 return simple armour (#1770) 2025-09-13 15:22:02 +03:00
CrystallEdge Server
f5bf4457e7 Automatic changelog update 2025-09-12 17:26:58 +03:00
nukkuminen
4d381ac923 Make the magic vision effect better (#1766)
* Make the magic vision effect better

* whoops

* Lowered the intensity of the effect
Added support to remove the effect via settings
2025-09-12 17:25:53 +03:00
CrystallEdge Server
4b619f5d56 Automatic changelog update 2025-09-12 17:25:23 +03:00
Nim
62a9ca1cfc nerf fire trap (#1768) 2025-09-12 17:24:18 +03:00
Red
2820882754 Stop microwaving! (#40132)
* Create KillMicrowaveTest.cs

* Update KillMicrowaveTest.cs

* Update Content.IntegrationTests/Tests/Microwave/KillMicrowaveTest.cs

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

* Update Content.IntegrationTests/Tests/Microwave/KillMicrowaveTest.cs

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

* Update Content.IntegrationTests/Tests/Microwave/KillMicrowaveTest.cs

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

* documentation

* Apply suggestions from code review

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-09-12 12:17:29 +02:00
InsoPL
49fb6fdd6c Fix for can't stop pulling when cuffed (#40233)
* fix

* fix

* spaces added
2025-09-11 20:39:25 -07:00
ApolloVector
8cc1b29ba4 Clake frag round fix (#40294)
make the frag work
2025-09-11 18:36:10 -07:00
slarticodefast
321331e664 move all the radio components and system to Shared (#40293)
* move all the radio components and system to Shared.

* duh split impl

* address reviews

* cleanup

---------

Co-authored-by: walksanatora <walkerffo22@gmail.com>
2025-09-12 01:26:47 +02:00
PJBot
d8c55aef3c Automatic changelog update 2025-09-11 22:08:44 +00:00
UpAndLeaves
1245487c9a storage and inventory toolshed commands (#39046)
* First commit

* CommandImplementation on singletons is die, a la moony

* Fix duplicated thingy because yes

* Prototypes, bugfixes, refactoring oh my

* Remember to actually stage your ftl changes next time, leaf
2025-09-11 15:07:37 -07:00
PJBot
bb970970c9 Automatic changelog update 2025-09-11 20:00:29 +00:00
Lillian Industries
7396d9e54c Added SmartFridge circuitboards (#39879) 2025-09-11 22:59:20 +03:00
Perry Fraser
fbf65b7f74 Make vending machine restocks predicted (and its sound not spammable) (#38609)
* feat: make vending machine restocks predicted

* refactor: VendingMachineRestockComponent cleanup

* refactor: minor simplification

* revert: refactor: minor simplification; load bearing IsFirstTimePredicted

lol second guessed myself

* chore: unneeded VendingMachineSystem dep

* Update Content.Shared/VendingMachines/VendingMachineComponent.cs

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-09-11 20:27:54 +02:00
PJBot
77eca4a570 Automatic changelog update 2025-09-11 16:00:24 +00:00
SlamBamActionman
ff3f0c6997 Reorganize and refactor drinks yml (#39221) 2025-09-11 17:59:11 +02:00
SlamBamActionman
690b4d1edd Merge remote-tracking branch 'upstream-origin/master' into fork/iaada/more-trash 2025-09-11 17:08:39 +02:00
ScarKy0
1f1c71919b Remove unused BulletTennis (#40285)
init
2025-09-11 16:36:39 +02:00
SlamBamActionman
9519eb5f7a Fix Linter errors (#40283)
Fix yoml
2025-09-11 15:17:37 +02:00
SlamBamActionman
b3e06de0e5 They're milk jugs, not milk cartons! 2025-09-11 14:02:05 +02:00
PJBot
b9920cbdcb Automatic changelog update 2025-09-11 11:38:33 +00:00
SlamBamActionman
8a4a6ec7ab Food Item Size Adjustment (#39203) 2025-09-11 13:37:25 +02:00
Charlie Morley
09f17802c2 Clip the WindowTitle of FancyWindows, so close buttons don't get hidden (#40272)
ClipText of FancyWindow title, so close buttons don't get hidden
2025-09-11 13:23:47 +02:00
PJBot
5acc1633cb Automatic changelog update 2025-09-11 10:58:38 +00:00
IProduceWidgets
276e4df749 No take; Only throw. (#40143)
* commit atrocities

* hail satan

* Channel Pavlovian horror

* pet kitty cat

* Taint universe forever

* Assault sensibilities

* sully existence

* tarnish morality

* The degunnening

* encratening

* Update toys.yml

* add few pixels to fix vulp inhands

---------

Co-authored-by: ScarKy0 <scarky0@onet.eu>
2025-09-11 12:57:30 +02:00
slarticodefast
8171589f56 fix chasmsystem resolve error (#40281) 2025-09-11 03:00:55 -07:00
CrystallEdge Server
02835be768 Automatic changelog update 2025-09-11 12:34:09 +03:00
Kit
ab0add0f32 Condense (#1765) 2025-09-11 12:33:03 +03:00
Absotively
164f8a2fad Fix APC breaker toggle button prediction by setting ToggleMode True (#40273)
* Use ToggleMode for toggle button

* Actually this bit doesn't require changing apparently
2025-09-10 21:27:17 -07:00
GeneralGaws
a7eb5dd22b Fix darts inhand sprites (#40207)
fix

Co-authored-by: GeneralGaws <limonmessi@mail.ru>
2025-09-10 23:50:57 -04:00
PJBot
f271790f75 Automatic changelog update 2025-09-11 02:38:17 +00:00
ToastEnjoyer
46f59300ac Laser rifle is contraband again (#40253)
* Fixed contraband tag

* practice isnt contraband

* Added base

* Removal
2025-09-10 19:37:10 -07:00
PJBot
6e88b66735 Automatic changelog update 2025-09-11 01:48:04 +00:00
SlamBamActionman
8f8b307460 Exo - Lighting update & more (#40199) 2025-09-10 18:46:55 -07:00
PJBot
ddc428b946 Automatic changelog update 2025-09-11 01:02:35 +00:00
IProduceWidgets
2882fd289f Add admin shuttles (#32139)
* dis da shuttles tho

* power checking

* rerun tests

* purge invalids

* attributions

* Update shuttle save files for new serialization.

* get regexed nerd

* fix shuttle yml guh

* Kill actions
2025-09-11 03:01:28 +02:00
PJBot
1736b9bb34 Automatic changelog update 2025-09-10 22:15:05 +00:00
Princess Cheeseballs
2601853791 Cardboard Box Weightless Fix (#40260)
Box is no longer space faring

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-09-11 00:13:58 +02:00
PJBot
73499b2a0c Automatic changelog update 2025-09-10 21:50:00 +00:00
imatsoup
35bb5c633c Make Butterflies zombie immune (#40265)
butterfly zombie no longer
2025-09-10 23:48:53 +02:00
CrystallEdge Server
a46a17034d Automatic changelog update 2025-09-11 00:23:27 +03:00
Red
38f1a765d7 Some random tasks (#1763)
* Update venicialis.yml

* Update CP14CurrencySystem.Converter.cs

* fix #1759

* fix #1605

* fix #1604
2025-09-11 00:22:21 +03:00
Tayrtahn
3e2152a59e Improve Do Not Map test to whitelist specific prototypes per map and whitelist entire directories (#36117)
* Enable whitelisting specific DNM prototypes per map

* Enable whitelisting directories

* Rename fields

* Use a HashSet instead of an array

* Add check for unused whitelist entries

* Remove whitelisting for meta (warden's rubber stamp was removed)

* Add glob support courtesy of @IProduceWidgets

* Update xmldoc
2025-09-10 13:26:45 -07:00
PJBot
7b9aee3977 Automatic changelog update 2025-09-10 20:11:06 +00:00
SweetAplle
ff54410d6a "idk" no longer shrugs, instead sanitizing to "I don't know" (#39024)
* idk no longer shrugs

* accidentally had this in here!

* this was accidentally in here too!

* fucked up the removal

* fucked it up again this should HOPEFULLY be the last one

turns out it's hard to revert the edit of a file that's just numbers and spaces who woulda thunk?

* Restore SpaceStation14.sln to master

* Restore development.toml

---------

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
2025-09-10 13:09:58 -07:00
c4llv07e
a495ab908d Allow to run mappingclientsidesetup and showsubfloor with +MAPPING permissions (#34455)
Allow +MAPPING admins to call mappingclientsidesetup and showsubfloor

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-09-10 13:08:48 -07:00
Pieter-Jan Briers
fb35b52da5 Ignore non-content commands in AllCommandsHavePermissions (#39336)
Causing a test failure every time a Toolshed command gets added to engine is ridiculous.
2025-09-10 13:08:16 -07:00
PJBot
3896c5be8e Automatic changelog update 2025-09-10 19:23:32 +00:00
InsoPL
327f217e18 Do after checks for being inside container (#39880)
fix
2025-09-10 12:22:24 -07:00
Errant
1666e302c2 Merge Stable into Master (#40263) 2025-09-10 20:10:49 +02:00
Errant
90662bc6ee Merge branch 'master' into fix-conflict-40263 2025-09-10 19:52:34 +02:00
Princess Cheeseballs
fc36a7a7c8 [HOTFIX] Fix Loadout Validations (#40189)
p0 bugfix

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-09-10 19:31:12 +02:00
āda
b86094eb45 PopupOnTrigger (#39913)
* commit

* comment

* changes

* Update Content.Shared/Trigger/Systems/PopupOnTriggerSystem.cs

---------

Co-authored-by: iaada <iaada@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-09-10 20:01:03 +03:00
āda
f7e3a2f881 SpawnEntityTableOnTrigger (#39909)
* commit

* comment

* empty

* better xform

---------

Co-authored-by: iaada <iaada@users.noreply.github.com>
2025-09-10 19:59:42 +03:00
CrystallEdge Server
1831dcc75b Automatic changelog update 2025-09-10 18:40:28 +03:00
Alexsey Bezyuk
a210244768 Goblins T2 Athletic (#1762) 2025-09-10 18:39:23 +03:00
Winkarst-cpu
ebfcddc62f Fix emergency evac shuttle console early launch mispredict (#39751)
* Fix

* Yes

* Mess

* Update

* Like that?
2025-09-10 15:56:18 +02:00
SlamBamActionman
3da0b0299f Add support for contraband text to the reagent guidebook (#37113)
* Add contraband text to reagent guidebook

* Add reagent for examining

* Update Content.Client/Guidebook/Controls/GuideReagentEmbed.xaml.cs

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-09-10 15:30:53 +02:00
CrystallEdge Server
87aa45bf82 Automatic changelog update 2025-09-10 15:52:21 +03:00
Red
8e18c5e121 Bugfix + Carcat nerf (#1761)
* fix #1758

* nerf carcat

* fix #1747
2025-09-10 15:51:16 +03:00
Ser11y
a5ef016f1e Make "Confirm" in VerbMenuUIController localizable (#40248) 2025-09-10 14:08:08 +02:00
PJBot
7ad2d73605 Automatic changelog update 2025-09-10 11:43:45 +00:00
Stefano Pigozzi
960174acc5 Fix RGB staff not working (#40258)
Add missing `TargetAction` to `ActionRgbLight`

This fixes the RGB staff not working.
2025-09-10 13:42:33 +02:00
Deerstop
a05d466a5e Decal spawners spawn on a higher layer (#39956)
changed decal spawn layer
2025-09-10 11:58:06 +03:00
CrystallEdge Server
81ce27b935 Automatic changelog update 2025-09-10 11:32:49 +03:00
4g10w
e6695858cb Armorattus Valoricus (#1675)
* Rat and armor

Added rat mob and rat armor.
Slightly changed interaction popup system to allow for both picking up
and hugging interaction. This adds an "Interact" item to context menu of
interactable (huggable) objects.
Trying to make it in a way that allows for more pets to be added later.

* Rat ghost role

Rat:
- added ghost role with descriptions and rules
- added hand
Rat armor:
- added crafting recipe

* Ghost role, armor and adjustments

Added:
- Ghost role spawner for rat

Changed:
- AI-controlled rat will now retaliate if attacked
- Rat is now a bit slower
- Playable humanoid races can no longer wear rat armor

Removed:
- Rat's hand because it leads to unwanted interactions
- Rat will no longer stabilize the demiplane, so it will collapse if rat
is the only player-controlled entity left. This is done because without
a hand rat cannot leave the demiplane on it's own

* Armor cost, Rat hunger, Rat ghostrole
Tweaks and Fix
Added:
- Rat's hunger level is now visible when examining it
Changed:
- Rat gets hungry slower than before. When starving it takes less damage and slows
  down by less amount
- Rat ghostrole prototype moved to it's own directory
Fixed:
- Rat armor physical composition now makes sense and costs exactly like
  it's ingredients

* fixing the rat armor composition... again

* Armor and HP tweaks

Changed:
- Lowered protection values given by rat armor to lower the price
- Increased crafting price for rat armor from 2 iron ingots to 6. A lot
of wasted material for such delicate work I suppose.
- Increased rat's HP by 10 to counter armor changes

* Removed interaction
Reverted InteractionPopupSystem and deleted interaction texts for rat

* Updated licenses and authorships of sprites

* fixed license and removed interaction from rat prototype

* Fixed armor looking wrong in rat's dead state

* Removed unnecessary images from rat.rsi

* Removed IronSmelting skill requirment since currently smith is removed

* Rat's size changed from Tiny to Normal to reflect how bigass this rat really is

---------

Co-authored-by: Nim <128169402+Nimfar11@users.noreply.github.com>
2025-09-10 11:31:44 +03:00
Fildrance
35d69e0f33 feat: SimpleRadial menu support for sprite-view and more extensibility (#39223) 2025-09-10 11:11:15 +03:00
Centronias
c7406f65ab Make Foldable Clothing Hidden Layers "reset" Hidden Layers when un/Folding (#40251)
foldable clothing hidden layers fix
2025-09-10 12:20:01 +10:00
CrystallEdge Server
fdbdfd896a Automatic changelog update 2025-09-10 01:33:54 +03:00
Viator-MV
def6b4a372 Venicialis guard-guild upate (#1754)
* guard-guild

* fix1

* guild weaponry and bioms
2025-09-10 01:32:48 +03:00
Ser11y
da210e812b Make location in crew monitoring console localizable (#40247) 2025-09-09 22:11:24 +02:00
Winkarst-cpu
088fa2013d Cleanup: Remove unnecessary `IEntityManager reference from the EmotesUIController` (#40243)
Cleanup
2025-09-09 21:00:41 +02:00
Pieter-Jan Briers
0c97520276 Fix usages of TryIndex() (#39124)
* Fix usages of TryIndex()

Most usages of TryIndex() were using it incorrectly. Checking whether prototype IDs specified in prototypes actually existed before using them. This is not appropriate as it's just hiding bugs that should be getting caught by the YAML linter and other tools. (#39115)

This then resulted in TryIndex() getting modified to log errors (94f98073b0), which is incorrect as it causes false-positive errors in proper uses of the API: external data validation. (#39098)

This commit goes through and checks every call site of TryIndex() to see whether they were correct. Most call sites were replaced with the new Resolve(), which is suitable for these "defensive programming" use cases.

Fixes #39115

Breaking change: while doing this I noticed IdCardComponent and related systems were erroneously using ProtoId<AccessLevelPrototype> for job prototypes. This has been corrected.

* fix tests

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-09-09 18:17:56 +02:00
CrystallEdge Server
f94590e669 Automatic changelog update 2025-09-09 10:45:16 +03:00
Nim
fb18edcedc MessyDrinker (#1756)
Co-authored-by: Red <96445749+TheShuEd@users.noreply.github.com>
2025-09-09 10:44:10 +03:00
PJBot
fca45851cc Automatic changelog update 2025-09-09 02:48:53 +00:00
Kittygyat
cb4bbf3d38 Reworded the Galoshes description to be more clear about what they actually do. (#40200)
Reworded the Galoshes description to be more clear about what they do
2025-09-08 19:47:45 -07:00
PJBot
874160c8f8 Automatic changelog update 2025-09-09 02:45:40 +00:00
Centronias
82b94ec6de Derelict Mediborgs can Scan Solutions and see Mob Health (#40206)
Add mediborg unique components to derelict mediborg
2025-09-08 19:44:31 -07:00
Gaby_Destroyer
3b32847db6 Updated Taskbar Icon (#1755)
Co-authored-by: Gaby_Destroyer <@gabrieljimenezlauret@gmail.com>
2025-09-09 00:59:35 +03:00
CrystallEdge Server
cd962f2305 Automatic changelog update 2025-09-08 17:33:42 +03:00
Nim
5dddaf4033 Merge pull request #1719 from Nimfar11/translate7
Перевод на RU
2025-09-08 17:32:36 +03:00
PJBot
db94ef5a50 Automatic changelog update 2025-09-08 13:58:07 +00:00
SlamBamActionman
905935e6ed Lets diona sap trigger artifact blood nodes (#40211) 2025-09-08 15:56:59 +02:00
Red
90eccf2f9b Merge pull request #1752 from crystallpunk-14/ed-08-09-2025-upstream-sync
Upstream sync
2025-09-08 14:04:48 +03:00
Ed
2d434654ae f 2025-09-08 13:44:20 +03:00
Ed
e941d8afaf s 2025-09-08 13:27:16 +03:00
Ed
5f7600b6a2 Merge remote-tracking branch 'upstream/stable' into ed-08-09-2025-upstream-sync
# Conflicts:
#	.github/CODEOWNERS
#	Content.IntegrationTests/Tests/CargoTest.cs
#	Content.Server/Chat/Systems/ChatSystem.cs
#	Content.Shared/Chat/SharedChatSystem.cs
#	Content.Shared/Lock/LockSystem.cs
#	Content.Shared/StatusEffectNew/StatusEffectSystem.Relay.cs
#	Content.Shared/Storage/Components/EntityStorageComponent.cs
#	Resources/Prototypes/Entities/Mobs/Customization/Markings/human_hair.yml
#	Resources/Prototypes/game_presets.yml
2025-09-08 13:12:50 +03:00
Red
e632b2f341 Upstream stable sync (#1708)
* moth displacement map fixes

* Make VendingMachineInventoryEntry a data definition for post-init savegrid (#38406)

fix: make VendingMachineInventoryEntry a data definition

* Automatic changelog update

* Exo - Major Sec changes, and more! (#39295)

* Automatic changelog update

* Fix variantize command not respecting tile rotation (#39314)

Oopsiedoodle

* Renames slugcat jelly-donuts to scurret jelly-donuts (#39308)

* renames slugcat jelly-donuts to scurret jelly-donuts

* renames slugcat jelly-donuts to scurret jelly-donuts

* renames slugcat jelly-donuts to scurret jelly-donuts

* missing end of file new line

---------

Co-authored-by: Arcane-Waffle <FR_Waffle@proton.me>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Predict EmitterSystem ExamineEvent and GetVerbsEvent (#39318)

* ididathing.exe

* commit

* cleanup

---------

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

* Predict ExamineEvent for CryoPodSystem. (#39322)

commit

* Fix tabletop grids rarely spawning on top of another (#39327)

* fix: fix off-by-one for tabletop map positions

Ulam spirals start at 1, not 0.

* fix: make the ulam spiral a ulam spiral

* Automatic changelog update

* Add test of `StaminaComponent` crit vs animation thresholds (#39249)

Add test of StaminaComponent crit vs animation thresholds

* HumanoidCharacterProfileFix (#39333)

* Automatic changelog update

* Fix StoreTests EventBus usage (#38489)

Fix split off from #37349 to avoid needing to sync the content/engine PRs.

* Don't purge note buffer when starting/switching MIDI songs (#39335)

Stop stuck notes on remote when changing MIDI song

* Berry Delight (#38881)

* Berry delight

* Uncook the YAML

* Move stuff in meal_recipes

* BERRY DELIGHT IS INEVITABLE

* Automatic changelog update

* Fix horizontal space men in replays (#39338)

* Fix horizontal space men in replays

Visualizer should not bail if data unavailable.

* Update Content.Client/Rotation/RotationVisualizerSystem.cs

---------

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

* Fix ActionsSystem.IsCooldownActive always returning false if curTime is null (#39329)

* Make dirt non-compressible (#39220)

This sets the new rsic: false flag in dirt.rsi. One of the interior PNGs is directly accessed by a tile definition, which would otherwise cause a game startup failure with the new packaging improvements: c4dff678a9

* Predict anomaly synchronizer (#39321)

* predict anomaly synchronizer

* pvs

* lambda

* Update Resources/Locale/en-US/anomaly/anomaly.ftl

---------

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

* parrotMemory is onGetVerbs now in shared (#39341)

* parrotMemory is onGetVerbs now in shared

* code review

* code review popup on client rename parrotMemoryComponent

* code rev create client system

* forgot usings

* is server now

* Fix rotate verbs not being predicted (#38165)

* Fix rotate verbs not being predicted

* fixes

---------

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

* Automatic changelog update

* Update Credits (#39343)

Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>

* Advanced Clowning Module (#35797)

* pAIs can now accept keys, but can't talk in said channels

* added dummy module

* added adv clown module alongside projector

* holopeel & projector sprite added, it's destroyable too

* added experimental pie cannon

* exp pie thrower throws pies, added tool icon, added bananium horn

* removed the weird pAI changes, my bad!

* okay NOW the pAI stuff is all gone

* added icon, recipe, renamed tech for unlocking

* removed bananium horn

* Added in-hand sprites, credited to TiniestShark. Changed holopeel projector description to let the user know it recharges over time.

* change bagel genpop biocube fabricator into biogenerator (#39313)

* Hardsuit helmet text fix + CBurn Vox Fix (#39345)

* text fix and vox helm fix

* oop one line

* Localize Refund Button (#39346)

* Localize Refund Button

* Requested changes

* Make wallmount screen, telescreen, and signal timer destructible (#39340)

* make wallmount screen destructible

* louder

* fix indent

* fix indent

* Trigger Refactor (#39034)

* Xenoborgs part 4 (#36935)

Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
Co-authored-by: Quantum-cross <7065792+Quantum-cross@users.noreply.github.com>
Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
Co-authored-by: Southbridge <7013162+southbridge-fur@users.noreply.github.com>
Co-authored-by: WarPigeon <DaedalusTheGamer@gmail.com>
Co-authored-by: Kowlin <git@wyvern.blue>
Co-authored-by: ScarKy0 <scarky0@onet.eu>

* fix: auto-update mailing unit + gas canister UIs on state (#39289)

* fix: auto-update mailing unit + gas canister UIs

* fix: make FollowerComponent auto handle state

* refactor: kill AfterAutoHandleState for Follower

* flakeops

* Updated syndicate throwing knives description (#39374)

Co-authored-by: seanpimble <149889301+seanpimble@users.noreply.github.com>

* Automatic changelog update

* Revert "Fix bug with pipe color" (#39135)

* Move `HeadstandComponent` to Shared (#39377)

Move HeadstandComponent to Shared

* Fix head mappers codeowners (#39378)

webedit ops codeowners

* Fix vox inhand displacements (#38507)

fix

* Add Offset Canes + Trinket Canes Group (#39272)

* Added offset cane

* Added offset cane colors

* Added canes to the trinkets menu

* added color to names instead of suffix

* removes some stripes from the mime cane icon

* update file organization

* standard -> standard.rsi, stop making commits at nearly 3 in the morning.

* updated comment to be more explicit in what doesnt work

* Cane refactor :godo:

* git makes me very upset sometimes (fixed cane yaml)

* wooden->wood

* apparently this didnt push

* Standardize comments

* Removed comment

* Removed comment

* Adds red accents to mime cane

* Indent fixes

* Automatic changelog update

* add: air alarm scrubber select all gases button (#39296)

* add select all gases button

* now make it work

* localize

* refactor

* remove redundant Orientation

Co-authored-by: Perry Fraser <perryprog@users.noreply.github.com>

* remove useless HorizontalExpand

Co-authored-by: Perry Fraser <perryprog@users.noreply.github.com>

* add nice newline

Co-authored-by: Perry Fraser <perryprog@users.noreply.github.com>

* deduplicate Enum.GetValues<Gas> usage

---------

Co-authored-by: Perry Fraser <perryprog@users.noreply.github.com>

* Automatic changelog update

* Fix ATS Anchor (#39389)

* fix: hide timer trigger's cycle time verb if DelayOptions is empty (#39388)

fix: hide cycle time verb if DelayOptions is empty

* Automatic changelog update

* Removes ItemToggle from Cryo Pods to prevent a latent event ordering bug (#39197)

Removes ItemToggle component from the cryo pod as it was useless and risked a latent verb order bug

* remove space from Sleeping Carp.png (#39369)

* Rename Sleeping Carp.png to SleepingCarp.png

* Update meta.json

* localization support to air alarms, wire panels and more (#39307)

* Add localization to the air alarms, wire panels, network configurator list menu and loadout window

* delete unused

* redo gas localization, delete unused

* removed the extra key

* Moved and renamed air-alarm-ui-thresholds-gas-name

* Moved localization to the XAML

* Use existing strings for gas names

* it just works

* Rename _atmosphereSystem in ScrubberControl.xaml.cs

_atmosphereSystem -> atmosphereSystem

* Rename _atmosphereSystem in SensorInfo.xaml.cs

_atmosphereSystem -> atmosphereSystem

* Fixed Issues with Screens and Station Maps (#39393)

* Predict warp point location examines. (#39402)

commit

* Reduced SalvageStructureComponent to atoms. (#39400)

* commit

* whoopsie daisy

* Update SpawnSalvageMissionJob.cs

* Update SpawnSalvageMissionJob.cs

* cleanup

* Predict Nav Beacon Examine (#39408)

* commit

* Update Content.Shared/Pinpointer/SharedNavMapSystem.cs

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

---------

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

* Add guard to unbuckling to help it to not act upon terminating entities (#39410)

* Add guard to unbuckling to help it to not act upon terminating entities

* Refactor guard for unbuckling

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

* Revert "Refactor guard for unbuckling"

This reverts commit bf975fbd6f5cfac45324a3d5d74e592ad17ad291.

---------

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

* Automatic changelog update

* fix: properly respect AllowRepeatedMorphs (#39411)

* fix: properly respect AllowRepeatedMorphs

* feat: add IgnoreAllowRepeatedMorphs

* Predict cryopods (#39385)

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* feat: properly perform predicted porta pottys (fix toilet prediction) (#39394)

* Remove redundant return statement in InventoryUIController (#39381)

* Update attributions for lightning audiofiles (#39395)

* Predict PickRandom verb (#39326)

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* Adds infinite debug power APC, substation, SMES (#39317)

* make debug power infinite

* demarcate infinite and empty debug power

* fix duplicate ID

* change infinite suffix to autorecharge

* Status effects disable light occluding (1-line PR) (#39418)

Update StatusEffectsSystem.cs

* Move scale command to content and turn it into a toolshed command (#39349)

* scale command

* fix namespaces

* MessyDrinker for dogs (#38852)

* Automatic changelog update

* Update RT to 266.0.0

* Predict EMP Examine (#39419)

* another one bites the dust

* Update Content.Shared/Emp/SharedEmpSystem.cs

---------

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

* Predict base and damage examines of cartridge ammo. (#39401)

* commit

* requested changes +

* fix DoAfter DistanceThreshold (#39276)

* Automatic changelog update

* convert dwarfs to use ScaleVisualsComponent (#39422)

* Move solution examine subscription from DrinkComponent to ExaminableSolutionComponent (#39362)

* initial it works

* clean it up

* yml

* datafield the LocIds

* move from the other branch

* no max vol on puddles and anoms

* closed

* Changes inspired by #39008

* small bug and more color range

* puddle changes and more examinable solutions

* lint

* small change

* requested changes

* un-delete

* tiny comment

* 1 less loc id in this world

* request and last second change

---------

Co-authored-by: iaada <iaada@users.noreply.github.com>

* Automatic changelog update

* Debody Food and Drink Systems, Combine Food and Drink into One System. (#39031)

* Shelve

* 22 file diff

* What if it was just better

* Hold that thought

* Near final Commit, then YAML hell

* 95% done with cs

* Working Commit

* Final Commit (Before reviews tear it apart and kill me)

* Add a really stupid comment.

* KILL

* EXPLODE TEST FAILS WITH MY MIND

* I hate it here

* TACTICAL NUCLEAR STRIKE

* Wait what the fuck was I doing?

* Comments

* Me when I'm stupid

* Food doesn't need solutions

* API improvements with some API weirdness

* Move non-API out of API

* Better comment

* Fixes and spelling mistakes

* Final fixes

* Final fixes for real...

* Kill food and drink localization files because I hate them.

* Water droplet fix

* Utensil fixes

* Fix verb priority (It should've been 2)

* A few minor localization fixes

* merge conflict and stuff

* MERGE CONFLICT NUCLEAR WAR!!!

* Cleanup

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>

* Fun with cardboard! (#37363)

* learning???

* made card walls work, then made game unlaunchable (:

* Still broken, added notes that I thought of while in bed

* wall, door, table and chair are now bare min functional, yay

* learnt why not to web edit...

* added floors, walls and floors fully complete

* added swords, shields, armour, helmets and arrows

* added funny sound and cleanup small issues

* cleanup

* cleanup

* credited myself

* card to cardboard

* fixed licence issue and meta thingy

* adjusted arrow stam-damage

* made card carpets more regular

* simplified sprite, reduced stam damage

* formatting fixes

---------

Co-authored-by: beck-thompson <beck314159@hotmail.com>

* Automatic changelog update

* add scale:multiplyvector toolshed command (#39424)

* Automatic changelog update

* fix repeated scale visuals removal/ensuring (#39432)

* Miscellaneous Body Decoupling (#38958)

* Turn some implants into triggers (#39364)

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* Changeling devour and transform  (#34002)

* Initial:

Create Devour componentry, preliminary identity storage and the systems
for Devouring

* I have genuinely no idea what i'm doing

- added the radial menu, it has nothing in it.

- trying to get it to populate. the event under the event is broken,
i don't know why, but apparently it's not typed right

- Added a placeholder transform

- oh also fixed up some devour stuff and moved some things around.

* Holey moley, Transform, better devour, oh my!

- Move DnaComponent into Shared because we need it for the DNA cloning

- Make Transform MOSTLY work on the LAST identity devoured.

- Fix some issues on devour that involved prediction, canceling and
Damage exeucting (Thanks Plykiya for pointing out AttemptFrequency!)

* Proper tail stealing and Damage modifier attempt

Add check to add a wagging component on the Changeling if the victim's
species Prototype had one.

attempt to add the Damage mitigation check

* MAJOR CLEANUP AND FIXES AUGH 3 DAYS!!!

- Nullspaced a clone of a victim

- fix audio using server virtualized Pvs (i hate this)

- fix the mispredicted doafters

- Clean up a wholelotta code

- utilize clone systems to clone appearances

- Move CloneAppearance from server to shared So we can actually access
it

* Examine stuff, more cleanup, Jumpsuit ripping

- make rotting prevent the action

- Add ripping of clothing (guh why is it also server)

- add some System stuff for pushing husked corpse inspection

- clean up more badcode

* Doing things properly, UI sorta kinda works.

- Utilize Relayed events for Devour checking

- Get a UI that partially works, Says the name of identities, doesn't
show their looks

- Make use of the New Dynamic BUI assignment

- commit the sin of no client prediction cause nullspace entities aren't
networked

* Got an entity for the Frontend transform

Issue with the looks

* Stick a camera into a fake mobs forehead

- Get the UI to see the net entity in pause space by using a
ViewSubscriber to get the Pvs from the initially stored identity entity

- Remove all the other parts used to try to get this to work before hand

* Raaaaadiallllllls also fix protection coefficents

- Change FancyWindow to Radial

- Fix Issue where coeffeient checking was the wrong way round

* absolutely massive cleanup, no more camera in mobs

- cleaned up event variables that are not needed

- Removed the use of a Pause space and go back to Nullspace usage

- use a PvsOverride rather than ViewSharing

- Remove old commented out code and Lots of unused code

* Fix "Ui elements" dying  on the screen

- some minor cleanup

- don't start the entities that get cloned

* ftl, cleanup, and fixing missing transform details

- add replace functionality to TypingIndicatorSystem and
BodyEmotesSystem

- add placeholder sounds and functions to TransformBodyEmotes

- add extra Pvs handling for later use

- attributions for the funny straw sound

- Sound collections for all of the sounds

- various cleanups

* Some extra cleanup

* Fix some false assumptions about TypingIndicator

- Bubbles now transfer on spawned humans rather than used humans

- Clean up YET MORE CODE

- make it so you can't eat yourself

* Oooprs, forgot to add a Husked Corpse Loc

* Missing period in the husked corpse loc

* bad devour windup placeholder

* Husking and WIP Lungs

- Husking now will be prevented from Revival fully and will change
the appearance of players

* Add finalized Sprites for actions and final meta

- add devour on and off sprites

- add transform action sprite

- Add Armblade sprite for future use

- Credit obscenelytinyshark for the sprites <3

* Remove ling lungs, Entity<> everything

- Remove the ling lungs stuff for now... body system is overly
complicated, makes my head hurt

- Switch every method to use Entity<> from Uid, Comp format

* cleanup, admin logging, WIP Roles

* Admin verb, Roundstart, gamerule stuff

- add a Admin verb to make Changelingification easy!

- Add game rule stuff for admin verb and to tell the hapless
goober how to be a changeling... sorta

- clean up parts to make VV easy... USE THE VERB!!

* Armor Coefficent Check

- Remove bespoke changeling armor check and replace it
with a generic armor coefficient query.

* move to UnrevivableComponent instead of husked

- Move UnrevivableComponent to shared

- add Analyzable and ReasonMessage to UnrevivableComponent
to give granular control of the message and whether or not it shows up
in the analyzer

- remove the check for HuskedComponent in DefibrillatorSystem

* aaaaaaa CopyComp

- Some cleanup

- make Vocal system shared

- make VocalSystem Not make more Actions than it needs

- Use some code from ChameleonProjector so we can copy components

- partially ungod method the Transform system

* Cleanup, Moving more things to CopyComp

- TransformBodyEmotes now uses CopyComp (it's a server component so i
need to tell the server to deal with it

- TypingIndicatorComponent also now uses CopyComp

- cleaned up old, now unused "replace" methods in favor of CopyComp

- BodyEmotesSystem now has a publically accessable LoadSounds to deal
with the same problem Screaming had

* WIP

* Devour Windup noise, ForensicsSystem cleanup

* Revert VocalSystem Changes

- Reverted Moving VocalSystem to shared, copy comp acomplishes it

- added component.ScreamActionEntity = null; for copy comp

* cleanup unneeded comments

* revert an accidental line removal

* Remove duplicate SharedHumanoidAppearanceSystem

* Cleanup Typo's and import Forensics components for Dna

* Some more forensics calls

* cleanup use CopyComp for now until CopyComps

* CR cleanup

* Undo some SharedHumanoidAppearanceSystem changes

* Confound these spaces

* Some Copycomp stuff and fixing some PVS override

* use the proper TryCopyComps that are merged

* Change TransformMenu with RadialWithSector

* All sounds done, Fix lack of typing indicator issue

* Updated attributions to include used sound authors

* some ftl typos and mind_role text issue

* DNA, Screaming, appearance, grammar, wagging

- reduced all of the above using ApplyComponentChanges

- Issue still remains with bodyEmotes sticking around in the UI

* Fix UI stuff, partials, entprotoid, good practices

- bunch of partials added

- UI now has a predicted message

- EntProtoID in the admin verb

- RipClothing now uses Entity<ButcherableComponent>

- husking is now optional (off by default) for testing/till we have
hivemind/when we figure out what were doing with devour

- remove TransformGrammarSet

* More CR stuff and documentation

- Make TargetIsProtected less of a meme, with a prototype
set of DamageTypes to check

- Documenation everywhere

- Move DevourEvents into its own file

* Predicted sounds and fix the comp clone list

- Made all start and stop sounds shared

- Split out the rest of the events and UI stuff into subfiles

- Fixed some Clone comp list issues where comments had -'s causing them
to be read incorrectly

* Damage cap check, Identity Shutdown cleanup, cleanup

* Sound stuff (but actually this time)

* Missed documentation

* Missed Documentation and a EntProtoId

* Remove unused dependency

* Remove a nullcheck

* Some dummy minplayers

* CR - Husked now uses a rem/ensure

* Update Actions in the Prototype

* Fixup mindswap handover

- cleanup and handover PVS on mindswap

* Fixup Missing meta from accidental "Take-theirs"

* Add the Armblade to the roundstart-role

* Cleanup, CR (everything but the UI and renames)

* missed a spot

* missed some more whitespace

* Renames

* Primary constructor and a space in these trying times

* User interface stuff for Slime transformation

* popup prediction

* Ling devour no longer makes duplicate identities

- added a key to identities to the original victim

- Add some extra clone settings

* add guard statements to OnClones

* SentOnlyToOwner additions

* fix for sound stoppage error

* Move Organ deleter into soon to be atomized husk

* clone event inventory

* mono sounds

* lower sound volume

* Fix networked sound warning

* Clone comps thing

* review

* attributions

* Fix clobbered changes

* I'm gonna weh out

- whole bunch of CR changes

* fix some very buggy git

* okay its fixed

* address most review points

* fix inventory

* we hate entityuids

* fix test and more cleanup

* move this

* fix more stuff

* fix validation and rootable

* Remove Quickswitch due to some UI quirks

* oops left out some better explanation

* remove dangling LastConsumed component fields

* fix test fail

* try this

* cleanup cloning subscriptions, add movement speed modifier

* fix slime storage

* fix cloning setting inheritance

* Add session information to transform admin logs

* slay the integration test hydra

* dwarf size

* more volume tweaks

* comments

* improve comments and unpredict deletion due to errors when shutting down the server

* fix displancement cloning

---------

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

* Fix inventory flickering and missing InventoryTemplateUpdated event (#39379)

* fix flickering

* move InitClothing

* fix this

* Automatic changelog update

* Fix showvalue Ui for melee weapons (#38703)

Co-authored-by: Perry Fraser <perryprog@users.noreply.github.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* docs: update comment on config saving in tests (#39438)

* Ingestion Bugfixes (#39436)

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>

* Bloonion mutation  (#33375)

* Automatic changelog update

* Fix title2.ogg attribution (#39435)

Co-authored-by: kait <kait@azumanga.gay>

* Resized baseball bats to be more realistic (#38392)

* Resized baseball bats to be more realistic

* Added new vertical icon for the baseball bat & incomplete variant, sprites by TiniestShark

* Added requested changes

* Added suggested changes for the incomplete sprite

* Automatic changelog update

* Fix Ingestion Localization Pop-ups (#39437)

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: ScarKy0 <scarky0@onet.eu>

* place stored changeling identities next to each other (#39452)

* Fix changeling typing indicator (#39454)

init

* give paused maps from polymorph and cryostorage a name (#39453)

* Automatic changelog update

* fixes items with complex shapes failing to insert sometimes (#38896)

* fixes item insertion bug

fixes bug where items with complex shapes would fail to insert if the item's StoredRotation wasn't a right angle

* independence from StoredRotation

* Automatic changelog update

* Add changeling briefing sound (#39465)

* init

* guh

* Disable changeling fixture cloning (#39467)

init

* Move some Station methods into shared (#38976)

* make objectives use yml defined mind filters (#36030)

* add MindHasRole whitelist overload

* add mind filters framework

* add different mind filters and pools

* update traitor stuff to use mind filters

* line

* don't duplicate kill objectives

* g

* gs

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
Co-authored-by: ScarKy0 <scarky0@onet.eu>
Co-authored-by: SlamBamActionman <slambamactionman@gmail.com>

* Sentry turrets - Part 8: AI notifications (#35277)

* Automatic changelog update

* Starting glasses for Captain and HoP (#35531)

* Automatic changelog update

* fix: fix emote wheel icons (#39481)

* Automatic changelog update

* Remove NamesGolem (#39478)

* deleted golem.ftl which contained golem names

* deleted golem.yml that went along with golem.ftl

* Cleanup Base food and drink a little (#39485)

Edible base prototype convention compliance

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>

* Fix Whoopie Cushions from lagging the game. (#39194)

* Fix bar and base signs (#39487)

sorry

* Buttons are now Free-placeable (again) (#39425)

Fixed buttons

* fix mind role filter (#39499)

* Fix: Water Bottles Verb Priority and Prediction (#39482)

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>

* Network StationMember properly (#39509)

* Mapping - Box station - Tie the RD's disposal bin to the disposals system. (#39507)

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* Automatic changelog update

* Update Credits (#39512)

Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>

* Crawling Fixes 1: Dragons and Borgs can't do the worm. (#39084)

* Init Commit

* Remove unused code, fix stun visuals bug

* Update Content.Shared/Stunnable/SharedStunSystem.cs

* Some initial changes

* first batch of changes

* Commit

* One line cleanup

* KnockdownStatusEffect ain't worth it.

* Fix 2 bugs

* Fixes

* Remove that actually,

* Commit

* Better solution

* Alright final commit I think

* Add better remarks

* How the fuck did this not get pushed???

* Wait no why was my ryder trying to push that??? I didn't make that change! DON'T DO THAT!!!

* Review

* Don't log that

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>

* Automatic changelog update

* Add voice locks to various hidden syndicate items (#39310)

* Automatic changelog update

* Fire stacks trigger (#39530)

* Simple as

* whoops

* not gonna work

* chopped

* missed something

* Better name

* formatting

---------

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

* Status Effect Alerts and Time Bugfixes (#39529)

* Bugefix

* Clean up

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>

* Adds rare Hamlet variant: Fragile Hamlet (#39531)

* slippery gib hamlet

* add suffix for easier admeme

* address review

* increase odds

* parent MobHamsterHamlet, predicted emitsound

---------

Co-authored-by: Jessica M <jessica@maybe.sh>

* Automatic changelog update

* Trigger on round end (#39545)

* works if it works

* small rewording

---------

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

* fix: reform dionas via SpawnNextToOrDrop (#39505)

* Automatic changelog update

* Actions examine (#39558)

* Predict suitsensor system (#39325)

* adwadsdwasadwas

* dev

* fix

* review

* some more cleanup

---------

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

* Oasis: Add atmos network monitor (#39331)

* Automatic changelog update

* Base changeling objective(s) (#39562)

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

* Better robotics console (#38023)

* Automatic changelog update

* ExtinguishOnTrigger and TriggerOnInteractHand (#39537)

* simplely one commit

* simplelly two commit

* requested changes

---------

Co-authored-by: iaada <iaada@users.noreply.github.com>

* [HOTFIX] Stop players from clipping through Windoors (#39564)

* Don't have standing state edit soft fixtures?

* Bugfix

* Cherry pick acquired

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>

* Reduce LevelOfParallelism to 2 for integration tests (#39566)

less paralelliism

* [HOTFIX] Stop players from clipping through Windoors (#39564)

* Don't have standing state edit soft fixtures?

* Bugfix

* Cherry pick acquired

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>

* Reduce LevelOfParallelism to 2 for integration tests (#39566)

less paralelliism

* Predict PoweredLights (#36541)

* Move PoweredLight to shared

* Predict the rest of the owl

* reacher

* compinit & anim

* Fix names

* Revert this?

* Fix these

* chicken drummies

* deita

* Fix

* review

* fix

* fixes

* fix PVS weirdness

---------

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

* Automatic changelog update

* Fix ReagentQuantity Equality check (#39574)

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>

* feat: make ReagentId hash by value (#39494)

* Fix antag objective assignment (again) (#39565)

init

* Fix dock radar colours (#38942)

* Fix docking colours

* Add comments and fallback

* Better comments!

* Slightly shorten examine text for splashing a solution with a melee attack (#39428)

smaller text.

Co-authored-by: iaada <iaada@users.noreply.github.com>

* Borg hands & hand whitelisting (#38668)

* Borg hands & hand whitelisting

* yaml linted

* yaml linted (x2)

* yaml linted (x3)

* my storage tests so pass

* no need for SetCount

* ok new stuff you can get fixed too

* oops

* staque

* what if we addressed feedback

* my place so holder

* what if we addresesd feedback

* what if i did it correctly

* terminating or deleted

* Automatic changelog update

* fix: fix lights not always enabling correctly (#39585)

* Automatic changelog update

* RandomChance trigger condition (#39543)

* branch names don't matter anyway

* commits are a window to the soul

* requested change

* also requested

* ship it

* remove key

---------

Co-authored-by: iaada <iaada@users.noreply.github.com>

* Fix: Break do_after if target/tool becomes inaccessible (#35079)

* Predict GetVerbsEvent in PowerSwitchableSystem (#39589)

* Prediction

* Update

* Move mind role components to shared (#39606)

* Disable the lock/unlock verb if we can't do that (#39605)

* Fix

* Update

* StaminaDamageOnTriggerComponent (#39607)

* InflictStaminaOnTriggerSystem

Surprised this wasn't done alongside the damage one.

* Correct docstring

* Moar docstring changes!!!

* Resolve PR comment

* a

* Update Content.Shared/Trigger/Systems/StaminaDamageOnTriggerSystem.cs

---------

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

* Weapon Resizing (#36473)

* Automatic changelog update

* Compact Security Jetpacks (#39569)

Made security jetpacks functionally identical to mini jetpacks.

Signed-off-by: Nox38 <nebulousnox38@gmail.com>

* Revert "Fix: Break do_after if target/tool becomes inaccessible" (#39617)

* fix lightbulb color (#39623)

* Automatic changelog update

* In Memoriam - Memorializing those who've passed within the SS13+SS14 community (#39621)

In Memoriam - adds a section to the credits memorializing those who've passed

* Automatic changelog update

* Add trigger-refactor components and systems: Batch 1 (#39391)

* Adds the following batch of trigger refactor components and their associated systems:

TriggerOnLand: LandEvent
TriggerOnExamined: ExaminedEvent
TriggerOnUnbuckle: UnbuckledEvent
TriggerOnBuckle: BuckledEvent
TriggerOnStrap: StrappedEvent
TriggerOnUnstrapped: UnstrappedEvent

* Removes unnecessary lines from comment

* Fix comment formatting, corrects grammar and increases comment clarity.

* adds last forgotten edit to comments

* Update Content.Shared/Trigger/Systems/TriggerOnStrappedOrBuckledSystem.cs

Removes unnecessary comments

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

* Update Content.Shared/Trigger/Components/Triggers/TriggerOnBuckledComponent.cs

Increases comment clarity

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

* Update Content.Shared/Trigger/Components/Triggers/TriggerOnExaminedComponent.cs

Increases comment clarity

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

* Update Content.Shared/Trigger/Components/Triggers/TriggerOnLandComponent.cs

Increases comment clarity

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

* Update Content.Shared/Trigger/Components/Triggers/TriggerOnStrappedComponent.cs

Increases comment clarity

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

* Update Content.Shared/Trigger/Components/Triggers/TriggerOnUnbuckledComponent.cs

Increases comment clarity

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

* Update Content.Shared/Trigger/Components/Triggers/TriggerOnUnstrappedComponent.cs

Increases comment clarity

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

* refactored TriggerOnStrappedOrBuckledSystem.cs
removed TriggerOnExaminedSystem.cs and moved it into TriggerSystem.Interaction.cs

Changes currently untested, not sure how to make it so modders can change what method they want sending out the appropriate trigger key but want to save progress working on it and get feedback from maintainers

* Removed component which already exists as part of TriggerSystem.Interaction.cs

* Restores accidentally removed component

* Apply suggestions from code review

---------

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

* Add myself to codeowners file (#39636)

* RemoveComponentsOnTrigger, ToggleComponentsOnTrigger (#39639)

* Rebalance advanced Brute chems, and more (#39472)

* Initial commit

* Update based on feedback

* Minor fix

* Update to match playtest

* Update reaction behavior and test to work; max temp is no longer an inclusive value.

* Revert "Update reaction behavior and test to work; max temp is no longer an inclusive value."

This reverts commit 2a2c4a17a623cc7ddc15b63d91a1b8b441e95cea.

* Incorporate heal values & OD for adv. chems from 39464, revert adv. brutes recipes

* Automatic changelog update

* Fix industrial reagent grinder bug, second attempt (#39690)

* fix recycler 3

* Update Resources/Prototypes/Entities/Structures/Machines/reagent_grinder.yml

* unbreak StandingStateSystem

* Added "highly illegal" contraband to guidebook (#38176)

* Added extreme contraband to guidebook

* Extreme -> Highly Illegal

* Whoops, one-letter typo

* Fixed a capital letter while I'm here

* adapt codebase

* Update water_creation.yml

* Update water_creation.yml

* remove random food

* Refactor Food component to Edible in meal and cooking entities

Replaced the deprecated 'Food' component with the 'Edible' component in bowl, plate, and pie_pan YAML prototypes. Updated base cooking entity whitelist to include 'Edible' for compatibility. This change standardizes food consumption logic and improves maintainability.

---------

Signed-off-by: Nox38 <nebulousnox38@gmail.com>
Co-authored-by: Flareguy <woaj9999@outlook.com>
Co-authored-by: Perry Fraser <perryprog@users.noreply.github.com>
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
Co-authored-by: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
Co-authored-by: Arcane-Waffle <denisliazhev@gmail.com>
Co-authored-by: Arcane-Waffle <FR_Waffle@proton.me>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: Kyle Tyo <36606155+VerinSenpai@users.noreply.github.com>
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
Co-authored-by: Krosus777 <38509947+Krosus777@users.noreply.github.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
Co-authored-by: Hannah Giovanna Dawson <karakkaraz@gmail.com>
Co-authored-by: DrSmugleaf <10968691+DrSmugleaf@users.noreply.github.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
Co-authored-by: Token <56667933+TokenStyle@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: ThatGuyUSA <thatguyusa123@gmail.com>
Co-authored-by: qwerltaz <69696513+qwerltaz@users.noreply.github.com>
Co-authored-by: Tiniest Shark <head.rebel@yahoo.com>
Co-authored-by: Zeneganto <fantik8800@gmail.com>
Co-authored-by: Samuka-C <47865393+Samuka-C@users.noreply.github.com>
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
Co-authored-by: Quantum-cross <7065792+Quantum-cross@users.noreply.github.com>
Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
Co-authored-by: Southbridge <7013162+southbridge-fur@users.noreply.github.com>
Co-authored-by: WarPigeon <DaedalusTheGamer@gmail.com>
Co-authored-by: Kowlin <git@wyvern.blue>
Co-authored-by: ScarKy0 <scarky0@onet.eu>
Co-authored-by: alexalexmax <149889301+alexalexmax@users.noreply.github.com>
Co-authored-by: seanpimble <149889301+seanpimble@users.noreply.github.com>
Co-authored-by: Mora <46364955+TrixxedHeart@users.noreply.github.com>
Co-authored-by: Minemoder5000 <minemoder50000@gmail.com>
Co-authored-by: Marlyn <marlyn@marlyn.cloud>
Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com>
Co-authored-by: Ser11y <160628372+Ser1-1y@users.noreply.github.com>
Co-authored-by: Luxeator <derkerl1@gmail.com>
Co-authored-by: PGray <77597544+PGrayCS@users.noreply.github.com>
Co-authored-by: Serylis of Five <kasper.west-hansen+github@fivetail.dk>
Co-authored-by: K-Dynamic <20566341+K-Dynamic@users.noreply.github.com>
Co-authored-by: Myra <vasilis@pikachu.systems>
Co-authored-by: āda <ss.adasts@gmail.com>
Co-authored-by: iaada <iaada@users.noreply.github.com>
Co-authored-by: Princess Cheeseballs <66055347+Princess-Cheeseballs@users.noreply.github.com>
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: Tao <56692749+TaoNewt@users.noreply.github.com>
Co-authored-by: beck-thompson <beck314159@hotmail.com>
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
Co-authored-by: poklj <compgeek223@gmail.com>
Co-authored-by: Thinbug <101073555+Thinbug0@users.noreply.github.com>
Co-authored-by: Stefano Pigozzi <me@steffo.eu>
Co-authored-by: kait <kait@azumanga.gay>
Co-authored-by: Kittygyat <202250949+Kittygyat@users.noreply.github.com>
Co-authored-by: lolman360 <22850904+lolman360@users.noreply.github.com>
Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: SlamBamActionman <slambamactionman@gmail.com>
Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>
Co-authored-by: M87S <147015589+M87S@users.noreply.github.com>
Co-authored-by: kosticia <kosticia46@gmail.com>
Co-authored-by: Serylis of Five <stormy-git@stormweyr.dk>
Co-authored-by: beck-thompson <107373427+beck-thompson@users.noreply.github.com>
Co-authored-by: Jessica M <jessica@jessicamaybe.com>
Co-authored-by: Jessica M <jessica@maybe.sh>
Co-authored-by: Alex <firestar@firestar4.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: UpAndLeaves <92269094+Alpha-Two@users.noreply.github.com>
Co-authored-by: Winkarst-cpu <74284083+Winkarst-cpu@users.noreply.github.com>
Co-authored-by: Nox <nebulousnox38@gmail.com>
Co-authored-by: deathride58 <deathride58@users.noreply.github.com>
Co-authored-by: Studio Fae-Wilds <studio.faewilds@gmail.com>
Co-authored-by: Simon <63975668+Simyon264@users.noreply.github.com>
Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>
Co-authored-by: Hitlinemoss <209321380+Hitlinemoss@users.noreply.github.com>
2025-09-08 13:00:39 +03:00
keronshb
f885075d2e DoAfter support for Actions (#38253)
* Adds Action DoAfter Events

* Adds DoAfterArgs fields to DoAfterComp

* Adds a base doafter action

* Adds Attempt action doafter logic

* Adds doafter logic to actions

* Changes Action Attempt Doafter and action doafter to take in Performer and the original use delay. Use delay now triggers when a repeated action  is cancelled.

* Readds the TryPerformAction method and readds request perform action into the action doafter events

* Adds a force skip to DoAfter Cancel so we can skip the complete check

* Adds a Delay Reduction field to the comp and to the comp state

* Fixes doafter mispredict, changes doafter comp check to a guard clause, sets delay reduction if it exists.

* Cancels ActionDoAfter if charges is 0

* Serializes Attempt Frequency

* Comment for rework

* Changes todo into a comment

* Moves doafterargs to doafterargscomp

* Adds DoAfterArgs comp to BaseDoAfterAction

* Removes unused trycomp with actionDoAfter

* Replaces DoAfterRepateUseDelay const with timespan.zero

* Removes unused usings

* Makes SharedActionsSystem partial, adds DoAfter partial class to ActionSystem, moves ActionDoAfter logic to the SharedActionsSystem.DoAfter class

* Cleanup and prediction

* Renames OnActionDoAfterAttempt to OnActionDoAfter, moves both to Shared Action DoAfter

* Removes ActionAttemptDoAfterEvent and moves its summaries to ActionDoAfterEvent. Converts OnActionDoAfterAttempt into TryStartActionDoAfter

* Removes Extra check for charges and actiondoafters

* Sloptimization

* Cleanup

* Cleanup

* Adds param descs

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-09-08 12:55:13 +03:00
Ed
67e5ef8ecb Refactor Food component to Edible in meal and cooking entities
Replaced the deprecated 'Food' component with the 'Edible' component in bowl, plate, and pie_pan YAML prototypes. Updated base cooking entity whitelist to include 'Edible' for compatibility. This change standardizes food consumption logic and improves maintainability.
2025-09-08 12:49:43 +03:00
Ed
a246db9ec1 remove random food 2025-09-08 11:51:45 +03:00
Ed
f84e1ba04d Merge branch 'master' into ed-25-08-2025-upstream-sync
# Conflicts:
#	Resources/Prototypes/_CP14/ModularCraft/Blade/axe.yml
#	Resources/Prototypes/_CP14/ModularCraft/Blade/base.yml
#	Resources/Prototypes/_CP14/ModularCraft/Blade/dagger.yml
#	Resources/Prototypes/_CP14/ModularCraft/Blade/hammer.yml
#	Resources/Prototypes/_CP14/ModularCraft/Blade/hoe.yml
#	Resources/Prototypes/_CP14/ModularCraft/Blade/mace.yml
#	Resources/Prototypes/_CP14/ModularCraft/Blade/mop.yml
#	Resources/Prototypes/_CP14/ModularCraft/Blade/pickaxe.yml
#	Resources/Prototypes/_CP14/ModularCraft/Blade/shovel.yml
#	Resources/Prototypes/_CP14/ModularCraft/Blade/sickle.yml
#	Resources/Prototypes/_CP14/ModularCraft/Blade/skimitar.yml
#	Resources/Prototypes/_CP14/ModularCraft/Blade/spear.yml
#	Resources/Prototypes/_CP14/ModularCraft/Blade/sword.yml
#	Resources/Prototypes/_CP14/ModularCraft/Garde/guildmaster.yml
#	Resources/Prototypes/_CP14/ModularCraft/Garde/sharp.yml
2025-09-08 11:33:44 +03:00
Ed
e659a2a007 Merge branch 'master' into ed-25-08-2025-upstream-sync 2025-09-08 11:31:28 +03:00
OrbitSystem07
b7d595b57e Lets diona sap trigger artifact blood nodes 2025-09-07 21:23:45 -07:00
PJBot
88e927f10a Automatic changelog update 2025-09-08 00:35:09 +00:00
Hayden
2315ea6ac2 Being grappled with a grapple gun allows you to cross chasms (#39983)
* Being grappled with a grapple gun allows you to cross chasms

Closes #31698

* Update Content.Shared/Weapons/Misc/SharedGrapplingGunSystem.cs

* AAAAAAAAAAAAAAAAA

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-09-07 17:34:00 -07:00
CrystallEdge Server
4ed27eb520 Automatic changelog update 2025-09-08 02:46:16 +03:00
Kit
d9814b1eb2 Alch guidebook refactor (#1717)
* ALCHEMY GUIDEBOOOK!!!!!

* forgoten translation

* FIXES!!!!!

* Requested translation changes
2025-09-08 02:45:11 +03:00
CrystallEdge Server
ca889a0073 Automatic changelog update 2025-09-08 01:39:23 +03:00
omsoyk
ec2128fa03 resprite satchels (#1748) 2025-09-08 01:38:18 +03:00
Kit
063a9a87d6 some changes (#1749)
* some changes

* lower health regen

* spine guard more common

* MORE!!!!
2025-09-08 01:37:53 +03:00
CrystallEdge Server
ea123d36ff Automatic changelog update 2025-09-07 19:16:34 +03:00
Red
ab7e3204f1 Adventure guild returns (#1745)
* adventure guild

* fix order board

* fixes

* loadout + fix

* commit
2025-09-07 19:15:29 +03:00
PJBot
946e9cc2cd Automatic changelog update 2025-09-07 15:11:46 +00:00
ArtisticRoomba
a93f6b8cdf Atmos dP Guidebook Entry (#40194)
* Add Atmos dP guidebook

* Update Resources/ServerInfo/Guidebook/Engineering/DeltaPressure.xml

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-09-07 17:10:39 +02:00
chromiumboy
499dde1ec1 Bug fix for APCPowerReceiverBattery (#40188)
Initial commit
2025-09-07 16:52:27 +02:00
PJBot
c1ca510e78 Automatic changelog update 2025-09-07 14:37:45 +00:00
Hannah Giovanna Dawson
a699639834 Allow Vulps With Human Hair To Be Shaved Without Clyde Joining The Circus (#40171)
* Revert "Disable vulpkanin human hair (#40144)"

This reverts commit d02aa1a4e2.

* You can once again shave your pet Vulp

* I can see the ass, I'm safe

* Rectified docstring as I am a good person

* I am doing this instead of playing Silksong please help

* Fix forgetting to re-add shader overriding
2025-09-07 16:36:38 +02:00
PJBot
d14b6a31aa Automatic changelog update 2025-09-07 14:02:33 +00:00
Crude Oil
fb454351d2 Restore transfer amounts on regular syringes to 5, 10, 15 (#40197)
add transferamounts to regular syringes
2025-09-07 16:01:26 +02:00
CrystallEdge Server
6121eb44e7 Automatic changelog update 2025-09-07 14:23:35 +03:00
Red
ad46932d11 Balance tweaks (#1741)
* disable lurker pulling

* fix pack

* fix pack

* fak pix

* vampire objective tweak

* buff vampire search

* Update air_saturation.yml

* fix

* fix

* Update EntityTest.cs

* Update EntityTest.cs

* tick

* Update EntityTest.cs

* remove forkfiltered filter

* Update EntityTest.cs
2025-09-07 14:22:30 +03:00
ArtisticRoomba
ae9f56b234 fix: Atmos dP Window Inheritance (#40192) 2025-09-07 02:13:29 -07:00
ArtisticRoomba
8f8db391d8 Atmospherics Delta-Pressure YAML refactor (#40174) 2025-09-07 00:56:37 -07:00
github-actions[bot]
7aaa063944 Update Credits (#40187)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2025-09-07 03:18:23 +02:00
PJBot
40fcc0a45a Automatic changelog update 2025-09-06 17:56:09 +00:00
Mr. 27
4eab05b55e Add some alternate jumpsuit designs which can be toggled (#31213)
* inital

* testfa

* New Sec sprite

* Update atmos

* Update meta.json

* Update meta.json

* 0

* Update meta.json
2025-09-06 13:55:02 -04:00
PJBot
8bd1970337 Automatic changelog update 2025-09-06 16:01:37 +00:00
ToastEnjoyer
912aaf846a Fixed disconnected grid on box station (#40161)
Fixed tesla area on box
2025-09-06 10:00:24 -06:00
PJBot
e761cf5afe Automatic changelog update 2025-09-06 15:14:51 +00:00
ScarKy0
2201d29048 Revert antique laser and appraisal tool sizes (#40158)
* init

* appraisal antique pistol sounds kinda cool tho ngl

* actually fuck items
2025-09-06 17:13:42 +02:00
Viator-MV
dd930f513c fixing unnoticed bugs for new weapons (#1740)
* NO TIME TO EXPLAIN

* fix
2025-09-06 15:49:39 +03:00
CrystallEdge Server
d0759efbfe Automatic changelog update 2025-09-06 14:18:47 +03:00
Red
30b306b9ce Revert "wizard robes (#1725)" (#1737)
This reverts commit a71948ffb4.
2025-09-06 14:17:42 +03:00
Ed
dcaca3f4a6 fix 2025-09-06 14:03:56 +03:00
Ed
9d0a9ae186 Update CP14MagicEnergySystem.Draw.cs 2025-09-06 13:19:55 +03:00
Ed
89e4b6e4ed earrape fix 2025-09-06 13:19:18 +03:00
Princess Cheeseballs
ca32d83417 Stable Into Master (#40155) 2025-09-06 02:32:00 -07:00
Princess Cheeseballs
3ea9321d25 [Hotfix] Wizard Rod doesn't gib the wizard. (#40041)
* Title

* Tired

* That shit did nothing goddamn

* Fix for real

* Use og code

* Hmmm borgaer

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-09-06 02:19:20 -07:00
Princess Cheeseballs
8a1a1b98c4 [HOTFIX] Fix Burgers (#39773)
* Borgar

* Review

* Predicted queuedel

* Predict

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-09-06 02:19:19 -07:00
Princess Cheeseballs
98507eded1 [Hotfix] Wizard Rod doesn't gib the wizard. (#40041)
* Title

* Tired

* That shit did nothing goddamn

* Fix for real

* Use og code

* Hmmm borgaer

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-09-06 02:18:17 -07:00
Princess Cheeseballs
adc7a829ae [HOTFIX] Fix Burgers (#39773)
* Borgar

* Review

* Predicted queuedel

* Predict

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-09-06 02:18:06 -07:00
PJBot
07fdd52756 Automatic changelog update 2025-09-06 08:03:54 +00:00
ArtisticRoomba
3aff3dff93 Fix resin windows inheriting wrong dP values (#40151)
Fix resin windows inheriting from regular windows
2025-09-06 01:02:47 -07:00
PJBot
47629fe277 Automatic changelog update 2025-09-06 06:03:33 +00:00
ArtisticRoomba
3f11e20f90 Fix exo burn chamber (#40152) 2025-09-05 23:02:25 -07:00
Skye
f98fd98380 Fix bad loop in LogStringHandler.AddFormat (#40147) 2025-09-06 04:07:03 +02:00
ScarKy0
d02aa1a4e2 Disable vulpkanin human hair (#40144)
init
2025-09-06 01:22:46 +02:00
iaada
3a7f8fc1a7 update for glue/lube tube inhand 2025-09-05 17:24:50 -05:00
Ed
9d3162585c Update CP14_Changelog.yml 2025-09-06 01:11:22 +03:00
iaada
29dda7949f Merge remote-tracking branch 'upstream/master' into up/drinks-yml
# Conflicts:
#	Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_fun.yml
2025-09-05 17:07:09 -05:00
CrystallEdge Server
13742f659d Automatic changelog update 2025-09-06 01:06:16 +03:00
Viator-MV
a71948ffb4 wizard robes (#1725)
* ALL

* no green

* material

* NO GREEN

* I SAID NO GREEN

* cost
2025-09-06 01:05:11 +03:00
Red
963bdc022f Rethinking equipment (#1711)
* delete all modular content

* clean up

* Update guard.yml

* spear first pass

* Add imperial two-handed sword and update spear

Introduces the imperial two-handed sword with new sprites, prototype, and animations. Refines spear configuration: adjusts damage, animation, and offsets, and updates its sprites and prototype to use a new resource path. Improves melee weapon animation logic for both thrust and slash attacks.

* neck displacement

* Update neck.png

* Update migration.yml

* dagger

* Add sword prototype and refactor melee weapon swing logic

Introduces a new sword entity and associated textures. Refactors melee weapon swing logic by renaming SwingLeft to CPSwingLeft and updating related code. Adjusts animation offsets and rotation values for daggers, spears, and two-handed swords. Moves and updates dagger texture assets to a new directory structure.

* hatchet

* sickle

* Add skimitar sword entity and sprites

Introduced a new 'skimitar' sword entity with description and associated sprite assets, including icon, in-hand, and equipped states. Also updated the imperial sword's name and description for clarity.

* Add rapier weapon and adjust melee weapon balance

Introduced the imperial rapier weapon with associated prototype and textures. Increased the default single-target melee damage modifier to 1.3 and removed per-weapon clickDamageModifier overrides from dagger, spear, sword, and two-handed sword. Also increased sword base damage to 10 for better balance.

* Add iron tool/weapon variants and update wall thresholds

Introduces iron variants for pickaxe, shovel, dagger, rapier, spear, sword, and two-handed sword, including new sprites and YAML prototypes. Adjusts wall and ore vein damage thresholds for destruction and sound triggers. Updates migration.yml to map modular iron weapons to new iron variants and spawns stone blocks on stonebrick wall breakage. Also refactors dagger textures to use an 'iron' directory.

* Refactor ice dagger and adjust blacksmith skills

Replaced CP14IceDagger with CP14WeaponDaggerIce, updating its parent, stats, and components for consistency. Adjusted base dagger damage types. Blacksmith job and related melting skills are now commented out or disabled, reflecting a change in skill progression and job setup.

* Update ice_dagger.yml

* Deprecate sword mastery skills and update melee swing logic

Commented out SwordMastery, RapierMastery, and SkimitarMastery skills and removed their assignment from guard and artisan job prototypes. Renamed CPSwingLeft to SwingLeft in melee weapon code for clarity and updated related logic.

* Remove requiredSkills from anvil and furnace recipes

Eliminated the 'requiredSkills' field from all recipes in Anvil/misc.yml and furnace.yml. This simplifies recipe definitions and removes skill prerequisites for crafting these items.

* Update guard_commander.yml

* Comment out freeLearnedSkills for T1 and T2 skeletons

Disabled the freeLearnedSkills entries, including SwordMastery and SkimitarMastery, in both T1 and T2 DemiplaneAntag skeleton YAML prototypes. This change may be for balancing or testing purposes.

* Update migration.yml

* Update migration.yml

* guidebook

* r

* spear passive + hammer passive

* tool hammer + skimitar refactor

* balance tweak

* kick nerf

* TOWER DEFENCE UPDATE

* default shield refactor

* buckler (only sprites)

* Update migration.yml

* buckler parry

* some fixes

* Update T2.yml

* Update T2.yml

* Update instruments.yml

* Update migration.yml

* M O P

* war axe

* Update migration.yml

* Keen Eye skill

* arrows + bow + loadouts

* Update tools.yml

* trading

* fix

* Update misc.yml

* Update migration.yml
2025-09-06 00:59:58 +03:00
PJBot
d8400c6520 Automatic changelog update 2025-09-05 20:04:17 +00:00
IProduceWidgets
dcd0f10070 Drink outta da toiler (#40133)
* totally unrelated to any other recent additions

* dispare

* enum
2025-09-05 22:03:10 +02:00
Pieter-Jan Briers
816f6ed2fc Fix admin logs going to admin chat (#40141)
Oops
2025-09-05 20:54:05 +02:00
Myra
5d3de5d1aa Add a space in osx-arm64 to fix arm64 osx builds (#40137) 2025-09-05 20:41:08 +02:00
Tayrtahn
8f44b5e30b Add water cooler interaction test (#39612)
* Add altInteract option to interaction test helper methods

* Add water cooler interaction test

* Oops, that's not a NetEntity

* Is.Not.Empty

* SPlayer

* Assert.Multiple

* Document parameters
2025-09-05 19:05:49 +02:00
PJBot
d1c41d0373 Automatic changelog update 2025-09-05 16:24:14 +00:00
Matt Idzik
d4b9b45bdd Adjusted minimumPlayers for Wizard midround events. (#38424)
* Adjusted minimumPlayers for Ninja and Wizard midround events

Wizard from 10->20
Ninja from 30->20
20 players matches Dragon and Loneop.

* Wizard midround minimum players from 20 to 30

* Update Resources/Prototypes/GameRules/events.yml

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

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-09-05 18:23:06 +02:00
PJBot
a9ffbdcdae Automatic changelog update 2025-09-05 15:57:04 +00:00
IProduceWidgets
e931771459 Expedite gender reassignment (#36894) 2025-09-05 11:55:54 -04:00
Leon Friedrich
828b1f2044 Rejig LogStringHandler (#30706)
* Rejig LogStringHandler

* Fix session logs

* Fix properly

* comments

* IAsType support

* Fix mind logs

* Fix mind logging AGAIN

---------

Co-authored-by: PJB3005 <pieterjan.briers+git@gmail.com>
2025-09-05 14:22:49 +02:00
PJBot
f45bf4590f Automatic changelog update 2025-09-05 10:44:25 +00:00
ScarKy0
b2c9106839 Vulpkanin Species (#37539)
* [April Fools] Elf species  (#35353)

elf

* [April Fools] Juice that makes me go insane (#35370)

* kill me

* MAKE IT STOP

* is it finally over?

* web edit

* webedit

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* webedit

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* webedit

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* webedit

* WEBEDIT PLEASE

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* vulpkanin species

the ultimate april fools joke

Co-Authored-By: Kr8art <188977876+kr8art@users.noreply.github.com>

* cant be bothered

* make build and test debug run on the april fools branch (#35396)

welp

* Revert "[April Fools] Juice that makes me go insane (#35370)"

This reverts commit fcbdcf8452cb1247733242aa44ea5b9f38dfa3d2.

* Revert "[April Fools] Elf species  (#35353)"

This reverts commit 704293a051033026bfca0c9e161d97796bc0cb81.

* nuh uh

* localized names

* fix survival box

* abilities (Mostly don't work yet, pending PRs)

* wagging loc

* slight heat tweaks

* stuff

* Update Vulpkanin.xml

* vulp screams + quieter howl

* MessyDrinker by Orks

* MessyDrinker guidebook

* animal bones

* fix wagging

* missed

* no loc

* Lower damage, remove butchering

* Revert "animal bones"

This reverts commit 3457cde13e57336678f62a20bf57fb315844c240.

* leap

* collision

* leap desc update

* leap guidebook

* fix leap

* microbalance

* comment

* microbalancing pt 2

* microbalancing pt 3

* test fail fix (i hope)

* fix organs

* no leaping on the ground

* remove SolutionScanner + ling work

* fix clone

* add stuff back

* microbalancing pt yes

* male vulp names

mainly slavic names with some similiar sounding ones mixed in

* Revert "male vulp names"

This reverts commit 1666f81821bfea241262627160a594dd1b0ce050.

* male vulps names pr 2 (slavic, dog names, few puns)

Slavic names, with mixed in typical dog names and some puns

* female names (mainly slavic, other stuff mixed in)

* oops

* Update vulpkanin.yml

* Vulps WIP Work (#1)

* Modified aesprite tools

* WIP

* wipperoni

* We are done here, wawa

* Revert "Merge branch 'aseprite-tools' into hannah/vulps-wip"

This reverts commit d258645df60a94d0217fecd85a38545f2b951cde, reversing
changes made to 0ae39e862152ef6548533eba0547709594c55e90.

* Resolve merge issue

* Fix Urist McVulp forgetting his fursuit

---------

Co-authored-by: Southbridge-fur <southbridgefur@gmail.com>

* re-add ears and husk overlay

* revert adding ears to vox

* Crest Markings

* Fade Markings

* Sharp Markings

* microbalance + comments

* censor character nudity option compliance

* Ear Markings

* 1984 wagging animations

* Tail Markings

* tail wag icon

* annoyance

* guidebook

* slight temperature tweak

* seperate out snouts, port over 2 markings for testing

* fix

* seperate snout file

* Snout/Head Markings

* cleanup + locale for ears

* Head and Snout loc

* gray eyes

* crest and husk cleanup

* Tail and Chest loc

* Legs and Arms loc

* most important commit

* mime vulps like rations too

* missing loc

* microbalance

* not needed

* goatee

* white eyes

* harmony feedback tail fixes

* personal changes and fixes after playing

* fix fluffy tail clipping

* Sprite fixes, displacement fixes (#2)

* Tune head displacement

* Vulps Sprite Tuning

* helmets

* detail

* Urist

* wag

* comban't

* fix attributions

* remove vulp biosuits

* fix vulp beards

* fixed up ears

* comment note

* further ear tweaks

* engi helmets

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
Co-authored-by: Milon <milonpl.git@proton.me>
Co-authored-by: Kr8art <188977876+kr8art@users.noreply.github.com>
Co-authored-by: Hannah Giovanna Dawson <karakkaraz@gmail.com>
Co-authored-by: Southbridge-fur <southbridgefur@gmail.com>
2025-09-05 12:43:17 +02:00
Skye
d89f0682e6 fix a typo in the comments for game.ipintel_exempt_playtime (#40129) 2025-09-05 12:09:48 +02:00
Princess Cheeseballs
d488ca96b2 Alerts Cleanup and API (#39544)
* alert cleanup and API

* I expect update loops to be at the top.

* Address review

* Address review x 2

* Merg my PR

* Fix

* Update Content.Shared/Alert/AlertsSystem.cs

webedit

Co-authored-by: Perry Fraser <perryprog@users.noreply.github.com>

* FIX THAT TEST FAIL!!!!

* Me when I forget to actually give you alerts

* Hammedborgar

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: Perry Fraser <perryprog@users.noreply.github.com>
2025-09-05 12:45:48 +03:00
PJBot
5e0e5e045a Automatic changelog update 2025-09-05 07:48:38 +00:00
ArtisticRoomba
99cdbfc431 Give shutters the DeltaPressure component (#40126) 2025-09-05 00:47:31 -07:00
PJBot
63a17312cc Automatic changelog update 2025-09-05 07:11:01 +00:00
ArtisticRoomba
1db8496dd7 Fix DeltaPressure damage not capping beyond a certain pressure (#40125) 2025-09-05 00:09:54 -07:00
SpaceLizard
4125d28b75 Fixed a error in the "Adventures of Ian and Renault" books (#39932)
Fixed a publication error in the "Adventures of Ian and Renault" book series.

The editor of these books have been taken out back and shot.
2025-09-05 02:42:57 +02:00
āda
60d1d2c9b1 Fix xenoborg action icons (#40118)
commit

Co-authored-by: iaada <iaada@users.noreply.github.com>
2025-09-05 00:48:27 +02:00
PJBot
36dfc79797 Automatic changelog update 2025-09-04 22:47:51 +00:00
CawsForConcern
a8ba84ecf7 Fixes Theobromine missing from Iced Coffee (#40063)
adding ice to coffee no longer removes its theobromine
2025-09-05 00:46:44 +02:00
PJBot
b15132585b Automatic changelog update 2025-09-04 21:04:18 +00:00
Princess Cheeseballs
01a7fc66f0 Can't crawl over counters (#40099)
Counters and Tables separation

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-09-04 14:03:10 -07:00
Pieter-Jan Briers
ad3874b8cd Skip MapImages folder in packaging (#38928) 2025-09-04 22:50:46 +02:00
PJBot
9f65cf7a75 Automatic changelog update 2025-09-04 19:38:22 +00:00
ScarKy0
467f19b58e Reuse lathe queue instead of redrawing (#39886)
* init

* init

* PUSH!!!

* //

* Me when the when the me when the

* review

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-09-04 21:37:15 +02:00
PJBot
587d9ad191 Automatic changelog update 2025-09-04 19:12:11 +00:00
Quantum-cross
52c903cab8 Dynamic anomaly scanner texture (#37585) 2025-09-04 22:11:03 +03:00
āda
12e8697648 Organize JobIconPrototype yml (#39774)
grouped

Co-authored-by: iaada <iaada@users.noreply.github.com>
2025-09-04 20:58:17 +02:00
Nemanja
7dbe1b219c Improve Gas Yaml Serialization (#40070)
* Make yaml gas serialization cleaner

* fix exception

* fix validation code

* rudimentary test & permissive loading

* change it a bit

* Test fixes and adjustments
2025-09-04 20:48:46 +02:00
Pieter-Jan Briers
d33478e41f Package win-arm64 and osx-arm64 servers (#40113) 2025-09-04 19:33:44 +02:00
Myra
0daccbf457 Stop packaging Resources/ServerInfo and Resources/Changelog on the server (#39897)
* Stop packaging `Resources/ServerInfo`

This is only used by the client, it is unneccery to pack into the server. Plus it keeps getting people to think that just editing the server resources will modify the guidebook even though that needs a custom dev enviroment.

* Add credits too
2025-09-04 18:38:41 +02:00
PJBot
90dcf83471 Automatic changelog update 2025-09-04 15:43:42 +00:00
VoidMeticulous
df4d923a9b Add 2.25 second delay to scurret petting (#40097)
Add 2.25 second delay to scurret petting rate
2025-09-04 17:41:45 +02:00
Winkarst-cpu
f521ec31de Fix: Ability to open AHelp in the lobby by pressing the hotkey (#39525)
* Fix

* Update
2025-09-04 16:24:53 +02:00
PJBot
c51104952e Automatic changelog update 2025-09-04 13:04:57 +00:00
Samuka-C
2f3d976c33 Fool players with decoy presets (#40053)
* added secret gamepresets

* cut down on alias

* remove all secret presets

* change the command to allow for a secret argument

* update test

* moved the secret argument after the number of rounds argument

* added completions

* localization and use of CompletionHelper.Booleans

* command now has a option for a decoy preset

* fixed decoy message in the end

* ops

* clean up

* hint 2

* improve localization

---------

Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>
2025-09-04 15:03:47 +02:00
PJBot
427e4a88ea Automatic changelog update 2025-09-04 11:18:59 +00:00
DDDragoni
ed12c1d3f5 Telepad Label Fix (#39975)
Fixed telapad order labels showing wrong account
2025-09-04 13:17:52 +02:00
PJBot
d7fd4cfb80 Automatic changelog update 2025-09-04 11:09:32 +00:00
jkwookee
348f462b12 Fix QM Golden Knuckledusters not being a objective (#40096)
test
2025-09-04 13:08:25 +02:00
PJBot
a6be4ff338 Automatic changelog update 2025-09-04 03:18:46 +00:00
Quantum-cross
70ffc1eb5d Add heat distortion shader for hot gases (#39107) 2025-09-03 20:17:39 -07:00
PJBot
3d89584860 Automatic changelog update 2025-09-04 01:10:00 +00:00
ArtisticRoomba
723a0030ba Give inflatable walls the DeltaPressure component (#40098)
give inflatable walls the deltapressure component
2025-09-03 18:08:53 -07:00
PJBot
53c9f336cf Automatic changelog update 2025-09-03 23:59:56 +00:00
ArtisticRoomba
20f2cb920b Atmos Delta-Pressure Window Shattering (#39238)
This PR adds delta-pressure damage. In short, airtight structures can now take damage proportional to the difference in pressures between the sides of the structure.
2025-09-03 16:58:48 -07:00
VoidMeticulous
f63eb2e97a Remove unused combat-equipped-helmet (#40095)
Remove unused combat-equipped-helmet and combat-equipped-helmet-dog
2025-09-03 15:52:40 -07:00
pathetic meowmeow
24f4b40881 Don't enqueue construction events without validation (#39869) 2025-09-03 14:29:50 -07:00
PJBot
deb08579a4 Automatic changelog update 2025-09-03 21:07:12 +00:00
breeplayx3
7f511abb94 Berry Delight recipe edit (#40085)
berry delight change
2025-09-03 14:06:04 -07:00
opl-
893f4f1403 Use a fixed amount of decimal points in gas analyzer window (#40081)
This prevents the volume and temperature labels from changing width when the value lands on integer values, making the text easier to read.

Co-authored-by: opl <4833621+opl@users.noreply.github.com>
2025-09-03 22:49:50 +02:00
PJBot
8fdcb8f91f Automatic changelog update 2025-09-03 20:23:36 +00:00
SlamBamActionman
1a452494e6 Add senior courier PDA for cargo techs (#37661) 2025-09-03 22:22:28 +02:00
PJBot
d01f65223d Automatic changelog update 2025-09-03 20:17:15 +00:00
Kyle Tyo
f5a980edc2 Cleanup AddPolymorphActionCommand and LEC conversion. (#38853)
commit
2025-09-03 22:16:43 +02:00
MissKay1994
3e63e4590d Adjust bureaucratic error to prevent only passenger being available (#40001)
Fire all the interns
2025-09-03 22:16:07 +02:00
Tiniest Shark
7916819203 Burger Inhands (#39894)
burger is in your hands
2025-09-03 15:42:50 -04:00
SlamBamActionman
e6d00428a8 Fix small issues with Text Highlighting (#38144) 2025-09-03 21:42:15 +02:00
Tiniest Shark
3aeecd0139 Add inhand sprites to Cartons and Cups, give new inhands to Cans. (#39814)
* Added inhand sprites to cans, cartons and cups.

* small tweak
2025-09-03 15:21:00 -04:00
PJBot
15f3381bc3 Automatic changelog update 2025-09-03 18:06:56 +00:00
Mora
d1deb5b059 Some more vox customization (#39083)
* Added docked and spiked tails, added talisman for vox

* Tail Talisman ftl

* adjusts talisman to be its own tail to avoid having to deal with other tails at all

* vox tail stuff

* Added amputated tail (courtesy of flareguy) and split tail

* adds TODO regarding marking conditionals

* rsi run check pls stop screaming at me

* Shelving the talisman for later, keeping the sprites around

* Add RSI credits

* Remove unnecessary files

* renamed amputated to vestigial
2025-09-03 20:05:48 +02:00
PJBot
6403c3f5f1 Automatic changelog update 2025-09-03 16:46:56 +00:00
Tiniest Shark
e0ead5a83a Reptilian tail sprites for hard/softsuits (#35842)
* Reptilian helmets and tail sprites for hard/softsuits (and a few others)!

* Removed the new fins from helmets.

* don't know how the caustic resistances got doubled? oops

* Update pirate helm sprites for lizards

* fixin errors

* ugh

* softsuit updates

* okay maybe this works now

* Corgi fixes. Boy it sure would be nice to not have to do this again.

* please work

* Helmets removed, will be done in another PR.

* missed a few.

* evil punctuation killed

* scream

* Re-parented clothingvisuals.

* Suits modified with tails

* oops chaplain tail was misnamed

* a

* one more time

* Update Resources/Prototypes/Entities/Clothing/OuterClothing/suits.yml

* Update Resources/Prototypes/Entities/Clothing/OuterClothing/suits.yml

* Update Resources/Prototypes/Entities/Clothing/OuterClothing/suits.yml

* Update Resources/Prototypes/Entities/Clothing/OuterClothing/suits.yml

* Update Resources/Prototypes/Entities/Clothing/OuterClothing/bio.yml

* Update Resources/Prototypes/Entities/Clothing/OuterClothing/base_clothingouter.yml

* Update Resources/Prototypes/Entities/Clothing/OuterClothing/base_clothingouter.yml

* oops chaplain lost their suit

* Small fix

* roll back unrelated fix

---------

Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>
2025-09-03 18:45:49 +02:00
Tiniest Shark
3775da3345 Helm + Mask Displacements for Reptilians (and some unique helmets) (#39351)
* Liz displacements + unique helms

* small fix

* Couple of small fixes
2025-09-03 18:45:18 +02:00
Quasr
103c3983df Updated inspector description to reflect functionality (#40072)
update inspector desc.

Co-authored-by: Quasr <~182430031+quasr-9@users.noreply.github.com>
2025-09-03 14:07:35 +02:00
PJBot
9ca7b75445 Automatic changelog update 2025-09-03 12:01:19 +00:00
FungiFellow
e68e71c068 Trimmed Sentience Targets from Corgis Smile and Cockroaches (#39810)
* Update animals.yml

* Update pets.yml

* Removed Sentience Target from corgi

* Update random-sentience.ftl

* Obliterated Scurret from .ftl
2025-09-03 14:00:07 +02:00
slarticodefast
69b3df03d8 Don't show item dropping popup when wielding. (#40032)
silence
2025-09-03 13:09:40 +02:00
Centronias
c709d4d55c Add CVar for disabling loadout item role timers (#36775) 2025-09-03 13:04:44 +02:00
Kyle Tyo
0e884da5eb Localize, cleanup, and LEC round control commands. (#38812)
* commit-progress

* commit
2025-09-03 12:49:34 +02:00
War Pigeon
d3731395b6 Make git hooks work in git worktrees (#40038)
Make hooks work in worktrees and cleanup hooks
2025-09-03 01:01:43 +02:00
Partmedia
7511b3bed3 Fix benchmark (#40039) 2025-09-03 00:55:38 +02:00
PJBot
c947f741e1 Automatic changelog update 2025-09-02 13:33:25 +00:00
SolidSyn
3bd1ba940b Adds a secHUD to the noir-tech glasses (#39859)
* Adds a SecHUD to the noir-tech glasses

* Adds a Security HUD to the noir-tech glasses

* Revert "Adds a Security HUD to the noir-tech glasses"

This reverts commit 68d7b9b6e190618e44a94df71cf311e056892392.

* Adds a security HUD to the noir-tech glasses
2025-09-02 16:32:18 +03:00
IProduceWidgets
e8583da476 prevent double-mapping lights (#39939)
works?
2025-09-02 16:30:11 +03:00
Princess Cheeseballs
8e97f8c45b Add myself to Codeowners for Stunnable and Nutrition (#40061)
* I probably should do this

* Can't cut it up that easy cause of the events. Guess I'm just subscribed to all nutrition stuff ;_;

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-09-02 12:00:14 +02:00
MilenVolf
d41786ff33 Remove empty drink-component.ftl file (#40064)
Probably had to be removed in #39031
2025-09-02 02:37:45 -07:00
CrystallEdge Server
2ae9ccbf15 Automatic changelog update 2025-09-02 11:53:42 +03:00
Nim
b01938ddcf Magic traps (#1662)
* magic trap

* demiplan

* energy

* Permanent

* meta

* ice trap

* fix

* ForkFiltered

* sound trap

* icon and loot

* blacklistTags

* staffs

* fix window

* manacost
2025-09-02 11:52:37 +03:00
PJBot
ec5791fc61 Automatic changelog update 2025-09-02 00:08:44 +00:00
M4rchy-S
ca29e0a166 Fix radiation vomit for dead mobs (#40020)
* Fix Radiation Vomit for dead mobs

* Update Content.Server/Destructible/Thresholds/Behaviors/VomitBehavior.cs

Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com>

* Fix Radiation Vomit for dead mobs

* Fix Radiation Vomit system for dead mobs

* refactors

* Adding mobStateSystem for validation

* refactor

* Unrelated cleanup

---------

Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com>
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-09-01 17:07:37 -07:00
PJBot
c99c9ed200 Automatic changelog update 2025-09-01 23:40:25 +00:00
IProduceWidgets
8a041fa5cb Update 4 visitor shuttles & nanomed inventories (#39718) 2025-09-01 16:39:18 -07:00
PJBot
3c11a6a80b Automatic changelog update 2025-09-01 23:14:59 +00:00
Southbridge
46f13fc1dd Event Shuttle Fixes (#40059) 2025-09-01 16:13:52 -07:00
iaada
63b5f37c1b no utensil 2025-09-01 17:12:19 -05:00
Nox
05a4e6d00c Fixed Corpsman Name (finally) (#40055)
Fixed Corpsman name (finally)

Signed-off-by: Nox38 <nebulousnox38@gmail.com>
2025-09-01 23:05:48 +02:00
Ed
f6b09f32ff Update carrin.yml 2025-09-01 22:52:56 +03:00
Hannah Giovanna Dawson
b2eeedb348 Lizard Tails Can Be Hidden By Clothing (#40026)
Taken from @TiniestShark's PR.
2025-09-01 12:16:12 -04:00
InsoPL
831d384ff5 Texture Scaling for clothing (#39714)
scale
2025-09-01 18:31:11 +03:00
SlamBamActionman
2624647e71 Fix incorrect bullet & cartridge names (#39993)
* Fix conflicting names

* zero zeroes
2025-09-01 18:27:21 +03:00
PJBot
40b0b49dbc Automatic changelog update 2025-09-01 15:25:45 +00:00
slarticodefast
86e77f05ce Predict InjectorSystem (#39976)
* predict injectors

* hide verbs if no options
2025-09-01 18:24:37 +03:00
PJBot
feb0fac20f Automatic changelog update 2025-09-01 15:08:54 +00:00
SlamBamActionman
817a2973e5 Moths cannot eject items from military boots (#40049) 2025-09-01 17:07:43 +02:00
Quasr
145b2a645b set slot priority to 4 2025-09-01 09:07:44 -05:00
CrystallEdge Server
6996d44039 Automatic changelog update 2025-09-01 15:08:33 +03:00
Nim
188901bdfb Fix crate and skeleton (#1730)
* fix crate

* barrel

* T2 skeleton
2025-09-01 15:07:27 +03:00
Travis Reid
9f36a3b4ea Fix docstring typo starts -> stops (#40031) 2025-09-01 02:32:59 +02:00
slarticodefast
5ee093b13d Merge stable into master (#40034) 2025-09-01 01:43:01 +02:00
Ed
9d0afdf848 Add Carrin species beak, hair, and facial hair customization
Introduces new marking prototypes and sprites for Carrin beak, hair, and facial hair customization. Updates Carrin species and entity definitions to support these markings, adjusts visual layer ordering, and adds displacement sprites for hands and shirts. Also includes updates to Carrin base sprites and modifies some existing Carrin textures.
2025-08-31 23:19:32 +03:00
Spanky
c506432d64 Terminal Hotfix (#40027)
* Resave terminal.yml

* Fix airlock
2025-08-31 21:51:33 +02:00
āda
5d25cae33d TriggerOnMeleeHit and more (#39826)
Co-authored-by: iaada <iaada@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-08-31 11:54:15 -07:00
slarticodefast
0ba5d036a2 improve spawnpoint error logging (#40021) 2025-08-31 11:50:37 -07:00
Ed
eb6968e554 basic species 2025-08-31 20:16:26 +03:00
slarticodefast
8f5d05c8bb Stable merge (#40025) 2025-08-31 18:41:23 +02:00
Vasilis The Pikachu
5100068a78 Revert "Admin Log Browser Improvements (#39130)"
This reverts commit f67cebf7a4.

Per request of @Kowlin and @southbridge-fur

Check out https://github.com/space-wizards/space-station-14/issues/39960 for further information
2025-08-31 17:50:37 +02:00
PJBot
1c706cdbc3 Automatic changelog update 2025-08-31 12:55:54 +00:00
AndrewFenriz
0e23e4537f Migrate all mechs to PartAssembly and remove legacy MechAssemblySystem (#39027)
* Removed the old MechAssembly system and component.
Converted all mechs to use the unified PartAssembly system.
Removed dismantling mechs during assembly logic to simplify the code.

* Delete Chassis via migration
2025-08-31 15:54:45 +03:00
ArtisticRoomba
487c280f1c Staging to master merge (#40013) 2025-08-31 02:15:30 -07:00
SlamBamActionman
1150053580 Fix latejoin spawner on Plasma (#40012) 2025-08-31 02:58:28 -06:00
SlamBamActionman
b4bd973fbf Fix latejoinspawner on Exo (#40011) 2025-08-31 02:58:22 -06:00
SlamBamActionman
b41cbcf696 Fix latejoinspawner on Elkridge (#40010) 2025-08-31 02:58:15 -06:00
ToastEnjoyer
d03f9f4152 Removed unused asset from devmap (#39974) 2025-08-31 00:19:39 -07:00
github-actions[bot]
bbe9b33abf Update Credits (#40005)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2025-08-30 17:37:57 -07:00
ScarKy0
c89b20b19f Nullable messydrinker tag (#40002)
init
2025-08-31 01:35:22 +02:00
PJBot
3b95ab390b Automatic changelog update 2025-08-30 19:32:45 +00:00
ScarKy0
13db6cdac1 Marathon AI Turrets + Camera Coverage (#39969) 2025-08-30 12:31:36 -07:00
PJBot
b24cb11f86 Automatic changelog update 2025-08-30 19:30:21 +00:00
ScarKy0
f20a42a7c3 Bagel AI Turrets + Camera Coverage (#39968) 2025-08-30 12:29:13 -07:00
PJBot
5bee17686c Automatic changelog update 2025-08-30 18:11:41 +00:00
āda
9e22aa4cd5 Clown bags squeak when inserting items (#39931)
squeak!

Co-authored-by: iaada <iaada@users.noreply.github.com>
2025-08-30 20:10:34 +02:00
PJBot
c1e3eba88c Automatic changelog update 2025-08-30 17:18:56 +00:00
Kowlin
c7a10e8bce Stop derelict borgs from duplicating their ghost roles. (#39992)
Add reregister to derelict borgs
2025-08-30 19:17:49 +02:00
Winkarst-cpu
4a6fc71d07 SharedKitchenSpikeSystem bugfixes (#39959)
* Fixes

* Update

* Update
2025-08-30 18:52:34 +02:00
ScarKy0
5a40913beb Messy drinker immunity and cleanup (#39989)
init
2025-08-30 17:38:28 +02:00
PJBot
294b32373a Automatic changelog update 2025-08-30 14:43:50 +00:00
Hannah Giovanna Dawson
8f55a4fcfc Scurrets - can wear pet bags, mail bags and spears (#38774)
* Scurrets - can wear pet bags, mail bags and spears

* a

* Resolve PR comments
2025-08-30 16:42:43 +02:00
PJBot
8614aafaba Automatic changelog update 2025-08-30 14:01:57 +00:00
Mr. 27
6a22ee7d39 Fix forensic scanner leaking fingerprints onto the scanning object if you use the verb (#39964)
Update ForensicScannerSystem.cs
2025-08-30 16:00:46 +02:00
CrystallEdge Server
162713974f Automatic changelog update 2025-08-30 10:28:09 +03:00
Kit
f21cca0a1a Spineguard (#1659)
* sprites

* toxin

* spineguard

* spawning

* passive regen

* merge conflict fixes

* again

* again 2

* readd stuff

* agh

* requested changes
2025-08-30 10:27:03 +03:00
Princess Cheeseballs
941e0daca7 Staging into Master (#39977) 2025-08-29 17:05:47 -07:00
Princess Cheeseballs
3d2877f353 [STAGING] 1984 Derelict Syndicate Borgs (#39978)
1984

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-08-29 16:33:04 -07:00
Princess Cheeseballs
c061798f4b [STAGING] 1984 Derelict Syndicate Borgs (#39978)
1984

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-08-29 16:28:28 -07:00
slarticodefast
a7a7db5ff1 Don't network ZombifyOnDeathComponent and ZombieImmuneComponent (#39963)
no networking
2025-08-29 15:43:23 -07:00
slarticodefast
0edd848e92 Don't network ZombifyOnDeathComponent and ZombieImmuneComponent (#39963)
no networking
2025-08-29 15:40:24 -07:00
ToastEnjoyer
800b7e1a88 Fixed changelog error (#39971) 2025-08-29 11:34:56 -07:00
ScarKy0
a590d65dc5 Add SnoutCover appearance layer (#39949)
* init

* cover
2025-08-29 19:12:51 +02:00
Princess Cheeseballs
4797c0fe06 Small Status Effect Cleanup (#39944)
Heroic

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-08-29 16:32:13 +03:00
chromiumboy
65bffbebf1 Sentry turrets - Part 7: Electronics and construction graphs (#35236)
* Initial commit

* Fixing merge conflict

* Updated for deployment

* Whitespace fixes

* Linter fixes

* Test fail fix

* Fixed test failure

* Add separate command circuitboards

* Addressed review comments
2025-08-29 14:10:47 +02:00
PJBot
8739271e43 Automatic changelog update 2025-08-29 11:49:38 +00:00
FungiFellow
0bbe335a3a Stop Sentience Event targeting Zombified Creatures (#39950)
* Strip Target From Zed

* Update RandomSentienceRule.cs

* Update RandomSentienceRule.cs

* Update RandomSentienceRule.cs

* Update RandomSentienceRule.cs

* Update RandomSentienceRule.cs
2025-08-29 13:48:31 +02:00
Minemoder5000
9be78ced63 Remove a default Cyborg name (#39948)
* 1984 clanker

* Fix prototype
2025-08-29 10:38:48 +02:00
PJBot
5380be0085 Automatic changelog update 2025-08-29 06:05:03 +00:00
Southbridge
acd0fd2644 Bagel Station - Pressure Update (#39945)
redid the whole atmos
2025-08-29 02:03:54 -04:00
PJBot
91222f78b1 Automatic changelog update 2025-08-29 05:43:09 +00:00
Southbridge
43ce4047e3 Box Station - Pressure Update (#39954)
* Modified the burn chamber

* Fixed a couple things
2025-08-29 01:42:00 -04:00
PJBot
20ed31d4c9 Automatic changelog update 2025-08-29 05:41:52 +00:00
PJBot
d73502f7fd Automatic changelog update 2025-08-29 05:40:44 +00:00
Southbridge
b8ee881d60 Marathon - Pressure Update (#39955)
* Pressure update for marathon

* Fixed an issue
2025-08-29 01:40:38 -04:00
Southbridge
fe21b9a5d6 Amber Station - Added Late Join and Pressure Update (#39943)
Added relief valve to amber
2025-08-29 01:39:23 -04:00
Southbridge
5ddf503331 Updated Aseprite Tools (#39358)
Modified aesprite tools
2025-08-28 17:44:50 -04:00
qwerltaz
ff54dcc2f4 box station: tweak hop office (#39779)
* fix box station hop office

* fax machine above hop chair

* paper bin, folder, stamps

* fix table uid
2025-08-28 11:41:52 -06:00
PJBot
80cfd8041d Automatic changelog update 2025-08-28 17:41:45 +00:00
Vortebo
679c641611 Major Relic Update (#39215)
* goodbye cargo. you dont exist at all. no more cargo.

* Med, atmos

* relic is going to prison

* i changed some stuff

* i changed some more stuff

* substantial completion for engineering

* substantial completion for medical

* substantial completion, atmos

* substantial completion, shuttles

* hallway lighting improvements

* substantial completion, prison station

* honestly i think this looks better

* prison station electrical, spawn adjustments

* prison shuttle now flyable

* substantial completion, science

* substantial completion, oldstation

* minor accuracy adjustments

* minor corrections, finishing touches

* minor adjustments and fixes

* electrical fix, canon camera names

* signage adjustments

* network fixes

* more inaccuracies fixed

* fixed atmos and medkit issues

* arrivals shuttle flies forward

* adjustments

* adjustments

* adjustments

* deltaP adjustments

* invalid configurators removed
2025-08-28 11:40:36 -06:00
qwerltaz
eef99915a0 fix bagel mapped containers missing (#38933)
Revert "remove actions"

This reverts commit b887697e
2025-08-28 11:39:38 -06:00
PJBot
886e3c099d Automatic changelog update 2025-08-28 17:15:51 +00:00
Hitlinemoss
84e0a0f6fa Improved cardboard-weapon descriptions (#39927) 2025-08-28 19:14:44 +02:00
PJBot
b093a688aa Automatic changelog update 2025-08-28 16:55:13 +00:00
āda
49daf74069 Fix audio mispredict when quick inserting (#39930)
surprising

Co-authored-by: iaada <iaada@users.noreply.github.com>
2025-08-28 18:54:06 +02:00
Deserty0
704527bd2c Master fix (#1715)
* Update RobustToolbox

* Revert "Update RobustToolbox"

This reverts commit dc7e25e8f7.

* Update secret_weights.yml

* Update secret_weights.yml
2025-08-28 17:34:12 +03:00
Fildrance
60ea135fd3 Revert "Added button and manager for in game bug reports (Part 1)" (#39872)
Revert "Added button and manager for in game bug reports (Part 1) (#35350)"

This reverts commit a8d6dbc324.
2025-08-28 01:46:24 -07:00
PJBot
420fb5cebf Automatic changelog update 2025-08-27 21:57:17 +00:00
Winkarst-cpu
5028161c7b New Feature: Symptoms of radiation poisoning (#39805)
* New Feature

* Cleanup

* Bump threshold

* Update

* Update

* Single change

* Me when I forgor the yaml

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-08-27 14:56:09 -07:00
Perry Fraser
1ecf62e72a fix: monoify card_drag, card_tube_bonk (#39511)
Also move an attribution to the right directory.
2025-08-27 23:08:54 +02:00
PJBot
a7087c1512 Automatic changelog update 2025-08-27 21:08:01 +00:00
Blaine Pavlock
2ebdd9d4cd Reagents now drop when dispensers are deconstructed (#39676)
* Reagents now drop when dispensers are deconstructed

* Updated containers to include beakerSlot types

* Update Resources/Prototypes/Entities/Structures/Dispensers/base_structuredispensers.yml

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-08-27 23:06:50 +02:00
Princess Cheeseballs
63f38558ca [Cleanup] Remove FellDownEvent (#39762)
* Remove

* Better description maybe

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-08-27 22:43:55 +02:00
Princess Cheeseballs
ecc499a7d5 [Bugfix] Generators can now be weightless. (#39787)
FIX

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-08-27 22:37:31 +02:00
Tayrtahn
af2bea7f66 Add test of disposal unit throw-insert behavior (#39479)
* Add test of disposal unit throw-insert behavior

* Remove initially-empty check
2025-08-27 22:30:53 +02:00
Emisse
adefde67c0 exo decor update (#39896)
* im monky

* ime monky 2

* changes listed on github

---------

Co-authored-by: SlamBamActionman <slambamactionman@gmail.com>
2025-08-27 13:13:24 -06:00
PJBot
10f7c2e568 Automatic changelog update 2025-08-27 15:05:46 +00:00
chromiumboy
149bb4ca14 Re-anchorable structures (#39542)
* Initial commit

* Reverted reinvention of an existing feature...

* Fixed two missed entries

* Added extra examine check

* AI core and high security doors visuals snap to always face south
2025-08-27 17:04:39 +02:00
Centronias
973689425c Fixes Diona rooting not working since event based weightlessness refactor (#39893)
* Fixes Diona rooting not working since event based weightlessness refactor

Caused by #37971

* pr comments
2025-08-27 16:56:13 +02:00
PJBot
ae199ba314 Automatic changelog update 2025-08-27 14:47:06 +00:00
SlamBamActionman
c36778e25e TriggerOnSimpleToolUsage and add tool locks to syndicate items (#39900) 2025-08-27 16:45:59 +02:00
CrystallEdge Server
c7df3f8117 Automatic changelog update 2025-08-27 17:35:17 +03:00
Red
1eead99543 You are surrounded by unknown suspicious individuals, my lord. (#1710)
* base identity hide

* ui

* Better UI

* store data in Mind

* disable arrivals an leave announcement

* tips updated

* Enhance identity recognition and examination feedback

Added logic to display remembered character names during examination and improved the process for remembering character names on map initialization. Also updated localization files to include new examination feedback strings. Minor refactoring and bug fixes in identity recognition systems.

* Update CP14SharedIdentityRecognitionSystem.cs

* fix
2025-08-27 17:34:10 +03:00
Princess Cheeseballs
36c9f2006d [Bugfix] Fix Cross Grid Magboots (#39910)
* Augh

* Remove that

* ViewVariables property so it can be debugged at the very least.

* Remove

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-08-27 16:26:32 +02:00
PJBot
cfb13f98e1 Automatic changelog update 2025-08-27 07:08:40 +00:00
Hitlinemoss
60ea2b37fb Clipboards added to autolathe (and other folder changes) (#37705)
* Added plastic clipboards; added plastic clipboards to the PTech machine; added clipboards & plastic clipboards to the autolathe

* Fixed plastic clipboard inhand sprites; added and implemented 'empty' clipboard prototypes

* Cleaned up code for empty clipboards; removed BoxFolderBaseEmpty since now it's redundant

* Extensive folder cleanup

* Bugfixed random folder spawns

* Reduced amount of paper in CrateServiceBureaucracy

* Medical folder sprite rename

* BaseTraitorSocialObjective sprite fix

* Added office paper to bureaucracy crate

* First pass at addressing recent review

* Second pass at addressing recent review

* Fix of weird migration.yml error

* whoops, forgot to undo the rename to folder-white.png in the last few commits

* whoops, didn't commit that last commit properly

* whoops, forgot to undo this reordering
2025-08-27 09:07:32 +02:00
PJBot
2965522cdd Automatic changelog update 2025-08-26 23:44:56 +00:00
ToastEnjoyer
0236a9065b Wizard can no longer teleport to arrivals (#39901)
* Fixed pacified people using the laser carbine

* Fix wizards being able to teleport to arrivals

* Removed spaces that we causing fails

* Made using the in game map editor this time
2025-08-26 19:43:49 -04:00
PJBot
37b4649a50 Automatic changelog update 2025-08-26 22:27:21 +00:00
Serylis of Five
00360968b7 Make Modular Grenades with Chemical payload respect their trigger delay (#39905)
* adds `KeysIn` data field to `ChemicalPayloadComponent`

And check when handling chemical payloads that a trigger key exists.

* Update Content.Server/Payload/EntitySystems/PayloadSystem.cs

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-08-27 00:26:13 +02:00
PJBot
79c006701e Automatic changelog update 2025-08-26 21:51:26 +00:00
beck-thompson
8e8b318862 Fix chameleon backpacks not being able to be opened when locked (#39784)
* Fix chameleon backpacks not being able to be opened when locked

* rename

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-08-26 23:50:19 +02:00
PJBot
72738f7c87 Automatic changelog update 2025-08-26 21:00:31 +00:00
FungiFellow
1800be1f58 Prevented Engiborgs from picking up AI lawboards (#39730)
Update borg_modules.yml
2025-08-26 22:59:23 +02:00
PJBot
b1084ed906 Automatic changelog update 2025-08-26 19:43:28 +00:00
slarticodefast
931dec8e28 Remove the dynamic game mode from player votes (#39902)
disable
2025-08-26 21:42:18 +02:00
InsoPL
c9c8fcbb82 Option to disable Crawling in Cvar (#39739) 2025-08-26 12:32:45 -07:00
slarticodefast
f4056e854b tool lock 2025-08-26 20:04:10 +02:00
PJBot
4505f61ff2 Automatic changelog update 2025-08-26 14:19:17 +00:00
beck-thompson
688c0b5884 Syndicate locks are now selectable (#39532)
* Syndicate locks are now selectable

* Minor tweaks

* Make not syndicate themed

* Address refview

* review

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-08-26 16:18:10 +02:00
PJBot
49888f3c47 Automatic changelog update 2025-08-26 10:30:20 +00:00
Perry Fraser
fd4a0a29b4 fix: Block EntityStorage from inserting into mechs (#37942)
This additionally moves the hard-coded check for HandsComp that
previously did this, and moves it into an event which now both
HandsSystem and MechSystem subscribe to.
2025-08-26 12:29:12 +02:00
PJBot
ceda478ae2 Automatic changelog update 2025-08-26 08:34:07 +00:00
Alex
b714733e62 Exo: Add atmos network monitor (#39330) 2025-08-26 02:32:58 -06:00
PJBot
dfa1b01b5e Automatic changelog update 2025-08-26 00:49:38 +00:00
GR1231
a566b4cc84 Fix Smile's hat displacement map (#39824)
Fix Smile's head displacement map
2025-08-25 20:48:31 -04:00
PJBot
5c821f32de Automatic changelog update 2025-08-26 00:45:08 +00:00
ToastEnjoyer
2f752f2e59 Fixed pacified people using the laser carbine (#39891) 2025-08-25 17:44:01 -07:00
PJBot
652190ff32 Automatic changelog update 2025-08-25 18:07:05 +00:00
Princess Cheeseballs
e8320cc9d8 [Bugfix] Fix topical self healing time multiplier not working (#39883)
* Commit

* Fix 2

* Prettier

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-08-25 11:05:55 -07:00
Ed
22edc77004 forgot this one 2025-08-25 20:46:10 +03:00
Red
4debb114e5 Magic system refactor part 1 (#1709)
* Refactor pacified block logic to action system

Moved pacified block functionality from magic spell components to the new CP14ActionSystem and related components. Removed CP14MagicEffectPacifiedBlockComponent and its logic, and introduced CP14ActionDangerousComponent for handling pacified checks. Updated examine and checks logic to use the new action-based components, improving separation of concerns between magic and action systems.

* finish pacified

* mobtargetstate refactor

* skillpoint cost refactor

* somaticAspect refactor

* material cost refactor

* mana cost now

* stamina cost

* SSD + verbal aspect

* religion

* music tool refactor

* vampire

* get rid of this event

* manacost refac

* Remove magicType field from spell definitions

Eliminated the 'magicType' property from all CP14MagicEffect components in spell YAML files across Electric, Fire, Life, Light, and Water categories. This streamlines spell configuration and may reflect a change in how magic types are handled in the system.

* Remove mana cost reduction effects from skill tiers

Eliminated the ModifyManacost effects from tier 2 and tier 3 skills in electromancy, healing, hydrosophistry, illusion, and pyrokinetic. This change standardizes skill progression and may be part of a balance update to mana cost mechanics.

* comment out T3 tiers

* namespace refactor

* fix hands
2025-08-25 20:40:10 +03:00
Ed
f77aec1720 Update water_creation.yml 2025-08-25 17:24:41 +03:00
Ed
add7fc6362 Update water_creation.yml 2025-08-25 17:12:41 +03:00
Ed
b13769a82c adapt codebase 2025-08-25 17:00:57 +03:00
Kyle Tyo
ffc7cc5e5d Combine AdminFrozenSystem in shared. (#39885)
commit
2025-08-25 15:49:27 +02:00
Ed
b8b17f7b8a Merge remote-tracking branch 'upstream/stable' into ed-25-08-2025-upstream-sync
# Conflicts:
#	.github/CODEOWNERS
#	Content.Client/UserInterface/Systems/Actions/Controls/ActionButton.cs
#	Content.Server/Administration/Systems/AdminVerbSystem.Antags.cs
#	Content.Server/Chat/Systems/ChatSystem.cs
#	Content.Server/Explosion/EntitySystems/TriggerSystem.cs
#	Content.Server/Nutrition/EntitySystems/SliceableFoodSystem.cs
#	Content.Shared/Lock/LockSystem.cs
#	Content.Shared/Nutrition/Components/FoodComponent.cs
#	Content.Shared/Speech/ListenEvent.cs
#	Resources/Prototypes/Entities/Effects/admin_triggers.yml
2025-08-25 16:22:32 +03:00
CrystallEdge Server
2a12c707cf Automatic changelog update 2025-08-25 02:04:29 +03:00
Red
0a3bd9baba Adjust day/night cycle logic and lighting parameters (#1705)
Increased minimum light level and updated sun shadow directions for smoother transitions. Changed light curve calculation to use cosine, adjusted day detection threshold, and added a console command to check current light level. Renamed and fixed logic in CP14IsNight rule. Updated map and prototype files to use new ambient light colors and ensure consistency.
2025-08-25 02:03:24 +03:00
Ed
aa6aa252d3 Comment out Magic Druid Staff loadout and clean up files
The Magic Druid Staff loadout has been commented out in the adventure job loadouts, likely for balancing or removal purposes. Minor formatting and cleanup changes were also made to the vampire locale and demiplane reward rooms files.
2025-08-25 00:25:44 +03:00
M4rchy-S
6c154fb79e Moving FlammableComponent to Shared (#39870) 2025-08-24 13:46:23 -07:00
CrystallEdge Server
3315fb1ac3 Automatic changelog update 2025-08-24 18:37:29 +03:00
Red
2df523061b Respawn button (#1702)
* Add respawn action for ghosts with confirmation popup

Introduces a new respawn action for ghosts, allowing them to return to the lobby and respawn as a new character. Adds supporting systems, localization, prototype definitions, and an icon for the action. The action includes a confirmation popup to prevent accidental use.

* Prevent respawning with the same character in a round

Introduces a system to block players from rejoining a round with a character that has already died, notifying them with a localized message. Refactors and moves respawn-related localization strings to new files for both English and Russian.

* Prevent admins from character reuse restriction

Added a check in CP14RespawnSystem to allow admins to bypass the restriction that prevents the same character from re-entering the round. This ensures that admin users are not limited by the character reuse logic.
2025-08-24 18:36:24 +03:00
PJBot
b168f7be5a Automatic changelog update 2025-08-24 15:03:54 +00:00
Whatstone
b5529ecf2b Batchable lathe jobs, editable lathe job order (#38624)
* batchable lathe jobs, editable order

* requested changes

* LatheComponent comment, menu strings
2025-08-24 17:02:47 +02:00
slarticodefast
30aa61c29c Changeling cleanup and bugfix (#39843)
* fixes and cleanup

* key
2025-08-24 15:50:19 +02:00
Princess Cheeseballs
91a4cee6e1 [Bugfix] Lizard smite fix (#39842)
Fix

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-08-24 09:34:56 -04:00
CrystallEdge Server
ac2eb6f51c Automatic changelog update 2025-08-24 15:59:40 +03:00
Red
3c534069a4 Random tweaks (#1701)
* weather overlay offset

* sack head clothing

* remove raid

* less mushrooms, less muhrooms hat

* Update CP14VampireRuleSystem.cs

* Update base_clothing.yml

* fix

* Revert "Update base_clothing.yml"

This reverts commit e51d13fe77.

* Update backpacks.yml

* ашч

* double game preset

* Delete parts.yml

* Update sack.yml

* Update sack.yml

* g

* remove raids

* fuck you
2025-08-24 15:58:35 +03:00
Red
66d382d5ec Update CP14_Changelog.yml 2025-08-24 14:49:29 +03:00
CrystallEdge Server
71501bcc50 Automatic changelog update 2025-08-24 14:46:35 +03:00
Deserty0
50e1351f44 No memes (#1698)
* 2345

* Update mobs.yml

* Update mobs.yml

* Revert "Update mobs.yml"

This reverts commit 6c047a6806.
2025-08-24 14:45:30 +03:00
CrystallEdge Server
b3cf503bb9 Automatic changelog update 2025-08-24 13:52:52 +03:00
Nim
ca7fa7e985 Various leather (#1692)
* various skin

* fix
2025-08-24 13:51:48 +03:00
Kyle Tyo
a8e0001f34 Cleanup of resolves and usings. (#39865)
* commit

* commit
2025-08-24 03:29:55 +02:00
github-actions[bot]
e8c40f54ce Update Credits (#39864)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2025-08-24 02:37:20 +02:00
āda
ab681dbcbb GameRuleOnTrigger (#39845)
* Gaming

* commit

---------

Co-authored-by: iaada <iaada@users.noreply.github.com>
2025-08-24 01:10:55 +02:00
PJBot
69bbf3b599 Automatic changelog update 2025-08-23 22:49:52 +00:00
Kyle Tyo
8d3bbe2b78 Killed a resolve in ClientAdminManager (#39863)
took a resolve out back and shot it
2025-08-24 00:49:44 +02:00
M4rchy-S
4c537b7dfa Fix electricity for Reagent Grinder at Marathon (#39801) 2025-08-23 15:48:39 -07:00
Deserty0
e842b45927 Update CP14DemiplaneMapWindow.xaml (#1699) 2025-08-24 01:43:28 +03:00
Viator-MV
c2a2619e2d SKELETON NERF (#1700)
* Mastery

* nerf
2025-08-24 01:39:39 +03:00
PJBot
114e444ed3 Automatic changelog update 2025-08-23 22:16:36 +00:00
FungiFellow
ed7bea8e01 Inflatable Module (#35100)
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
Co-authored-by: PJB3005 <pieterjan.briers+git@gmail.com>
2025-08-23 15:15:28 -07:00
Kyle Tyo
7429f56bd1 Fix "multiple keys" issue in Textures/Objects/Specific/Medical.rsi (#39861)
Update meta.json
2025-08-24 00:02:41 +02:00
PJBot
958a98814a Automatic changelog update 2025-08-23 20:33:25 +00:00
RedBookcase
5c206ede67 Added more Derelict Cyborgs. (#38159)
* Added more Derelict Borgs.

* minor fix & salvage borg instead of mining borg name.

* I LOVE CAPITALIZATION!

* Fixed Derelict Engineer Cyborg name and added unshaded crystal layer.

* Ordering fixes & other cleanup.

* Updated Derelict Salvage Cyborg Sprites.

* New Salvage borg sprites.

* Updated module comments.

* Update events.yml

Extended the Derelict Syndicate Assault Borg's spawn timer to 25 minutes from 15.

* Fix for new borg hands

* Update events.yml

---------

Co-authored-by: RedBookcase <Usualmoves@gmail.com>
2025-08-23 16:32:15 -04:00
CrystallEdge Server
ca80ede057 Automatic changelog update 2025-08-23 20:11:13 +03:00
gogenych
c632676b4e Temporarily reduced crafting time for all blacksmith recipes (#1676)
* craftTime

* more!
2025-08-23 20:10:08 +03:00
lzk
9880648f22 cleanup material doors (#39851) 2025-08-23 15:00:46 +02:00
CrystallEdge Server
919ece1039 Automatic changelog update 2025-08-23 15:07:48 +03:00
Nim
9fd20a2be4 Bones (#1683)
* bones

* bone remains

* step sound

* sound destruction

* demiplan

* fix
2025-08-23 15:06:42 +03:00
CrystallEdge Server
4ec41d0caf Automatic changelog update 2025-08-23 15:04:38 +03:00
Red
9bda0c85e2 Magic vision nerf (#1697)
* Update ShowHealthBarsComponent.cs

* mana split now can destroy mana trace

* delete aura examine

* Add aura confusion status effect and concealment reagent

Introduces the Confused Aura status effect, which causes entities to leave randomized magical aura imprints. Adds the CP14HideMagicAuraStatusEffectComponent, new localization strings, alert, and reagent (Aura concealment solution) that applies the effect. Updates magic vision logic to support the new effect, and adds related icons and prototype definitions.

* vampire market

* easy vampire clothing craft

* obscure magic trace
2025-08-23 15:03:33 +03:00
Alexsey Bezyuk
5699b4a7a0 Villagers and lumera trade vision (#1657)
* villagers and lumera trade vision

* Revert "Merge branch 'traders_vision_for_villagers' of https://github.com/PhantornRU/crystall-punk-14 into traders_vision_for_villagers"

This reverts commit 7689e87dfb, reversing
changes made to e87e021f1b.

* lumera and workers visions

* Update Resources/Prototypes/_CP14/Roles/Jobs/Artisan/apprentice.yml

* linter fix

* Comments WHY
2025-08-23 15:03:09 +03:00
CrystallEdge Server
2bd8af47eb Automatic changelog update 2025-08-23 12:01:32 +03:00
Viator-MV
d83f532373 nerf (#1695) 2025-08-23 12:00:26 +03:00
CrystallEdge Server
3d8faae8f5 Automatic changelog update 2025-08-23 01:57:06 +03:00
Red
57a7cb30a7 Vampire hotfix (#1696)
* Adjust vampire features and add construction category

Increased vampire skill points from 1 to 3 and removed SendOnlyToOwner override. Updated power punch spell: removed cast slowdown, increased paralyze durations, and raised cooldown. Added new construction category for vampires with English and Russian localization, and updated vampire construction recipes to use this category. Reduced furnace recipe craft times from 4 to 1. Cleaned up unused usings in vampire components.

* Improve vampire skill popups and clan heart features

Added missing popup when no essence is left to gather and improved popup handling for skill point changes. Updated localization for clan progress and essence messages, added WarpPoint to vampire clan heart, and adjusted vampire skill tree structure and UI positions.

* Add vampire hypnosis skill and rebalance vampire content

Introduces the Hypnosys vampire skill and associated spell, including new status effects and alerts for forced sleep. Adjusts vampire skill tree progression, rebalances bite spell effects, modifies construction recipes to use stone instead of iron, and updates entity drop behaviors. Also tweaks skill point defaults and hunger/thirst effect order for plant growth spells.

* Adjust hunger settings and map spawner modifiers

Removed baseDecayRate and starvationDamage from Hunger components for NightChildrens, Devourers, and Unnameable in subgamemodes.yml. Updated comoss.yml and venicialis.yml to replace or add spawner modifiers, introducing Boar and Rabbits while removing EnemyFlem, MonsterMosquito, and MobSlimeIce.

* Add SSD block to magic system and vampire bite spell

Introduced CP14MagicEffectSSDBlockComponent to prevent magic use on SSD (disconnected) players. Updated the magic system to check for SSD status and added localization strings for SSD block messages in English and Russian. Applied the SSD block effect to the vampire bite spell. Also fixed a typo in the PacifiedBlockComponent filename.

* Make blood reagents unrecognizable and adjust effects

Set all blood reagent variants to 'recognizable: false' to prevent easy identification. Simplified and unified damage effects for blood reagents, removing some specific reactions and adjusting damage groups, particularly for vampire-related blood types. Also fixed a duplicate 'allowedStates' key in the vampire bite spell action.

* Enable map initialization and clean up power punch spell

Changed map creation in Demiplane and CrashToWildlands systems to run map initialization by setting runMapInit to true. Removed redundant map initialization check in CP14SpawnProceduralLocationJob. Also removed the CP14ActionSpellVampirePower2 entity from the vampire power punch spell prototype.
2025-08-23 01:56:01 +03:00
PJBot
9dd071691d Automatic changelog update 2025-08-22 22:38:59 +00:00
slarticodefast
a13d5916bf Fix admin objects tab (#39832)
fix objects tab
2025-08-22 15:37:51 -07:00
PJBot
0da1eee245 Automatic changelog update 2025-08-22 22:27:55 +00:00
ViolentMonk
91fc0f4378 Invert HasMouthAvailable check (#39834) 2025-08-22 15:26:48 -07:00
PJBot
e4e883a528 Automatic changelog update 2025-08-22 22:09:42 +00:00
Kittygyat
cfdf330a99 Made moths less vulnerable to flames (#39672)
* Made moths less vulnerable to flames

* Approval

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-08-22 15:08:35 -07:00
Perry Fraser
8206126fb2 feat: add verb for smartfridge item insertion (#39807) 2025-08-22 22:33:04 +02:00
Pieter-Jan Briers
73a5c45c49 Fix texture sprite specifiers to RSI PNGs (#39783)
These aren't available when packaged anymore.
2025-08-22 22:21:23 +02:00
CrystallEdge Server
d00270d2ed Automatic changelog update 2025-08-22 18:47:33 +03:00
Red
906033633e Vampire clan battle gamemode (#1672)
* vampire returns + transformstions redo

* carcat fangs fix + greetings music update

* vampire skill trees

* Blood essence gathering

Introduces the vampire blood essence mechanic, including the CP14SpellVampireGatherEssence spell, new skill point consumable component, and related UI/localization updates. Adds clientside effects for spell casting, new vampire skill and action, and refines skill point gain/loss popups. Also restructures vampire components, updates spell logic for client/server prediction, and removes unused parallax files.

* perma damage

* Add skill point cost to magic system and vampire essence spell

Introduced CP14MagicEffectSkillPointCostComponent to allow magic effects to consume skill points. Updated the shared magic system to handle skill point checks and consumption. Added a new vampire spell for creating blood essence, including new icons and localization. Adjusted vampire component to grant and remove skill points, and updated related skill tree and spell prototypes. Minor fixes and refactoring in spell logic and descriptions.

* blood step + blood vision skills

* vampire clans icons

* 50 players limit + vampire objectives

* fixes

* devourers altar transmutation

* Remove StealTarget component from animal, dino, and mole NPCs

The StealTarget component and associated stealGroup were removed from boar, dinosaur, and mole NPC definitions. This likely disables these entities from being targeted for stealing, possibly to adjust gameplay balance or fix unintended behavior.

* fix

* essence creation improve

* altars

* voice masks

* transmutation fix

* teleportation glyph

* crimson candles

* candle crafting

* fix pointer predictions

* Add Vampire Clan Battle gamemode and update vampire roles

Introduces the 'Vampire Clan Battle' gamemode with new localization in English and Russian, updated game preset definitions, and secret weights. Refactors vampire antagonist briefings and objectives for multiple clans, adjusts vampire role preferences and team settings, and reduces the damage of the Vampire Gather Essence spell. Also includes minor improvements to spell and game mode descriptions, and corrects file naming for game preset locales.

* powerful kicks in

* time gates + vampire tree

* vampire proto faction

* fix

* fixes

* tree progression

* search enemy

* Update CP14SharedVampireSystem.cs

* blood essence gathering redo

* essence gathering refactor 2

* blood healing

* Update secret_weights.yml

* tree planting

* boodgrass

* tree upgrade announcement

* construction graph integration

* delete transmutation system

* workbench crafting returns

* cloaks crafting + cloak invisibility

* make vampire tree is generic red tree (sad)

* clan heart sprite

* Refactor vampire tree to clan heart system

Replaces the CP14VampireTreeComponent with CP14VampireClanHeartComponent, updating all related logic, appearance, and localization. Adjusts skill requirements, examination, and level progression to use the new clan heart system. Updates entity prototypes, visuals, and adds new orb sprites for clan heart levels. Localization strings and logic are updated to reflect the new terminology and mechanics.

* Update SpeciesBlacklist.cs

* Refactor vampire clan heart and remove tree spell

Refactored the vampire clan heart to support essence regeneration over time and adjusted level thresholds. Removed the vampire tree planting spell and related prototype fields, as well as unused tree system code. Updated localization, entity prototypes, and faction definitions to reflect these changes.

* Add clan heart construction for vampire clans

Introduces construction graphs, entities, and conditions for building unique clan hearts for each vampire clan (Unnameable, Devourers, NightChildrens). Adds new construction conditions (all clan vampires required, singleton enforcement), updates skill tree to unlock constructions, and removes the now-obsolete CP14MagicEffectAllVampireClanRequiredComponent. Also adds new frame sprites and updates localization and prototype files accordingly.

* level up vfx

* VFX + lobby track

* orb resprite

* sprites

* Add vampire altar mechanics and improve clan heart behavior

Introduces the CP14VampireAltarComponent and altar entity, which doubles blood essence extraction when victims are strapped to the altar. Adds a custom explosion behavior for vampire clan hearts upon destruction, updates construction graphs and recipes for altars, and improves localization. Also refines skill description handling and adjusts vampire bite action text.

* essence get when heart destruction

* Add clan heart damage and destruction announcements

Introduces announcements for when a vampire clan heart is damaged or destroyed, with cooldown to prevent spam. Refactors examination logic and updates localization files for both English and Russian to support new messages and sender formatting.

* glyph adaptation

* resurrection

* Add round end summary for Vampire Clan Battles

Implemented detailed round end text for the Vampire Clan Battles game mode, displaying victory, defeat, or draw outcomes based on surviving factions and population percentage. Refactored alive player percentage logic into a shared method and updated localization files with new outcome messages in English and Russian. Also removed an unused field from the defence condition component.

* Update vampire_cloak.yml

* fix

* fix

* Update portal_glyph.yml
2025-08-22 18:46:28 +03:00
Nim
ac52adb87a fix count (#1685) 2025-08-22 18:06:38 +03:00
CrystallEdge Server
35ea523e20 Automatic changelog update 2025-08-22 18:03:20 +03:00
Morb
2798be4c5d Make elfs & silvas always use female displacement (#1691) 2025-08-22 18:02:14 +03:00
PJBot
9ff62c9fe2 Automatic changelog update 2025-08-22 10:12:15 +00:00
Alkheemist
49e0157325 Adds stencil lettering to the spraypainter (#39701)
* adds stencil lettering to the spraypainter

* update decal IDs to match convention
2025-08-22 12:11:07 +02:00
PJBot
c55157f27b Automatic changelog update 2025-08-22 10:05:39 +00:00
Dinner
d61ebf2c87 Fix grenades not playing sounds when detonating (#39815)
fix grenade sounds
2025-08-22 12:04:29 +02:00
āda
027ec912f2 Recolor Mime and Musician job icons (#39775)
cherry pick from DinnerCalzone/icons

Resprite Service job icons to match each other

Co-authored-by: iaada <iaada@users.noreply.github.com>
2025-08-21 23:56:46 -04:00
slarticodefast
d4f96fd1c6 predict morgue and crematorium (#39293) 2025-08-21 16:49:50 -07:00
Morb
42afa7b754 Make IsDayNow method and return silva photosynthesis (#1648)
* Make is day method and return silva photosynthesis

* Disable CP14MagicEnergyDraw
2025-08-22 01:28:10 +03:00
PJBot
be62e08de4 Automatic changelog update 2025-08-21 20:13:23 +00:00
Southbridge
f67cebf7a4 Admin Log Browser Improvements (#39130) 2025-08-21 22:12:16 +02:00
SolidSyn
002d9272e6 Fixed a typo involving the Space Lizard Plushie (#39808) 2025-08-21 11:41:36 -07:00
Viator-MV
4a5bc15bd8 Good fire skele (#1680)
* Revert "fire magic bad skele (#1679)"

This reverts commit b130d8aeec.

* skelehehehe

* kit conversation
2025-08-21 16:03:57 +03:00
slarticodefast
9c546a0072 Predict Mind Roles (#39611) 2025-08-21 03:10:07 +02:00
Princess Cheeseballs
b124d0def5 Cane Sword Priority Fix (#39795)
GOTTA GO FAST

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-08-20 18:09:06 -07:00
PJBot
ac09e16765 Automatic changelog update 2025-08-21 01:04:01 +00:00
TheFlyingSentry
3d0573e7c8 Added Hemophilia Trait (#38224)
Co-authored-by: ScarKy0 <scarky0@onet.eu>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-08-21 03:02:54 +02:00
PJBot
96d3b4bb29 Automatic changelog update 2025-08-21 00:44:13 +00:00
Mora
cd0cc72157 Impaired Mobility Disability (#39398)
* Implements mobility impairment

* Implements mobility impairment

* Implements mobility impairment

* Removed white cane related stuff (impaired cane replacement and removed mobility aid component)

* fix development.toml

* Implements slower standing

* Prevent speed stacking by checking if the entity is already holding a mobility aid

* Move all speed handling into ImpairedMobilitySystem, added comments, made it so wielding a mobility aid doesn't grant the recovery benefit

* Move all speed handling into ImpairedMobilitySystem, added comments, made it so wielding a mobility aid doesn't grant the recovery benefit

* remove unused file

* Shorten description

* Apply suggestions

Co-authored-by: Princess Cheeseballs <66055347+Princess-Cheeseballs@users.noreply.github.com>

* Suggestion cleanup

* formatting fix and removed extra datafield stuff

* added comment, fixed slashes, yadda yadda

* summary comments

* removed a word

* Add trait to clone whitelist

* Fix clone.yml

* my own review

---------

Co-authored-by: Princess Cheeseballs <66055347+Princess-Cheeseballs@users.noreply.github.com>
Co-authored-by: ScarKy0 <scarky0@onet.eu>
2025-08-20 17:43:06 -07:00
slarticodefast
d286a70d47 cleanup changeling namespaces and prototypes (#39794) 2025-08-21 02:42:42 +02:00
PJBot
e5011cb305 Automatic changelog update 2025-08-20 23:35:50 +00:00
Prole
f78280501a Moving Zombie Components to Shared (#39791)
* Moving Comps to Shared

* Requested Changes
2025-08-21 01:35:38 +02:00
Kowlin
def514bb3b Fix tricky nades not emitting their sounds. (#39792) 2025-08-21 01:34:40 +02:00
Perry Fraser
9b8fa1af6f fix: spellbooks can have charges ≠ 3 (#38769)
* fix: spellbooks can have charges ≠ 3

* refactor: just make setting MaxCharges an api thing

* refactor: don't auto-add LimitedCharges

* Small stuff

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-08-20 15:47:31 -07:00
Copilot
5182c59fc5 Fix inconsistent cotton clothing names in Russian localization (#1689)
* Initial plan

* Fix inconsistent cotton clothing names in Russian localization

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

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: TheShuEd <96445749+TheShuEd@users.noreply.github.com>
2025-08-21 00:55:28 +03:00
Nemanja
dd74bfc083 Remove BodyComponent check from MobPrice test (#39786) 2025-08-20 12:25:53 -07:00
Nim
0d976a80b3 damageModifierSet (#1688) 2025-08-20 20:51:07 +03:00
slarticodefast
d1916fa4d3 Revert "Fix: Untoggle removed actions" (#39776)
Revert "Fix: Untoggle removed actions (#39526)"

This reverts commit e90fac14eb.
2025-08-20 09:33:14 -07:00
slarticodefast
2bbff7f8c0 Cleanup subdermal implant code (#39755) 2025-08-20 13:52:03 +02:00
PJBot
db84d766e9 Automatic changelog update 2025-08-20 11:09:38 +00:00
Princess Cheeseballs
47dd036ef2 Prevent shoe buffs while crawling (#39648)
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-08-20 13:08:31 +02:00
Tayrtahn
95b0df9a89 Fix nuke disk getting lost when polymorphed holder is deleted (#36058)
* Delete original entity when polymorph is deleted

* Switch to EntityTerminatingEvent

* Add RevertOnDelete option to PolymorphPrototype

* Fix error on server shutdown while polymorphed

* Set RevertOnDelete to false by default

* AsNullable

* Revert "Set RevertOnDelete to false by default"

This reverts commit 087c43fbb923c9369c61c9d001e18814b3de3aca.

* Use pattern matching instead of .Value
2025-08-20 00:02:41 -07:00
Perry Fraser
b317d7514f fix: don't do emergency shuttle stuff in lobby (#38732) 2025-08-19 23:52:52 -07:00
PJBot
d0b0a4a926 Automatic changelog update 2025-08-19 23:05:31 +00:00
Samuka-C
a26a18243f fix upload console (#39756)
* fix upload console

* make it smaller

* even smaller

* revert last commit

* Update

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-08-19 16:04:24 -07:00
lzk
3f14ceec0f fix performer's suit sprites (#39722) 2025-08-19 18:40:52 -04:00
M4rchy-S
2659e421c0 Fixing foam dart sprite in hands (#39758) 2025-08-19 18:39:25 -04:00
Winkarst-cpu
e90fac14eb Fix: Untoggle removed actions (#39526)
* Fix

* Update Content.Shared/Actions/SharedActionsSystem.cs

Co-authored-by: LaCumbiaDelCoronavirus <90893484+LaCumbiaDelCoronavirus@users.noreply.github.com>

---------

Co-authored-by: LaCumbiaDelCoronavirus <90893484+LaCumbiaDelCoronavirus@users.noreply.github.com>
2025-08-19 15:30:55 -07:00
PJBot
f2d512e19a Automatic changelog update 2025-08-19 20:32:09 +00:00
Nox
325f0e45fa Viable Canesword (#39586)
* Buffed canesword damage to 16, cost to 3.

Signed-off-by: Nox38 <nebulousnox38@gmail.com>

* Increased sale price from 1 to 2 TC, increased damage from 16 to 17 to match cap saber.

Signed-off-by: Nox38 <nebulousnox38@gmail.com>

---------

Signed-off-by: Nox38 <nebulousnox38@gmail.com>
2025-08-19 13:31:02 -07:00
PJBot
32ad429b8f Automatic changelog update 2025-08-19 19:19:15 +00:00
Princess Cheeseballs
da23bc9dcc Crawling Fixes Part 4: Can't crawl when weightless. (#39099)
* Init Commit

* Typos

* Commit 2

* Save Interaction Test Mob from failing

* ssss

* Confident I've gotten all the correct prototypes

* Whoops forgot to edit those

* aaaaa

* Better solution

* Test fail fixes

* Yaml fix

* THE FINAL TEST FIX

* Final fix(?)

* whoops

* Added a WeightlessnessChangedEvent

* Check out this diff

* Wait I'm dumb

* Final optimization and don't duplicate code

* Death to IsWeightless

* Moth directed targeted attack

* A

* Bugfixes and such

* Grrr

* Death

* Cleanup

* Cleanup 2

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-08-19 12:18:05 -07:00
Princess Cheeseballs
9de76e70c7 EVENT BASED WEIGHTLESSNESS (#37971)
* Init Commit

* Typos

* Commit 2

* Save Interaction Test Mob from failing

* ssss

* Confident I've gotten all the correct prototypes

* Whoops forgot to edit those

* aaaaa

* Better solution

* Test fail fixes

* Yaml fix

* THE FINAL TEST FIX

* Final fix(?)

* whoops

* Added a WeightlessnessChangedEvent

* Check out this diff

* Wait I'm dumb

* Final optimization and don't duplicate code

* Death to IsWeightless

* File scoped namespaces

* REVIEW

* Fix test fails

* FIX TEST FAILS REAL

* A

* Commit of doom

* borgar

* We don't need to specify on map init apparently

* Fuck it

* LOAD BEARING COMMENT

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-08-19 14:35:09 -04:00
Samuka-C
5cd9ba6016 Xenoborgs part 6 (#39595) 2025-08-19 11:28:52 -07:00
PJBot
dcbbce52b6 Automatic changelog update 2025-08-19 17:57:44 +00:00
Winkarst-cpu
021adbe1e1 New Feature: Kitchen spike rework (#38723)
* Start

* Wow, text

* Ultra raw

* More stuff

* Wow, DOT and gibbing!!!

* More stuff

* More

* Update

* Yes

* Almost there

* Done?

* I forgot

* Update

* Update

* Update

* Update

* Update

* Update

* Update

* Update

* Update

* Beck

* Unhardcode
2025-08-19 10:56:36 -07:00
Samuka-C
de240e1739 Xenoborgs part 5 (#37068)
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
Co-authored-by: Quantum-cross <7065792+Quantum-cross@users.noreply.github.com>
Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
Co-authored-by: WarPigeon <DaedalusTheGamer@gmail.com>
2025-08-19 18:23:47 +02:00
Winkarst-cpu
be2eeb3cb1 Cleanup: Un-hardcode reagents standout (#39752) 2025-08-19 10:40:21 -04:00
B_Kirill
438090a505 Cleanup warnings: CS0414 (#39748)
* Cleanup

* Fix
2025-08-19 09:42:54 +02:00
Nox
a491718be6 Rebuilt Box Armory (#39733)
Rebuilt Box armory

Signed-off-by: Nox38 <nebulousnox38@gmail.com>
2025-08-19 00:19:05 -06:00
IProduceWidgets
8768074706 More informative changeline devour armor text (#39745)
more informative armor text
2025-08-19 03:36:28 +02:00
MarkerWicker
3323a17b3d predict StackSystem GetVerbsEvent (#39741) 2025-08-18 16:49:25 -07:00
Deserty0
046847b6e5 Fix translation (#1682)
* Update RobustToolbox

* Revert "Update RobustToolbox"

This reverts commit dc7e25e8f7.

* Update modifiers.ftl

* FUCK.
2025-08-19 01:07:46 +03:00
PJBot
020f25139c Automatic changelog update 2025-08-18 20:43:48 +00:00
SlamBamActionman
47cf99fb7e Fix medipen injectors not respecting entity identity (#39735)
* Remove StaminaResistance from places where it should not be

* I lost a nukie round because of this bug

* Who put the god damn changes on the god damn branch
2025-08-18 22:42:40 +02:00
PJBot
87705e0335 Automatic changelog update 2025-08-18 20:27:36 +00:00
Princess Cheeseballs
6b73d320b9 [NEW STATUS SYSTEM] Drunkenness, Stuttering, Slurred Speech, and Bloodloss (#38678)
* The only commit that matters

* I had to stop playing with my cat to push this change

* Yaml removal

* Proper drunk status effect and remove shitcode

* Review changes

* whoops

* Whoops x2

* Update master fix merge conflicts

* Fix merge conflicts

* Dunk Component kill

* MORE RELAYS

* Holy fucking breaking changes

* Ough

* 46 file diff

* Fix bad commits

* Erm what the test fail?

* Fix those last two

* Merge conflicts

* Me when I fix the merge conflicts

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-08-18 16:26:29 -04:00
slarticodefast
d737e39a98 cleanup LockOnTriggerComponent (#39720)
* cleanup LockOnTriggerComponent

* comment

* indentation
2025-08-18 13:21:33 -07:00
PJBot
fedba2425b Automatic changelog update 2025-08-18 18:59:40 +00:00
slarticodefast
5a5b81f7dc Fix rebinding keys crashing the game (#39732)
fix control settings
2025-08-18 11:58:30 -07:00
Zokkie
aa4ca4199a Minor fix to give Lone Operatives the correct roletype (#36521)
* Gives loneop the proper mindrole

* Moved the entity to a more logical position. It was above the parent entity in the .yml file. It is now below it.

* Added requested changes
2025-08-18 20:57:30 +02:00
PJBot
fdfdecf57b Automatic changelog update 2025-08-18 18:23:23 +00:00
beck-thompson
d38d2e209a Rebalance infiltrator (Nukie ship) (#39091) 2025-08-18 11:22:15 -07:00
SlamBamActionman
342fc84f16 Hotfix: Camera offset for "Separated Chat" HUD fix & targetting fix (#35087)
* Initial commit

* Fix everything

* Comment and remove unused dependencies

* Update comments for consistency

---------

Co-authored-by: PJB3005 <pieterjan.briers+git@gmail.com>
2025-08-18 11:22:02 -07:00
slarticodefast
b31cc60100 add myself to codeowners for the trigger system (#39725)
add myself to codeowners
2025-08-18 09:44:51 -07:00
SlamBamActionman
ac0c1d518e PR stable to master (#39729) 2025-08-18 18:04:38 +02:00
Hitlinemoss
9a4247c609 Added "highly illegal" contraband to guidebook (#38176)
* Added extreme contraband to guidebook

* Extreme -> Highly Illegal

* Whoops, one-letter typo

* Fixed a capital letter while I'm here
2025-08-18 17:51:33 +02:00
PJBot
0a1c17cbc8 Automatic changelog update 2025-08-18 14:34:23 +00:00
SlamBamActionman
c0b739d1dc Remove StaminaResistance from cardboard armor (#39727)
Remove StaminaResistance from places where it should not be
2025-08-18 16:33:16 +02:00
Kit
c598d25bdb i forgor translation of cackle (#1681) 2025-08-18 23:31:28 +10:00
PJBot
9b9ea3b40d Automatic changelog update 2025-08-18 12:23:43 +00:00
ScarKy0
14f949c311 Jumpability collisions (#39710) 2025-08-18 14:22:36 +02:00
CrystallEdge Server
24d21fad8d Automatic changelog update 2025-08-18 11:42:39 +03:00
Kit
7d29519922 Cackle: EVIL PLANT THAT WANTS TO STEAL YOUR BLOOD (#1602)
* bleeding toxin

* cackle itself

* sprites

* spike

* Cackle now spawn

* lower danger points

* color change

* new demis

* more cackle changes to new system

* hope fix conflict

* try 2

* try 3

* try 4

* try 5

* try 6

* try 6

* undo try 6

* clumsy cackle

* changes

---------

Co-authored-by: Red <96445749+TheShuEd@users.noreply.github.com>
2025-08-18 11:41:34 +03:00
PJBot
2ecc3b85c4 Automatic changelog update 2025-08-18 04:34:44 +00:00
beck-thompson
f525bdbb83 Rebalance nukie planet (#39090) 2025-08-18 00:33:37 -04:00
beck-thompson
1bed929298 Add new nukeops spawners! (#39088) 2025-08-17 19:52:27 -07:00
PJBot
ba44a88f07 Automatic changelog update 2025-08-18 00:26:34 +00:00
psykana
c59f7a5363 Fix ninja spawning with jetpack internals (#35067)
Remove redundant StartingGearEquippedEvent
2025-08-17 17:25:26 -07:00
Kit
b130d8aeec fire magic bad skele (#1679)
* fire magic bad

* same with you demiplane skele wiz
2025-08-18 03:00:08 +03:00
BadaBoomie
d9f125787e Teaches tacos how to spell (#39717) 2025-08-17 16:51:36 -07:00
slarticodefast
e16bca5b18 Hand pickup and drop triggers (#39663) 2025-08-17 16:47:26 -07:00
John
9d32e7db4e Atmos Firesuit Vox sprites (#39705) 2025-08-17 15:59:22 -07:00
CrystallEdge Server
7a71163f7c Automatic changelog update 2025-08-18 01:20:07 +03:00
Viator-MV
26202ed324 Skeleton inteligence (#1447)
* help me ed

* skills

* god defence

* lantern gaze

* mask nerf

* tomer

* move lamp

* oops

* i hate new night vision

* like this?

* meh

* wizard

* atheism

* memory of health
2025-08-18 01:19:02 +03:00
CrystallEdge Server
db07ae15fe Automatic changelog update 2025-08-18 01:11:23 +03:00
Nim
9e4f3fbfb2 The lor book of religion (#1673)
* book religion

* Imitators of the Gods

* fix bold
2025-08-18 01:10:17 +03:00
Nim
838092b497 price of artefacts (#1674) 2025-08-18 01:09:29 +03:00
Myra
dc86665c24 Stable (#39712) 2025-08-17 23:39:23 +02:00
Errant
cced1b9a50 unbreak StandingStateSystem 2025-08-17 23:23:37 +02:00
IProduceWidgets
81aef0fb1c update oasis -- AI rework (#39592) 2025-08-17 14:13:57 -07:00
Errant
7abb022b64 Merge branch 'staging' into stable 2025-08-17 22:53:52 +02:00
github-actions[bot]
4ba66a5427 @gogenych has signed the CLA in crystallpunk-14/crystall-punk-14#1676 2025-08-17 19:49:19 +00:00
Tayrtahn
8034cabbae Fix error when deleting a toggled ToggleableClothingComponent (#39191) 2025-08-17 12:34:47 -07:00
PJBot
79072d7d6a Automatic changelog update 2025-08-17 19:31:47 +00:00
Velcroboy
02f37a8eec Allow hamster cages to sit on tables (#37953)
Co-authored-by: Velcroboy <velcroboy333@hotmail.com>
2025-08-17 12:30:40 -07:00
PJBot
af8295413b Automatic changelog update 2025-08-17 19:26:38 +00:00
August Sun
3d35435747 Allows disabler, practice disabler, disabler SMG, and practice laser rifle to be used by pacifists (#37164)
Co-authored-by: august-sun <45527070+august.sun@users.noreply.github.com>
2025-08-17 12:25:31 -07:00
Hannah Giovanna Dawson
26badb7914 Update OpenTK to latest (#39227)
Co-authored-by: PJB3005 <pieterjan.briers+git@gmail.com>
2025-08-17 21:24:42 +02:00
ArtisticRoomba
497a5956a0 fix cl (#39706) 2025-08-17 12:18:16 -07:00
K-Dynamic
5630bf6bde Removes duplicate CE and paramedic jumpsuits (#39520) 2025-08-17 12:15:38 -07:00
ruddygreat
d58ef22d62 Make diagonal grilles transparent (#39580)
* tiny fix

* also fix the window bug

---------

Co-authored-by: ruddygreat <ruddygreat1@gmail.com>
2025-08-17 12:09:15 -07:00
PJBot
9f83cc7671 Automatic changelog update 2025-08-17 19:01:57 +00:00
Nox
8e34228309 Packed Station - North East Overhaul (#38339)
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-08-17 12:00:48 -07:00
PJBot
367156fba3 Automatic changelog update 2025-08-17 18:52:10 +00:00
Stefano Pigozzi
514c28137c Fix typo and make capitalization consistent in fax names (#39455) 2025-08-17 11:50:57 -07:00
Tayrtahn
5ea928863f Cleanup warnings in ChatSystem (#36773)
* Cleanup warnings in ChatSystem

* fix after merge

---------

Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
2025-08-17 08:39:23 -04:00
github-actions[bot]
5bf44ea033 Update Credits (#39697)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2025-08-17 03:14:28 +02:00
PJBot
1b16a83748 Automatic changelog update 2025-08-16 23:05:19 +00:00
youtissoum
01f4f0cf14 Increase the bananium horn use delay (#39674)
Increase bananium horn use delay to 3 seconds
2025-08-17 01:04:12 +02:00
ViolentMonk
6e8260cf3f Trigger for OnInteractUsing (#39692)
* Add trigger for InteractOnUsing

* Add blacklist and targetUsed fields

* Update Content.Shared/Trigger/Components/Triggers/TriggerOnInteractUsingComponent.cs

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-08-16 23:57:16 +02:00
Zeneganto
201bc6cc5c Swap ExudeGasses and ConsumeGasses (#39688)
Uh, um
2025-08-16 23:01:04 +02:00
slarticodefast
bd05e10a2e Merge staging into master (#39694) 2025-08-16 22:14:14 +02:00
slarticodefast
85158a3d48 Fix industrial reagent grinder bug, second attempt (#39690)
* fix recycler 3

* Update Resources/Prototypes/Entities/Structures/Machines/reagent_grinder.yml
2025-08-16 21:54:15 +02:00
CrystallEdge Server
583c26a55b Automatic changelog update 2025-08-16 19:45:41 +03:00
Kit
22ac60a5d3 More spell balance (#1671)
* NERFS!!!!!

* BUFFS!!!!

* hell ballade rebalance

* Pacifist block

* fix
2025-08-17 02:44:33 +10:00
ScarKy0
529d7ff292 Predict MessyDrinker (#39660)
init
2025-08-16 17:03:50 +02:00
Artxmisery
71f5c2d665 Equip and unequip triggers (#39675)
* added equip and unequip triggers for equipment and equipee

* Update Content.Shared/Trigger/Components/Triggers/TriggerOnDidEquipComponent.cs

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-08-16 15:50:32 +02:00
PJBot
0947e2cd22 Automatic changelog update 2025-08-16 07:01:08 +00:00
EnrichedCaramel
05aad3bfd2 Expand soap making, but better (#39303)
* Add lye reagent and its recipes

* Move and add soap recipes

* Add temperature to soap recipes

* Silly comments

* Remove NaHO based lye recipe due to sigynate recipe conflict.

* Typo

* Typo, again

* Change lye color and description
2025-08-15 23:59:58 -07:00
PJBot
6af3698c1f Automatic changelog update 2025-08-16 01:51:20 +00:00
CoolioDudio
d4f8568e50 Added baby and cube hair (awesome) (#39680)
* Added baby and cube hair (awesome)

* added yml and ftl (oops)

* Update cube.png

Made cube smaller
2025-08-15 18:50:13 -07:00
Blaine Pavlock
3e84efb051 Tabs in the Credits window only populate once (#39667)
* Tabs in the Credits window only populate once

* Changed functions to RemoveAllChildren()
2025-08-15 14:55:38 -07:00
beck-thompson
a8d6dbc324 Added button and manager for in game bug reports (Part 1) (#35350)
* Added the button and manager

* Minor cleanup

* Reigstered to the wrong thing!

* Unload UI

* Address the review

* First commit :)

* Some cleanup

* Added some comments and now the placehoder text goes away once you start typing

* Some cleanup and better test command

* Basic rate limiter class (Not finished)

* Cleanup

* Removed forgotten comment xD

* Whitespace removal

* Minor cleanup, cvar hours -> minutes

* More minor tweaks

* Don't cache timer and add examples to fields

* Added CCvar for time between bug reports

* Minor crash when restarting rounds fixed

* It compiled on my computer!

* Fix comment indents

* Remove unecessary async, removed magic strings, simplfied sawmill to not use post inject

* Make struct private

* Simplfiy TryGetLongHeader

* Changed list to enumerable

* URI cleanup

* Got rid of the queue, used a much better way!

* Made the comments a little better and fix some issues with them

* Added header consts

* Maximum reports per round is now an error message

* Time between reports is now in seconds

* Change ordering

* Change hotkey to O

* only update window when its open

* Split up validation

* address review

* Address a few issues

* inheritance fix

* API now doesn't keep track of requests, just uses the rate limited response from github

* Rough idea of how channels would work

* refactor: reorganized code, placed rate limiter into http-client-handler AND manager (usually only manager-one should work)

* cleanup

* Add user agent so api doesn't get mad

* Better error logs

* Cleanup

* It now throws!

* refactor: renaming, moved some methods, xml-doc cleanups

* refactor: BugReportWindow formatted to convention, enforced 1 updates only 1 per sec

* Add very basic licence info

* Fixed the issues!

* Set ccvar default to false

* make the button better

* fix test fail silly me

* Adress the review!

* refactor: cleanup of entry point code, binding server-side code with client-facing manager

* Resolve the other issues and cleanup and stuff smile :)

* not entity

* fixes

* Cleanup

* Cleanup

* forgor region

* fixes

* Split up function and more stuff

* Better unsubs yaygit add -A

* I pray...

* Revert "I pray..."

This reverts commit 9629fb4f1289c9009a03e4e4facd9ae975e6303e.

* I think I have to add it in the pr

* Revert "I think I have to add it in the pr"

This reverts commit e185b42f570fe5f0f51e0e44761d7938e22e67f7.

* Tweaks

* Minor tweak to permissions

---------

Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
2025-08-15 09:10:38 -07:00
PJBot
890ac9f645 Automatic changelog update 2025-08-15 14:07:58 +00:00
Nemanja
f23e8c2861 Multiantag Gamemode (#37783)
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: Southbridge <7013162+southbridge-fur@users.noreply.github.com>
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
2025-08-15 16:06:51 +02:00
ScarKy0
b2c505df6a Fix instances of predicted randomness (#39661)
init
2025-08-15 15:48:23 +02:00
DrSmugleaf
d08252facb Fix unbuckle admin logs only showing the ids and not names of the entities involved (#39655) 2025-08-15 10:45:41 +02:00
PJBot
766e7e462c Automatic changelog update 2025-08-15 05:57:26 +00:00
FlipBrooke
5bfd1b180a Banana peel headgear fixes (#39457)
* Add wearable helmet sprites for banana and mimana peels

Made it so banana peels and their variants can be worn as head gear. The sprites were done by myself, so feel free to change or update them! Includes hamster compatibility.

* fixed a minor state bug

* Review fixes

- Removed blank space
- Added "FlipBrooke" to all modified meta.jsons, with the added note of which sprites I got the colors from/referenced.

* I forgot a comma

adds a comma and some periods

* Fixes
2025-08-14 22:56:18 -07:00
Winkarst-cpu
2b91f965a2 Add integration test for MobPriceComponent (#39524)
Test
2025-08-14 22:46:27 -07:00
slarticodefast
7a3026b4f8 Throwing triggers (#39650)
throw triggers
2025-08-14 22:33:37 -07:00
PJBot
7a31e3c1f8 Automatic changelog update 2025-08-15 04:23:02 +00:00
ScholarNZL
d4f50c7f0a Animal organs now prefixed with 'animal' (#39228)
* Resolves #38980. Animal organs prefixed with 'animal'

* Add "animal" prefix to arachnid organ types where base-type applies.

* Removed child-level names per Maintainer guidance.

* Helps if I leave the parent name details intact...

* Hidden bonus mouse organ!
2025-08-14 21:21:51 -07:00
Artxmisery
2b31fa98c9 Add container-related triggers (#39647)
* added triggers for when an entity is inserted or removed from a container, for both the entity and the container

* removed unnecessary comments

* consolidated into one shared system for all four triggers

* consolidated into one shared system for all four triggers

* named it right this time

* made container owner user of got triggers and added guard statements

* container id

* Update Content.Shared/Trigger/Components/Triggers/TriggerOnRemovedFromContainerComponent.cs

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-08-15 01:53:48 +02:00
ThatGuyUSA
96cc6a7785 Meat spike conjugation error (#39651)
fixed it!
2025-08-15 00:48:50 +02:00
PJBot
09a8b78919 Automatic changelog update 2025-08-14 17:33:29 +00:00
SlamBamActionman
114d00d1af Rebalance advanced Brute chems, and more (#39472)
* Initial commit

* Update based on feedback

* Minor fix

* Update to match playtest

* Update reaction behavior and test to work; max temp is no longer an inclusive value.

* Revert "Update reaction behavior and test to work; max temp is no longer an inclusive value."

This reverts commit 2a2c4a17a623cc7ddc15b63d91a1b8b441e95cea.

* Incorporate heal values & OD for adv. chems from 39464, revert adv. brutes recipes
2025-08-14 19:32:22 +02:00
slarticodefast
d939b4dec7 RemoveComponentsOnTrigger, ToggleComponentsOnTrigger (#39639) 2025-08-14 16:18:56 +02:00
Simon
72e302dd46 Add myself to codeowners file (#39636) 2025-08-14 13:49:10 +02:00
Studio Fae-Wilds
770dc68a48 Add trigger-refactor components and systems: Batch 1 (#39391)
* Adds the following batch of trigger refactor components and their associated systems:

TriggerOnLand: LandEvent
TriggerOnExamined: ExaminedEvent
TriggerOnUnbuckle: UnbuckledEvent
TriggerOnBuckle: BuckledEvent
TriggerOnStrap: StrappedEvent
TriggerOnUnstrapped: UnstrappedEvent

* Removes unnecessary lines from comment

* Fix comment formatting, corrects grammar and increases comment clarity.

* adds last forgotten edit to comments

* Update Content.Shared/Trigger/Systems/TriggerOnStrappedOrBuckledSystem.cs

Removes unnecessary comments

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

* Update Content.Shared/Trigger/Components/Triggers/TriggerOnBuckledComponent.cs

Increases comment clarity

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

* Update Content.Shared/Trigger/Components/Triggers/TriggerOnExaminedComponent.cs

Increases comment clarity

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

* Update Content.Shared/Trigger/Components/Triggers/TriggerOnLandComponent.cs

Increases comment clarity

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

* Update Content.Shared/Trigger/Components/Triggers/TriggerOnStrappedComponent.cs

Increases comment clarity

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

* Update Content.Shared/Trigger/Components/Triggers/TriggerOnUnbuckledComponent.cs

Increases comment clarity

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

* Update Content.Shared/Trigger/Components/Triggers/TriggerOnUnstrappedComponent.cs

Increases comment clarity

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

* refactored TriggerOnStrappedOrBuckledSystem.cs
removed TriggerOnExaminedSystem.cs and moved it into TriggerSystem.Interaction.cs

Changes currently untested, not sure how to make it so modders can change what method they want sending out the appropriate trigger key but want to save progress working on it and get feedback from maintainers

* Removed component which already exists as part of TriggerSystem.Interaction.cs

* Restores accidentally removed component

* Apply suggestions from code review

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-08-14 09:39:54 +02:00
PJBot
0872c4d7e1 Automatic changelog update 2025-08-14 01:22:43 +00:00
deathride58
1e54f4ca5f In Memoriam - Memorializing those who've passed within the SS13+SS14 community (#39621)
In Memoriam - adds a section to the credits memorializing those who've passed
2025-08-13 21:21:36 -04:00
PJBot
b8b37f44ac Automatic changelog update 2025-08-13 22:47:00 +00:00
slarticodefast
b427e7e8d4 fix lightbulb color (#39623) 2025-08-13 15:45:51 -07:00
Myra
0a991593f5 Revert "Fix: Break do_after if target/tool becomes inaccessible" (#39617) 2025-08-13 22:07:46 +02:00
Nox
b89a406735 Compact Security Jetpacks (#39569)
Made security jetpacks functionally identical to mini jetpacks.

Signed-off-by: Nox38 <nebulousnox38@gmail.com>
2025-08-13 14:48:44 -04:00
PJBot
26e407d35c Automatic changelog update 2025-08-13 17:14:22 +00:00
Nox
cf79477de3 Weapon Resizing (#36473) 2025-08-13 10:13:14 -07:00
Hannah Giovanna Dawson
2cb4e01019 StaminaDamageOnTriggerComponent (#39607)
* InflictStaminaOnTriggerSystem

Surprised this wasn't done alongside the damage one.

* Correct docstring

* Moar docstring changes!!!

* Resolve PR comment

* a

* Update Content.Shared/Trigger/Systems/StaminaDamageOnTriggerSystem.cs

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-08-13 18:50:34 +02:00
Winkarst-cpu
99ad34ed06 Disable the lock/unlock verb if we can't do that (#39605)
* Fix

* Update
2025-08-13 12:52:08 +02:00
slarticodefast
2743dcf67f Move mind role components to shared (#39606) 2025-08-13 12:51:46 +02:00
Winkarst-cpu
1f4dfcdcf9 Predict GetVerbsEvent in PowerSwitchableSystem (#39589)
* Prediction

* Update
2025-08-13 09:54:02 +02:00
Winkarst-cpu
cea8dea005 Fix: Break do_after if target/tool becomes inaccessible (#35079) 2025-08-13 09:35:35 +03:00
āda
024301e698 RandomChance trigger condition (#39543)
* branch names don't matter anyway

* commits are a window to the soul

* requested change

* also requested

* ship it

* remove key

---------

Co-authored-by: iaada <iaada@users.noreply.github.com>
2025-08-13 01:04:29 +02:00
PJBot
dcfdd8914a Automatic changelog update 2025-08-12 23:01:43 +00:00
Perry Fraser
1901fafc50 fix: fix lights not always enabling correctly (#39585) 2025-08-13 01:00:36 +02:00
PJBot
6f2699f521 Automatic changelog update 2025-08-12 22:22:52 +00:00
pathetic meowmeow
39cb27fe21 Borg hands & hand whitelisting (#38668)
* Borg hands & hand whitelisting

* yaml linted

* yaml linted (x2)

* yaml linted (x3)

* my storage tests so pass

* no need for SetCount

* ok new stuff you can get fixed too

* oops

* staque

* what if we addressed feedback

* my place so holder

* what if we addresesd feedback

* what if i did it correctly

* terminating or deleted
2025-08-12 15:21:42 -07:00
āda
8b76ace136 Slightly shorten examine text for splashing a solution with a melee attack (#39428)
smaller text.

Co-authored-by: iaada <iaada@users.noreply.github.com>
2025-08-13 00:17:03 +02:00
UpAndLeaves
9b6cb79fa2 Fix dock radar colours (#38942)
* Fix docking colours

* Add comments and fallback

* Better comments!
2025-08-12 13:09:00 -07:00
ScarKy0
c76d21e973 Fix antag objective assignment (again) (#39565)
init
2025-08-12 11:53:04 -07:00
5tickman
f4325c4235 Removed crazy burger from happyhonk fill table. 2025-08-12 00:24:28 -05:00
5tickman
ac74740ec5 Removed redundant edible components. 2025-08-11 22:39:33 -05:00
Perry Fraser
915d815254 feat: make ReagentId hash by value (#39494) 2025-08-11 15:44:10 -07:00
Princess Cheeseballs
de7486b8db Fix ReagentQuantity Equality check (#39574)
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-08-12 00:38:01 +02:00
PJBot
291a6c9808 Automatic changelog update 2025-08-11 21:07:36 +00:00
metalgearsloth
fd52f698c7 Predict PoweredLights (#36541)
* Move PoweredLight to shared

* Predict the rest of the owl

* reacher

* compinit & anim

* Fix names

* Revert this?

* Fix these

* chicken drummies

* deita

* Fix

* review

* fix

* fixes

* fix PVS weirdness

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-08-11 23:06:28 +02:00
CrystallEdge Server
e87e021f1b Automatic changelog update 2025-08-11 23:47:33 +03:00
Red
e6f5ed2450 Spell pre-examine (#1661)
* examine spells

* fux

* fix
2025-08-11 23:46:28 +03:00
Princess Cheeseballs
3d71ddd1de Merge stable into master (#39572)
DO NOT SQUASH MERGE!!!
2025-08-11 12:56:51 -07:00
slarticodefast
f161b7d386 Reduce LevelOfParallelism to 2 for integration tests (#39566)
less paralelliism
2025-08-11 12:43:57 -07:00
Princess Cheeseballs
661fc00a1f [HOTFIX] Stop players from clipping through Windoors (#39564)
* Don't have standing state edit soft fixtures?

* Bugfix

* Cherry pick acquired

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-08-11 12:43:56 -07:00
slarticodefast
14a45f1cad Reduce LevelOfParallelism to 2 for integration tests (#39566)
less paralelliism
2025-08-11 12:41:53 -07:00
Princess Cheeseballs
0a52ca6ba8 [HOTFIX] Stop players from clipping through Windoors (#39564)
* Don't have standing state edit soft fixtures?

* Bugfix

* Cherry pick acquired

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-08-11 12:41:13 -07:00
āda
a5351b8c77 ExtinguishOnTrigger and TriggerOnInteractHand (#39537)
* simplely one commit

* simplelly two commit

* requested changes

---------

Co-authored-by: iaada <iaada@users.noreply.github.com>
2025-08-11 21:21:11 +02:00
CrystallEdge Server
aa5fe8d4d7 Automatic changelog update 2025-08-11 22:20:37 +03:00
nukkuminen
cef72a3512 Cookbook (#1644)
* starting to add recipe book

* Guidebook for cooking

* added cookbook to the game, and the closet

* fix dishes

* typo fix

* another one

* even more typo fix

* fixing my shit from past

* final fixes to the guidebook

* fixing my mess
2025-08-11 22:19:32 +03:00
Viator-MV
25df43cea4 fixes (#1658) 2025-08-11 22:18:59 +03:00
PJBot
85708cad7f Automatic changelog update 2025-08-11 18:58:47 +00:00
Samuka-C
ed6f906e6f Better robotics console (#38023) 2025-08-11 21:57:39 +03:00
ScarKy0
47d7db0665 Base changeling objective(s) (#39562)
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-08-11 19:13:27 +02:00
PJBot
6ae19340ab Automatic changelog update 2025-08-11 15:44:56 +00:00
Alex
2a46fb474f Oasis: Add atmos network monitor (#39331) 2025-08-11 08:43:47 -07:00
kosticia
9ecb8333f2 Predict suitsensor system (#39325)
* adwadsdwasadwas

* dev

* fix

* review

* some more cleanup

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-08-11 17:35:11 +02:00
Red
d7295d1ae4 Actions examine (#39558) 2025-08-11 17:52:20 +03:00
PJBot
8d0a174b43 Automatic changelog update 2025-08-11 11:01:20 +00:00
Perry Fraser
3654fcf5dd fix: reform dionas via SpawnNextToOrDrop (#39505) 2025-08-11 13:00:12 +02:00
āda
ad5fe5678c Trigger on round end (#39545)
* works if it works

* small rewording

---------

Co-authored-by: iaada <iaada@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-08-11 09:44:36 +02:00
PJBot
936831bfe0 Automatic changelog update 2025-08-10 22:21:36 +00:00
Jessica M
46a0cd9057 Adds rare Hamlet variant: Fragile Hamlet (#39531)
* slippery gib hamlet

* add suffix for easier admeme

* address review

* increase odds

* parent MobHamsterHamlet, predicted emitsound

---------

Co-authored-by: Jessica M <jessica@maybe.sh>
2025-08-10 15:20:26 -07:00
Princess Cheeseballs
458e2d222c Status Effect Alerts and Time Bugfixes (#39529)
* Bugefix

* Clean up

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-08-10 13:55:13 -07:00
āda
7825d30562 Fire stacks trigger (#39530)
* Simple as

* whoops

* not gonna work

* chopped

* missed something

* Better name

* formatting

---------

Co-authored-by: iaada <iaada@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-08-10 21:59:32 +02:00
PJBot
2aca7f62dc Automatic changelog update 2025-08-10 18:11:20 +00:00
beck-thompson
80375370f8 Add voice locks to various hidden syndicate items (#39310) 2025-08-10 11:10:13 -07:00
PJBot
80299e863a Automatic changelog update 2025-08-10 17:50:37 +00:00
Princess Cheeseballs
55335cce0f Crawling Fixes 1: Dragons and Borgs can't do the worm. (#39084)
* Init Commit

* Remove unused code, fix stun visuals bug

* Update Content.Shared/Stunnable/SharedStunSystem.cs

* Some initial changes

* first batch of changes

* Commit

* One line cleanup

* KnockdownStatusEffect ain't worth it.

* Fix 2 bugs

* Fixes

* Remove that actually,

* Commit

* Better solution

* Alright final commit I think

* Add better remarks

* How the fuck did this not get pushed???

* Wait no why was my ryder trying to push that??? I didn't make that change! DON'T DO THAT!!!

* Review

* Don't log that

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
2025-08-10 10:49:29 -07:00
5tickman
03326477a8 Combat box now huge. Reorganize order of abstract, parent, id, and name. Replaced "type: Food" with "type: Edible". 2025-08-10 10:31:19 -05:00
CrystallEdge Server
1b2dc757e0 Automatic changelog update 2025-08-10 17:28:17 +03:00
creamybag
77c5d96ea3 New wild plant sprites. (#1654)
* 1

* 2
2025-08-10 17:27:12 +03:00
Alexsey Bezyuk
25df067d3f Backpacks description and categories (#1647)
* backpacks translation

* leather categories

* linter fix

* Linter please

* Описания

* priority in craft

* priorotize

* eng comment

* Update Content.Client/_CP14/Workbench/CP14WorkbenchWindow.xaml.cs
2025-08-10 17:25:34 +03:00
Morb
44beba9ca6 Convert flem sounds from stereo to mono (#1649) 2025-08-10 17:23:41 +03:00
nukkuminen
4c9f31ef13 Carcat guidebook tweak (#1652)
* English carkat guidebook tweak

* Russian carkat guidebook tweak
2025-08-10 17:23:25 +03:00
github-actions[bot]
4e29107c89 Update Credits (#39512)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2025-08-10 02:45:37 +02:00
PJBot
23e2f997a9 Automatic changelog update 2025-08-09 21:53:17 +00:00
Nemanja
3ffa3ea9d4 Moth displacement map fixes (#39174) 2025-08-09 17:52:06 -04:00
Serylis of Five
3f9d303cfc Mapping - Box station - Tie the RD's disposal bin to the disposals system. (#39507)
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-08-09 13:38:18 -07:00
Nemanja
a4e5d1b211 Network StationMember properly (#39509) 2025-08-09 13:13:14 -07:00
Princess Cheeseballs
450ff99bac Fix: Water Bottles Verb Priority and Prediction (#39482)
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-08-09 12:31:34 -07:00
Kit
662e509369 no more magic type mana armor (#1650) 2025-08-09 20:53:25 +03:00
deltanedas
68eb43f0d8 fix mind role filter (#39499) 2025-08-09 18:23:31 +02:00
Red
c089e844dc Minor cleanup (#1645)
* bue

* some code
2025-08-09 13:47:21 +03:00
CrystallEdge Server
bfd1db72d8 Automatic changelog update 2025-08-09 13:22:31 +03:00
Alexsey Bezyuk
bdd7e5ea65 Leather rework (#1638)
* remove salt

* crafting rework

* Stacks

* corrected count

* linter fix

* Bellt crafts

* delete leather

* resize

* Hide in belt

* Sprites fix

* linter fix

* remove static price from backpacks base

* explosive resistance

* belt cost

* Lets fix cost warnings

* satchels static price for balance with backpacks

* ScrapHideRecipe cost

* lets try increase leather units in hide

* return scrap recipe back

* Lets FINISH that costs!

* hide suffix

* trying to fix stack warning

* placeholder suffix

* Hide => Leather

* Lets try again!!!!

* name and description

* another

* Update Resources/Prototypes/_CP14/Entities/Objects/Ingredients/ingredients.yml

* Update Resources/Prototypes/_CP14/Materials/simple.yml

* Update Resources/Prototypes/_CP14/Entities/Objects/Ingredients/ingredients.yml
2025-08-09 13:21:26 +03:00
Nim
96f28489c6 Перевод на RU (#1596)
* 1

* 2

* 3

* 4

* health-examinable

* .

* carpet fix

---------

Co-authored-by: Red <96445749+TheShuEd@users.noreply.github.com>
2025-08-09 13:12:47 +03:00
iaada
72d6fc3537 variable alias 2025-08-08 19:14:18 -05:00
github-actions[bot]
31167f97e4 @oldschoolotaku has signed the CLA in crystallpunk-14/crystall-punk-14#1644 2025-08-08 23:57:57 +00:00
iaada
cf820cbf3e requested changes 2025-08-08 18:50:36 -05:00
Nemanja
6dceb7b8e0 Merge Stable into Master (#39489) 2025-08-08 19:35:49 -04:00
Southbridge
5e31bfae0c Buttons are now Free-placeable (again) (#39425)
Fixed buttons
2025-08-08 18:45:17 -04:00
kosticia
168186f75b Fix bar and base signs (#39487)
sorry
2025-08-08 18:44:40 -04:00
Princess Cheeseballs
ce7b7c1adf Fix Whoopie Cushions from lagging the game. (#39194) 2025-08-09 01:11:13 +03:00
CrystallEdge Server
e826bbe4ed Automatic changelog update 2025-08-09 00:28:28 +03:00
Red
02286f492a material aspect support (#1643) 2025-08-09 00:27:23 +03:00
iaada
856bbb373a Merge remote-tracking branch 'upstream/master' into up/drinks-yml
# Conflicts:
#	Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_metamorphic.yml
2025-08-08 15:17:10 -05:00
CrystallEdge Server
8015892add Automatic changelog update 2025-08-08 22:43:13 +03:00
Princess Cheeseballs
2b8145ce87 Cleanup Base food and drink a little (#39485)
Edible base prototype convention compliance

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-08-08 15:42:11 -04:00
Red
a808bf521c Resurrection spell returns (#1642)
* resurrection

* resurrection

* loadout

* city portal spell scroll

* Update thaumaturgy.yml
2025-08-08 22:42:08 +03:00
M87S
5cf8662f3c Remove NamesGolem (#39478)
* deleted golem.ftl which contained golem names

* deleted golem.yml that went along with golem.ftl
2025-08-08 12:30:46 -07:00
PJBot
b38aba7812 Automatic changelog update 2025-08-08 19:28:53 +00:00
Perry Fraser
49fe34f78a fix: fix emote wheel icons (#39481) 2025-08-08 15:27:46 -04:00
PJBot
b60df574a6 Automatic changelog update 2025-08-08 19:01:48 +00:00
K-Dynamic
ca4f6d5e8b Starting glasses for Captain and HoP (#35531) 2025-08-08 22:00:41 +03:00
PJBot
1e3cf38c21 Automatic changelog update 2025-08-08 18:57:11 +00:00
chromiumboy
c3555af821 Sentry turrets - Part 8: AI notifications (#35277) 2025-08-08 21:56:01 +03:00
Ed
9ad759b56d Update CP14DemiplaneSystem.cs 2025-08-08 20:32:25 +03:00
deltanedas
1d21e13360 make objectives use yml defined mind filters (#36030)
* add MindHasRole whitelist overload

* add mind filters framework

* add different mind filters and pools

* update traitor stuff to use mind filters

* line

* don't duplicate kill objectives

* g

* gs

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
Co-authored-by: ScarKy0 <scarky0@onet.eu>
Co-authored-by: SlamBamActionman <slambamactionman@gmail.com>
2025-08-08 17:58:46 +02:00
Nemanja
1374ceea47 Move some Station methods into shared (#38976) 2025-08-08 11:22:34 -04:00
CrystallEdge Server
f4dad593a9 Automatic changelog update 2025-08-08 17:38:21 +03:00
Red
fa22152b42 Demiplane redesign again (again) (#1640)
* rooms generation fix??

* demiplane map returns

* wawa

* fix
2025-08-08 17:37:16 +03:00
CrystallEdge Server
76752414c6 Automatic changelog update 2025-08-08 12:36:26 +03:00
Morb
a4eaf8018f Fix mosquitos stamina animation threshold (#1635)
* Fix mosquitos stamina animation threshold

* Remove mosquito stamina
2025-08-08 12:35:21 +03:00
github-actions[bot]
95ae290c7b @Morb0 has signed the CLA in crystallpunk-14/crystall-punk-14#1635 2025-08-07 23:54:21 +00:00
CrystallEdge Server
841d75946d Automatic changelog update 2025-08-08 00:13:41 +03:00
Nim
ec7c84cc90 Lurker cape (#1455)
* lurker cape

* UseDelay

* del useDelay

* onUse

* fix
2025-08-08 00:12:36 +03:00
CrystallEdge Server
616de88ff8 Automatic changelog update 2025-08-07 23:59:03 +03:00
Morb
227c44561b Alert sprite size fix (#1637)
* Directly use vanilla alerts & make stamina as custom

* Fix mix size for alert of 96px

* Revert "Directly use vanilla alerts & make stamina as custom"

This reverts commit 3298202f8a.

* Update AlertsUI.xaml

---------

Co-authored-by: Red <96445749+TheShuEd@users.noreply.github.com>
2025-08-07 23:57:58 +03:00
CrystallEdge Server
0d269372d7 Automatic changelog update 2025-08-07 23:37:47 +03:00
Red
ad75c2b22a City Generation bugfixes (#1639)
* fix biome

* mapping upadte

* and this

* Update comoss.yml
2025-08-07 23:36:42 +03:00
ScarKy0
3d9e1f64a9 Disable changeling fixture cloning (#39467)
init
2025-08-07 22:17:24 +02:00
Princess Cheeseballs
7d61e5ff5c Half a commit 2025-08-07 12:49:15 -07:00
ScarKy0
c32ee100a1 Add changeling briefing sound (#39465)
* init

* guh
2025-08-07 21:41:16 +02:00
Princess Cheeseballs
884ddbc49b Merge branch 'master' into pr/39203 2025-08-07 11:43:56 -07:00
PJBot
6bb7610110 Automatic changelog update 2025-08-07 16:02:25 +00:00
lolman360
3638b2f44e fixes items with complex shapes failing to insert sometimes (#38896)
* fixes item insertion bug

fixes bug where items with complex shapes would fail to insert if the item's StoredRotation wasn't a right angle

* independence from StoredRotation
2025-08-07 12:01:18 -04:00
PJBot
9528fc4e26 Automatic changelog update 2025-08-07 14:56:33 +00:00
slarticodefast
5eb9dc2475 give paused maps from polymorph and cryostorage a name (#39453) 2025-08-07 16:55:25 +02:00
ScarKy0
ff5ce315f9 Fix changeling typing indicator (#39454)
init
2025-08-07 16:00:35 +02:00
slarticodefast
9b5d2ff11b place stored changeling identities next to each other (#39452) 2025-08-07 14:38:09 +02:00
Princess Cheeseballs
2abe4a8a02 Fix Ingestion Localization Pop-ups (#39437)
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: ScarKy0 <scarky0@onet.eu>
2025-08-07 14:32:25 +02:00
CrystallEdge Server
5eb53af75d Automatic changelog update 2025-08-07 14:51:44 +03:00
Red
a6c8779093 Bugfix portion (#1636)
* fix #1634

* fix #1575

* fix #1612
2025-08-07 14:50:39 +03:00
Morb
58c40c39ad Add universal key (#1624)
* Add universal key

* Address issues
2025-08-07 11:11:37 +03:00
CrystallEdge Server
98ae6b22e6 Automatic changelog update 2025-08-07 09:57:19 +03:00
nukkuminen
7e39f78df5 Soup bugfix and price change (#1630)
* adjust prices for food contracts

* fix unsellable soups

* move thing outside the cycle
2025-08-07 09:56:14 +03:00
PJBot
ff0d45d8b0 Automatic changelog update 2025-08-07 03:04:18 +00:00
Kittygyat
7e676a03b6 Resized baseball bats to be more realistic (#38392)
* Resized baseball bats to be more realistic

* Added new vertical icon for the baseball bat & incomplete variant, sprites by TiniestShark

* Added requested changes

* Added suggested changes for the incomplete sprite
2025-08-07 05:03:11 +02:00
Stefano Pigozzi
5444908a79 Fix title2.ogg attribution (#39435)
Co-authored-by: kait <kait@azumanga.gay>
2025-08-06 21:56:27 -04:00
PJBot
15e024fae9 Automatic changelog update 2025-08-07 01:52:40 +00:00
Thinbug
864fee5bd0 Bloonion mutation (#33375) 2025-08-06 18:51:30 -07:00
Princess Cheeseballs
556097eed4 Ingestion Bugfixes (#39436)
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-08-07 02:19:26 +02:00
iaada
4a803335d7 it's not microbalance if it's hidden in a huge diff 2025-08-06 18:53:55 -05:00
Perry Fraser
88a86be500 docs: update comment on config saving in tests (#39438) 2025-08-07 01:17:20 +02:00
CrystallEdge Server
e0526177e6 Automatic changelog update 2025-08-07 01:25:03 +03:00
nukkuminen
84b599cd41 Carcats are finally not humans (#1625) 2025-08-07 01:23:58 +03:00
CrystallEdge Server
2366328d38 Automatic changelog update 2025-08-07 01:23:50 +03:00
Kit
f7ea87fb8e Spell rebalance (#1632)
* ICE SHARD!!!!

* ICE DAGGER!!!!

* ICE ARROW!!!!

* FIRE WAVE!!!!
2025-08-07 01:22:46 +03:00
CrystallEdge Server
ab828583e5 Automatic changelog update 2025-08-07 01:19:59 +03:00
nukkuminen
d439f56ebf backpack tweak (#1622) 2025-08-07 01:18:54 +03:00
Nemanja
66daa1e6db Fix showvalue Ui for melee weapons (#38703)
Co-authored-by: Perry Fraser <perryprog@users.noreply.github.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-08-06 15:01:49 -07:00
PJBot
dc3eb188cd Automatic changelog update 2025-08-06 20:15:36 +00:00
slarticodefast
6b6bb2e319 Fix inventory flickering and missing InventoryTemplateUpdated event (#39379)
* fix flickering

* move InitClothing

* fix this
2025-08-06 22:14:28 +02:00
Morb
08691f8435 typo fixes for key ids (#1629) 2025-08-06 23:11:46 +03:00
poklj
f76e3b63b7 Changeling devour and transform (#34002)
* Initial:

Create Devour componentry, preliminary identity storage and the systems
for Devouring

* I have genuinely no idea what i'm doing

- added the radial menu, it has nothing in it.

- trying to get it to populate. the event under the event is broken,
i don't know why, but apparently it's not typed right

- Added a placeholder transform

- oh also fixed up some devour stuff and moved some things around.

* Holey moley, Transform, better devour, oh my!

- Move DnaComponent into Shared because we need it for the DNA cloning

- Make Transform MOSTLY work on the LAST identity devoured.

- Fix some issues on devour that involved prediction, canceling and
Damage exeucting (Thanks Plykiya for pointing out AttemptFrequency!)

* Proper tail stealing and Damage modifier attempt

Add check to add a wagging component on the Changeling if the victim's
species Prototype had one.

attempt to add the Damage mitigation check

* MAJOR CLEANUP AND FIXES AUGH 3 DAYS!!!

- Nullspaced a clone of a victim

- fix audio using server virtualized Pvs (i hate this)

- fix the mispredicted doafters

- Clean up a wholelotta code

- utilize clone systems to clone appearances

- Move CloneAppearance from server to shared So we can actually access
it

* Examine stuff, more cleanup, Jumpsuit ripping

- make rotting prevent the action

- Add ripping of clothing (guh why is it also server)

- add some System stuff for pushing husked corpse inspection

- clean up more badcode

* Doing things properly, UI sorta kinda works.

- Utilize Relayed events for Devour checking

- Get a UI that partially works, Says the name of identities, doesn't
show their looks

- Make use of the New Dynamic BUI assignment

- commit the sin of no client prediction cause nullspace entities aren't
networked

* Got an entity for the Frontend transform

Issue with the looks

* Stick a camera into a fake mobs forehead

- Get the UI to see the net entity in pause space by using a
ViewSubscriber to get the Pvs from the initially stored identity entity

- Remove all the other parts used to try to get this to work before hand

* Raaaaadiallllllls also fix protection coefficents

- Change FancyWindow to Radial

- Fix Issue where coeffeient checking was the wrong way round

* absolutely massive cleanup, no more camera in mobs

- cleaned up event variables that are not needed

- Removed the use of a Pause space and go back to Nullspace usage

- use a PvsOverride rather than ViewSharing

- Remove old commented out code and Lots of unused code

* Fix "Ui elements" dying  on the screen

- some minor cleanup

- don't start the entities that get cloned

* ftl, cleanup, and fixing missing transform details

- add replace functionality to TypingIndicatorSystem and
BodyEmotesSystem

- add placeholder sounds and functions to TransformBodyEmotes

- add extra Pvs handling for later use

- attributions for the funny straw sound

- Sound collections for all of the sounds

- various cleanups

* Some extra cleanup

* Fix some false assumptions about TypingIndicator

- Bubbles now transfer on spawned humans rather than used humans

- Clean up YET MORE CODE

- make it so you can't eat yourself

* Oooprs, forgot to add a Husked Corpse Loc

* Missing period in the husked corpse loc

* bad devour windup placeholder

* Husking and WIP Lungs

- Husking now will be prevented from Revival fully and will change
the appearance of players

* Add finalized Sprites for actions and final meta

- add devour on and off sprites

- add transform action sprite

- Add Armblade sprite for future use

- Credit obscenelytinyshark for the sprites <3

* Remove ling lungs, Entity<> everything

- Remove the ling lungs stuff for now... body system is overly
complicated, makes my head hurt

- Switch every method to use Entity<> from Uid, Comp format

* cleanup, admin logging, WIP Roles

* Admin verb, Roundstart, gamerule stuff

- add a Admin verb to make Changelingification easy!

- Add game rule stuff for admin verb and to tell the hapless
goober how to be a changeling... sorta

- clean up parts to make VV easy... USE THE VERB!!

* Armor Coefficent Check

- Remove bespoke changeling armor check and replace it
with a generic armor coefficient query.

* move to UnrevivableComponent instead of husked

- Move UnrevivableComponent to shared

- add Analyzable and ReasonMessage to UnrevivableComponent
to give granular control of the message and whether or not it shows up
in the analyzer

- remove the check for HuskedComponent in DefibrillatorSystem

* aaaaaaa CopyComp

- Some cleanup

- make Vocal system shared

- make VocalSystem Not make more Actions than it needs

- Use some code from ChameleonProjector so we can copy components

- partially ungod method the Transform system

* Cleanup, Moving more things to CopyComp

- TransformBodyEmotes now uses CopyComp (it's a server component so i
need to tell the server to deal with it

- TypingIndicatorComponent also now uses CopyComp

- cleaned up old, now unused "replace" methods in favor of CopyComp

- BodyEmotesSystem now has a publically accessable LoadSounds to deal
with the same problem Screaming had

* WIP

* Devour Windup noise, ForensicsSystem cleanup

* Revert VocalSystem Changes

- Reverted Moving VocalSystem to shared, copy comp acomplishes it

- added component.ScreamActionEntity = null; for copy comp

* cleanup unneeded comments

* revert an accidental line removal

* Remove duplicate SharedHumanoidAppearanceSystem

* Cleanup Typo's and import Forensics components for Dna

* Some more forensics calls

* cleanup use CopyComp for now until CopyComps

* CR cleanup

* Undo some SharedHumanoidAppearanceSystem changes

* Confound these spaces

* Some Copycomp stuff and fixing some PVS override

* use the proper TryCopyComps that are merged

* Change TransformMenu with RadialWithSector

* All sounds done, Fix lack of typing indicator issue

* Updated attributions to include used sound authors

* some ftl typos and mind_role text issue

* DNA, Screaming, appearance, grammar, wagging

- reduced all of the above using ApplyComponentChanges

- Issue still remains with bodyEmotes sticking around in the UI

* Fix UI stuff, partials, entprotoid, good practices

- bunch of partials added

- UI now has a predicted message

- EntProtoID in the admin verb

- RipClothing now uses Entity<ButcherableComponent>

- husking is now optional (off by default) for testing/till we have
hivemind/when we figure out what were doing with devour

- remove TransformGrammarSet

* More CR stuff and documentation

- Make TargetIsProtected less of a meme, with a prototype
set of DamageTypes to check

- Documenation everywhere

- Move DevourEvents into its own file

* Predicted sounds and fix the comp clone list

- Made all start and stop sounds shared

- Split out the rest of the events and UI stuff into subfiles

- Fixed some Clone comp list issues where comments had -'s causing them
to be read incorrectly

* Damage cap check, Identity Shutdown cleanup, cleanup

* Sound stuff (but actually this time)

* Missed documentation

* Missed Documentation and a EntProtoId

* Remove unused dependency

* Remove a nullcheck

* Some dummy minplayers

* CR - Husked now uses a rem/ensure

* Update Actions in the Prototype

* Fixup mindswap handover

- cleanup and handover PVS on mindswap

* Fixup Missing meta from accidental "Take-theirs"

* Add the Armblade to the roundstart-role

* Cleanup, CR (everything but the UI and renames)

* missed a spot

* missed some more whitespace

* Renames

* Primary constructor and a space in these trying times

* User interface stuff for Slime transformation

* popup prediction

* Ling devour no longer makes duplicate identities

- added a key to identities to the original victim

- Add some extra clone settings

* add guard statements to OnClones

* SentOnlyToOwner additions

* fix for sound stoppage error

* Move Organ deleter into soon to be atomized husk

* clone event inventory

* mono sounds

* lower sound volume

* Fix networked sound warning

* Clone comps thing

* review

* attributions

* Fix clobbered changes

* I'm gonna weh out

- whole bunch of CR changes

* fix some very buggy git

* okay its fixed

* address most review points

* fix inventory

* we hate entityuids

* fix test and more cleanup

* move this

* fix more stuff

* fix validation and rootable

* Remove Quickswitch due to some UI quirks

* oops left out some better explanation

* remove dangling LastConsumed component fields

* fix test fail

* try this

* cleanup cloning subscriptions, add movement speed modifier

* fix slime storage

* fix cloning setting inheritance

* Add session information to transform admin logs

* slay the integration test hydra

* dwarf size

* more volume tweaks

* comments

* improve comments and unpredict deletion due to errors when shutting down the server

* fix displancement cloning

---------

Co-authored-by: ScarKy0 <scarky0@onet.eu>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-08-06 21:55:49 +02:00
slarticodefast
534553dddf Turn some implants into triggers (#39364)
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-08-06 12:52:11 -07:00
CrystallEdge Server
daf5e14c4e Automatic changelog update 2025-08-06 22:34:58 +03:00
Red
bca971223c fix generation dublication (#1627) 2025-08-06 22:33:53 +03:00
Nemanja
9872a28d7f Miscellaneous Body Decoupling (#38958) 2025-08-06 15:01:20 -04:00
slarticodefast
2e0b11ea51 fix repeated scale visuals removal/ensuring (#39432) 2025-08-06 20:54:50 +02:00
iaada
08cab003c2 cardboard modifier set 2025-08-06 13:07:19 -05:00
iaada
0bd8ad43ab fixed conflicts 2025-08-06 12:52:18 -05:00
iaada
48dcf8a474 Merge remote-tracking branch 'upstream/master' into up/drinks-yml
# Conflicts:
#	Resources/Locale/en-US/nutrition/components/drink-component.ftl
#	Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_metamorphic.yml
2025-08-06 12:45:41 -05:00
PJBot
ffccef2358 Automatic changelog update 2025-08-06 17:24:13 +00:00
slarticodefast
fdf39dbffb add scale:multiplyvector toolshed command (#39424) 2025-08-06 19:23:05 +02:00
PJBot
96dcfa9b94 Automatic changelog update 2025-08-06 16:59:14 +00:00
Tao
4821bff941 Fun with cardboard! (#37363)
* learning???

* made card walls work, then made game unlaunchable (:

* Still broken, added notes that I thought of while in bed

* wall, door, table and chair are now bare min functional, yay

* learnt why not to web edit...

* added floors, walls and floors fully complete

* added swords, shields, armour, helmets and arrows

* added funny sound and cleanup small issues

* cleanup

* cleanup

* credited myself

* card to cardboard

* fixed licence issue and meta thingy

* adjusted arrow stam-damage

* made card carpets more regular

* simplified sprite, reduced stam damage

* formatting fixes

---------

Co-authored-by: beck-thompson <beck314159@hotmail.com>
2025-08-06 12:58:07 -04:00
Princess Cheeseballs
91854e0776 Debody Food and Drink Systems, Combine Food and Drink into One System. (#39031)
* Shelve

* 22 file diff

* What if it was just better

* Hold that thought

* Near final Commit, then YAML hell

* 95% done with cs

* Working Commit

* Final Commit (Before reviews tear it apart and kill me)

* Add a really stupid comment.

* KILL

* EXPLODE TEST FAILS WITH MY MIND

* I hate it here

* TACTICAL NUCLEAR STRIKE

* Wait what the fuck was I doing?

* Comments

* Me when I'm stupid

* Food doesn't need solutions

* API improvements with some API weirdness

* Move non-API out of API

* Better comment

* Fixes and spelling mistakes

* Final fixes

* Final fixes for real...

* Kill food and drink localization files because I hate them.

* Water droplet fix

* Utensil fixes

* Fix verb priority (It should've been 2)

* A few minor localization fixes

* merge conflict and stuff

* MERGE CONFLICT NUCLEAR WAR!!!

* Cleanup

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-08-06 12:53:38 -04:00
iaada
26509b879b lint after losing a LocId in the merge 2025-08-06 11:43:47 -05:00
iaada
765db2e065 Merge remote-tracking branch 'upstream/master' into up/drinks-yml
# Conflicts:
#	Resources/Locale/en-US/nutrition/components/drink-component.ftl
#	Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks-cartons.yml
#	Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_bottles.yml
#	Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_cans.yml
#	Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_cups.yml
#	Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_flasks.yml
#	Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_metamorphic.yml
#	Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_special.yml
2025-08-06 11:17:41 -05:00
PJBot
02382045ab Automatic changelog update 2025-08-06 16:12:26 +00:00
āda
49c4aab489 Move solution examine subscription from DrinkComponent to ExaminableSolutionComponent (#39362)
* initial it works

* clean it up

* yml

* datafield the LocIds

* move from the other branch

* no max vol on puddles and anoms

* closed

* Changes inspired by #39008

* small bug and more color range

* puddle changes and more examinable solutions

* lint

* small change

* requested changes

* un-delete

* tiny comment

* 1 less loc id in this world

* request and last second change

---------

Co-authored-by: iaada <iaada@users.noreply.github.com>
2025-08-06 09:11:19 -07:00
slarticodefast
8ef212a338 convert dwarfs to use ScaleVisualsComponent (#39422) 2025-08-06 17:50:48 +02:00
PJBot
52a886e70e Automatic changelog update 2025-08-06 15:10:58 +00:00
Myra
8c181eb51a Update RT to 266.0.0 (#39421) 2025-08-06 17:09:51 +02:00
slarticodefast
c4016b97c5 fix DoAfter DistanceThreshold (#39276) 2025-08-06 16:35:31 +02:00
Kyle Tyo
ca18576625 Predict base and damage examines of cartridge ammo. (#39401)
* commit

* requested changes +
2025-08-06 16:29:57 +02:00
Kyle Tyo
3996b35606 Predict EMP Examine (#39419)
* another one bites the dust

* Update Content.Shared/Emp/SharedEmpSystem.cs

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-08-06 16:25:24 +02:00
PJB3005
e4839d6417 Update RT to 266.0.0 2025-08-06 16:17:15 +02:00
PJBot
d16e13e13c Automatic changelog update 2025-08-06 13:01:40 +00:00
ScarKy0
3d0a506f6d MessyDrinker for dogs (#38852) 2025-08-06 15:00:32 +02:00
slarticodefast
71f21d96f7 Move scale command to content and turn it into a toolshed command (#39349)
* scale command

* fix namespaces
2025-08-06 14:33:21 +02:00
Red
5181219f89 Status effects disable light occluding (1-line PR) (#39418)
Update StatusEffectsSystem.cs
2025-08-06 13:02:14 +02:00
CrystallEdge Server
96bcfb3716 Automatic changelog update 2025-08-06 13:19:14 +03:00
Red
5690c94ee2 light returns (#1621) 2025-08-06 13:18:09 +03:00
CrystallEdge Server
a4cdcf0a1f Automatic changelog update 2025-08-06 12:53:57 +03:00
Red
3b04b1f002 Merge pull request #1613 from crystallpunk-14/ed-04-08-2025-upstream-sync
Crawling upstream sync
2025-08-06 12:52:51 +03:00
Ed
22b020011d Update EntityTest.cs 2025-08-06 12:38:45 +03:00
Ed
be1d0f7359 Update EntityTest.cs 2025-08-06 12:20:27 +03:00
K-Dynamic
e122e02c86 Adds infinite debug power APC, substation, SMES (#39317)
* make debug power infinite

* demarcate infinite and empty debug power

* fix duplicate ID

* change infinite suffix to autorecharge
2025-08-05 22:16:37 -07:00
iaada
5d6c020e2a couple more changes 2025-08-05 23:35:57 -05:00
slarticodefast
99336a33fb Predict PickRandom verb (#39326)
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-08-05 19:29:13 -07:00
Serylis of Five
983cebb69d Update attributions for lightning audiofiles (#39395) 2025-08-05 19:01:14 -07:00
PGray
92d6e79040 Remove redundant return statement in InventoryUIController (#39381) 2025-08-05 18:49:30 -07:00
Perry Fraser
053c5f64a0 feat: properly perform predicted porta pottys (fix toilet prediction) (#39394) 2025-08-05 18:34:41 -07:00
slarticodefast
63b2979e73 Predict cryopods (#39385)
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-08-05 17:09:50 -07:00
Perry Fraser
2a4f36422b fix: properly respect AllowRepeatedMorphs (#39411)
* fix: properly respect AllowRepeatedMorphs

* feat: add IgnoreAllowRepeatedMorphs
2025-08-06 02:02:52 +02:00
PJBot
87b0ec090f Automatic changelog update 2025-08-05 23:16:25 +00:00
Luxeator
4a466c5dbe Add guard to unbuckling to help it to not act upon terminating entities (#39410)
* Add guard to unbuckling to help it to not act upon terminating entities

* Refactor guard for unbuckling

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

* Revert "Refactor guard for unbuckling"

This reverts commit bf975fbd6f5cfac45324a3d5d74e592ad17ad291.

---------

Co-authored-by: Luxeator <Luxeator>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-08-06 01:15:16 +02:00
iaada
af3af9a141 update for #39362 and #39363 2025-08-05 18:14:09 -05:00
Ed
7136479b3e Revert "Update build-test-debug.yml"
This reverts commit 92f6e9e2bc.
2025-08-06 00:40:25 +03:00
Kyle Tyo
7de5002123 Predict Nav Beacon Examine (#39408)
* commit

* Update Content.Shared/Pinpointer/SharedNavMapSystem.cs

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

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-08-05 23:20:43 +02:00
Ed
92f6e9e2bc Update build-test-debug.yml 2025-08-06 00:11:11 +03:00
Kyle Tyo
5df467c9c6 Reduced SalvageStructureComponent to atoms. (#39400)
* commit

* whoopsie daisy

* Update SpawnSalvageMissionJob.cs

* Update SpawnSalvageMissionJob.cs

* cleanup
2025-08-05 21:10:17 +02:00
Kyle Tyo
d4c025567a Predict warp point location examines. (#39402)
commit
2025-08-05 20:26:41 +02:00
ScarKy0
47bddb70b1 Merge Stable into Master (#39404) 2025-08-05 19:56:24 +02:00
ScarKy0
d6ce710d6d Merge branch 'master' into hotfix-branch-blame-errant 2025-08-05 19:31:01 +02:00
Southbridge
970ce38d65 Fixed Issues with Screens and Station Maps (#39393) 2025-08-05 18:27:28 +02:00
Ser11y
d7f8614c35 localization support to air alarms, wire panels and more (#39307)
* Add localization to the air alarms, wire panels, network configurator list menu and loadout window

* delete unused

* redo gas localization, delete unused

* removed the extra key

* Moved and renamed air-alarm-ui-thresholds-gas-name

* Moved localization to the XAML

* Use existing strings for gas names

* it just works

* Rename _atmosphereSystem in ScrubberControl.xaml.cs

_atmosphereSystem -> atmosphereSystem

* Rename _atmosphereSystem in SensorInfo.xaml.cs

_atmosphereSystem -> atmosphereSystem
2025-08-05 17:13:04 +02:00
Ed
3694baca58 revert fail fast 2025-08-05 17:15:19 +03:00
Ed
0018728990 Update build-test-debug.yml 2025-08-05 16:57:59 +03:00
Ed
05138740e8 Update build-test-debug.yml 2025-08-05 16:57:46 +03:00
lzk
36967f3e7d remove space from Sleeping Carp.png (#39369)
* Rename Sleeping Carp.png to SleepingCarp.png

* Update meta.json
2025-08-05 14:00:23 +02:00
Marlyn
a2c9612e29 Removes ItemToggle from Cryo Pods to prevent a latent event ordering bug (#39197)
Removes ItemToggle component from the cryo pod as it was useless and risked a latent verb order bug
2025-08-05 13:50:16 +02:00
CrystallEdge Server
312e2b5ac1 Automatic changelog update 2025-08-05 14:32:24 +03:00
Alexsey Bezyuk
878aea4e29 Backpacks tweaks (#1618)
* speed reinform

* bear hide

* quiver and pouch craft

* speed rebalance

* fix ooops
2025-08-05 14:31:18 +03:00
CrystallEdge Server
fa99ac78e3 Automatic changelog update 2025-08-05 13:02:38 +03:00
Red
174abacead Safe chasms (#1458)
* Update chasm.yml

* Update chasm.yml
2025-08-05 13:01:32 +03:00
Red
b60ceb38ca Demiplanes redesign again (#1616)
* global demi refactor

* rebalance, smaller demiplanes

* remove outdated connections

* audio design + room coords fix

* Update CP14Rooms.cs

* Update wastelands.yml

* hotfixes

* Update CP14SpellThrowFromUser.cs

* Update sky_lightning.yml
2025-08-05 12:15:24 +03:00
Red
9c3fe601e2 Merge branch 'master' into ed-04-08-2025-upstream-sync 2025-08-05 11:52:43 +03:00
Red
4f431f9b70 Comment out integration tests in multiple files (#1617)
All test methods in several integration test files have been commented out, effectively disabling these tests. This may be for temporary troubleshooting, refactoring, or to address failing or unstable tests.
2025-08-05 11:52:29 +03:00
PJBot
75748153a1 Automatic changelog update 2025-08-05 03:27:09 +00:00
Perry Fraser
96d25402c7 fix: hide timer trigger's cycle time verb if DelayOptions is empty (#39388)
fix: hide cycle time verb if DelayOptions is empty
2025-08-05 05:26:02 +02:00
Minemoder5000
1599a6b271 Fix ATS Anchor (#39389) 2025-08-04 20:14:57 -07:00
PJBot
ff97512a6d Automatic changelog update 2025-08-05 00:35:17 +00:00
qwerltaz
2c933c8de7 add: air alarm scrubber select all gases button (#39296)
* add select all gases button

* now make it work

* localize

* refactor

* remove redundant Orientation

Co-authored-by: Perry Fraser <perryprog@users.noreply.github.com>

* remove useless HorizontalExpand

Co-authored-by: Perry Fraser <perryprog@users.noreply.github.com>

* add nice newline

Co-authored-by: Perry Fraser <perryprog@users.noreply.github.com>

* deduplicate Enum.GetValues<Gas> usage

---------

Co-authored-by: Perry Fraser <perryprog@users.noreply.github.com>
2025-08-04 17:34:10 -07:00
PJBot
1d07b77707 Automatic changelog update 2025-08-04 23:40:47 +00:00
Mora
32ef32d5a0 Add Offset Canes + Trinket Canes Group (#39272)
* Added offset cane

* Added offset cane colors

* Added canes to the trinkets menu

* added color to names instead of suffix

* removes some stripes from the mime cane icon

* update file organization

* standard -> standard.rsi, stop making commits at nearly 3 in the morning.

* updated comment to be more explicit in what doesnt work

* Cane refactor :godo:

* git makes me very upset sometimes (fixed cane yaml)

* wooden->wood

* apparently this didnt push

* Standardize comments

* Removed comment

* Removed comment

* Adds red accents to mime cane

* Indent fixes
2025-08-04 19:39:40 -04:00
slarticodefast
a80b31e1cd Fix vox inhand displacements (#38507)
fix
2025-08-04 19:34:41 -04:00
CrystallEdge Server
4a02a34637 Automatic changelog update 2025-08-05 01:52:42 +03:00
Alexsey Bezyuk
60ca45a846 Leather working and backpacks (#1378)
* backpacks

* suffix

* grid fix

* fix grid explorer

* recipes

* small rebalance at backpack

* leathers and butcher drop

* thin hide and prob scrap

* Leather Working

* T3 backpack grid update

* salt

* workbench

* tanner table sprite

* leather workbench construction

* Trading Position and Salt Stack

* sizes and shapes

* Revert "sizes and shapes"

This reverts commit f317a047f3.

* tiny buckle

* Ingredients and buckle icon

* ingridients json

* price and fur

* Resprite tanner table

* Rough => Rugged

* coarse, rigged leather

* icons files

* chance for fur drop

* Price down

* leather, fur, hide icons

* shape and size

* loadout tiers back

* Rename

* T3 explorer rename

* upstream

* rsi fix

* rename, descriptions, guards backpacks

* backpacks icons

* Sprites

* slots and modifiers

* missed

* belt and flipped pouches

* goblin sprites

* prices, loadouts, icons marked

* craft fix

* метка

* sprite mark

* satchels sprint normalize

* reinf too

* Crafts with low tier backpacks

* butchers hide positions

* Back Clothing

* linter fixes

* small prices rebalance

* Back loadout fix

* craft fixes

* Iron Buckle fix

* fixes

* fixes

* fix sound error

* clear

* another linter fixes

* move Salt to ores

* fixes

* localization

* moved

* salt stone god help me

* linter fix

* Ooops, linter fix

* Speed modifiers

* materials rework

* PhysicalComposition and commented cost

* fix path

* localization material unit

* leather crafting from hide increase

* salt in craft increase

* explorer commented back

* backpacks upgrade required less leather

* clear

* missed string in cost

* commented

* static price to backpacks

* no map touch...

* strap cost back

* leather - no stack entity anymore

* cost...

* return venicialis satchel back

* migration fix

* migration?

* migration again

* backpack satchel upgrade lowered

* CP14ThinToNormalLeatherRecipe

* Leather Strap Recipe

* Failed CheckRecipePricingReduction

---------

Co-authored-by: Red <96445749+TheShuEd@users.noreply.github.com>
2025-08-05 01:51:37 +03:00
ArtisticRoomba
14c2a1fa92 Fix head mappers codeowners (#39378)
webedit ops codeowners
2025-08-04 23:02:40 +02:00
Tayrtahn
312f81d58a Move HeadstandComponent to Shared (#39377)
Move HeadstandComponent to Shared
2025-08-04 23:00:19 +02:00
ArtisticRoomba
e996fb62f1 Revert "Fix bug with pipe color" (#39135) 2025-08-04 13:10:54 -07:00
PJBot
f6737d4a57 Automatic changelog update 2025-08-04 19:20:31 +00:00
alexalexmax
93a03111a5 Updated syndicate throwing knives description (#39374)
Co-authored-by: seanpimble <149889301+seanpimble@users.noreply.github.com>
2025-08-04 12:19:20 -07:00
Perry Fraser
6d50fb03d6 fix: auto-update mailing unit + gas canister UIs on state (#39289)
* fix: auto-update mailing unit + gas canister UIs

* fix: make FollowerComponent auto handle state

* refactor: kill AfterAutoHandleState for Follower

* flakeops
2025-08-04 18:26:52 +02:00
Samuka-C
53e64c3a24 Xenoborgs part 4 (#36935)
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
Co-authored-by: Quantum-cross <7065792+Quantum-cross@users.noreply.github.com>
Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
Co-authored-by: Southbridge <7013162+southbridge-fur@users.noreply.github.com>
Co-authored-by: WarPigeon <DaedalusTheGamer@gmail.com>
Co-authored-by: Kowlin <git@wyvern.blue>
Co-authored-by: ScarKy0 <scarky0@onet.eu>
2025-08-04 15:18:55 +02:00
Red
70bf2e1cf3 Merge branch 'master' into ed-04-08-2025-upstream-sync 2025-08-04 13:38:49 +03:00
CrystallEdge Server
133c927f0f Automatic changelog update 2025-08-04 13:37:04 +03:00
Red
6b5c27125b Gathering resourses redesign (#1594)
* Add Crash to Windlands survival gamemode and map

Introduces the CP14CrashToWindlandsRule and its component for a new survival gamemode where a ship crashes into wildlands. Adds the 'nautilus_ship' map, updates English and Russian locale files with new gamemode titles and descriptions, and modifies relevant prototype and map pool files to support the new mode.

* fix FTL map

* firebombing is real

* fix biome dungen all grid overriding

* Update PostMapInitTest.cs

* Update DungeonJob.CP14Biome.cs

* Refactor demiplane generation and crash rules

Replaces the old demiplane job system with a new procedural location generation system (CP14LocationGenerationSystem and CP14SpawnProceduralLocationJob). Splits the crash-to-windlands rule into CP14CrashingShipRule (handles explosions) and CP14ExpeditionToWindlandsRule (handles map generation and FTL), with corresponding new components. Updates roundstart game rule prototype and moves/renames several files for clarity and modularity.

* Refactor location generation to support optional seed and position

Updated the GenerateLocation method to accept an optional seed and position, defaulting to a random seed if none is provided. Adjusted all call sites and the procedural job to support these changes, improving flexibility and consistency in procedural location generation.

* procedural integration into game map

* Demiplanes deletion

* clear demiplane content

* remapping procedural + frigid coast deletion

* clear demiplane guidebook

* dungeons generations

* Refactor procedural location configs and add ComossIsland

Consolidated and renamed procedural location and dungeonConfig prototypes for demiplane locations, replacing T1-prefixed and legacy IDs with new, consistent names. Updated map YAMLs to reference new location IDs and configs. Added a new ComossIsland location and dungeonConfig. Refactored code to support passing custom dungeon layers and removed unused ExamineProb field from CP14ProceduralLocationPrototype.

* Enhance procedural world gen and location configs

Improved procedural world generation by adding location generation probability, adjusting level ranges, and refining modifier uniqueness. Updated CP14ProceduralLocationPrototype and CP14ProceduralModifierPrototype, refactored node data generation logic, and made related test and map changes. Added new venicialis_fort station map and updated several procedural location and modifier YAMLs for consistency.

* fix

* connections room spawners

* track finishing global world generation

* real connection

* Update PostMapInitTest.cs

* Update venicialis.yml

* Update venicialis.yml

* fix raids, decrease city island sizes

* Update migration.yml

* Update migration.yml

* fix shutdowning

* Update CP14SpawnProceduralLocationJob.cs
2025-08-04 13:35:55 +03:00
Ed
e9199b4e77 fixes 2025-08-04 12:56:12 +03:00
Ed
e059ba05ad Update mana_vision.yml 2025-08-04 12:44:58 +03:00
Ed
f2d9608a62 Merge remote-tracking branch 'upstream/stable' into ed-04-08-2025-upstream-sync
# Conflicts:
#	Content.Server/Chat/Managers/ChatSanitizationManager.cs
#	Content.Shared/Damage/Systems/SharedStaminaSystem.cs
#	Content.Shared/Eye/VisibilityFlags.cs
#	Content.Shared/Lock/LockSystem.cs
#	Content.Shared/StatusEffectNew/StatusEffectSystem.Relay.cs
#	Resources/Prototypes/Recipes/Reactions/chemicals.yml
#	Tools/actions_changelogs_since_last_run.py
2025-08-04 12:44:29 +03:00
slarticodefast
61d13ce40d Stable to master (#39352) 2025-08-03 23:55:31 +02:00
Vasilis The Pikachu
ecf96d85f4 Changelog removal of reverted PR's 2025-08-03 22:03:43 +02:00
Vasilis The Pikachu
978c51e73d Revert "Added utility belt function to scrap armor (#39233)"
This reverts commit 7852b52f85.

Revert suggested due to the utility toolbelt may be considered too overpowered and passed

<https://youtu.be/8RmeZKz-i_w?t=2548>

@ToastEnjoyer
2025-08-03 22:03:43 +02:00
Vasilis The Pikachu
2a72e30e0e Revert "Added Kill Tome (Death Note). (#39011)"
This reverts commit d0c104e4b0.

Revert suggested due to code issues and passed the voting.

@ScarKy0 has interest in fixing it

@xsainteer

<https://youtu.be/8RmeZKz-i_w?t=2151>
2025-08-03 22:03:43 +02:00
slarticodefast
2c40a950f7 Trigger Refactor (#39034) 2025-08-03 21:20:37 +02:00
qwerltaz
777e89ab3e Make wallmount screen, telescreen, and signal timer destructible (#39340)
* make wallmount screen destructible

* louder

* fix indent

* fix indent
2025-08-03 12:12:02 -05:00
Zeneganto
819e342a4f Localize Refund Button (#39346)
* Localize Refund Button

* Requested changes
2025-08-03 13:15:25 +02:00
Tiniest Shark
bf6581972d Hardsuit helmet text fix + CBurn Vox Fix (#39345)
* text fix and vox helm fix

* oop one line
2025-08-03 12:58:34 +02:00
qwerltaz
18b2b958b2 change bagel genpop biocube fabricator into biogenerator (#39313) 2025-08-02 20:38:22 -06:00
ThatGuyUSA
bd3d5cff19 Advanced Clowning Module (#35797)
* pAIs can now accept keys, but can't talk in said channels

* added dummy module

* added adv clown module alongside projector

* holopeel & projector sprite added, it's destroyable too

* added experimental pie cannon

* exp pie thrower throws pies, added tool icon, added bananium horn

* removed the weird pAI changes, my bad!

* okay NOW the pAI stuff is all gone

* added icon, recipe, renamed tech for unlocking

* removed bananium horn

* Added in-hand sprites, credited to TiniestShark. Changed holopeel projector description to let the user know it recharges over time.
2025-08-02 22:19:17 -04:00
github-actions[bot]
577c10d858 Update Credits (#39343)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2025-08-03 02:46:08 +02:00
PJBot
8c31783855 Automatic changelog update 2025-08-03 00:35:45 +00:00
DrSmugleaf
06581a0045 Fix rotate verbs not being predicted (#38165)
* Fix rotate verbs not being predicted

* fixes

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-08-02 17:34:36 -07:00
Token
9d3edeb641 parrotMemory is onGetVerbs now in shared (#39341)
* parrotMemory is onGetVerbs now in shared

* code review

* code review popup on client rename parrotMemoryComponent

* code rev create client system

* forgot usings

* is server now
2025-08-03 02:27:49 +02:00
slarticodefast
c538d7fb2b Predict anomaly synchronizer (#39321)
* predict anomaly synchronizer

* pvs

* lambda

* Update Resources/Locale/en-US/anomaly/anomaly.ftl

---------

Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2025-08-03 01:07:32 +02:00
Pieter-Jan Briers
6c9368dc60 Make dirt non-compressible (#39220)
This sets the new rsic: false flag in dirt.rsi. One of the interior PNGs is directly accessed by a tile definition, which would otherwise cause a game startup failure with the new packaging improvements: c4dff678a9
2025-08-03 01:02:40 +02:00
DrSmugleaf
21eb662377 Fix ActionsSystem.IsCooldownActive always returning false if curTime is null (#39329) 2025-08-03 00:59:48 +02:00
Pieter-Jan Briers
615f63e13b Fix horizontal space men in replays (#39338)
* Fix horizontal space men in replays

Visualizer should not bail if data unavailable.

* Update Content.Client/Rotation/RotationVisualizerSystem.cs

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-08-02 22:20:17 +02:00
PJBot
c7efdb8be6 Automatic changelog update 2025-08-02 18:36:16 +00:00
Hannah Giovanna Dawson
b86b0c7fe8 Berry Delight (#38881)
* Berry delight

* Uncook the YAML

* Move stuff in meal_recipes

* BERRY DELIGHT IS INEVITABLE
2025-08-02 14:35:09 -04:00
Hannah Giovanna Dawson
90f4f365df Don't purge note buffer when starting/switching MIDI songs (#39335)
Stop stuck notes on remote when changing MIDI song
2025-08-02 19:31:46 +02:00
Pieter-Jan Briers
e82dc13bf9 Fix StoreTests EventBus usage (#38489)
Fix split off from #37349 to avoid needing to sync the content/engine PRs.
2025-08-02 17:23:44 +02:00
PJBot
a476abe772 Automatic changelog update 2025-08-02 15:15:24 +00:00
Krosus777
e307fd69b0 HumanoidCharacterProfileFix (#39333) 2025-08-02 17:14:16 +02:00
Tayrtahn
c444db0e58 Add test of StaminaComponent crit vs animation thresholds (#39249)
Add test of StaminaComponent crit vs animation thresholds
2025-08-02 16:33:22 +02:00
slarticodefast
fbed76e067 Staging to master (#39328) 2025-08-01 23:59:37 +02:00
PJBot
0c446e05b3 Automatic changelog update 2025-08-01 21:49:48 +00:00
Perry Fraser
c376e69518 Fix tabletop grids rarely spawning on top of another (#39327)
* fix: fix off-by-one for tabletop map positions

Ulam spirals start at 1, not 0.

* fix: make the ulam spiral a ulam spiral
2025-08-01 23:48:40 +02:00
Princess Cheeseballs
6ffec751ee Flesh Stun Fix (#39324) 2025-08-02 00:44:55 +03:00
Kyle Tyo
a99615992a Predict ExamineEvent for CryoPodSystem. (#39322)
commit
2025-08-01 21:38:39 +02:00
Kyle Tyo
d805704a1f Predict EmitterSystem ExamineEvent and GetVerbsEvent (#39318)
* ididathing.exe

* commit

* cleanup

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-08-01 19:40:15 +02:00
Arcane-Waffle
a942ce2193 Renames slugcat jelly-donuts to scurret jelly-donuts (#39308)
* renames slugcat jelly-donuts to scurret jelly-donuts

* renames slugcat jelly-donuts to scurret jelly-donuts

* renames slugcat jelly-donuts to scurret jelly-donuts

* missing end of file new line

---------

Co-authored-by: Arcane-Waffle <FR_Waffle@proton.me>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-08-01 13:58:32 +02:00
SlamBamActionman
392f4ea8f6 Fix variantize command not respecting tile rotation (#39314)
Oopsiedoodle
2025-08-01 07:46:59 -04:00
CrystallEdge Server
35206a003b Automatic changelog update 2025-08-01 14:10:11 +03:00
Red
9384623604 Non-gibbing demiplanes (#1607)
* safe demiplanes

* damage
2025-08-01 14:09:05 +03:00
CrystallEdge Server
e31f3a7d77 Automatic changelog update 2025-08-01 12:00:11 +03:00
AnyTap
de9019c408 Removed the recipe for the copper armour (#1571)
* Removed the recipe for the copper armour

* remove armor

* Removed the recipe for the copper armour

* Update Frigid_Coast.yml

---------

Co-authored-by: Ed <edwardxperia2000@gmail.com>
Co-authored-by: Red <96445749+TheShuEd@users.noreply.github.com>
2025-08-01 11:59:05 +03:00
CrystallEdge Server
487aeba8ee Automatic changelog update 2025-08-01 11:58:22 +03:00
Red
1488f5dfc7 Add Air Saturation spell and skill to Life magic (#1603)
Introduces the Air Saturation spell, which heals suffocation damage, including its entity definition, visual effects, and icon. Adds the spell to the Healing skill tree and updates the healing.rsi texture set with a new icon and metadata. Also cleans up the plant_growth spell by removing unused telegraphy effects and sprite references.
2025-08-01 11:57:16 +03:00
iaada
6cdf16e1fd pre-plan for more sounds 2025-07-31 17:38:39 -05:00
Deserty0
e637747b06 Chatsan Пустыня эдишн (#1592)
* оп

* Update speech-chatsan.ftl
2025-08-01 00:36:13 +03:00
CrystallEdge Server
5cc3d24901 Automatic changelog update 2025-08-01 00:35:41 +03:00
Red
7d0392478b Fix barrels (#1600)
* Update bucket and barrel solution components

Replaces SolutionTransfer with Injector for buckets, adjusting transfer parameters and solution handling. Enables RefillableSolution for barrels, allowing them to be refilled. These changes improve consistency and functionality for liquid transfer between containers.

* 1306

* fix lobby audio
2025-08-01 00:34:36 +03:00
CrystallEdge Server
bb9c8e865e Automatic changelog update 2025-07-31 23:45:51 +03:00
Red
f17779812f Bugfixes (#1599)
* fix #1593

* fix #1236

* fix #1561
2025-07-31 23:44:45 +03:00
PJBot
142b57599c Automatic changelog update 2025-07-31 20:29:49 +00:00
SlamBamActionman
45f6c1db73 Exo - Major Sec changes, and more! (#39295) 2025-07-31 13:28:39 -07:00
CrystallEdge Server
25823cbe06 Automatic changelog update 2025-07-31 22:29:58 +03:00
Red
821f74766a Mob reparent + Atmos disabled (#1597)
* mob mob

* temperature

* delete resurrection spell

* Update base.yml

* Update base.yml

* Update migration.yml

* Update demiplane.yml

* fix

* delete air mixtures from alchemy

* Update herbals.yml

* Update herbals.yml

* Update brad_potions.yml

* Update GhostSystem.cs

* healing spell refactor

* return airloss

* Revert "Update herbals.yml"

This reverts commit 86870e0390.

* Revert "Update herbals.yml"

This reverts commit 8fdb01881d.

* Revert "delete air mixtures from alchemy"

This reverts commit 0fddb2febd.

* fix

* fix mobs suffocation

* Update base.yml
2025-07-31 22:28:52 +03:00
PJBot
12d2ed6cb6 Automatic changelog update 2025-07-31 18:35:37 +00:00
Perry Fraser
623ea3dd63 Make VendingMachineInventoryEntry a data definition for post-init savegrid (#38406)
fix: make VendingMachineInventoryEntry a data definition
2025-07-31 20:34:29 +02:00
Mr. 27
66f64bc952 Allow EmoteSoundsPrototype to have parents (#38890)
* inital

* Update Content.Shared/Chat/Prototypes/EmoteSoundsPrototype.cs

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

* ProtoId

* Unneeded

* Update Content.Shared/Chat/Prototypes/EmoteSoundsPrototype.cs

* Update Content.Shared/Chat/Prototypes/EmoteSoundsPrototype.cs

---------

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
2025-07-31 15:22:33 +02:00
PJBot
c3374d86e4 Automatic changelog update 2025-07-31 04:09:13 +00:00
Spanky
31773e64f4 Adds Wizard's Den (Replaces Wizard Shuttle) (#37701) 2025-07-30 21:08:05 -07:00
Whisper
f3aa14200b Change the description of barefoot drink. (#39285) 2025-07-30 22:47:49 -04:00
PJBot
c2aede7963 Automatic changelog update 2025-07-30 22:52:29 +00:00
Disp-Dev
9b0a171743 New recipe: Cotton Cakes (#39222)
* add moth edible cotton cakes

* oh fuck i accidentally changed the sln file

* inhand sprite fix

---------

Co-authored-by: DispenserDev <mariousjoaquin@gmail.com>
2025-07-30 18:51:21 -04:00
EnrichedCaramel
e2b08dba1f Cleanup of scurret/role.ftl (#39281)
Move contents from and delete scurret/role.ftl
2025-07-31 00:40:53 +02:00
slarticodefast
271e271cc9 Predict passive welding fuel consumption (#38876)
* predict welding fuel consumption

* autopaused

* review

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-07-31 00:38:38 +02:00
Kyle Tyo
68ba22548d Predict GlueSystem (#39079)
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-07-30 12:57:50 -07:00
Red
7298e14de7 Upstream stable sync (#1558)
* Adjust uplink buy button to be under item icon (#38596)

* Adjusted uplink buy button to be under item icon

* Put the discount subtext under the icon

* Indent fixes, added margin

---------

Co-authored-by: TrixxedHeart <46364955+TrixxedBit@users.noreply.github.com>

* Automatic changelog update

* More guidebook fixes (#38699)

* First commit
- Resolving a few different pages, fixing typos and updating spellings and phrasing to be more coherent.

* More slight changes

* Reverting slightly the salvage page change

* Fixing Science wording inconsistency

* Few other small guidebook fixes
- Updating NukeOps page to properly refer to "Corpsman" rather than "Agent".
- Typo and slight wording change in Traitors.xml.
- Updating small typos in Antagonists.xml and Zombies.xml pages.

* Automatic changelog update

* Fixes missing underwear FTLs (#38720)

* Validate `ShaderPrototype` IDs (#38728)

* Convert all shader prototype string literals to protoids in overlays

* Convert more shader prototype literal strings to protoids

* Convert ValidatePrototypeId to ProtoId

* Later

* Janitor Tool: Wire Brush (#38667)

* Wow! It's -brush-

* spacing.

* Update Resources/Prototypes/Entities/Objects/Specific/Janitorial/janitor.yml

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

* Update Resources/Prototypes/Entities/Objects/Specific/Janitorial/janitor.yml

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

* fixed changes

---------

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

* Automatic changelog update

* [BUGFIX] Fixed revenant malfunction ability not working properly only MediBots and Stasis bed (#38664)

* fixed

* clean up

* orks fix smart

* review fix 1

* more requested changes

* less cursed

* more descriptive description

* better wording

* Automatic changelog update

* Tiny Tiny Cleanup of the EyeClosingSystem. (#38734)

Update EyeClosingSystem.cs

* Typofixes for figurine dialogue (#38737)

* Typofixes for figurine dialogue

* Forgot two

* fix: Use PredictedQueueDel for gib spell (#38729)

* Fix human skin tone distribution (#38701)

* fix: don't default to uncharged sprite state for cells (#38730)

* Fix Hristov description - remove inaccurate technical specs (#38746)

- Removes inaccurate 'armor piercing 14.5mm shells' reference
- Replaces it with a more funny description, matching the style of the other snipers and guns
- Keeps ammunition type '.60 anti-materiel ammo' specification
- Fixes issue #38590

Co-authored-by: Arthur Fiorese de Andrade <aandrade@cmcxs.gov.br>

* Validate `ProtoId`s in tests (#38745)

* Convert string literals to protoids in Content.Tests

* Convert string literals to protoids or consts in Content.IntegrationTests

* Fix linter failures
Tricksy static using misled me

* Validate remaining `ProtoId` strings (#38747)

Validate remaining ProtoId strings

* feat: allow mopping evaporating puddles (#38743)

* Automatic changelog update

* Cleanup warning in StomachSystem (#38748)

you did not see this

* Vox scars (#38592)

* Added vox scars n'stuff, renamed vox_tattoos.ftl to just vox.ftl

* Revert "Added vox scars n'stuff, renamed vox_tattoos.ftl to just vox.ftl"

This reverts commit c73da55ba3b39ddf93b493aecd85604c54dd8a15.

* locale key fix

* Changed top surgery scar names to be more generalized

* Adjusted face scars

* Formatting fixes

---------

Co-authored-by: TrixxedHeart <46364955+TrixxedBit@users.noreply.github.com>

* Automatic changelog update

* UnlockNode command to LEC. (#38751)

* commit

* Update UnlockNodeCommand.cs

* commit

* move command locale to its own file.

* Update Content.Server/Xenoarchaeology/Artifact/UnlockNodeCommand.cs

---------

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

* fix: spellbooks can have infinite charges (#38376)

* fix: spellbooks can have infinite charges

* refactor: indicate infinite spellbook charges with null

Not sure if I like this much better...

* Automatic changelog update

* Minor escape menu UX improvements (#38650)

* Automatic changelog update

* Meta.json cleanup - pins.rsi (#38781)

cleanup

* Log an error when adding an admin log containing a null char (#38782)

* Log an error when adding an admin log containing a null char

* Also log LogType and LogImpact

* Remove them

* Fix incorrect conditions on black pepper's forced cough (#38783)

no one to blame but myself

Co-authored-by: iaada <iaada@users.noreply.github.com>

* Update Credits (#38786)

Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>

* Fixing incorrect headset being given to QM visitor (#38785)

* Stasis bed cleanup and bugfixes. (#38762)

* Stasis bed sent to shed

* Code Review

* Code Review 2

* Automatic changelog update

* Cleanup warnings: CS0414 (#38793)

Cleanup

* Move moth movement modifiers to the Base (#38795)

* fix centcom pda (#38796)

* Catchable items, playable basketball (#37702)

* catching

* fix

* improve

* fix linter

* cleanup

* fix prediction

* do the same here

* fix comment

* Automatic changelog update

* Fix storage voice control bug after handssystem refactor (#38810)

* Automatic changelog update

* Reducing the amount of space in the gogo hat  (#38808)

Reducing the amount of space in the hat from 7*4 to 4*3 to make a bit more sense with the fact it is only a hat.

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* Automatic changelog update

* Golden pai (#38549)

* Golden pai

* Make golden PAI public and rare

* Golden PAI = legendary salvage

* Automatic changelog update

* Cleanup: Remove ``TelephoneComponent.RequiresPower`` (#38823)

* Cleanup

* Forgot about yml

* Branded lighters addition (#35514)

* newlighters

* port complete

* donk pocket box addition

* should fix test fail, proper credit

* captalisation issue

* fixed

* typo corrected

* removed accidental change to combat bakery

* fixed lock message, made NT flippo start fueled.

* Requested changes

* fixed discount dan

* moved matchbox

* requested changes, discount dan more broken than ever (somehow)

* unbungle

* uhhhhh

* maybe fixes?

* changed inheritance

* fixed enum?

* nevermind

* finally fixed

* breaking changes

* inheritance unbungled

* Automatic changelog update

* Cleanup: Remove ``TryInsert`` method from the ``DisposableSystem`` and use event subscriptions instead (#38819)

Cleanup

* JumpBoots Attempt №2 (#36862)

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: unknown <wainzor1337@gmail.com>
Co-authored-by: ScarKy0 <scarky0@onet.eu>

* Automatic changelog update

* Replace `ValidatePrototypeId` uses with `ProtoId` or `EntProtoId` (#38814)

* The easy ones

* For certain values of easy

* Easy test

* Hair

* Fix sandbox violations

* Sort usings

* Fix SSD sleep misprediction (#38831)

init

* New science unlock: the H.A.R.M.P.A.C.K (#38824)

* Automatic changelog update

* Fix: Add cluwne translation in ftl (#38835)

Fix

* Artifact glue reagent (#38670)

* a

* Revert "a"

This reverts commit 2b9ba4ea67a9395d30b7ab37c8065f627f1a961a.

* f

* dev it

* a?

* ad

* forgor

* Revert "f"

This reverts commit 39228c7cbe4d28ba43b73580b55e01c3979eb869.

* derandomisation!

* reviv

* flavor

* fixe

* dwwasdwasdwa

* dwasdwasdwas

* fuck you

* Automatic changelog update

* Contraband category fixes (#38698)

* Adding contraband to some items missing it
- This includes updating contraband to follow more consistently where items are expected to be used
- Fixing the spacing in arrays to be more consistent with other files

* Updating PPD to be Eng contra

* Automatic changelog update

* Added Vox Heterochromia (#38595)

* Added Vox Heterochromia

* Forgot to change moth to vox

* minor formatting fix

---------

Co-authored-by: TrixxedHeart <46364955+TrixxedBit@users.noreply.github.com>

* Automatic changelog update

* Make mopping predicted (and some other stuff) (#38749)

* refactor: move puddle evaporation + absorbents to shared

* refactor: move SolutionRegeneration to shared

* refactor: make AbsorbentSystem visuals clientside

* style: general formatting/cleanup on touched files

- Few logical simplifications
- Add field for hard-coded sparkle effect ent
- Switch stuff to Entity<T>

No actual prediction fixes in this commit (though in
retrospect I should've done this commit last).

* fix: use predicted variants for predicted code

* fix: average out evaporation rates in mixtures

* refactor: move SolutionPurge to shared

* style: Basic SolutionPurgeComponent field cleanup

* fix: general prediction + timing + networking fixes

- Moves client side visuals back to shared because other
  players exist
- Don't accumulate CurTime in Purge/RegenerationSystem
- Network the next update field in Purge/RegenerationSystem to
  deal with UI mispredictions???

* fix: add udder bug workaround

Not needed for SolutionPurgeSystem which doesn't resolve
solutions (probably fine that SolutionPurgeSystem doesn't
cache since it's much rarer, though it probably should), and
likely not needed for AbsorbentSystem since it only resolves
against puddles which, I don't think can be in containers.

* fix: don't divide by zero for evaporation speed = 0.

* refactor: revert evaporation changes

Will cherry-pick these out in another PR.

Also reverting the evaporation speed bugfix since it's easier
to revert all at once. :)

* fix: component cleanup; autopause fields, use ProtoID

* fix: remove unused AbsorbentComponentState

* fix: ProtoId is not string

* refactor: move PuddleSystem.UpdateAppearance to shared

* style: general PuddleSystem.UpdateAppearance tweaks

- Switch to Entity<T>
- Use ProtoIds
- Minor simplifications

* fix: add udderly silly PVS workaround

* cleanup

* fix

---------

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

* fix: Register OnRequestMovePulledObject under the right system (#38484)

* fix: Register OnRequestMovePulledObject under the right system

* nukeops test flake

* fix: correct ToggleableVisuals for toy sword and pirate helm (#38867)

* Fix lingering ghost roles (and expand tests to catch it) (#38788)

* Improve and expand `TakeRoleAndReturn` to fail on bug #38292

* fix #38292 and expanded test cases

* use validated EntProtoIds for tests

remove unusued using declarations

* use const strings that match the TestPrototypes

* Automatic changelog update

* Fix non-humanoid mobs being destroyed on devour (#38087)

* Allow non-preference living things to be added to a devourer's stomach

* Fix ordering of devour logic

* Minor refactor for whitelist on storage and food preference

* Fix linter issue

* Coerce workflow to run again; also fix bad indenting error

* Code review changes

* Automatic changelog update

* Prefer file-scoped namespaces in `.editorconfig` (#38879)

Prefer file-scoped namespaces in .editorconfig

* Parroting Parrots part 1: Help maints! SQUAWK! Maints! (#38243)

* parrots have ears. add poly

* high tech parrot functionality

* adjust times

* add accent to radio message

* don't spam everything all at once probably

* learn about the existence of prob(float)

* actually use Prob(float) correctly

* newline

* add pet spawner for poly

* move chance to talk on radio to component

* missing comment

* minor edits and doc additions

* the reviewerrrrrrr

* parrot can't learn when crit or dead

* increase default memory

* rename poly to polly

* crude way to ignore whispers. chatcode please

* This is Polly. It is set to broadcast over the engineering frequency

* add missing initialize

* add displacement map for parrot ears

* review comments - Errant

* minor things

* large rework

* fix attempting to talk when entity has no channels

* use list of active radios again to track channels

* fix bad return, some comments

* fix long learn cooldown

* minor adjustments

* use FromMinutes

* the voices told me to make these changes

* remove default reassignment

* Review changes

* remove polly's accent

* decouple radio stuff from parrotsystem

* minor stuff

* split vocalization and parroting

* minor review work

* re-add missing check

* add admin verb for clearing parrot messages

* minor action icon update

* oops

* increase icon number text size

* Admin erase parrot messages associated with players

* part 1 beck review

* add whitelist and blacklist for parrots

* Downgrade missing component error to warning

* Add comment

* add some missing comments

* Remove active radio entity tracking, use all inventory slots

* Minor changes

* small review stuff

* review radio stuff

* swap ears displacement to invisible death displacement

* remove syncsprite

* vscode why do yo have to hurt my feelings

* review changes

* use checkboth

* Automatic changelog update

* Predict RepairableSystem (#38886)

* commit

* Update SharedRepairableSystem.cs

* compo

* final touches.

* Update RepairableComponent.cs

* Update RepairableSystem.cs

* Update Content.Shared/Repairable/RepairableSystem.cs

---------

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

* Replace usages of customTypeSerializer PrototypeIdListSerializer with something that doesn't take 20 separate words to type out (#37959)

* Replace usages of customTypeSerializer PrototypeIdListSerializer with something that doesn't take 20 separate words to type out

* Missed one

* Missed another

* Fix data field ids

* Fix yaml linter and misc errors (#37444)

* Fix yaml linter

* Revert "fix cluwne pda pen slot (#35611)"

This reverts commit 66e926843f.

* More fixes

* Try again with the engine requirement removed

* Decrease number of brass sheets dropped by clockwork windoors

---------

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

* Add VV button to the solution editor (#38889)

add vv button to solution editor

* Automatic changelog update

* fix: wide swings with resistanceBypass now bypass resists (#38496)

* Allow pAIs to emote like a borg (#38425)

* Automatic changelog update

* reduced motion flash effect version 3 (#37824)

* V3

* Apply suggestions from code review

* Automatic changelog update

* feat: allow admins to interact under subfloors (#38813)

* feat: allow admins to interact under subfloors

* feat: use BypassInteractionChecks instead

* Automatic changelog update

* Operation Remove Gun Bloat (#38104)

* Remove long-unused magazines

Signed-off-by: Nox38 <nebulousnox38@gmail.com>

* Not sure why that failed, going to rerun tests real quick

* Testing if this resolves the tests. Anyone know how to run tests locally, without waiting for github?

Signed-off-by: Nox38 <nebulousnox38@gmail.com>

* Fully removed boxes of vector ammo and the vector ammo tag

Signed-off-by: Nox38 <nebulousnox38@gmail.com>

* This might fix the tests

Signed-off-by: Nox38 <nebulousnox38@gmail.com>

* Nulled more =

Signed-off-by: Nox38 <nebulousnox38@gmail.com>

* Nulled more migrations

Signed-off-by: Nox38 <nebulousnox38@gmail.com>

---------

Signed-off-by: Nox38 <nebulousnox38@gmail.com>

* Minigun inhands + HMG multihand and slow move speed (#35344)

* hmg move speed

* minigun inhands

* even better inhands

* touch-up

* Automatic changelog update

* Add Bolas to SecTech vendor (#38902)

* Automatic changelog update

* Kobold/monkey AI holograms (#38888)

* Added kobold/monkey AI holograms

* Updated meta.json

* Automatic changelog update

* Fix localization error when trying to change hair on someone with a hat (#38907)

* change Identity.Name to Identity.Entity for delivery popups (#38909)

* Replace `AdvertiseComponent` with `DatasetVocalizerComponent` (#38887)

* Replace AdvertiseComponent with DatasetVocalizerComponent

* No vocalizing while broken or without power

* Kill AdvertiseComponent/System

* This really shouldn't be here

* xmldoc for VocalizerRequiresPowerComponent

* TryIndex -> Index

* Bagel genpop (#38829)

* skelaton (skeleton)

* basic genpop

* genpop mostly done

* general layout

* all details

* maints firelocks, tweaks

* invalids bye, remove residual air and fire alarm

* uhh tweaked something dont remember

* remove actions

* armory: truncheon and riot crate

* remove more invalid devices

* armory holopad, graffiti tweak

* no windoor into sec substation, add flasher

* Revert "no windoor into sec substation, add flasher"

This reverts commit a7b919fb74433b82f48f92f98d5521ecb1f3eae4.

* no sub windoor, flasher

* fix camera blocking turret

* move warden and armory, restyle decals

* maints flashlights :D

* fix locker room dark tile placement

* Automatic changelog update

* fix clones not getting the thieving skill (#38914)

* Automatic changelog update

* Make more objects spray paintable (Reviving #31328) (#37341)

* PaintableAirlockComponent and AirlockGroupPrototype have been replaced

* Slightly redesigned SprayPainterSystem for greater versatility

* Added handling of changes to the appearance of doors and storages

* PaintableGroup prototypes have been created

* Generating tabs with styles in the UI

* Fix error with undiscovered layer

* Slight improvement

* Removed unnecessary property

* The category for `PaintableGroup` was allocated to a separate prototype so that the engine itself would check if the category existed

* Added canisters, but repainting doesn't work

* Added localization to styles

* Fix sprite changing

* Added the ability to paint canisters

* slight ui improvement

* Fix yamllinter errors

* Fix test

* The UI now remembers which tab was open

* Fix build (?)

* Rename

* Charges have been added to the spray painter

* Added a charge texture for the spray painter

* Now spray painter can paint decals

* Increased number of charges

* Spawning dummy objects has been replaced by PrototypeManager

* added a signature about the painting of the object

* fix

* Code commenting

* Fix upstream

* Update Content.Shared/SprayPainter/Components/SprayPainterAmmo.cs

Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>

* review

* Now decals can only be painted if the corresponding tab in the menu is open.

* Fixed a bug with pipe and decal tabs not being remembered

* Update EntityStorageVisualizerSystem.cs

* record

* loc

* Cleanup

* Revert electrified visuals

* more cleanup, fix charges, del ammo4

* no empty file, remove meta component

* closet exceptions, storage visualizer fixes

* enable/disable decal through alt-verb

* Fix missed merge conflicts

* fix snap offset, button event handlers

* simpler order, fix snap loc string

* Remove PaintableViz.BaseRSI, no decal item, A-Z

* State-respecting UI, BUI updates, FTL fixes

* revert DecalPlacerWindow changes

* revert unwanted changes, cleanup function order

* Limit SprayPainterAmmo write access to AmmoSystem

* Remove PaintedSystem

* spray paint ammo lathe recipe, youtool listing

* category as a list, groups as subtabs

* Restore inhand copyright in meta.json

* empty spray painter, recipe produces an empty one

* allow alpha on spray painter decals

* add comments

* paintable wall lockers

* Restrict painting more objects

* Suggested event changes, event cleanup

* component comments, fix ammo inhands

* uncleanable decals, dirty styles on mapinit

* organize paintables, separate emergency/closet grp

* fix categories newline at EOF

* airlock group whitespace cleanup

* realphabetize

* Clean up EntityStorageViz merge conflict markers

* Apply requested changes

* Apply suggestions from sowelipililimute's review

Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>

* betrayal most foul

* Remove members from EntityPaintedEvent

* No emerg. group, steelsec to secure, locker/closet

* Enable repainting the medical wall locker

* comments, no flags on PaintableVisuals

* Remove locked variants from closets/wall closets

* removable decals

* off value consistency

* can't paint away those bones

* fix precedence

* Remove AirlockDepartment, AirlockGroup protos

Both unused.

* whitelist consistency re: ammo component

* add standing emergency closet styles

* alphabetize the spray painter listings

---------

Co-authored-by: Ertanic <black.ikra.14@gmail.com>
Co-authored-by: Эдуард <36124833+Ertanic@users.noreply.github.com>
Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>

* Automatic changelog update

* Add Serializable, NetSerializable attributes to DecalPaintMode (#38921)

Serializable, Net" on DecalPaintMode

* Rotated turret wall panel sprites (#38464)

rotated sprites

* Stun and Stamina Visuals (#37196)

* Stun animation

* Commit 2

* Almost working commit

* Best commit

* Minor cleanup and value adjustments

* Fix animation data getting wasted and cleaned up some stuff

* Don't animate if dead

* AppearanceSystem is for chumps

* Cleanup

* More cleanup

* More cleanup

* Half working commit

* Documentation

* Works

* ComponentHandleState my beloved

* AppearanceComp compatibility

* Address review

* Borgar

* AND NOW THE END IS NEAR

* AppearanceSystem compliance (Real)

* Don't need to log missing there

* I actually hate mob prototypes so much you don't even know

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>

* Automatic changelog update

* Fix AddHandCommand not working on aghosts (#38866)

* Component for clothes to suppress emotes and scream action in general, and the muzzle to suppress vocal emotes in particular (#32588)

* Component for clothes to suppress scream noise

GaggedComponent + AddGaggedClothingComponent and relevant systems to make them work.

Currently only stifles the scream _action_, not all emotes

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

* fix comments

* swap to inventory relay

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

* power gloves shouldn't block snapping

* easy fixes

* blockable emote event

* pr comments, switch to using emote event mostly

* pr comments

add beforeEmoteEvent

add emote blocker name to popup

maybe some other stuff, I forget

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

* smol clean

* formatting, style, and one minor thing where having a muzzle in your pocket would gag you

* Automatic changelog update

* Tweaks to ShowRulesCommand structure, localization, and autocomplete. (#38855)

commit

* Automatic changelog update

* Convert Locker/Closet fills to Entity Tables: Part 2 (#38254)

Co-authored-by: Velcroboy <velcroboy333@hotmail.com>

* Fixing a singular pixel on the frame of the AI (#38936)

* Singular pixel ops

* Third commit - upholding CC-BY-SA by indicating changes made

* Bottle Drink Inhands (#38937)

* there is now bottles of booze in your hands

* Messed up the vermouth inhand fills slightly.

* oh whoops that's redundant

* Automatic changelog update

* refactor: rework the new status effect system to use containers (#38915)

* refactor: rework the new status effect system to use containers (#38915) (#38943)

Co-authored-by: Perry Fraser <perryprog@users.noreply.github.com>

* fix: don't divide by zero in FragmentIntoProjectiles (#38946)

* Accents Event to Shared (#38948)

* 27 file diff

* 27 file diff 2

* Apply suggestions from code review

---------

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

* Update Credits (#38955)

Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>

* SharedGunSystem spread bugfix (#38960)

two bytes

* Fixed error thrown when examining indestructible plastitanium windows (#38950)

* Fixed error thrown when examining indestructible plastitanium windows

* Fixed indentation to match yaml standards

* Fix extra dollar sign in admin log for machine toggle (#38961)

* Don't compile EF Core designer files on release builds (#38927)

* Hats (and glasses) for pets - Part 1 - Ian and McGriff (#38634)

* new branch new me

* cursed displacement

* 2 pixels of death

* forgot a line

* fixed some edge cases on corgis with the displacement

* fix conflict

* fix indentations

* a bit more displacement fixes

* Automatic changelog update

* [BUGFIX] Stops scurrets from suffocating in crates (#38951)

Prevent scurrets from dying!

* Automatic changelog update

* Cleanup warnings: CS0649 (#38797)

* make ocarina small (#38971)

Update instruments_wind.yml

* Automatic changelog update

* Add contraband parent to war declarator (#38972)

* Automatic changelog update

* Remove prototype caching from `ZombieComponent` (#38979)

Remove prototype caching from ZombieComponent

* Vox customization additions (+eyeshadows) (#38906)

vox customization stuff

* Automatic changelog update

* Refactor ExaminableDamage (#38978)

* Remove prototype caching in ExaminableDamageComponent

* Replace ExaminableDamagePrototype with LocalizedDatasetPrototype

* Allow null

* Voltage enum to shared (#38964)

* fix: ghosts shouldn't see whisper obfuscation (#38202)

* Fix devices in terminal mispredicting power state (#38647)

* The simple solution

* The better solution

* Revert "The better solution"

This reverts commit 611e56e031636734abab1ad3e77bf88b69a4de13.

* make biogenerator not accept low-nutrient plants (#38427)

* anti-noob

* dsaswa

* Minor grammar change

---------

Co-authored-by: beck-thompson <beck314159@hotmail.com>

* Make RunVerbAs take and return EntityUids (#38155)

fix: make RunVerbAs take and return EntityUids

* Automatic changelog update

* Buff parrot learn rates and radio chatter (#38984)

* buff parrots

* ok but not that smart

* oop

* Remove prototype caching from `TransformableContainerComponent` (#38988)

Remove prototype caching from TransformableContainer

* New holy books (#38986)

* Adds a few new holy books, implements one existing, and makes them pickable from loadout

* Almost forgot the yaml

* Forgot to change fork-specific paths

* Modified copyright to be less specific as requested by maintainer

* Newlines

* Replaced scroll torah with a book-bound tanakh, as recommended by dvir001

* Changed all mentions to use tanakh instead of torah

* Made the Mosin bayonet usable. (#38295)

* Made mosin an alt-melee weapon, added reagent fill for the weapon.

* fixes

---------

Co-authored-by: RedBookcase <Usualmoves@gmail.com>
Co-authored-by: beck-thompson <beck314159@hotmail.com>

* Automatic changelog update

* Adjust throwables hitboxes to match sprites (#38985)

Initial commit

* Automatic changelog update

* Moproaches (#38700)

* MOPROACHES

* rerun test - random test fail of doom

* added to random pest event, with same prob as cancer mouse

* rerun test - random test fail of doom 2 electric boogaloo

* changed moproach obtain methods

* no crafting of moproaches allowed :(

* Reverted content of file.

* requested changes

* requested changes

* requested changes

* Increase moproach health by 5 - requested by Emo on discord

* spaaaaaaaaaaaaaaaaaaaaaaaaace

* microwave recipe added

* no surgery this week

* spaaaaaaaaaaaaaaaaaaace 2 more space for your space

* space

* new mopshoes sprite

* in-hands

* inhands v2

---------

Co-authored-by: ScarKy0 <scarky0@onet.eu>

* Automatic changelog update

* Remove the Qur'an (#39000)

* Mostly fix reaction sound effect stacking :( (#38999)

* fix: band-aid the reaction sound effect stacking

It's so funny I'm so sad I'm writing this commit :(

* fix: remove unused hashset

Drive by fix. 'Tis never read from.

* fix: switch to just making it server only

* fix: uncomment the if lol

Commented it out for recording video oopsie

* Convert some voice samples to mono (#39002)

* Convert Xenoborg voice sounds to mono

* Convert female human cough sounds to mono

* PressureEvent removed (dead code) (#39004)

yep

* Predict DevourSystem. (#38970)

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

* Whitelist extension for tool belt (#35212)

* sd

* xd

* im so dumb

* revert to just remote signaller

* forgot

* add code comment

---------

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

* Automatic changelog update

* Fix firelocks failing to drop fast enough (#38918)

* Automatic changelog update

* Fix Mjollnir throw while on delay (#39018)

* init

* fuck dirty

* yippee

* Automatic changelog update

* Give admin bags explosion resistance (#38384)

Co-authored-by: youtissoum <51883137+youtissoum@users.noreply.github.com>

* Automatic changelog update

* Inconsistent Produce Inhands Fix (#38860)

* V1 Sprites

* Adding heldPrefix

* Updated Sprites

* 4 New Inhands & Sprite Tweak

* WaterMelon/HolyMelon Front Change

* Meta Guh

* Sugarcane Updated Inhands

* Re-id 'Medical Doctor' guide entry to 'MedicalDoctor' (#39029)

chore: re-id 'Medical Doctor' guide entry

* Make diagonal windows prevent electrocution (#39032)

Add the window tag

* Automatic changelog update

* Carps Can No Longer Suicide (#39033)

Update carp.yml

* Wearable banana peels (#38868)

* Add wearable helmet sprites for banana and mimana peels

Made it so banana peels and their variants can be worn as head gear. The sprites were done by myself, so feel free to change or update them! Includes hamster compatibility.

* fixed a minor state bug

* Review fixes

- Removed blank space
- Added "FlipBrooke" to all modified meta.jsons, with the added note of which sprites I got the colors from/referenced.

* I forgot a comma

adds a comma and some periods

* NPC spiders sometimes spin webs 🕷️🕸️ (#38319)

* NPC spiders now spin webs

* oops

* move logic to always update next spawn, to prevent rare web spam

* WebSpawnCooldown is timespan

* remove vv

* add web spawn method, no sus action event method call

* dont spin web immediately at spawn

* move NextWebSpawn value init to update

* oop

* remove unused game timing

* web spawn cooldown to 45

* Automatic changelog update

* Fix Respirator Asserts (#38911)

* Fix errors

* Cleanup CanMetabolizeInhaledAir

* Wait no don't do that

* Revert changes for real

* Fix

* Code cleanup and some safety rails

* Better tests and also comments

* Better comments

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>

* Add supercritical sounds for ALL anomalies (#36425)

* add supercritical sounds for flesh anomaly and shadow anomaly

* fix attribution yml

* use sound collections, add TWO -- count em TWO tech anomaly supercrit sounds.

* add sound for present anomaly

* wrong soundcollection for flesh

* actually add the present anomaly sound...

* add fire anom sound

* add gravity anomaly supercritical sound

* add electric anomaly supercritical sound

* add bluespace anomaly supercritical and explosion sound

* add ice anomaly supercritical sound

* add fluid anomaly supercritical sound

* fix busted link

* typo

* add floral supercritical sound, fix typos

* Add supercritical sounds to injected anomalies

* add rock anomaly supercritical sound

* supercritical sound follows the entity, important for injected anomalies

* make the rock crit rumble a little less subtle at the start

* use CC0 freesound alternatives where available

* New pyro anomaly sound by GonTar

* New sounds by GonTar. Change AnomalyComponent so that you can change the length of supercritical properly in the prototype.

* oopsie, forgot the traps

* use TimeSpan for duration

* Automatic changelog update

* Metashield Rules Update (Removal) (#38953)

* Revert "Don't compile EF Core designer files on release builds" (#39057)

* Revert "Kobold/monkey AI holograms (#38888)"

This reverts commit 97fcebb92b.

Please check the maintainer meeting and the recording at time 41:58 for further information

https://docs.spacestation14.com/en/maintainer-meetings/maintainer-meeting-2025-07-19.html

* Replace SharedStatusEffectsSystem with StatusEffectsSystem

Updated references from SharedStatusEffectsSystem to StatusEffectsSystem in spell and magic weakness systems to use the correct status effects system implementation.

* Update examine_messages.yml

* fix

* Update round_end.yml

---------

Signed-off-by: Nox38 <nebulousnox38@gmail.com>
Co-authored-by: Mora <46364955+TrixxedHeart@users.noreply.github.com>
Co-authored-by: TrixxedHeart <46364955+TrixxedBit@users.noreply.github.com>
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
Co-authored-by: Andrew Malcolm O'Neill <105134723+maland1@users.noreply.github.com>
Co-authored-by: Minerva <218184747+mnva0@users.noreply.github.com>
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
Co-authored-by: Tiniest Shark <head.rebel@yahoo.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: Velken <8467292+Velken@users.noreply.github.com>
Co-authored-by: Kyle Tyo <36606155+VerinSenpai@users.noreply.github.com>
Co-authored-by: Perry Fraser <perryprog@users.noreply.github.com>
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
Co-authored-by: Arthur Fiorese de Andrade <170277843+ADM2PLAY@users.noreply.github.com>
Co-authored-by: Arthur Fiorese de Andrade <aandrade@cmcxs.gov.br>
Co-authored-by: beck-thompson <107373427+beck-thompson@users.noreply.github.com>
Co-authored-by: Boaz1111 <149967078+Boaz1111@users.noreply.github.com>
Co-authored-by: āda <ss.adasts@gmail.com>
Co-authored-by: iaada <iaada@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: B_Kirill <153602297+B-Kirill@users.noreply.github.com>
Co-authored-by: poklj <compgeek223@gmail.com>
Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
Co-authored-by: AsnDen <75905158+AsnDen@users.noreply.github.com>
Co-authored-by: Winkarst-cpu <74284083+Winkarst-cpu@users.noreply.github.com>
Co-authored-by: Smugman <85798843+Smugman@users.noreply.github.com>
Co-authored-by: Голубь <124601871+Golubgik@users.noreply.github.com>
Co-authored-by: unknown <wainzor1337@gmail.com>
Co-authored-by: ScarKy0 <scarky0@onet.eu>
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
Co-authored-by: kosticia <kosticia46@gmail.com>
Co-authored-by: Quantum-cross <7065792+Quantum-cross@users.noreply.github.com>
Co-authored-by: Sparlight <twiksparlight@gmail.com>
Co-authored-by: Crude Oil <124208219+CroilBird@users.noreply.github.com>
Co-authored-by: DrSmugleaf <10968691+DrSmugleaf@users.noreply.github.com>
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
Co-authored-by: Tobias Berger <toby@tobot.dev>
Co-authored-by: Nox <nebulousnox38@gmail.com>
Co-authored-by: K-Dynamic <20566341+K-Dynamic@users.noreply.github.com>
Co-authored-by: Hitlinemoss <209321380+Hitlinemoss@users.noreply.github.com>
Co-authored-by: qwerltaz <69696513+qwerltaz@users.noreply.github.com>
Co-authored-by: Whatstone <166147148+whatston3@users.noreply.github.com>
Co-authored-by: Ertanic <black.ikra.14@gmail.com>
Co-authored-by: Эдуард <36124833+Ertanic@users.noreply.github.com>
Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
Co-authored-by: Princess Cheeseballs <66055347+Princess-Cheeseballs@users.noreply.github.com>
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: Centronias <me@centronias.com>
Co-authored-by: Velcroboy <107660393+IamVelcroboy@users.noreply.github.com>
Co-authored-by: Velcroboy <velcroboy333@hotmail.com>
Co-authored-by: Mono <182929384+Monotheonist@users.noreply.github.com>
Co-authored-by: Fildrance <fildrance@gmail.com>
Co-authored-by: Myra <vasilis@pikachu.systems>
Co-authored-by: KOTOB <59124164+kotobdev@users.noreply.github.com>
Co-authored-by: devinschubert14 <59582670+devinschubert14@users.noreply.github.com>
Co-authored-by: SpaceManiac <tad@platymuus.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
Co-authored-by: ToastEnjoyer <masondoesgamingyes@gmail.com>
Co-authored-by: Flareguy <78941145+Flareguy@users.noreply.github.com>
Co-authored-by: UpAndLeaves <92269094+Alpha-Two@users.noreply.github.com>
Co-authored-by: beck-thompson <beck314159@hotmail.com>
Co-authored-by: Trosling <111116669+RHSvenson@users.noreply.github.com>
Co-authored-by: RedBookcase <crazykid1590@gmail.com>
Co-authored-by: RedBookcase <Usualmoves@gmail.com>
Co-authored-by: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
Co-authored-by: Hannah Giovanna Dawson <karakkaraz@gmail.com>
Co-authored-by: Łukasz Lindert <lukasz.lindert@protonmail.com>
Co-authored-by: nabegator <stunprod228@outlook.com>
Co-authored-by: shampunj <140359015+shampunj@users.noreply.github.com>
Co-authored-by: youtissoum <51883137+youtissoum@users.noreply.github.com>
Co-authored-by: Prole <172158352+Prole0@users.noreply.github.com>
Co-authored-by: FungiFellow <151778459+FungiFellow@users.noreply.github.com>
Co-authored-by: FlipBrooke <87075384+FlipBrooke@users.noreply.github.com>
Co-authored-by: Admiral-Obvious-001 <89495925+Admiral-Obvious-001@users.noreply.github.com>
2025-07-30 16:02:21 +03:00
Ed
b83db04006 Update round_end.yml 2025-07-30 15:47:36 +03:00
Ed
94c9e49bb1 fix 2025-07-30 15:42:22 +03:00
CrystallEdge Server
3aa75783c3 Automatic changelog update 2025-07-30 14:20:48 +03:00
Nim
96e15dfb71 recolored birch (#1591) 2025-07-30 14:19:42 +03:00
CrystallEdge Server
76e7cb9464 Automatic changelog update 2025-07-30 14:17:20 +03:00
Red
c8f25eefcf Mushroom update (#1590)
* mycelium tiles

* cave mushroom procedular generation

* mushroom demiplane

* Update herbals.yml

* Update mushroom.yml

* Delete 2.4.png
2025-07-30 14:16:14 +03:00
Ed
aaeaa7ab66 Update examine_messages.yml 2025-07-30 11:55:00 +03:00
PJBot
a8b65f2da7 Automatic changelog update 2025-07-30 06:45:53 +00:00
āda
f6475bd264 EntityEffectConditions changed to be inclusive of min/max (#36289)
* soo hungry going back for more lipolicide

* too much lipolicide.....

* fixes

* it moved

* typo

---------

Co-authored-by: iaada <iaada@users.noreply.github.com>
2025-07-29 23:44:46 -07:00
iaada
e58103bac6 more solution status 2025-07-29 18:03:03 -05:00
iaada
c473ee6667 hard life being so indecisive 2025-07-29 15:15:24 -05:00
iaada
2c54d3bfc4 InjectComp 2025-07-29 14:42:49 -05:00
iaada
21aa6c664a consistent use of ExaminableSolution 2025-07-29 14:02:02 -05:00
PJBot
2f64e105d4 Automatic changelog update 2025-07-29 18:53:49 +00:00
Admiral-Obvious-001
0606ed5851 Retry of Advanced Chem Tweaks (#38811)
* Changed Head Branch Due To Broken Merge

* Changed Head Branch Due To Broken Merge

* Readds the removal of bic/advanced mix.

* TFW Breaking changes break changes

* TFW Breaking changes break changes
2025-07-29 14:52:42 -04:00
slarticodefast
d4e77423ca Make RemoveReagent return a FixedPoint2 (#39266)
change return
2025-07-29 10:39:48 -04:00
PJBot
3f41b47d2e Automatic changelog update 2025-07-29 12:02:48 +00:00
Alkheemist
9be68a6846 Fix a logic error in Protectedgridsystem (#39271)
fix a logic error in Protectedgridsystem
2025-07-29 14:01:40 +02:00
PJBot
990940071b Automatic changelog update 2025-07-29 07:35:56 +00:00
K-Dynamic
60cf54840f Quartermaster job and ID icon change (#39259) 2025-07-29 10:34:47 +03:00
iaada
2573d86303 add a todo 2025-07-29 00:08:47 -05:00
iaada
8b6da7190b quality passes will continue until i'm satisfied 2025-07-28 23:34:53 -05:00
PJBot
13ac52d21b Automatic changelog update 2025-07-28 21:29:22 +00:00
Mora
4a7576a7a6 Several Vox Sprite Displacement and Layering Fixes (#39219)
* Vox displacement map fixes

* Adds neck displacement map and changes sprite layering to prevent the tank from rendering on top of a Vox's facial hair strangely
2025-07-28 17:28:15 -04:00
Ed
53cd6fde50 Update shirt.png 2025-07-29 00:25:46 +03:00
kosticia
4c24db9d9c Predict mimepowers (#38859)
* predict

* fix

* fix

* aa

* oops

* TOTALFIX

* some more cleanup

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-07-28 20:53:07 +02:00
Kyle Tyo
a52bf2a7c8 Convert a few debugging commands and the mapping setup command to LEC. (#38589)
* commit

* Update MappingClientSideSetupCommand.cs

* missed a spot

* Update MappingClientSideSetupCommand.cs

* whoopos

* Update mappingclientsidesetup-command.ftl
2025-07-28 18:29:15 +02:00
PJBot
cb9b8c001d Automatic changelog update 2025-07-28 16:10:25 +00:00
Super
b0825c102c Added a network configurator to the Warden's locker. (#39254)
the days of wardloosing are OVER
2025-07-28 12:09:17 -04:00
Ed
e42b3aa55c secret ghost resprite 2025-07-28 16:33:55 +03:00
eoineoineoin
e2d96f1f49 Make BoozeDispenserEmpty actually empty (#39067)
* Make BoozeDispenserEmpty actually empty

* Make SodaDispenserEmpty actually empty

* Remove whitespace
2025-07-28 15:27:21 +02:00
PJBot
b77b533e1f Automatic changelog update 2025-07-28 13:00:48 +00:00
lzk
8b104d30d5 allow janibelt to hold golden plunger (#39213) 2025-07-28 14:59:40 +02:00
xsainteer
901cef43c9 last words error fix (#39245)
4 line bugfix
2025-07-28 14:56:48 +02:00
xsainteer
3c76b5a8aa rolebriefingcomponent bugfix (#39261)
2 line bugfix
2025-07-28 14:50:49 +02:00
PJBot
c3cab577f6 Automatic changelog update 2025-07-28 10:20:24 +00:00
Nemanja
fedc355f20 fix foldable clothes not working while worn (#39257) 2025-07-28 12:19:17 +02:00
PJBot
005203227b Automatic changelog update 2025-07-28 07:12:32 +00:00
Pieter-Jan Briers
5f52a3ae17 [Mald PR] Plushie sound 1984 (#39250)
* Make melee sounds respect their audio params

* Make food sounds respect audio params

* Plushie sound 1984

Most plushies have been made quieter (by varying degrees depending on how obnoxious the original sound was)

Made plushies 3x slower to use (squeak every 3 seconds / hit somebody every 3 seconds)
2025-07-28 03:11:21 -04:00
iaada
ae2de02f0e another pass 2025-07-28 01:06:18 -05:00
iaada
9a09a9fbfa Another quality pass. More descriptive name for base types and give everything a material base. 2025-07-27 19:03:30 -05:00
lzk
45cef10bad update bagel (fix button connected to doors) (#39216)
update bagel
2025-07-27 15:48:14 -06:00
slarticodefast
2ac9948ba0 Handle inventory template updating V2 (#39246) 2025-07-27 23:05:58 +02:00
Prole
a789341b2f Hot Potato Sprite Fix (#39193)
* Current Potato Sprite In

* Bit of Cleanup

* Update Resources/Textures/Objects/Weapons/Bombs/hot_potato.rsi/meta.json

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-07-27 15:48:01 -04:00
iaada
d0a57fa214 lint errors 2025-07-27 14:27:02 -05:00
iaada
4d3e3c7a4f rename the bases, more destruction 2025-07-27 14:14:47 -05:00
Pok
688c91b597 Add scaling filter option (Nearest/Bilinear) (#39111) 2025-07-27 20:26:17 +03:00
Ed
83519930e8 add artisans job gates 2025-07-27 19:31:21 +03:00
CrystallEdge Server
5a69cc9855 Automatic changelog update 2025-07-27 18:55:45 +03:00
SketchiiArtist
a55baf6c9b Added Stools (#1577)
* Added Stools

* Updated Textures, now craftable.

* Update chairs.yml

---------

Co-authored-by: Red <96445749+TheShuEd@users.noreply.github.com>
2025-07-27 18:54:40 +03:00
Red
fc30c36576 Candles & Candelabras (#1585)
* Refactor food holder visual update logic

Simplified UpdateVisuals method in CP14ClientCookingSystem by consolidating parameters and using component fields directly. Also ensured FoodData field is dirtied after updating visuals in CP14SharedCookingSystem to trigger proper synchronization.

* add sprites

* candles redo

* candles and candelabras

* mapping
2025-07-27 18:54:22 +03:00
Red
5c0eb97571 Refactor food holder visual update logic (#1584)
Simplified UpdateVisuals method in CP14ClientCookingSystem by consolidating parameters and using component fields directly. Also ensured FoodData field is dirtied after updating visuals in CP14SharedCookingSystem to trigger proper synchronization.
2025-07-27 17:18:25 +03:00
CrystallEdge Server
e020394f56 Automatic changelog update 2025-07-27 16:46:21 +03:00
Red
fcbe2cce6b Rooms demiplane generation improvement (#1583)
* Add CP14RoomsDunGen for procedural room placement

Introduces the CP14RoomsDunGen layer for generating rooms across the grid based on tags and tile masks. Updates DungeonJob and DungeonSystem to support the new layer, and modifies relevant YAML prototypes to use CP14RoomsDunGen instead of OreDunGen for room spawning in demiplane modifiers.

* some fixes

* its done done done

* exit room

* additional entry points

* fix

* Update migration.yml
2025-07-27 16:45:16 +03:00
Kowlin
8fdfb9deae Add admin logging to Wireless entertainment cameras (#39239) 2025-07-27 13:07:34 +02:00
Red
5020be8ec6 Add supports for different skillpoints types (#1581)
* Refactor skill points to support multiple types

Reworked the skill point system to support multiple types (e.g., Memory, Blood) instead of a single experience cap. Added CP14SkillPointPrototype, updated skill storage and UI to handle per-type points, and adjusted related logic and prototypes. Updated localization and assets to reflect these changes.

* oopsie

* Update human.yml

* Update CP14SkillUIController.cs

* Refactor skill storage to use skillPoints config

Replaced 'experienceMaxCap: 0' with 'skillPoints: Memory: max: 0' in Skeletons T1, T2, and undead mob prototypes. This change standardizes skill storage configuration and improves clarity.
2025-07-27 13:47:05 +03:00
PJBot
faf15e7933 Automatic changelog update 2025-07-27 06:18:10 +00:00
ToastEnjoyer
7852b52f85 Added utility belt function to scrap armor (#39233) 2025-07-26 23:17:00 -07:00
Jessica M
540703588c Make the cherry pit tiny (#39230)
make cherry pit tiny

Co-authored-by: Jessica M <jessica@maybe.sh>
2025-07-26 23:14:01 -07:00
github-actions[bot]
6aa278a709 Update Credits (#39232)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2025-07-26 18:10:00 -07:00
Pieter-Jan Briers
43b3250e26 Replace bad changelog entry (#39229) 2025-07-26 18:58:06 -04:00
iaada
5a65aea664 more sound 2025-07-26 15:08:10 -05:00
kosticia
21d47364c0 Some wallmount .yml cleanup (#34329)
* Getting started

* Move some

* And some moves

* And some changes

* Some changes

* YAML LINTER FIX

* Nanomed and monitor fixes

* Vending machines change

* Add space...

* fix

* FIX

* yeeee

* sighs

* forgor

* Revert "forgor"

This reverts commit 61d7fc926e7141bb510c70a9deb2a2afed925166.
2025-07-26 15:20:55 -04:00
CrystallEdge Server
d9b3ceac7c Automatic changelog update 2025-07-26 15:26:04 +03:00
gogenych
5da0d4b025 New trees: spruce! (#1539)
* yolochki

* frame

* fix

* fix 2

* fix3

* fix04

* fix-5

* 6 fix

* fi7x

* f8ix

* Update grasslands.yml

* fix

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: Ed <edwardxperia2000@gmail.com>
2025-07-26 15:24:59 +03:00
CrystallEdge Server
6c085a2f03 Automatic changelog update 2025-07-26 15:11:14 +03:00
CrystallEdge Server
6a99015130 Automatic changelog update 2025-07-26 15:10:09 +03:00
Red
59459bfda5 Remove Lumera (#1578)
* remove vampire

* remove lumera

* move aura imprint folder

* remove armor

* delete textures

* Revert "delete textures"

This reverts commit 2fd90e0898.

* Revert "remove armor"

This reverts commit c44bd1bc32.
2025-07-26 15:10:06 +03:00
Kryyto
23ce52c69e Refactor guard bell (#1553)
* Remove maps edits

* fix from review

* Remove unused CP14 alert levels (fixing YAML)

* fix missing prototype CP14GuardBell

* fix from review 2

* fix TriggerSystem partial

---------

Co-authored-by: Jordan FUMA <@jfa>
2025-07-26 15:09:04 +03:00
Red
6ff39a79e2 Update PULL_REQUEST_TEMPLATE.md 2025-07-26 14:55:03 +03:00
CrystallEdge Server
0de66df971 Automatic changelog update 2025-07-26 14:50:09 +03:00
Kit
4a812d0d0b Elf rework (#1568)
* Mana trance slight buff

* ELF TAXI!!!

* Elf only mana trance

* No more mana regen for you

* guide book changes

* i should really not write something while eepy

* Update mana_trance.yml

---------

Co-authored-by: Red <96445749+TheShuEd@users.noreply.github.com>
2025-07-26 14:49:03 +03:00
Pieter-Jan Briers
444180c20d Optimizations from server profile (#38290)
* Properly cache regexes in chat sanitization/accents

Wow I wonder if `new Regex()` has a cost to it *looks at server profile*.

* Avoid lag caused by Tippy command completions

CompletionHelper.PrototypeIDs explicitly says *not* to use it with EntityPrototype. Unsurprisingly, reporting a completion result for every entity prototype in the game is a *bad idea*.

* Add active count metrics to some high-load systems

Mover & NPCs

I suspect the thing that caused the Leviathan round to shit itself on performance is NPC spam in space or something. So let's verify that.

* Enable parallel processing on pow3r again

Originally disabled due to a theory of it causing bugs, it was re-enabled on Vulture, and I'm not aware of it having caused any issues there.

* Replace hashset with bitflags for AtmosMonitor alert types.

Allocating these hashsets was like 20% of the CPU of atmos, somehow.

* Cache HashSet used for space movement collider checks

Turns out this was a ton of server allocations. Huh.
2025-07-26 11:44:34 +02:00
iaada
bbfefc4df7 typo 2025-07-26 04:23:18 -05:00
iaada
68ccb2881f material arbitrage 2025-07-26 04:17:55 -05:00
iaada
0db3df2578 final pass 2025-07-26 03:45:36 -05:00
iaada
441f2fea5a overkill threshold 2025-07-26 03:36:34 -05:00
iaada
1c382cfa98 funny damage 2025-07-26 03:30:43 -05:00
iaada
3653fc4460 fixed well enough 2025-07-26 03:12:30 -05:00
iaada
3774b05ca1 no commit discipline 2025-07-26 02:58:28 -05:00
5tickman
4a780a6f42 Merge branch 'FoodSizeAdjustment' of https://github.com/5tickman/space-station-14 into FoodSizeAdjustment 2025-07-25 21:44:06 -05:00
5tickman
4cda5d11ab Merge branch 'master' of https://github.com/space-wizards/space-station-14 into FoodSizeAdjustment 2025-07-25 21:36:15 -05:00
5tickman
3566c8c8c6 Baguette-less mimes, and bigger combat bakery kit box. 2025-07-25 21:24:53 -05:00
iaada
5a625725fd Merge remote-tracking branch 'upstream/master' into up/drinks-yml 2025-07-25 20:44:55 -05:00
iaada
69a404e291 atomize 2025-07-25 20:16:36 -05:00
iaada
ddc192ac1a cleanup pass 2025-07-25 20:12:19 -05:00
iaada
12d635c0e9 Revert "trash drinks gets trashed (fixed)"
This reverts commit eb8599d204.
2025-07-25 19:24:13 -05:00
iaada
5a4373dacc break up drinks_bottles 2025-07-25 19:19:04 -05:00
iaada
05241c27d7 break up drinks_bottles 2025-07-25 19:18:43 -05:00
xsainteer
d0c104e4b0 Added Kill Tome (Death Note). (#39011)
Co-authored-by: ScarKy0 <scarky0@onet.eu>
2025-07-26 00:00:58 +02:00
iaada
eb8599d204 trash drinks gets trashed (fixed) 2025-07-25 15:01:34 -05:00
iaada
47460e0e4a bottles 2025-07-25 15:01:05 -05:00
PJBot
2be968ccb1 Automatic changelog update 2025-07-25 19:47:49 +00:00
Quantum-cross
fc5d3dd431 Fix pinpointer screen rotation solution 2 (#38657)
* secondary method of fixing the pinpointer arrow rotation axis -- ensuring that the center of the pinpointer screen and arrow is at the center of the sprite.

Thanks to @whatston3 for stretching out the pinpointer sprites.

* update meta.json for pinpointer sprite changes
2025-07-25 12:46:42 -07:00
PJBot
236a3b2818 Automatic changelog update 2025-07-25 16:54:08 +00:00
slarticodefast
b4e81cb8f2 Admin Tool: Observe entities in an extra viewport (#36969)
* camera

* add console command

* change verb name to camera

* placeholder text

* add button to player panel

* orks are indeed the best

* visibility flag fix

* not a datafield

* more follower fixes

* more cleanup

* add zooming

* resizing real

* remove commented out code

* remove AddForceSend

* comment

* Use OS window and add some comments

* fix comments and variable name

* Needs RT update

* Minor grammarchange

* Fix warning

* Cleanup

* almost working...

* fix bug

* oswindow update

* Remove need for RequestClosed.

---------

Co-authored-by: beck-thompson <beck314159@hotmail.com>
Co-authored-by: PJB3005 <pieterjan.briers+git@gmail.com>
2025-07-25 18:53:01 +02:00
PJBot
f501b1b57f Automatic changelog update 2025-07-25 16:34:51 +00:00
SlamBamActionman
d3cdae5a92 Change smoke/foam/explosion chemistry reaction order & energy transfer (#37915) 2025-07-25 18:33:44 +02:00
PJBot
ae276eb237 Automatic changelog update 2025-07-25 16:05:36 +00:00
SlamBamActionman
a8db9df281 Change potassium-water explosion scaling (#37924) 2025-07-25 18:04:26 +02:00
B_Kirill
ff7713ecea Admin logs for batteries UI (#39208) 2025-07-25 14:01:37 +02:00
iaada
fe8c3d2e0b fix the base types 2025-07-25 03:03:32 -05:00
iaada
9f9b439688 drinks_special part 1 2025-07-25 01:36:27 -05:00
iaada
94f089a1c6 cups and metamorphic 2025-07-25 00:05:30 -05:00
iaada
7f96244ec5 drink cans 2025-07-24 22:05:25 -05:00
5tickman
8555fe5991 Merge branch 'space-wizards:master' into FoodSizeAdjustment 2025-07-24 17:30:32 -05:00
Perry Fraser
1afb37669d fix: don't apply Sleeping during prediction reset (#39061)
* fix: don't apply Sleeping during prediction reset

* I'm calling test flake
2025-07-24 23:10:47 +02:00
lzk
3ce7d37b14 bagel update (best med update) (#39187) 2025-07-24 12:11:54 -06:00
PJBot
a36c984ba6 Automatic changelog update 2025-07-24 15:14:36 +00:00
Perry Fraser
b0e1ce7c0c feat: add a component for rejuvenateable status effects (#39025)
* feat: add a component for rejuvenateable effects

* feat: let god mode'd entities get buffs

* fix: handle old status effect system

Didn't realize BeforeStatusEffectAddedEvent was called by both systems,
oops.

* refactor: rename to RejuvenateRemovedStatusEffect

* fix: make forced sleeping a debuff again

Missed in rebase.

* refactor: make BeforeStatusEffectAdded two events
2025-07-24 17:13:29 +02:00
PJBot
82c0f63d50 Automatic changelog update 2025-07-24 11:25:25 +00:00
B_Kirill
01a57c9a17 Add name to AI eye (#39177)
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-07-24 13:24:18 +02:00
PJBot
3b5faac050 Automatic changelog update 2025-07-24 09:46:02 +00:00
K-Dynamic
4739ce71c5 Makes cold slowdown less punishing (#36316) 2025-07-24 11:44:55 +02:00
PJBot
f6386b3a57 Automatic changelog update 2025-07-24 03:05:36 +00:00
Ivan
70ad8efac3 Emissive engineering & chief engineer's hardsuit helmets (#39153)
* test one, the light is not showing for some reason

* ToggleableVisuals, not ToggleableLightVisuals

* FIX THIS AGAIN I AM STUPID

* WHY DID THESE PERSIST =(
2025-07-23 23:04:29 -04:00
Flareguy
649b23a061 moth displacement map fixes 2025-07-23 21:22:02 -05:00
Princess Cheeseballs
291f919e8e Crawling Bugfix: Don't drop items when falling. (#39168)
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-07-23 22:24:21 +02:00
PJBot
de22bd82bb Automatic changelog update 2025-07-23 18:07:40 +00:00
slarticodefast
de576a429d Fix some debugging permissions (#39167)
fix permissions
2025-07-23 14:06:32 -04:00
Deserty0
43b19a7ce3 1234567 (#1569) 2025-07-23 19:36:00 +03:00
PJBot
1b43f6efd4 Automatic changelog update 2025-07-23 15:53:08 +00:00
Hannah Giovanna Dawson
66bd5be651 Standardize and ngooden MIDI music via a good default soundfont (#39142) 2025-07-23 17:51:53 +02:00
Perry Fraser
002afe8056 Properly dispose of stale pipedata chunks for the atmos monitor (#38974) 2025-07-23 17:18:19 +02:00
PJBot
c95bbfaf93 Automatic changelog update 2025-07-23 14:16:37 +00:00
lzk
24b75d89a5 Show customvote title in chat on finish (#39137)
* Show customvote title in chat on finish

* update the text
2025-07-23 10:15:29 -04:00
Kyle Tyo
83b3e9e15a Localize makesentient command. Move makesentient method to mind system. (#38565)
* praying pjb doesn't smite me for this 🙏

* requested changes

* Update makesentient-command.ftl

* verin commith and verin taketh away
2025-07-23 14:29:46 +02:00
Pieter-Jan Briers
eb21b5826a RT v265.0.0 update (#39132) 2025-07-23 12:29:27 +02:00
5tickman
49de2feda1 Nudge the cheese wedge. 2025-07-22 22:29:23 -05:00
PJBot
b5dbedcc48 Automatic changelog update 2025-07-23 02:59:14 +00:00
Trey Tipton
0ab0dadb1d Tweaks nukeop elimination announcement to be less wordy. (#39158) 2025-07-22 19:58:07 -07:00
5tickman
c72dcfce3f Grilled cheese is now flat, not tall. 2025-07-22 21:48:31 -05:00
5tickman
f046fb4731 oops, forgot to look at burgers. 2025-07-22 20:22:34 -05:00
slarticodefast
c3ff6c9184 Increase SpawnAndDeleteAllEntitiesOnDifferentMaps test simulation time (#38901)
wait longer
2025-07-23 03:21:10 +02:00
PJBot
ca697fe200 Automatic changelog update 2025-07-23 00:56:26 +00:00
Crude Oil
b1c8f02b6b Add Polly to Elkridge station (#39150) 2025-07-22 17:55:18 -07:00
PJBot
728a9a552a Automatic changelog update 2025-07-23 00:55:00 +00:00
PJBot
94abb90ba4 Automatic changelog update 2025-07-23 00:53:54 +00:00
Crude Oil
d6a1486f48 Minor plasma fixes, add Polly to Plasma station (#39138) 2025-07-22 17:53:50 -07:00
Crude Oil
035811ae27 Add Polly to Amber station (#39139) 2025-07-22 17:52:41 -07:00
PJBot
61b0559f9c Automatic changelog update 2025-07-23 00:45:20 +00:00
Crude Oil
8e749462cb Add polly to Box station (#39140) 2025-07-22 17:44:12 -07:00
PJBot
8591532f9c Automatic changelog update 2025-07-23 00:42:54 +00:00
Crude Oil
0faa966279 Add polly to Marathon station (#39141) 2025-07-22 17:41:46 -07:00
PJBot
6e26511c1e Automatic changelog update 2025-07-23 00:39:14 +00:00
PJBot
ba1f1bf4ac Automatic changelog update 2025-07-23 00:38:07 +00:00
Crude Oil
3ef14be8bd Add Polly to Packed station (#39143) 2025-07-22 17:38:00 -07:00
Crude Oil
6fc9ad6cec Add Polly to Fland station (#39144) 2025-07-22 17:36:53 -07:00
PJBot
646c631440 Automatic changelog update 2025-07-23 00:36:45 +00:00
Crude Oil
4932b574b7 Add Polly to Exo station (#39145) 2025-07-22 17:35:36 -07:00
PJBot
dabe993f44 Automatic changelog update 2025-07-23 00:12:52 +00:00
Crude Oil
ce2ce7d345 Add Polly to Oasis station (#39146) 2025-07-22 17:11:44 -07:00
PJBot
295bb9ebdf Automatic changelog update 2025-07-23 00:10:49 +00:00
Crude Oil
d8c92a7902 Add Polly to Bagel station (#39147) 2025-07-22 17:09:40 -07:00
PJB3005
229d0a9747 Update submodule to v265.0.0 2025-07-23 01:48:03 +02:00
5tickman
c201135a17 Edited the rest of the chef's items 2025-07-22 18:44:02 -05:00
PJB3005
5895544ae1 Merge remote-tracking branch 'upstream/master' into rt-265-update 2025-07-23 01:17:46 +02:00
PJBot
54b09c7116 Automatic changelog update 2025-07-22 19:35:47 +00:00
Perry Fraser
1ee7dffe6d fix: fix non-access checking EntityTargetActions (#38731) 2025-07-22 21:34:39 +02:00
Perry Fraser
f16175a6e3 fix: dirty SSD indicator comp on mapinit (#38891) 2025-07-22 17:40:15 +02:00
PJBot
4033089c46 Automatic changelog update 2025-07-22 15:06:56 +00:00
ArtisticRoomba
7109c33054 China lake rebalance (#39106) 2025-07-22 17:05:46 +02:00
Pieter-Jan Briers
65b4b41928 Fix RoundEndTest obsolete warnings (#39133)
We love using low-leaving threading APIs incorrectly.
2025-07-22 10:22:50 -04:00
lzk
378fbb0ba9 move parrot name to MobParrotBase (#39131) 2025-07-22 12:57:33 +02:00
CrystallEdge Server
bc0c964de9 Automatic changelog update 2025-07-22 13:30:54 +03:00
Kit
aeccdc2600 Monster toxins (#1541)
* GuideBook stuff

* Guidebook stuff 2 cause i forgor

* translations

* New Reagent file yippie

* spider now poison you

* Spider deal less slash
2025-07-22 13:29:49 +03:00
Pieter-Jan Briers
af4ff4e9de Update content to remove redundant Robust math types (#38930)
Vector3, Vector4, Matrix4, and Quaternion are now gone. This switches us over to System.Numerics where applicable.
2025-07-22 12:29:17 +02:00
slarticodefast
9a7cb00d4e Content fixes for engine PR (#39086)
* content changes for engine PR

* rerun tests
2025-07-22 12:25:28 +02:00
CrystallEdge Server
f5fc0203b6 Automatic changelog update 2025-07-22 11:07:48 +03:00
Dezdanna
4fb816e48a Updated Coal Wall textures to match rock walls (#1562)
Fixed graphcal cut-off error
2025-07-22 11:06:41 +03:00
Princess Cheeseballs
ed6ed6c5f3 P0 BUGFIX: Master doesn't build because of uncaught git merge conflict. (#39116)
Quick before someone notices

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-07-21 14:20:39 -04:00
Princess Cheeseballs
e85bc1bb8c Stunnable New Status and Cleanup (#38618)
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
2025-07-21 19:22:11 +02:00
Mariana Miguel
2b2b9b11b8 Fix #38935: Remove empty EnsnaringComponent.cs file (#39112)
The file Content.Server/Ensnaring/Components/EnsnaringComponent.cs was empty
and served no purpose. Removing it helps keep the codebase clean and free of
unnecessary files.
2025-07-21 17:20:37 +02:00
Princess Cheeseballs
8f7e6096f2 Crawling Fixes Part 5: Holy Fuck (#39109)
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-07-21 11:08:04 +02:00
Ed
36d3ba35d1 Replace SharedStatusEffectsSystem with StatusEffectsSystem
Updated references from SharedStatusEffectsSystem to StatusEffectsSystem in spell and magic weakness systems to use the correct status effects system implementation.
2025-07-21 11:36:17 +03:00
Ed
f59de85047 Merge remote-tracking branch 'upstream/stable' into ed-21-07-2025-upstream-sync
# Conflicts:
#	Content.Client/Overlays/StencilOverlay.Weather.cs
#	Content.IntegrationTests/Tests/Atmos/AlarmThresholdTest.cs
#	Content.IntegrationTests/Tests/VendingMachineRestockTest.cs
#	Content.Server/Chat/Systems/ChatSystem.cs
#	Content.Server/Fluids/EntitySystems/PuddleSystem.cs
#	Content.Shared/Damage/Systems/SharedStaminaSystem.cs
#	Content.Shared/Fluids/Components/EvaporationComponent.cs
#	Content.Shared/GameTicking/SharedGameTicker.cs
2025-07-21 11:27:53 +03:00
Trosling
0be18fafd4 Issue#974 Fix (#1556)
* Renamed all instances of mentioned entities

* Corrected loc

* Added migration entry
2025-07-21 11:06:18 +03:00
PJBot
a69fe53bee Automatic changelog update 2025-07-21 03:22:35 +00:00
pathetic meowmeow
d2ddbcbcda Implement SmartFridge functionality (#38648)
* Add SmartFridge

* my nit so pick

* my access so expanded and my whitelist so both

* list -> hashset
2025-07-20 23:21:28 -04:00
Princess Cheeseballs
99b431cafd Crawling Fix 3: OOPS!!! (#39089)
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-07-20 23:35:49 +02:00
PJBot
267d92a1ea Automatic changelog update 2025-07-20 21:24:35 +00:00
Princess Cheeseballs
391dfe4f4a Crawling Fixes 2: Salvage Nerf (NPCs can shoot downed targets) (#39085)
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-07-20 23:23:25 +02:00
Myra
8e5d70716d Stable to master (#39095) 2025-07-20 17:30:46 +02:00
Vasilis The Pikachu
752f44945b Revert "Kobold/monkey AI holograms (#38888)"
This reverts commit 97fcebb92b.

Please check the maintainer meeting and the recording at time 41:58 for further information

https://docs.spacestation14.com/en/maintainer-meetings/maintainer-meeting-2025-07-19.html
2025-07-20 17:13:59 +02:00
CrystallEdge Server
238ca1b4a8 Automatic changelog update 2025-07-20 15:47:06 +03:00
Red
8721f736e1 Cooking simulator 3: Pies (#1540)
* enum -> prototype

* move sprites

* more dirt sprites

* some food data stucking fixing

* pumpkin fix

* pie move sprites

* refactor components

* pie refactor

* remove outdated proto

* new pie types

* Update SliceableFoodSystem.cs

* Refactor food cooking system and add fat flavor

Added 'Fat' to the flavor profile. Refactored food cooking logic to use CreateFoodData and UpdateFoodDataVisuals instead of CookFood and ApplyFoodVisuals. Introduced RenameCooker property to CP14FoodCookerComponent to control entity renaming during cooking. Improved separation of food data creation and visual updates.

* Update migration.yml

* Refactor food visual and sliceable logic in cooking system

Moved sliceable food logic from OnCookFinished to UpdateFoodDataVisuals for better encapsulation. Made UpdateFoodDataVisuals overridable and updated its usage in random food initialization. Added Rename field to CP14RandomFoodDataComponent and cleaned up unused BecomeSliceable field in CP14FoodCookerComponent. Updated pie_pan.yml to add SliceableFood and a new random food entity.

* Update pie_pan.yml

* fill levels
2025-07-20 15:45:59 +03:00
Mora
6eadc8aeee Stray Pixels on Vox Tails (#39082)
Stray pixel fixes
2025-07-19 23:56:50 -04:00
github-actions[bot]
1a66398029 Update Credits (#39081)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2025-07-19 20:44:39 -04:00
PJBot
98ec45d914 Automatic changelog update 2025-07-19 23:55:49 +00:00
Princess Cheeseballs
dec2d42a1d Crawling Part 1: The Knockdownening (#36881)
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: ScarKy0 <scarky0@onet.eu>
2025-07-20 01:54:42 +02:00
Tayrtahn
cfb0a95035 Fix mouse rotator error spam (#39071)
Ignore mouse rotation requests when the player is switching controlled entity
2025-07-20 01:16:40 +02:00
PJBot
50302a531b Automatic changelog update 2025-07-19 22:11:45 +00:00
IgorAnt028
41a175636b Fix bug with pipe color (#30645)
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-07-19 15:10:38 -07:00
PJBot
f21803bfd8 Automatic changelog update 2025-07-19 22:05:23 +00:00
Boaz1111
fb69a0ae2c More atmos devices can be placed on layers easier. (#38672) 2025-07-19 15:04:15 -07:00
PJBot
1fd202fcea Automatic changelog update 2025-07-19 19:41:44 +00:00
War Pigeon
2db1ab58e6 Fix Bagel Salvage's airlock not being an airlock (#38956) 2025-07-19 12:40:33 -07:00
rlebell33
23c190e9bc Dehardcoded Air Alarm's UI window title (#39072)
Extract the air alarm title to no longer be hardcoded
2025-07-19 15:21:50 -04:00
PJBot
89cc8419b1 Automatic changelog update 2025-07-19 15:34:08 +00:00
Tiniest Shark
cd0960fbd7 Golden plunger Trolley and Bucket Carp (#38494)
* Golden plunger and Bucket Carp

* attributions added
2025-07-19 11:33:01 -04:00
CrystallEdge Server
6b98c91f73 Automatic changelog update 2025-07-19 13:25:35 +03:00
Nyranu
fcd29f9696 Coal (#1521)
* передача температуры + заготовка для плавления

* Небольшая сортировка + комментарии...

* pp

* Уголь!

* Казан!!

* Лицензия, уборка мусора.

* Лицензия, теперь точно

* Очистка мусора

* пу-пу-пу

* уголь*

* 1

* Up KAZAN

* cleaning up the trash. Sprites for the cauldron. Updating the cauldron

* meta

* wtf is not tag...

* Затычки.... господи..

* Tag

* Fuck, he's been here all this time: FlammableEntityHeating...

* Dead KAZAN

* Coal

* bi

* clo

* up

* cl

* cl6

* cl7

* cl_up

* cl_dm

* wd
2025-07-19 13:24:29 +03:00
PJBot
ee69f4e5b4 Automatic changelog update 2025-07-19 01:42:24 +00:00
Pyrovi
5ac78ec314 Guidebook changes (#38987)
* I was working on an outdated version of the upstream resulting in some lines of code having merge conflicts, hopefully I fixed it

* Eversince the "keep X alive and make sure X completes atleast half of their objectives" were removed the parts about them stayed in the guidebook those were changed, aswell as with the removal of thieving gloves parts talking about the thieving gloves were changed to instead talk about the new pickpocketing ability thieves got.

* Apply suggestions from code review

Co-authored-by: Andrew Malcolm O'Neill <105134723+maland1@users.noreply.github.com>

* Apply suggestions from code review

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

* requested changes

* Apply suggestions from code review

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

* request

* Apply suggestions from code review

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

* request2

---------

Co-authored-by: Andrew Malcolm O'Neill <105134723+maland1@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-07-19 03:41:16 +02:00
CrystallEdge Server
b8cdbe71b3 Automatic changelog update 2025-07-19 03:04:35 +03:00
Deserty0
f7c05accdf Twitch chatsan (#1548)
* 1234

* Update speech-chatsan.ftl
2025-07-19 03:03:30 +03:00
CrystallEdge Server
7efb78ef7d Automatic changelog update 2025-07-19 03:00:50 +03:00
Kit
13b44285f9 Tiefling's gambit (#1549) 2025-07-19 02:59:44 +03:00
cool dolphin
5d99c08871 mercenary (#1550) 2025-07-19 02:59:12 +03:00
Myra
efa52aecf2 Revert "Don't compile EF Core designer files on release builds" (#39057) 2025-07-19 00:25:16 +02:00
Myra
2c4251dcdc Revert "Don't compile EF Core designer files on release builds" (#39057) 2025-07-19 00:23:48 +02:00
lzk
ffbc813179 make name identifier prefix LocId (#39035) 2025-07-18 21:59:49 +03:00
CrystallEdge Server
ec156ce59a Automatic changelog update 2025-07-18 21:39:39 +03:00
Deserty0
e9ae3a63c8 Sharpening Stone fix (#1546)
* fix

* 1234567
2025-07-18 21:38:32 +03:00
Deserty0
edb6560cae fix client spam from magic (#1547)
* fix

* 123
2025-07-18 21:35:19 +03:00
PJBot
e7b68d9722 Automatic changelog update 2025-07-18 15:34:33 +00:00
Jackson Langley
2ce03ad651 Fix the max scanner distances (#39041)
* Good god

* Satan's in my PC
2025-07-18 11:33:24 -04:00
Red
ad7b53572b Create issue_report_en.yml 2025-07-18 18:29:15 +03:00
Red
e9e239852e Update and rename issue_report.md to issue_report_ru.yml 2025-07-18 18:27:28 +03:00
Red
a2b4c84811 Create feature-request_en.yml 2025-07-18 18:19:39 +03:00
Red
373cd7496d Update feature-request_ru.yml 2025-07-18 18:17:23 +03:00
Red
9e7f3bcebe Update and rename feature-request.yml to feature-request_ru.yml 2025-07-18 18:13:31 +03:00
Red
9b002b1486 Rename feature-request.md to feature-request.yml 2025-07-18 18:04:41 +03:00
Red
19adff8bda Update and rename toolshed-feature-request.md to feature-request.md 2025-07-18 18:04:03 +03:00
Red
b4f55edc93 Update issue_report.md 2025-07-18 17:50:10 +03:00
Red
bdda0f4f23 Update labeler.yml 2025-07-18 16:46:25 +03:00
Red
c39bf205ab Update labeler.yml 2025-07-18 16:39:15 +03:00
PJBot
006f3abfd7 Automatic changelog update 2025-07-18 11:42:51 +00:00
TeenSarlacc
157e4efb35 Tighten DB shotgun spread, widened sawn off spread (#37731)
buffed DB choke, nerfed sawn ooff choke

Co-authored-by: TeenSarlacc <baddiepro123@gmail.com>
2025-07-18 13:41:44 +02:00
kosticia
8673498aef nerf cheese prices, part 3: misc, last one (#38247) 2025-07-18 14:23:33 +03:00
qwerltaz
d0b798b63f Fix communications console thinking it can announce in the first 5 seconds after spawning it (#38305)
* init

* Revert "init"

This reverts commit 7bdeb355a75333c4cba29351eb1d93d428c84366.

* fair
2025-07-18 13:21:51 +02:00
Red
08a1d57331 Add empty line between changelogs discord entries (#38170)
Update actions_changelogs_since_last_run.py
2025-07-18 13:20:20 +02:00
PJBot
4e99f05522 Automatic changelog update 2025-07-18 11:04:22 +00:00
Quantum-cross
4dd9f06fef Remove omnizine from unwarmed honk pockets, honk pockets make you honk (#38152) 2025-07-18 14:03:15 +03:00
PJBot
04e44aaa70 Automatic changelog update 2025-07-18 10:55:43 +00:00
Quantum-cross
d8881ad4c6 Fix bar mailing unit tag on plasma (#38098) 2025-07-18 03:54:34 -07:00
Kowlin
1bc1d71d42 Allow GenPop access perms on the AccessConfigurator (#39043)
Allow the access configurtator to set Genpop Enter and leave permissions on doors.
2025-07-18 12:53:44 +02:00
PJBot
68831c18a3 Automatic changelog update 2025-07-18 10:36:14 +00:00
August Sun
63e22feb72 Adds Estoc DMR magazines to the syndicate ammo bundle (#38413)
* Added magazines and description changes to ammo bundle

* Added naming consistency for Estoc DMR bundle

---------

Co-authored-by: august-sun <45527070+august.sun@users.noreply.github.com>
2025-07-18 12:35:07 +02:00
KamTheSythe
c5bd8defb3 Reword thief-role-greeting-equipment to mention innate ability rather than gloves (#39045) 2025-07-18 02:38:27 -07:00
CrystallEdge Server
e3003447aa Automatic changelog update 2025-07-18 12:00:42 +03:00
cool dolphin
5641792f04 Bottomless goblet (#1534)
* added bottom goblet

* artifact suffix and donotmap category
2025-07-18 11:59:37 +03:00
PJBot
1fc0040d4e Automatic changelog update 2025-07-17 23:45:35 +00:00
Perry Fraser
a093a2dd28 Fix overlapping popups for entity storages you can't access (#39039)
* fix: don't overlap popups for locked storages

* fix: tweak some lock i18n
2025-07-17 16:44:45 -07:00
Aearo-Deepwater
ada0e4cb6f Marble tiles (#38007)
* Create marble tile textures

* Flatten tiles to better match art style

* Add prototypes and translations for tiles

* Change marble footstep sound to one that makes sense

* Add marble tile object and in-hand sprites

* Add prototypes and translations for marble tile objects

* Add marble tile cutter recipes

* Double number of marble tile variants

* Increase plasma and uranium costs of plasmarble and uranium marble

* Add attributions for marble tile sprites

* Fix whitespace problem hopefully

* Fix trailing whitespace take 2

* Rename just "marble" marble to "white marble"

* Remove cutter recipes for uranium marble and plasmarble
2025-07-17 19:44:28 -04:00
CrystallEdge Server
7b84988747 Automatic changelog update 2025-07-18 01:04:44 +03:00
gogenych
9ce239494d remove radio from chat selection (#1537) 2025-07-18 01:03:39 +03:00
Viator-MV
aa7daf7a89 lele (#1538) 2025-07-18 01:02:59 +03:00
PJBot
0ba14af970 Automatic changelog update 2025-07-17 22:01:12 +00:00
ScarKy0
c884ecd074 Add acolyte armor to chaplain uplink (#36843) 2025-07-18 01:00:04 +03:00
PJBot
38eb07a2ce Automatic changelog update 2025-07-17 21:37:36 +00:00
ScarKy0
e87fc850dc Trim vending machines emag inventories (#36839) 2025-07-18 00:36:28 +03:00
Admiral-Obvious-001
a002c83074 Metashield Rules Update (Removal) (#38953) 2025-07-17 22:56:21 +02:00
PJBot
00ce19dfb1 Automatic changelog update 2025-07-17 17:02:45 +00:00
Quantum-cross
17559db1c7 Add supercritical sounds for ALL anomalies (#36425)
* add supercritical sounds for flesh anomaly and shadow anomaly

* fix attribution yml

* use sound collections, add TWO -- count em TWO tech anomaly supercrit sounds.

* add sound for present anomaly

* wrong soundcollection for flesh

* actually add the present anomaly sound...

* add fire anom sound

* add gravity anomaly supercritical sound

* add electric anomaly supercritical sound

* add bluespace anomaly supercritical and explosion sound

* add ice anomaly supercritical sound

* add fluid anomaly supercritical sound

* fix busted link

* typo

* add floral supercritical sound, fix typos

* Add supercritical sounds to injected anomalies

* add rock anomaly supercritical sound

* supercritical sound follows the entity, important for injected anomalies

* make the rock crit rumble a little less subtle at the start

* use CC0 freesound alternatives where available

* New pyro anomaly sound by GonTar

* New sounds by GonTar. Change AnomalyComponent so that you can change the length of supercritical properly in the prototype.

* oopsie, forgot the traps

* use TimeSpan for duration
2025-07-17 10:01:37 -07:00
Princess Cheeseballs
535646aefb Fix Respirator Asserts (#38911)
* Fix errors

* Cleanup CanMetabolizeInhaledAir

* Wait no don't do that

* Revert changes for real

* Fix

* Code cleanup and some safety rails

* Better tests and also comments

* Better comments

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-07-17 12:46:38 -04:00
PJBot
2715933a46 Automatic changelog update 2025-07-17 16:35:07 +00:00
qwerltaz
affcc22784 NPC spiders sometimes spin webs 🕷️🕸️ (#38319)
* NPC spiders now spin webs

* oops

* move logic to always update next spawn, to prevent rare web spam

* WebSpawnCooldown is timespan

* remove vv

* add web spawn method, no sus action event method call

* dont spin web immediately at spawn

* move NextWebSpawn value init to update

* oop

* remove unused game timing

* web spawn cooldown to 45
2025-07-17 12:34:00 -04:00
FlipBrooke
89fa7c2914 Wearable banana peels (#38868)
* Add wearable helmet sprites for banana and mimana peels

Made it so banana peels and their variants can be worn as head gear. The sprites were done by myself, so feel free to change or update them! Includes hamster compatibility.

* fixed a minor state bug

* Review fixes

- Removed blank space
- Added "FlipBrooke" to all modified meta.jsons, with the added note of which sprites I got the colors from/referenced.

* I forgot a comma

adds a comma and some periods
2025-07-17 12:29:36 -04:00
FungiFellow
93e04de36b Carps Can No Longer Suicide (#39033)
Update carp.yml
2025-07-17 11:30:01 -04:00
CrystallEdge Server
848778a8d3 Automatic changelog update 2025-07-17 17:36:19 +03:00
Red
759778782c Cooking simulator 2: Soups (#1535)
* Update shield.yml

* Add soup bowls

Introduced new bowl entities (wooden, iron, gold, copper) for soups, including their sprites and prototype definitions. Added 'Soup' to the CP14FoodType enum and updated the food holder logic. Removed the unused CP14Plate tag from plate.yml and misc.yml.

* Add misc soup ingredient sprites and metadata

Introduced new 32x32 sprites for various soup ingredients, including flyagaric, flylumish, lumish, meat, meat2, meat_salad, mole, mud, pumpkin, sawdust, trash, and veg_stew. Added corresponding meta.json with state definitions and licensing information.

* veg soup recipe for testing

* soup displacement maps

* meal displacement eating

* fix double cookin plates

* soup cooking

* Update cooking_pot.yml

* Refactor solution handling for cooking and containers

Updated solution component names and types for cooking pots, bowls, buckets, barrels, and wells to improve consistency and functionality. Added and removed solution-related components, adjusted transfer logic, and cleaned up unused solution states and visual metadata. Also added food type checks in cooking system to prevent incorrect transfers.

* new soup recipes

* Unit test

* fix

* trading requests

* Update CP14Cooking.cs

* Update CP14Cooking.cs

* audio improve, egg and bread fix

* fix bugs

* integration
2025-07-17 17:35:13 +03:00
PJBot
8c6a43fe72 Automatic changelog update 2025-07-17 13:34:56 +00:00
SlamBamActionman
f7c64ab86c Make diagonal windows prevent electrocution (#39032)
Add the window tag
2025-07-17 09:33:46 -04:00
Perry Fraser
43d04a44fe Re-id 'Medical Doctor' guide entry to 'MedicalDoctor' (#39029)
chore: re-id 'Medical Doctor' guide entry
2025-07-17 00:26:12 -07:00
Prole
a921594f1e Inconsistent Produce Inhands Fix (#38860)
* V1 Sprites

* Adding heldPrefix

* Updated Sprites

* 4 New Inhands & Sprite Tweak

* WaterMelon/HolyMelon Front Change

* Meta Guh

* Sugarcane Updated Inhands
2025-07-16 15:51:09 -07:00
PJBot
86093a548c Automatic changelog update 2025-07-16 22:36:21 +00:00
slarticodefast
2a496bf93f Give admin bags explosion resistance (#38384)
Co-authored-by: youtissoum <51883137+youtissoum@users.noreply.github.com>
2025-07-16 15:35:14 -07:00
PJBot
faa8152bf6 Automatic changelog update 2025-07-16 20:28:29 +00:00
ScarKy0
975ebac202 Fix Mjollnir throw while on delay (#39018)
* init

* fuck dirty

* yippee
2025-07-16 22:27:21 +02:00
CrystallEdge Server
e14ae1a930 Automatic changelog update 2025-07-16 08:16:14 +03:00
Red
7bb7ea2183 Cooking Simulator (#1529)
* frying pan start

* fix data saving

* Refactor cooking system and add localization support

Refactored food data handling in the cooking system to use Visuals instead of FoodData on holders, improved food transfer logic, and added popups and examine messages for user feedback. Added English and Russian localization files for cooking examine and meal descriptions, and updated prototype files to increase plate solution volume and add a whitelist for the cooking furnace.

* Refactor cooking system solution handling

Removed Solution field from CP14FoodData and updated CP14SharedCookingSystem to use solution containers directly. Improved solution transfer, mixing, and overflow handling during cooking. Increased pan max volume from 30 to 100 in cooking_furnace.yml.

* Improve cooking system trash handling and update food sprites

Enhanced trash distribution in CP14SharedCookingSystem to randomly assign trash to plates, only adding all trash to the last plate. Updated meat_dish and salad prototypes to use new wooden plate sprites. Added wideAnimationRotation and DrainableSolution to cooking_furnace for improved functionality.

* Remove unused usings and redundant comments in cooking components

Cleaned up CP14 cooking-related components by removing unused using directives and empty XML comments. This improves code readability and maintainability.

* Add tag-based cooking requirements and new meal recipes

Introduces tag-based cooking requirement classes (TagRequired, TagBlocked, SolutionRequired) and updates the cooking system to support tag checks. Adds new tags for food items, updates food and meal prototypes to include relevant tags, and implements new meal recipes (Zellasian Breakfast, Monster Egg) with corresponding sprites and localization. Also refactors and renames some tag and structure prototype files for better organization.

* Refactor and expand CP14 cooking recipes and tags

Reworked meal recipes to use tag-based requirements, added new tags for food categorization (meat, cheese, vegetables, etc.), and removed hardcoded entity recipes for ham in cheese and stuffed potato. Updated and added new meal recipes (bread plate, ham in cheese, stuffed potato), localized their names and descriptions, and migrated/added corresponding sprites. Deprecated SolutionRequired requirement, cleaned up unused tags, and improved TagRequired/TagBlocked logic. Updated prototype files to use new tags and added missing tags to food entities.

* Refactor and expand green salad recipes and assets

Replaces the old green salad entity and workbench recipe with new cooking recipes for green salad and green salad with meat. Updates English and Russian localization, moves and adds new salad textures, and removes obsolete salad assets and trading request.

* mashed potatoes

* Add mashed potatoes with herbs meal

Introduced a new 'mashed potatoes with herbs' meal, including English and Russian localization, recipe definition, and associated sprite. Updated the texture metadata and added the new image asset.

* Update dye.yml

* Fix frying pan item size and update plate recipe

Moved the 'size: Ginormous' property to the correct component in frying_pen.yml. Renamed the plate recipe and result from 'CP14Plate' to 'CP14PlateWooden' in misc.yml for clarity.

* Update meals.yml

* Update migration.yml

* fixes

* fix heating food sounds

* Nyranu temperature transmission

* Update plate.yml

* Cooking DoAfter works

* burning logic

* cooking more work

* auto transform transformable

* Update CP14SharedCookingSystem.DoAfter.cs

* cool burning visuals!

* Add MIT license headers to cooking system files

Added sublicensing notice and MIT license header to all files in the CP14 cooking system. Also made minor code cleanups, such as removing unnecessary default initializations and improving XML documentation for clarity.

* constant heating required

* cooking visuals improve!

* sandwiches with processed cheese + reagent burnt fuckuping

* inhand pan sprites + FIRE fuckup

* crafting & buying pan

* fix predicting

* random food spawner + chef closet

* mapping update

* Update frying_pen.yml

* move WIP to blacksmith lol
2025-07-16 08:15:08 +03:00
PJBot
f6c8bb9b16 Automatic changelog update 2025-07-16 03:20:05 +00:00
ArtisticRoomba
76a7b31c1e Fix firelocks failing to drop fast enough (#38918) 2025-07-15 20:18:55 -07:00
CrystallEdge Server
60d9f4ee3b Automatic changelog update 2025-07-16 05:53:03 +03:00
gogenych
60d4366ed4 new glow portal frame (#1533) 2025-07-16 05:51:57 +03:00
PJBot
988a35bc5a Automatic changelog update 2025-07-16 00:44:27 +00:00
nabegator
4e59b61749 Whitelist extension for tool belt (#35212)
* sd

* xd

* im so dumb

* revert to just remote signaller

* forgot

* add code comment

---------

Co-authored-by: shampunj <140359015+shampunj@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-07-16 02:43:19 +02:00
Kyle Tyo
b9ffd060d6 Predict DevourSystem. (#38970)
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-07-16 02:21:18 +02:00
Łukasz Lindert
377c9bfcea PressureEvent removed (dead code) (#39004)
yep
2025-07-16 00:06:48 +02:00
Tayrtahn
604435d807 Convert some voice samples to mono (#39002)
* Convert Xenoborg voice sounds to mono

* Convert female human cough sounds to mono
2025-07-15 16:36:44 -04:00
Perry Fraser
bdf3c891e7 Mostly fix reaction sound effect stacking :( (#38999)
* fix: band-aid the reaction sound effect stacking

It's so funny I'm so sad I'm writing this commit :(

* fix: remove unused hashset

Drive by fix. 'Tis never read from.

* fix: switch to just making it server only

* fix: uncomment the if lol

Commented it out for recording video oopsie
2025-07-15 19:02:36 +02:00
Hannah Giovanna Dawson
1d4c945561 Remove the Qur'an (#39000) 2025-07-15 03:52:05 -07:00
PJBot
b5ad346fd8 Automatic changelog update 2025-07-15 02:48:54 +00:00
Velken
b18a7ccdd3 Moproaches (#38700)
* MOPROACHES

* rerun test - random test fail of doom

* added to random pest event, with same prob as cancer mouse

* rerun test - random test fail of doom 2 electric boogaloo

* changed moproach obtain methods

* no crafting of moproaches allowed :(

* Reverted content of file.

* requested changes

* requested changes

* requested changes

* Increase moproach health by 5 - requested by Emo on discord

* spaaaaaaaaaaaaaaaaaaaaaaaaace

* microwave recipe added

* no surgery this week

* spaaaaaaaaaaaaaaaaaaace 2 more space for your space

* space

* new mopshoes sprite

* in-hands

* inhands v2

---------

Co-authored-by: ScarKy0 <scarky0@onet.eu>
2025-07-14 22:47:47 -04:00
PJBot
5dbef8a924 Automatic changelog update 2025-07-15 00:52:21 +00:00
SlamBamActionman
f8322d548e Adjust throwables hitboxes to match sprites (#38985)
Initial commit
2025-07-14 17:51:14 -07:00
PJBot
3122adbd34 Automatic changelog update 2025-07-15 00:50:37 +00:00
RedBookcase
34cc49ccf0 Made the Mosin bayonet usable. (#38295)
* Made mosin an alt-melee weapon, added reagent fill for the weapon.

* fixes

---------

Co-authored-by: RedBookcase <Usualmoves@gmail.com>
Co-authored-by: beck-thompson <beck314159@hotmail.com>
2025-07-14 17:49:27 -07:00
Trosling
6053509ceb New holy books (#38986)
* Adds a few new holy books, implements one existing, and makes them pickable from loadout

* Almost forgot the yaml

* Forgot to change fork-specific paths

* Modified copyright to be less specific as requested by maintainer

* Newlines

* Replaced scroll torah with a book-bound tanakh, as recommended by dvir001

* Changed all mentions to use tanakh instead of torah
2025-07-14 17:49:08 -07:00
Tayrtahn
2e6549a308 Remove prototype caching from TransformableContainerComponent (#38988)
Remove prototype caching from TransformableContainer
2025-07-14 23:03:41 +02:00
Crude Oil
dac2537f9c Buff parrot learn rates and radio chatter (#38984)
* buff parrots

* ok but not that smart

* oop
2025-07-14 09:55:27 -07:00
PJBot
f535a31297 Automatic changelog update 2025-07-14 15:46:21 +00:00
Perry Fraser
7c7aeffde2 Make RunVerbAs take and return EntityUids (#38155)
fix: make RunVerbAs take and return EntityUids
2025-07-14 08:45:13 -07:00
CrystallEdge Server
49fbf31a28 Automatic changelog update 2025-07-14 11:33:21 +03:00
YomieI
2677c5c819 Changed ice dagger's hitsound (#1527) 2025-07-14 11:32:02 +03:00
kosticia
d9545dd380 make biogenerator not accept low-nutrient plants (#38427)
* anti-noob

* dsaswa

* Minor grammar change

---------

Co-authored-by: beck-thompson <beck314159@hotmail.com>
2025-07-14 01:17:46 -07:00
Tayrtahn
c60910dfa6 Fix devices in terminal mispredicting power state (#38647)
* The simple solution

* The better solution

* Revert "The better solution"

This reverts commit 611e56e031636734abab1ad3e77bf88b69a4de13.
2025-07-14 00:49:27 -07:00
Perry Fraser
bd853b60de fix: ghosts shouldn't see whisper obfuscation (#38202) 2025-07-14 00:30:53 -07:00
UpAndLeaves
229f33f22a Voltage enum to shared (#38964) 2025-07-13 23:13:01 -07:00
Tayrtahn
4f766f199c Refactor ExaminableDamage (#38978)
* Remove prototype caching in ExaminableDamageComponent

* Replace ExaminableDamagePrototype with LocalizedDatasetPrototype

* Allow null
2025-07-13 21:35:47 -07:00
PJBot
bd2212beff Automatic changelog update 2025-07-14 02:50:32 +00:00
Flareguy
d55a2b830a Vox customization additions (+eyeshadows) (#38906)
vox customization stuff
2025-07-13 22:49:25 -04:00
Tayrtahn
45fe7d5093 Remove prototype caching from ZombieComponent (#38979)
Remove prototype caching from ZombieComponent
2025-07-14 04:05:18 +02:00
PJBot
106cbe0e19 Automatic changelog update 2025-07-13 20:52:00 +00:00
ToastEnjoyer
7fd74b08df Add contraband parent to war declarator (#38972) 2025-07-13 22:50:53 +02:00
PJBot
259575ca76 Automatic changelog update 2025-07-13 19:32:51 +00:00
lzk
bf1b55e22f make ocarina small (#38971)
Update instruments_wind.yml
2025-07-13 15:31:44 -04:00
B_Kirill
0c92478e0a Cleanup warnings: CS0649 (#38797) 2025-07-13 20:35:20 +02:00
PJBot
acfb331cbe Automatic changelog update 2025-07-13 16:49:46 +00:00
ToastEnjoyer
31c84eaf20 [BUGFIX] Stops scurrets from suffocating in crates (#38951)
Prevent scurrets from dying!
2025-07-13 09:48:39 -07:00
PJBot
545ca71367 Automatic changelog update 2025-07-13 16:12:10 +00:00
Velken
3d9dab1d52 Hats (and glasses) for pets - Part 1 - Ian and McGriff (#38634)
* new branch new me

* cursed displacement

* 2 pixels of death

* forgot a line

* fixed some edge cases on corgis with the displacement

* fix conflict

* fix indentations

* a bit more displacement fixes
2025-07-13 12:11:00 -04:00
Pieter-Jan Briers
27dc59a40b Don't compile EF Core designer files on release builds (#38927) 2025-07-13 10:29:18 +02:00
SpaceManiac
8b3232f305 Fix extra dollar sign in admin log for machine toggle (#38961) 2025-07-13 06:57:54 +02:00
devinschubert14
dd87e7ef64 Fixed error thrown when examining indestructible plastitanium windows (#38950)
* Fixed error thrown when examining indestructible plastitanium windows

* Fixed indentation to match yaml standards
2025-07-13 00:02:04 -04:00
KOTOB
f3ce428165 SharedGunSystem spread bugfix (#38960)
two bytes
2025-07-12 23:59:05 -04:00
github-actions[bot]
cdf049038f Update Credits (#38955)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2025-07-12 19:21:57 -07:00
Princess Cheeseballs
367ff79006 Accents Event to Shared (#38948)
* 27 file diff

* 27 file diff 2

* Apply suggestions from code review

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-07-12 22:52:51 +02:00
Perry Fraser
cfe825b0e3 fix: don't divide by zero in FragmentIntoProjectiles (#38946) 2025-07-12 21:49:46 +02:00
Myra
5ba95f8c5b Stable to master (#38944) 2025-07-12 20:04:09 +02:00
Fildrance
f4d223b2e1 refactor: rework the new status effect system to use containers (#38915) (#38943)
Co-authored-by: Perry Fraser <perryprog@users.noreply.github.com>
2025-07-12 19:53:08 +02:00
Ed
9d6d6a1feb Update rapier.yml 2025-07-12 20:30:00 +03:00
Ed
c8579f9db0 Update chests.yml 2025-07-12 20:27:44 +03:00
Perry Fraser
dbfe05d5cc refactor: rework the new status effect system to use containers (#38915) 2025-07-12 19:49:58 +03:00
5tickman
012ed0bafe Updated baked food folder. 2025-07-12 10:00:15 -05:00
PJBot
ad34d88a49 Automatic changelog update 2025-07-12 14:29:29 +00:00
Tiniest Shark
88ebad06ea Bottle Drink Inhands (#38937)
* there is now bottles of booze in your hands

* Messed up the vermouth inhand fills slightly.

* oh whoops that's redundant
2025-07-12 10:28:22 -04:00
CrystallEdge Server
d53a19d812 Automatic changelog update 2025-07-12 15:11:18 +03:00
Red
ff12e333c8 Workshop content (#1526)
* Update marble tile textures and attribution

Replaced 'marble.png' and 'double_edge_S.png' with new versions and updated attribution.yml to credit KREKS for the resprite work.

* gold & old chest + fix crate fixtures

* Update r_hand.png

* Update base_chest.yml
2025-07-12 15:10:13 +03:00
CrystallEdge Server
ab2c2a1652 Automatic changelog update 2025-07-12 14:53:17 +03:00
Red
29a7234ae6 Add guard weapon loadouts and new electric staff (#1525)
Introduces new guard weapon loadouts including guard's sword, halberd, rapier, and a magic electric staff. Adds the 'lightning strike small' spell and related assets, updates spell damage values, and provides new modular grip and staff sprites. Updates localization, trading positions, and integrates new equipment into guard roles.
2025-07-12 14:52:12 +03:00
CrystallEdge Server
cadee25367 Automatic changelog update 2025-07-12 13:11:37 +03:00
Red
b7017ce2ed Fashion Guardians 2025 (#1524)
* Dinazzewr recoloring guards clothing

* new guards hats
2025-07-12 13:10:31 +03:00
Mono
adcdcb39dc Fixing a singular pixel on the frame of the AI (#38936)
* Singular pixel ops

* Third commit - upholding CC-BY-SA by indicating changes made
2025-07-11 23:33:12 -04:00
5tickman
0cb829807b Updated ingredients.yml 2025-07-11 21:56:46 -05:00
Velcroboy
44b1019774 Convert Locker/Closet fills to Entity Tables: Part 2 (#38254)
Co-authored-by: Velcroboy <velcroboy333@hotmail.com>
2025-07-11 13:55:35 -07:00
PJBot
597e484f1c Automatic changelog update 2025-07-11 17:50:07 +00:00
Kyle Tyo
7845417d10 Tweaks to ShowRulesCommand structure, localization, and autocomplete. (#38855)
commit
2025-07-11 13:48:58 -04:00
PJBot
c10c8eff4f Automatic changelog update 2025-07-11 17:19:28 +00:00
Centronias
05436d3dcc Component for clothes to suppress emotes and scream action in general, and the muzzle to suppress vocal emotes in particular (#32588)
* Component for clothes to suppress scream noise

GaggedComponent + AddGaggedClothingComponent and relevant systems to make them work.

Currently only stifles the scream _action_, not all emotes

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

* fix comments

* swap to inventory relay

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

* power gloves shouldn't block snapping

* easy fixes

* blockable emote event

* pr comments, switch to using emote event mostly

* pr comments

add beforeEmoteEvent

add emote blocker name to popup

maybe some other stuff, I forget

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

* smol clean

* formatting, style, and one minor thing where having a muzzle in your pocket would gag you
2025-07-11 13:18:15 -04:00
Nemanja
a22826cd90 Fix AddHandCommand not working on aghosts (#38866) 2025-07-11 13:10:43 -04:00
CrystallEdge Server
f9b89cda11 Automatic changelog update 2025-07-11 18:55:44 +03:00
Red
b51e80c335 economy testing (#1507)
* pricing check 1

* Update CP14Economy.cs

* seed and dye

* mini tweak

* seed and test mithril

* hammer and pickaxe

* blade

* expensive check

* fix test

* Update CP14Workbench.cs

* misc

* misc 2

* Update CP14Workbench.cs

* Update CP14Workbench.cs

* misc 3

* misc 4

* misc 5

* meat

* food

* dough

* Clothing

* misc

* food 2

* food 3

* Wallpaper

* Wallpape 2

* Floor

* Floor 2

* carpet

* plushie

* Plushie 2

* meat 66

* food 4

* misc 9

* misc 10

* Bucket

* meat 8

* meat 10

* rope

* TagResource deleted

* meat 11

* meat 12

* meat 13

* meat 14

* meat 15

* fix

* meat 16

---------

Co-authored-by: Nimfar11 <nimfiar@gmail.com>
Co-authored-by: Nim <128169402+Nimfar11@users.noreply.github.com>
2025-07-11 18:54:36 +03:00
Red
37ece7228f Refactor workbench resource handling with provider component (#1522)
* Refactor workbench resource handling with provider component

Introduces CP14WorkbenchPlaceableProviderComponent and related event to abstract resource provision for workbenches. Updates system logic to use the new provider event instead of directly accessing ItemPlacerComponent, improving modularity and extensibility. Adjusts entity prototype to include the new provider component.

* map resave

* resave Frigid
2025-07-11 15:55:41 +03:00
PJBot
1117cac96d Automatic changelog update 2025-07-11 12:14:19 +00:00
Princess Cheeseballs
ac895a0db4 Stun and Stamina Visuals (#37196)
* Stun animation

* Commit 2

* Almost working commit

* Best commit

* Minor cleanup and value adjustments

* Fix animation data getting wasted and cleaned up some stuff

* Don't animate if dead

* AppearanceSystem is for chumps

* Cleanup

* More cleanup

* More cleanup

* Half working commit

* Documentation

* Works

* ComponentHandleState my beloved

* AppearanceComp compatibility

* Address review

* Borgar

* AND NOW THE END IS NEAR

* AppearanceSystem compliance (Real)

* Don't need to log missing there

* I actually hate mob prototypes so much you don't even know

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-07-11 14:13:11 +02:00
K-Dynamic
a268a4aacc Rotated turret wall panel sprites (#38464)
rotated sprites
2025-07-11 00:55:16 -04:00
Whatstone
a64fe298d0 Add Serializable, NetSerializable attributes to DecalPaintMode (#38921)
Serializable, Net" on DecalPaintMode
2025-07-10 23:43:56 -04:00
PJBot
6633a18d62 Automatic changelog update 2025-07-11 00:38:05 +00:00
Whatstone
9ad99cfa64 Make more objects spray paintable (Reviving #31328) (#37341)
* PaintableAirlockComponent and AirlockGroupPrototype have been replaced

* Slightly redesigned SprayPainterSystem for greater versatility

* Added handling of changes to the appearance of doors and storages

* PaintableGroup prototypes have been created

* Generating tabs with styles in the UI

* Fix error with undiscovered layer

* Slight improvement

* Removed unnecessary property

* The category for `PaintableGroup` was allocated to a separate prototype so that the engine itself would check if the category existed

* Added canisters, but repainting doesn't work

* Added localization to styles

* Fix sprite changing

* Added the ability to paint canisters

* slight ui improvement

* Fix yamllinter errors

* Fix test

* The UI now remembers which tab was open

* Fix build (?)

* Rename

* Charges have been added to the spray painter

* Added a charge texture for the spray painter

* Now spray painter can paint decals

* Increased number of charges

* Spawning dummy objects has been replaced by PrototypeManager

* added a signature about the painting of the object

* fix

* Code commenting

* Fix upstream

* Update Content.Shared/SprayPainter/Components/SprayPainterAmmo.cs

Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>

* review

* Now decals can only be painted if the corresponding tab in the menu is open.

* Fixed a bug with pipe and decal tabs not being remembered

* Update EntityStorageVisualizerSystem.cs

* record

* loc

* Cleanup

* Revert electrified visuals

* more cleanup, fix charges, del ammo4

* no empty file, remove meta component

* closet exceptions, storage visualizer fixes

* enable/disable decal through alt-verb

* Fix missed merge conflicts

* fix snap offset, button event handlers

* simpler order, fix snap loc string

* Remove PaintableViz.BaseRSI, no decal item, A-Z

* State-respecting UI, BUI updates, FTL fixes

* revert DecalPlacerWindow changes

* revert unwanted changes, cleanup function order

* Limit SprayPainterAmmo write access to AmmoSystem

* Remove PaintedSystem

* spray paint ammo lathe recipe, youtool listing

* category as a list, groups as subtabs

* Restore inhand copyright in meta.json

* empty spray painter, recipe produces an empty one

* allow alpha on spray painter decals

* add comments

* paintable wall lockers

* Restrict painting more objects

* Suggested event changes, event cleanup

* component comments, fix ammo inhands

* uncleanable decals, dirty styles on mapinit

* organize paintables, separate emergency/closet grp

* fix categories newline at EOF

* airlock group whitespace cleanup

* realphabetize

* Clean up EntityStorageViz merge conflict markers

* Apply requested changes

* Apply suggestions from sowelipililimute's review

Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>

* betrayal most foul

* Remove members from EntityPaintedEvent

* No emerg. group, steelsec to secure, locker/closet

* Enable repainting the medical wall locker

* comments, no flags on PaintableVisuals

* Remove locked variants from closets/wall closets

* removable decals

* off value consistency

* can't paint away those bones

* fix precedence

* Remove AirlockDepartment, AirlockGroup protos

Both unused.

* whitelist consistency re: ammo component

* add standing emergency closet styles

* alphabetize the spray painter listings

---------

Co-authored-by: Ertanic <black.ikra.14@gmail.com>
Co-authored-by: Эдуард <36124833+Ertanic@users.noreply.github.com>
Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
2025-07-10 20:36:57 -04:00
5tickman
99f56b7899 Butter pat is now tiny 2025-07-10 19:16:13 -05:00
PJBot
685156c08f Automatic changelog update 2025-07-10 21:38:58 +00:00
slarticodefast
773299bd07 fix clones not getting the thieving skill (#38914) 2025-07-10 14:37:50 -07:00
Ed
932fd47861 Update CP14WorkbenchWindow.xaml.cs 2025-07-10 21:56:31 +03:00
PJBot
8026f7fd50 Automatic changelog update 2025-07-10 18:17:16 +00:00
qwerltaz
615c4afbcc Bagel genpop (#38829)
* skelaton (skeleton)

* basic genpop

* genpop mostly done

* general layout

* all details

* maints firelocks, tweaks

* invalids bye, remove residual air and fire alarm

* uhh tweaked something dont remember

* remove actions

* armory: truncheon and riot crate

* remove more invalid devices

* armory holopad, graffiti tweak

* no windoor into sec substation, add flasher

* Revert "no windoor into sec substation, add flasher"

This reverts commit a7b919fb74433b82f48f92f98d5521ecb1f3eae4.

* no sub windoor, flasher

* fix camera blocking turret

* move warden and armory, restyle decals

* maints flashlights :D

* fix locker room dark tile placement
2025-07-10 12:16:06 -06:00
Tayrtahn
ecbff409b6 Replace AdvertiseComponent with DatasetVocalizerComponent (#38887)
* Replace AdvertiseComponent with DatasetVocalizerComponent

* No vocalizing while broken or without power

* Kill AdvertiseComponent/System

* This really shouldn't be here

* xmldoc for VocalizerRequiresPowerComponent

* TryIndex -> Index
2025-07-10 11:12:24 -07:00
lzk
a97223bc70 change Identity.Name to Identity.Entity for delivery popups (#38909) 2025-07-10 19:44:37 +02:00
Tayrtahn
cce239dd93 Fix localization error when trying to change hair on someone with a hat (#38907) 2025-07-10 19:37:25 +02:00
PJBot
0d9659e810 Automatic changelog update 2025-07-10 17:12:31 +00:00
Hitlinemoss
97fcebb92b Kobold/monkey AI holograms (#38888)
* Added kobold/monkey AI holograms

* Updated meta.json
2025-07-10 13:11:23 -04:00
PJBot
d071b4dab6 Automatic changelog update 2025-07-10 14:48:51 +00:00
ScarKy0
91841a7853 Add Bolas to SecTech vendor (#38902) 2025-07-10 16:47:41 +02:00
PJBot
b7f31ac482 Automatic changelog update 2025-07-10 12:43:10 +00:00
K-Dynamic
5427d386ce Minigun inhands + HMG multihand and slow move speed (#35344)
* hmg move speed

* minigun inhands

* even better inhands

* touch-up
2025-07-10 14:42:02 +02:00
Nox
5a3368b0fa Operation Remove Gun Bloat (#38104)
* Remove long-unused magazines

Signed-off-by: Nox38 <nebulousnox38@gmail.com>

* Not sure why that failed, going to rerun tests real quick

* Testing if this resolves the tests. Anyone know how to run tests locally, without waiting for github?

Signed-off-by: Nox38 <nebulousnox38@gmail.com>

* Fully removed boxes of vector ammo and the vector ammo tag

Signed-off-by: Nox38 <nebulousnox38@gmail.com>

* This might fix the tests

Signed-off-by: Nox38 <nebulousnox38@gmail.com>

* Nulled more =

Signed-off-by: Nox38 <nebulousnox38@gmail.com>

* Nulled more migrations

Signed-off-by: Nox38 <nebulousnox38@gmail.com>

---------

Signed-off-by: Nox38 <nebulousnox38@gmail.com>
2025-07-10 14:36:18 +02:00
PJBot
3896dbb375 Automatic changelog update 2025-07-10 11:15:44 +00:00
Perry Fraser
decaa58dfe feat: allow admins to interact under subfloors (#38813)
* feat: allow admins to interact under subfloors

* feat: use BypassInteractionChecks instead
2025-07-10 13:14:37 +02:00
PJBot
9b85def0a7 Automatic changelog update 2025-07-10 09:32:05 +00:00
slarticodefast
415ba2e274 reduced motion flash effect version 3 (#37824)
* V3

* Apply suggestions from code review
2025-07-10 11:30:58 +02:00
PJBot
f574990b11 Automatic changelog update 2025-07-10 07:57:25 +00:00
Tobias Berger
5fbbb6fd0b Allow pAIs to emote like a borg (#38425) 2025-07-10 00:56:17 -07:00
Perry Fraser
80c6650730 fix: wide swings with resistanceBypass now bypass resists (#38496) 2025-07-10 00:48:45 -07:00
PJBot
5e9b9a55eb Automatic changelog update 2025-07-10 06:32:47 +00:00
slarticodefast
0484b7f07e Add VV button to the solution editor (#38889)
add vv button to solution editor
2025-07-09 23:31:39 -07:00
Leon Friedrich
f915157b96 Fix yaml linter and misc errors (#37444)
* Fix yaml linter

* Revert "fix cluwne pda pen slot (#35611)"

This reverts commit 66e926843f.

* More fixes

* Try again with the engine requirement removed

* Decrease number of brass sheets dropped by clockwork windoors

---------

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
2025-07-10 00:25:36 -04:00
DrSmugleaf
00826aaad6 Replace usages of customTypeSerializer PrototypeIdListSerializer with something that doesn't take 20 separate words to type out (#37959)
* Replace usages of customTypeSerializer PrototypeIdListSerializer with something that doesn't take 20 separate words to type out

* Missed one

* Missed another

* Fix data field ids
2025-07-10 05:06:51 +02:00
Kyle Tyo
326712faca Predict RepairableSystem (#38886)
* commit

* Update SharedRepairableSystem.cs

* compo

* final touches.

* Update RepairableComponent.cs

* Update RepairableSystem.cs

* Update Content.Shared/Repairable/RepairableSystem.cs

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-07-10 04:39:34 +02:00
PJBot
59633f6dc5 Automatic changelog update 2025-07-09 19:06:05 +00:00
Crude Oil
9ebf6a24c4 Parroting Parrots part 1: Help maints! SQUAWK! Maints! (#38243)
* parrots have ears. add poly

* high tech parrot functionality

* adjust times

* add accent to radio message

* don't spam everything all at once probably

* learn about the existence of prob(float)

* actually use Prob(float) correctly

* newline

* add pet spawner for poly

* move chance to talk on radio to component

* missing comment

* minor edits and doc additions

* the reviewerrrrrrr

* parrot can't learn when crit or dead

* increase default memory

* rename poly to polly

* crude way to ignore whispers. chatcode please

* This is Polly. It is set to broadcast over the engineering frequency

* add missing initialize

* add displacement map for parrot ears

* review comments - Errant

* minor things

* large rework

* fix attempting to talk when entity has no channels

* use list of active radios again to track channels

* fix bad return, some comments

* fix long learn cooldown

* minor adjustments

* use FromMinutes

* the voices told me to make these changes

* remove default reassignment

* Review changes

* remove polly's accent

* decouple radio stuff from parrotsystem

* minor stuff

* split vocalization and parroting

* minor review work

* re-add missing check

* add admin verb for clearing parrot messages

* minor action icon update

* oops

* increase icon number text size

* Admin erase parrot messages associated with players

* part 1 beck review

* add whitelist and blacklist for parrots

* Downgrade missing component error to warning

* Add comment

* add some missing comments

* Remove active radio entity tracking, use all inventory slots

* Minor changes

* small review stuff

* review radio stuff

* swap ears displacement to invisible death displacement

* remove syncsprite

* vscode why do yo have to hurt my feelings

* review changes

* use checkboth
2025-07-09 12:04:57 -07:00
Tayrtahn
e08e920c62 Prefer file-scoped namespaces in .editorconfig (#38879)
Prefer file-scoped namespaces in .editorconfig
2025-07-09 11:33:18 -07:00
Nim
eb61eda87a fix (#1519) 2025-07-09 20:06:06 +03:00
CrystallEdge Server
be63d73fc3 Automatic changelog update 2025-07-09 16:33:30 +03:00
Red
a486c94e3b rope (#1518) 2025-07-09 16:32:23 +03:00
PJBot
635bef70db Automatic changelog update 2025-07-09 12:44:46 +00:00
Sparlight
2c3c510fe9 Fix non-humanoid mobs being destroyed on devour (#38087)
* Allow non-preference living things to be added to a devourer's stomach

* Fix ordering of devour logic

* Minor refactor for whitelist on storage and food preference

* Fix linter issue

* Coerce workflow to run again; also fix bad indenting error

* Code review changes
2025-07-09 14:43:35 +02:00
Ed
5c13de5331 Update floorWater.yml 2025-07-09 14:15:51 +03:00
PJBot
5a46e09830 Automatic changelog update 2025-07-09 11:08:49 +00:00
Quantum-cross
989338cb08 Fix lingering ghost roles (and expand tests to catch it) (#38788)
* Improve and expand `TakeRoleAndReturn` to fail on bug #38292

* fix #38292 and expanded test cases

* use validated EntProtoIds for tests

remove unusued using declarations

* use const strings that match the TestPrototypes
2025-07-09 13:07:41 +02:00
Perry Fraser
f29c35ff37 fix: correct ToggleableVisuals for toy sword and pirate helm (#38867) 2025-07-09 00:04:32 -07:00
Viator-MV
5889a4ac98 Lightning strike nerf (#1514)
* core

* core 2

* fix
2025-07-09 09:18:18 +03:00
gogenych
b5707e622a fast price fix (#1515) 2025-07-09 09:17:44 +03:00
Red
5b4440d18d Merge pull request #1516 from crystallpunk-14/ed-08-07-2025-shader-sea
Status effect spells
2025-07-09 09:16:49 +03:00
Perry Fraser
871860208c fix: Register OnRequestMovePulledObject under the right system (#38484)
* fix: Register OnRequestMovePulledObject under the right system

* nukeops test flake
2025-07-09 05:44:21 +02:00
Perry Fraser
c802b8bbb2 Make mopping predicted (and some other stuff) (#38749)
* refactor: move puddle evaporation + absorbents to shared

* refactor: move SolutionRegeneration to shared

* refactor: make AbsorbentSystem visuals clientside

* style: general formatting/cleanup on touched files

- Few logical simplifications
- Add field for hard-coded sparkle effect ent
- Switch stuff to Entity<T>

No actual prediction fixes in this commit (though in
retrospect I should've done this commit last).

* fix: use predicted variants for predicted code

* fix: average out evaporation rates in mixtures

* refactor: move SolutionPurge to shared

* style: Basic SolutionPurgeComponent field cleanup

* fix: general prediction + timing + networking fixes

- Moves client side visuals back to shared because other
  players exist
- Don't accumulate CurTime in Purge/RegenerationSystem
- Network the next update field in Purge/RegenerationSystem to
  deal with UI mispredictions???

* fix: add udder bug workaround

Not needed for SolutionPurgeSystem which doesn't resolve
solutions (probably fine that SolutionPurgeSystem doesn't
cache since it's much rarer, though it probably should), and
likely not needed for AbsorbentSystem since it only resolves
against puddles which, I don't think can be in containers.

* fix: don't divide by zero for evaporation speed = 0.

* refactor: revert evaporation changes

Will cherry-pick these out in another PR.

Also reverting the evaporation speed bugfix since it's easier
to revert all at once. :)

* fix: component cleanup; autopause fields, use ProtoID

* fix: remove unused AbsorbentComponentState

* fix: ProtoId is not string

* refactor: move PuddleSystem.UpdateAppearance to shared

* style: general PuddleSystem.UpdateAppearance tweaks

- Switch to Entity<T>
- Use ProtoIds
- Minor simplifications

* fix: add udderly silly PVS workaround

* cleanup

* fix

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-07-09 05:17:55 +02:00
PJBot
7cf6ca877c Automatic changelog update 2025-07-08 23:23:20 +00:00
Mora
d15b74d56b Added Vox Heterochromia (#38595)
* Added Vox Heterochromia

* Forgot to change moth to vox

* minor formatting fix

---------

Co-authored-by: TrixxedHeart <46364955+TrixxedBit@users.noreply.github.com>
2025-07-08 19:22:13 -04:00
PJBot
4d7731fe80 Automatic changelog update 2025-07-08 11:57:05 +00:00
Andrew Malcolm O'Neill
8ea7dea6b3 Contraband category fixes (#38698)
* Adding contraband to some items missing it
- This includes updating contraband to follow more consistently where items are expected to be used
- Fixing the spacing in arrays to be more consistent with other files

* Updating PPD to be Eng contra
2025-07-08 13:55:55 +02:00
Red
668e79111c Merge pull request #1511 from crystallpunk-14/ed-08-07-2025-upstream
Upstream sync try 2 (not squash)
2025-07-08 12:01:01 +03:00
CrystallEdge Server
b0cea03821 Automatic changelog update 2025-07-08 12:00:27 +03:00
Red
ae077c3971 Revert "Upstream sync (#1509)" (#1510)
This reverts commit a35c718734.
2025-07-08 11:59:51 +03:00
Red
a35c718734 Upstream sync (#1509)
* Fix the tail wagging action being blocked by cuffs. (#38454)

Update types.yml

* Automatic changelog update

* Remove redundant IoC Resolve in `EmptyOrWindowValidInTile` (#38446)

Remove redundant IoC Resolve in EmptyOrWindowValidInTile

* fix: trim five minutes of silence from bottle_clunk_2 (#38463)

* Update patrons (#38470)

* Forbid string literals for `SharedActionsSystem` methods (#38472)

Forbid string literals for SharedActionsSystem methods

* Chameleon Controller Implants can be deimplanted (#38439)

* Automatic changelog update

* Cleanup duplicate dependency in `AdminVerbSystem.Smites` (#38473)

Cleanup duplicate dependency in AdminVerbSystem.Smites

* fix: set correct layer visibility for power cell sprites (#38458)

* fix: set correct layer visibility for power cell sprites

* fix: use a default charge level for power cell sprites' appearance data

* Remove Icon Smoothing for Airlocks, Doors, and Plastic Flaps, and Shutters from Walls (#38456)

* Nuke Icon Smoothing

* Update highsec.yml

* Update plastic_flaps.yml

* Scurrets (#38218)

* Scurrets.

* Add missing equipment YAML

* Fix count of NamesFirstScurret

* Resolve PR comments, wa.

Also add like a bunch more wa replacements

* ed

* Update Resources/Textures/Mobs/Animals/scurret/displacement.rsi/meta.json

* :rivflabbergasted:

* Fixed spacings in scurret_last.ftl

* Fix mangled endings of some last names

* wawa

* the scug has a spear for self defence

* Automatic changelog update

* Fail if we attempt to run publish on master (#38431)

* Fail if we attempt to run publish on master

BREAKING: FORKS REMOVE THIS

* Update publish.yml

* Fix styling for Admin Menu lists (#38261)

* remove styleclass from playertab 'button' lines

* cvar, fix button-style header alignment

* Fix requested changes

And also the extra cvar things I was meant to remove in the upstream merge

* Tiny tweaks

---------

Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>

* Automatic changelog update

* Add interaction test for retractable arm blade (#38452)

* Add interaction test for retractable arm blade

* Update for HandsSystem refactor

* Revert "Update for HandsSystem refactor"

This reverts commit e01bb9a7e318dd916240d57b30f48af9594bff1f.

* Combine WaitAssertion blocks

* Make... sloths... speak... slowly... (#38142)

* Add SlowAccent

* Apply SlowAccent to sloths

* xmldocs

* Automatic changelog update

* Make gas tank UI a bit more network-happy (#38184)

* fix: network gas tank output pressure

* fix: don't overwrite gas tank output pressure during editing

* allow to publish news without ui (#35262)

* allow to publish news without ui

* the hell was that

* apply

* apply review

* sure

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

* okay

---------

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

* add some documentation for visiting entity (#38475)

* add some documentation for visiting entity

to prevent someone from spending 5 minutes diving into the codebase

* reviews

Co-authored-by: LaCumbiaDelCoronavirus <90893484+LaCumbiaDelCoronavirus@users.noreply.github.com>

---------

Co-authored-by: LaCumbiaDelCoronavirus <90893484+LaCumbiaDelCoronavirus@users.noreply.github.com>

* SignalSwitchSystem: Check button is locked before toggling (#38474)

Check button is locked before toggling

* Automatic changelog update

* Fix compile (#38477)

* Fix wallmount interaction (#38111)

* Automatic changelog update

* Fix debug asserts when unequipping items (#38274)

* Flask Visual Overhaul & YML Organizing (#38032)

* Adding Back Baseline V1 Changes

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* Readability Change

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* icon_open implementation, tidy up & attributions (fix lith/shiny flask ugly af open sprites)

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* good enough

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* No mo closed spills

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* Inhands & Attributions Part 1

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* Inhands & Attributions Part 2

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* Flask Sounds & Attributions

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* Cap flask inhands change

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* Lith flask Inhand Changes

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* Spacing

* Fix?

* Man...

* Attributions Back in...

* Im loosing it..

* REAL!

* :/

* Again...

* again :/

* Plz???

---------

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* Automatic changelog update

* Kills TurfHelpers (#37939)

* Create TurfSystem equivalent for and obsolete TurfHelpers.GetTileRef

* Fix EntitySystem uses of TurfHelpers.GetTileRef

* Fix EntitySystem uses of TurfHelpers.TryGetTileRef

* Fix construction condition uses of TurfHelpers.GetTileRef

* Fix last use of TurfHelpers.IsBlockedTurf

* Create TurfSystem equivalent to and obsolete TurfHelpers.GetContentTileDefinition

* Fix uses of TurfHelpers.GetContentTileDefinition(TileRef)

* Fix uses of TurfHelpers.GetContentTileDefinition(Tile)

* Create TurfSystem equivalent to and obsolete TurfHelpers.IsSpace

* Fix EntitySystem uses of TurfHelpers.IsSpace(Tile)

* Fix EntitySystem uses of TurfHelpers.IsSpace(TileRef)

* Fix remaining uses of TurfHelpers.IsSpace

* Fix uses of TurfHelpers.GetEntitiesInTile

* Delete TurfHelpers.cs

* Add GetEntitiesInTile lookup methods

* Convert some GetEntitiesInTile methods to LookupSystem extension methods

* Use new GetEntitiesInTile methods

* Recycle spiderweb hashset

* Recycle floor tile hashset

* Allow Maintainers to use customvote command (#38385)

Changed from Moderator perm to Round perm

* Automatic changelog update

* Make role ban pannel pretty (#37952)

* Make role ban pannel pretty

* Removed unused depencency

* refactor: wider panel (no jumping due to scroll in english lang) minor readability improvements

---------

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

* Automatic changelog update

* Generic Numeric Alerts (#38370)

* Fix styles for group button in loadout menu (#38488)

* Fix styles color for group button in loadout menu

* Show selected item count in loadout group UI

Updated the loadout group container to display the number of selected items in a group. Added a new localization string to support this feature in the UI.

* Resolve required changes

* Automatic changelog update

* fix: mops with liquid can hit people again (#38486)

* Automatic changelog update

* Treat duplicate dependency warnings as errors (#38480)

* Treat duplicate dependency warnings as errors

* GitHub workflows

* commas

* Maybe we just don't use these?

* I think we can get rid of these?

* Retractable items get removed by handcuffs (#38441)

* init

* oops

* happens

* review

* fix

* Update Credits (#38493)

Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>

* Fixed dirt tiles having identical names (#38500)

* added prefix to planet dirt/grass

* prefixes don't work, just doing renaming instead.

* Readds the Hypereutactic Blade for traitors, adds Hypereutatic blade for Nukies (#37182)

* adds hypereutactic back into the uplinks

* Disables hum

* Adds the Hypereutatic Blade for Nukies

* Actually makes the sound so quiet no one can hear it

* Apply suggestions from code review

* Update Resources/Prototypes/Entities/Objects/Weapons/Melee/e_sword.yml

---------

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

* Automatic changelog update

* Allow admins to export round logs to CSV files (#38206)

* Automatic changelog update

* MINOR SPELLING ERROR!!1!!1! (#38510)

Spelling fix in the code of conduct

Comunity ->Community

* Staff of Healing for Pacifists (#38509)

* Automatic changelog update

* Command resolves. (#38519)

* banlist-command

* open-admin-notes-command

* stealthmin-command

* set-alert-level-command

* remove unused usings

* whitelist commands

* Emotional Support Scurret locstrings (#38518)

Missed during the atomization of the Wa Wa PR.

* Content fix for `LocalizedCommands` `Loc` change (#38133)

* Content fix for LocalizedCommands Loc change

* Switch to LocalizationManager

* Predict Flashes (#37640)

Co-authored-by: ScarKy0 <scarky0@onet.eu>

* Automatic changelog update

* Remove excess `SingularityLevelChangedEvent` subscriptions (#38536)

* Remove excess SingularityLevelChangedEvent subscriptions

* RadiationSourceComponent too

* Cleanup commented out code

* Revisions and cleanup to dock and shuttle commands. (#38533)

commit

* Add wall-based ambient occlusion (#38276)

* Add wall ambient occlusion

* wawawewa

* Work

* cvars

* Comment to make slart happy

* Automatic changelog update

* Update submodule to 263.0.0 (#38524)

* update oasis (#37770)

* Add uplink command minor revision and cleanup (#38532)

* commit

* Update AddUplinkCommand.cs

* Fix IsSpace call (#38548)

* Crew manifest command cleanup and LEC (#38544)

commit

* Re-Add Stamina Damage Resistances to Nukie & ERT Suits after the Test Merge. (#38526)

* Add stamina damage resists to the bloodred suits.

* Apply suggestions from code review

---------

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

* Automatic changelog update

* Update cmd-adminwho-desc (#38539)

Update admin-who-command.ftl

* Added a handheld station map to the cyborg thruster module (#38541)

* Added a station map to the borg thruster module

* Removed HandheldStationMapBorg & replaced it with HandheldStationMapUnpowered

* Automatic changelog update

* fix: correct wall AO having weird sharp edges (macOS only?) (#38552)

* Fix displacement map rendering in UI (#38042)

Fix displacement map rendering

918709cb47 changed the way humans work to completely remove the stencil mask thing for clothing cutouts, in favor of displacement maps. Except it didn't actually remove the stencil parameters from the shader prototype, so this caused the shader to render incorrectly in SpriteView instances.

I introduced a new DisplacedDraw shader that doesn't have the stencil in use, as removing the old one would probably be a more annoying breaking change.

Fixes #37629

* Automatic changelog update

* remove suffix from ChameleonControllerImplanter (#38554)

* Update implanters.yml

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

---------

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

* Bulldog desc fix (#38558)

Co-authored-by: Vasilis The Pikachu <vasilis@pikachu.systems>

* Automatic changelog update

* cleanup air_alarm.yml and fire_alarm.yml (#38559)

* Update air_alarm.yml

* that too

* Update air_alarm.yml

* Fix cutter machine having free techmaint floor tiles (#38557)

Fix BaseMaintTileRecipe
Changed BaseTileRecipe to BaseMaintTileRecipe

* Automatic changelog update

* Lobby Audio from static to CVar (#38375)

* Changed LobbyMusiccollection over to a Cvar and edited ContentAudioSystem.cs to use Cvar Values

* Addedd Ability to modify the lobbyMusiccollection from the command line

* Fixed changing lobby music while in the round

* Deleted uneeded duplicate line

* Removed additional duplicate lobbyplaylist line

* Alphabatized imports and refactored to use Subs.CVar

* Added error checking and default behaviour to CVar sub.

* Refactored to use TryIndex and Allowed for a empty soundcollection when a sound collection is not found. Edited Cvar comment to reflect changes.

* Made _lobbyMusicCollection nullable and addedd handling for null case where used. Also Changed LobbyMusicCollection Cvar over to audio rather than ambience.

* Update Content.Server/Audio/ContentAudioSystem.cs

---------

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

* Electrocute command cleanup and localization (#38563)

* hey look I knocked out a todo :shockedface:

* Update Resources/Locale/en-US/electrocution/electrocute-command.ftl

---------

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

* allow combat mode toggling when unable to interact (#38573)

allow combat mode toggling when cuffed or crit

* update xeno techmaint floor name (#38555)

Update tiles.yml

* New status effect system (#37238)

* spectra

* documentation

* added into liquid anomaly

* Update TemporaryStealthComponent.cs

* Update TemporaryStealthComponent.cs

* integrated

* new system

* mark old status effect system as obsolete

* ForcedSleeping new status effect

* work with reagents

* networking???

* Revert "integrated"

This reverts commit bca02b82bae18ae131af593d7eb86e6de2745157.

* Revert "Update TemporaryStealthComponent.cs"

This reverts commit 4a5be8c4b704a0d1ff9544b2e245d8b2701ec580.

* Revert "Update TemporaryStealthComponent.cs"

This reverts commit a4875bcb41347638854bd723d96a51c3e6d38034.

* Revert "added into liquid anomaly"

This reverts commit df5086b14bb35f1467158a36807c0f2163a16d99.

* Revert "documentation"

This reverts commit 3629b9466758cbdfa4dd5e67ece122fa2f181138.

* Revert "spectra"

This reverts commit 2d03d88c16d16ad6831c19a7921b84600daeb284.

* drowsiness status effect remove

* reagents work

* polish, remove test changes

* first Fildrance review part

* Update misc.yml

* more fildrance review

* final part

* fix trailing spaces

* sleeping status effect

* drowsiness status effect

* Create ModifyStatusEffect.cs

* some tweak

* Yay!!! Manual networking

* minor nitpick

* oopsie

* refactor: xml-docs, notnullwhen attributes, whitespaces

* fildrance and emo review

* refactor: simplify check in SharedStatusEffectsSystem by using pattern matching, TryEffectsWithComp now returns set of Entity<T, StatusEffectComponent>

---------

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

* Properly evaluate publish condition for master branch (#38556)

* HandsSystem Refactor (#38438)

* checkpoint

* pt 2

* pt... i forgot

* pt 4

* patch

* More test fixes

* optimization!!!

* the REAL hand system

* fix RetractableItemActionSystem.cs oversight

* the review

* test

* remove test usage of body prototype

* Update Content.IntegrationTests/Tests/Interaction/InteractionTest.cs

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

* hellcode

* hellcode 2

* Minor cleanup

* test

* Chasing the last of the bugs

* changes

---------

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

* Fix PowerCellDrawComponent draw rate (#38562)

* fix power cell draw rate

* comment

* Hand refactor bugfix (#38576)

* Fix hand refactor 2 (#38578)

* fix unwielding

* hand refactor bugfix 2

* Added a ConfirmableAction component to ActionRevertPolymorph (#38570)

* Added a ConfirmableAction component to ActionRevertPolymorph

* Update Resources/Locale/en-US/actions/actions/polymorph.ftl

---------

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

* Automatic changelog update

* Fixup Sericulture to be clonable (#38516)

* Add CloningEvent and an action entity prototype

* Remove redundant action prototype from Yaml

* Add a field that might be changed

* CR

* CR - guard statement and Dirty

* Convert DumpReagentGuideText command to LEC. (#38569)

* commit

* revert linq conversion

* fix: EyeOffset when eyes are closed (#38534)

* fix: EyeOffset when eyes are closed

* fix: Relay only blocked on eyes closed action

* cleanup: whitespace

* fix: missing cancel on PVS, dependencies

* remove: namespace import

* change: apply from review

* Apply suggestions from code review

---------

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

* Automatic changelog update

* Updated hat descriptions (#38156)

* Updated hat descriptions

* final touches

* typo fix

* final touchups

* Quote fixes

* Automatic changelog update

* Add /showaccessreaders to +MAPPING and +DEBUG (#37759)

feat: add /showaccessreaders to +MAPPING and +DEBUG

* ShowHealthBarsCommand to LEC. (#38588)

* mfw

* Update Content.Client/Commands/ShowHealthBarsCommand.cs

---------

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

* Forgor changelog for permission change (#38593)

* Automatic changelog update

* MapRenderer code fixes (#38357)

* Fix MapRenderer integration test usage to properly show output.

Added an ITestContextLike interface that can be used to properly run the integration test infrastructure OUTSIDE A TEST.

* Use System.Test.Json instead of Newtonsoft.Json for MapRenderer

* Fix map renderer JSON output being broken

I love not testing or even reading the surrounding code.

* Fix un-reusable integration instances getting leaked.

The pair state was always getting set to Ready even if the instance was killed, meaning it was getting put back into the pool even if killed.

* Mark map renderer integration instances as destructive to avoid memory leak.

* Fix file specification handling.

Map file specification is now backwards compatible again (loose filename match to search prototypes). It also supports proper direct OS filename arguments. The former is the fallback scenario is extremely important for the map server still.

Cleaned up the way that target map files are passed through the application, so mixed file/prototype specifications are now handled properly (which can be caused by the fallback behavior).

Fixes JSON data export to use the proper user-facing map name. This only works if a prototype ID is specified *or* the legacy file behavior is used.

Restructured MapPainter into an instance that has multiple functions called on it, so not all data has to be passed through a single Paint() call.

Clean up the godawful map/grid detection code. Now we just load both in a single call, because yes you can do that. This relies on LogOrphanedGrids = false in the map loader options, which I think is fine for our purposes.

Improved error handling in much of the program.

* Fix duplicate map names in map renderer output

I'm not sure *what* this output is used for, but I'm sure having it duplicated per grid isn't intentional.

* Make maprenderer command line parsing bail on unknown - options

* Fix incorrect docs for --viewer maprenderer argument

It doesn't change directory layout

* Fix parallax layer specification to not use imgur as a fucking CDN

Files are now copied to a separate folder _parallax, and these files are referenced by the parallax configuration.

Parallax data is only output when instructed to via --parallax.

This will break parallax on current map server builds, but it should be graceful. Also, that's fucking good considering we shouldn't be using imgur links. Purge it.

* Fix incorrect assert in test pair clean return

* Restore other map viewer parallax layers, fix attribution.

* This isn't a valid copyright statement but the validator forces me to enter something here.

* Hide mechanism and show mechanism commands to LEC (#38587)

commit

* Fix multi handed items (#38603)

* Automatic changelog update

* fix smart equip (#38605)

* Automatic changelog update

* New Status Effects system: Relay events (#38579)

* Fixed Snacks Mispredicting on Clients (#38522)

* Well this works

* Removed merge conflict bait

* PredictedDel

* Apply suggestions from code review

---------

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

* Improve lathe queue performance (#38583)

* Use an actual Queue

* Store ProtoIds instead of prototypes

* Network as NetListAsArray

* Remove Serializable & NetSerializable from LatheRecipePrototype

* Convert CurrentlyProducing too

* No point using NetListAsArray<T> if you're going to .ToArray() it anyways.

---------

Co-authored-by: PJB3005 <pieterjan.briers+git@gmail.com>

* Quartermaster's PDA has AstroNav preinstalled (#38445)

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

* Automatic changelog update

* Bladed flatcaps are minor contraband (#38597)

* Automatic changelog update

* Stop network serializing prototypes (#38602)

* Stop network serializing prototypes

Send the damn proto ID instead.

* Fix sandbox violation

* Clean up all missing `EntitySystem` proxy method uses (#38353)

* Cleanup SharedRoleCodewordSystem (#38310)

* cleanup

* Update Content.Shared/Roles/RoleCodeword/SharedRoleCodewordSystem.cs

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* Apply suggestions from code review

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* Toy/Plushie Inhands and Wearables (#38514)

* Automatic changelog update

* Thief Guidebook Refresh (#38586)

* Automatic changelog update

* RespiratorSystem Cleanup (#38572)

* Respirator Debodied

* Forgot about alerts (also respirator testa and events)

* Fix Urist eating air and not giving it back

* Stop nuke ops from taking in a breath then taking in a second breath causing them to get a headache from carbon dioxide poisoning and failing TryStopNukeOpsFromConstantlyFailing();

* Consts are smelly,

* Actually we don't need to raise the entity, just the component

* Don't forget to remove the unused code today, said me yesterday

* Remove all fallbacks

* Debody that too

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>

* Fix the sensor monitoring console forcing a GC every 3 seconds (#38146)

* Optimize sensor monitoring window graph drawing

* Add shared static Vector2 pool for all GraphView instances

* Address requested changes

* remove lock

* New Status Effects API Overload (#38617)

* I love API changes

* Update Content.Shared/StatusEffectNew/StatusEffectSystem.API.cs

* fix

---------

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

* Fix silicons looking at their laws crashing the server (#38623)

* fix RCD ghosts not disappearing when changing hand to empty (#38622)

* Automatic changelog update

* Refactor SeeingRainbows to new status effect system (#38620)

* Make Review Requested label get applied to all opened PRs (#38625)

It previously only applied automatically to PRs that have reviews requested, which happens if the PR touches files owned by code owners. Now it applies to *all* opened PRs.

* Fix vocalization emotes (#38627)

* Update submodule to 264.0.0 (#38629)

* HoP's beret (#38601)

* added HoP beret

* added beret to loadout

* added craft to machine

* added beret to hop ddresser

* Updated the authorship

* Change on request

* added 4-spaced

* Hot fix of dresser

* patchfor broken NetworkConfiguratorLinkMenu (#38632)

fix

* Fix solutions flickering when transferring contents (#34838)

* Use Solution clones when applying SolutionComponent states

* Revert "Use Solution clones when applying SolutionComponent states"

This reverts commit 013fd111cf92b22562e00f98a7aaa49bc4b4ed62.

* Make Solution implement ICloneable and rename Clone method.

* Copy CanReact value when cloning a Solution

* Convert to IRobustCloneable

* Automatic changelog update

* Fix typos in guidebook: Buisness → Business (#38636)

* Fix typo in `MinorAntagonists.xml`

Buisness → Business

* Fix typo in `YourFirstCharacter.xml`

Buisness → Business

* AddBodyPartCommand localization. (#38612)

commit

* Automatic changelog update

* Various Headphones Fixes and Tweaks (#38479)

* sprites, wearables

* neck

* icon-on sprite

* Automatic changelog update

* Cleanup prototype instantiation in `DamageTest` (#38639)

Cleanup prototype instantiation in DamageTest

* Cleanup prototype instantiation in `ExplosionSystem` (#38642)

Cleanup prototype instantiation in ExplosionSystem

* Update Credits (#38646)

Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>

* fix ItemSlotsSystem debug assert (#38655)

* Automatic changelog update

* Allow the Command & Super door remotes to use the access of their user. (Re-creation of PR due to changes to game balance) (#35536)

* Automatic changelog update

* Added directional beacons (#38284)

* Added directional beacons

Signed-off-by: Nox38 <nebulousnox38@gmail.com>

* Fixed names

Signed-off-by: Nox38 <nebulousnox38@gmail.com>

---------

Signed-off-by: Nox38 <nebulousnox38@gmail.com>

* Power stat and nuke codes commands get some LEC love. (#38585)

* commit

* requested changes.

* Tweaks to admin CSV exporting (#38531)

* Automatic changelog update

* Dsay Dirty and Follow commands converted to LEC and localized. (#38666)

* commit

* whoopwhoopwhoop

* Retro laser sprite fix (#38676)

* Fixed everything except the icon

Signed-off-by: Nox38 <nebulousnox38@gmail.com>

* fixed icon

Signed-off-by: Nox38 <nebulousnox38@gmail.com>

---------

Signed-off-by: Nox38 <nebulousnox38@gmail.com>

* fix water coolers (#38681)

* Automatic changelog update

* Monochromacy typo fix (#38686)

* fixes the typo

* Fixed cloning looking for the trait, not the component, RE https://github.com/space-wizards/space-station-14/pull/38686#issuecomment-3025093504

* Apply suggestions from code review

---------

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

* Validate `CloningSettingsPrototype`s (#38688)

* Validate CloningSettingsPrototypes

* Update Content.IntegrationTests/Tests/Cloning/CloningSettingsPrototypeTest.cs

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

* Check EventComponents too

---------

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

* Add test of objective-related console commands (#36400)

* Add test of objective add/list/remove commands

* Not sure why we're validating test prototypes, but sure

* We don't need a map

* CC Genpop and other misc fixes (#37494)

* First commit: genpop and AI satellite

* Revert AI satellite, add representative locker.

* Automatic changelog update

* Improvements and fixups for New Status Effect API (#38660)

* ci: include pull request id in changelog link (#38504)

Signed-off-by: little-meow-meow <204685920+little-meow-meow@users.noreply.github.com>

* Resolving Wizard casting recall on nuke disk making it impossible to disarm (#38661)

* Resolving Wizard Recall on Nuke disk making it impossible to disarm
- Adding a DisarmBomb case to nuke status update loop
- Changing a few methods and parameters to properly follow formatting standards
- Updating some names to follow camelCase

* Updating missed tag

* Reverting DataField change

Should prevent this preventative bugfix being a breaking change.

* Automatic changelog update

* Predict healing and bloodstream (#38690)

* initial commit

* reapply 38126

* fix rootable

* someone missed an important minus sign here

* try this

* fix

* fix

* reenable crit hits

* cleanup

* fix status time dirtying

* fix

* camelCase

* make telesci wreck easier (#37569)

rel

* Reduce most salvage mob health, reduce most salvage weapon damage. (#38131)

* Automatic changelog update

* Switch HSV to the default colorspace for character customization (#38434)

* Made HSV default for character editor

* Adds/fixes comments to HSV defaulting

* Added dropbox fix, potentially cursed

* Revert "Added dropbox fix, potentially cursed"

This reverts commit a709883366fbee813e839742125e70844672af29.

---------

Co-authored-by: TrixxedHeart <46364955+TrixxedBit@users.noreply.github.com>

* Automatic changelog update

* Centcomm update (#38697)

* Biome rework (#37735)

* DungeonData rework

Back to fields, serializes better, just make new layers dumby.

* wawawewa

* Fix this

* Fixes

* Port the work over

* wawawewa

* zoom

* Kinda workin

* Adjust wawa

* Unloading work

* Ore + entitytable fixes

Iterate every dungeon not just last.

* Big shot

* wawawewa

* Fixes

* true

* Fixes

# Conflicts:
#	Content.Server/Procedural/DungeonJob/DungeonJob.cs

* wawawewa

* Fixes

* Fix

* Lot of work

* wawawewa

* Fixing

* eh?

* a

* Fix a heap of stuff

* Better ignored check

* Reserve tile changes

* biome

* changes

* wawawewa

* Fixes & snow

* Shadow fixes

* wawawewa

* smol

* Add layer API

* More work

* wawawewa

* Preloads and running again

* wawawewa

* Modified

* Replacements and command

* Runtime support

* werk

* Fix expeds + dungeon alltiles

* reh

---------

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

* Fix: Don't deploy foldables when clicking on items inside containers (#38709)

* Fix

* Apply suggestions from code review

---------

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

* Fix world generation (#38713)

* Fix world generation

* Remove unused impoty

* Scurrets - Audio Improvements (#38482)

* Scurret audio tuning

* Add new sfx

* Update sneezing sfx

* YAML support

* Rename a folder

* Pressure Relief Valve (#36708)

* initial system (this math is probably WRONG)

* General code cleanup and OnExamined support
(holy moly this code sucks)

* UICode and related events foundation
TODO:
- Actually write the XAML UI and the underlying system
- Un-shitcode the entire thing
- Actually test everything...

* Working UI code
TODO: Make predicted, as this certainly isn't predicted. Even though I said it was. It isn't.

* Remove one TODO for unshitcoding the examine code

* Add reminder
yea

* Make predicted (defenitely isn't)
(also defenitely isn't a copypaste from pressure pump code)

* It's predicted!
TODO:
- Give it snazzy predicted visuals!
- Have a different field for pressure entry, lest it gets bulldozed every UI update.

* Improve gas pressure relief valve UI
TODO: Reminder to reduce amount of dirties using deltafields

* Implement DirtyField prediction

* Entity<T> cleanup
A lot of Entity<T> conversions and lukewarm cleanup.

Also got caught copy pasting code in 4K UHD but it's not like you couldn't tell.

* More cleanup and comments

* Remove TODO comment on bulldozing window title

* """refactoring"""
- Move appearance out of shared and finally fix it. Pointless to predict appearance in this instance.
- More Entity<T> conversions because I like them.
- Move UI creation handling over entirely to the ActivatableUI system.
- Fix a hardcoded locale string (why????).

* Add visuals

* Revert debugging variable replacememt
yea

* Revert skissue

* Remove unused using directives and remove TODO

* Localize, cleanup, document

* Fix adminlogging discrepancy

* Add ability to construct, add guidebook entry

* Clear up comment

* Add guidebook tooltip to valve

* Convert GasPressureReliefValveBoundUserInterface declaration into primary constructor

* Adds more input handling and adds autofill on open

* Un-deepfry input validator shitcode
Genuinely what was I smoking

* improve visuals logic

* Refactor again
- Update math to the correct implementation
- Moved code that could be re-used in the future into a helper method under AtmosphereSystem.Gases.cs

* I'm sorry but I hate warnings

* Remove unused using directive in AtmosphereSystem.Gases.cs

* Review and cleanup

* Lukewarm UI glossup

* Maintainer for the upstream project btw

* Remove redundant state sets and messy logic

* Unduplicate valve updater code

* Redo UI (im sorry Slarti)

* run tests

* Test refactored UI messaging

* Second round of UI improvements
- God please find a way to improve this system. Feels bad.

* Update loop implementation

* Further predict UI

* Clear up SetToCurrentThreshold

* cleanup

* Update to master + pipe layers and bug fixes
want to run tests

* fixes

* Deploy rename pipebomb

* Documentation and requested changes

* Rename the method that wiggled away

* Undo rounding changes

* Fix comment

* Rename and cleanup

* Apply suggestions from code review

---------

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

* Automatic changelog update

* Revert biome rework (#38724)

* Revert "Fix world generation (#38713)"

This reverts commit 10fa6ff4af.

* Revert "Biome rework (#37735)"

This reverts commit fe7b96147c.

* Exo - Minor balance changes and fixes  (#38689)

* Automatic changelog update

* Fix TextLinkTag (#32203)

* Scurret PDA slot fix (#38777)

* Scurrets get emergency EVA suit access (#38778)

* Scurrets - spacing protection via adorable outfits

* ALPHABETIZATION!!

* Revert "HoP's beret (#38601)"

This reverts commit e9c90fe66d.

Please check the maintainer meeting for details

* Revert "Readds the Hypereutactic Blade for traitors, adds Hypereutatic blade for Nukies (#37182)"

This reverts commit c03afeb29c.

Please check the maintainer meeting for details

* Changelog removal

* Scurret naming fixes (#38776)

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

* Scurret displacement map fixes (#38775)

* sanitize MIDI parser (#38806)

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

* Add Breach of Permanent Confinement to Space Law (#38663)

* Initial commit

* Fix category in text

* ADAPTATION

---------

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>
Signed-off-by: Nox38 <nebulousnox38@gmail.com>
Signed-off-by: little-meow-meow <204685920+little-meow-meow@users.noreply.github.com>
Co-authored-by: Kyle Tyo <36606155+VerinSenpai@users.noreply.github.com>
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
Co-authored-by: Perry Fraser <perryprog@users.noreply.github.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
Co-authored-by: Qerd <73325910+BigfootBravo@users.noreply.github.com>
Co-authored-by: Ps3Moira <113228053+ps3moira@users.noreply.github.com>
Co-authored-by: Hannah Giovanna Dawson <karakkaraz@gmail.com>
Co-authored-by: Myra <vasilis@pikachu.systems>
Co-authored-by: crazybrain23 <44417085+crazybrain23@users.noreply.github.com>
Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>
Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: Just-a-Unity-Dev <67359748+Just-a-Unity-Dev@users.noreply.github.com>
Co-authored-by: LaCumbiaDelCoronavirus <90893484+LaCumbiaDelCoronavirus@users.noreply.github.com>
Co-authored-by: Whatstone <166147148+whatston3@users.noreply.github.com>
Co-authored-by: Prole <172158352+Prole0@users.noreply.github.com>
Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
Co-authored-by: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
Co-authored-by: beck-thompson <107373427+beck-thompson@users.noreply.github.com>
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
Co-authored-by: qrwas <aleksandr.vernigora93@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Moomoobeef <62638182+Moomoobeef@users.noreply.github.com>
Co-authored-by: keronshb <54602815+keronshb@users.noreply.github.com>
Co-authored-by: Skybailey-dev <skybailey.01@gmail.com>
Co-authored-by: Cojoke <83733158+Cojoke-dot@users.noreply.github.com>
Co-authored-by: ScarKy0 <scarky0@onet.eu>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com>
Co-authored-by: BramvanZijp <56019239+BramvanZijp@users.noreply.github.com>
Co-authored-by: Kittygyat <202250949+Kittygyat@users.noreply.github.com>
Co-authored-by: John <50085876+AreYouConfused@users.noreply.github.com>
Co-authored-by: Dragonjspider <140023808+Dragonjspider@users.noreply.github.com>
Co-authored-by: beesterman <72782957+beesterman@users.noreply.github.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
Co-authored-by: qwerltaz <69696513+qwerltaz@users.noreply.github.com>
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
Co-authored-by: rumaks <me@rumaks.xyz>
Co-authored-by: poklj <compgeek223@gmail.com>
Co-authored-by: Łukasz Mędrek <lukasz@lukaszm.xyz>
Co-authored-by: Hitlinemoss <209321380+Hitlinemoss@users.noreply.github.com>
Co-authored-by: Southbridge <7013162+southbridge-fur@users.noreply.github.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
Co-authored-by: Tiniest Shark <head.rebel@yahoo.com>
Co-authored-by: Andrew Malcolm O'Neill <105134723+maland1@users.noreply.github.com>
Co-authored-by: Princess Cheeseballs <66055347+Princess-Cheeseballs@users.noreply.github.com>
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: 96flo <163569033+96flo@users.noreply.github.com>
Co-authored-by: Łukasz Lindert <lukasz.lindert@protonmail.com>
Co-authored-by: Stefano Pigozzi <me@steffo.eu>
Co-authored-by: Boaz1111 <149967078+Boaz1111@users.noreply.github.com>
Co-authored-by: Nox <nebulousnox38@gmail.com>
Co-authored-by: Kowlin <10947836+Kowlin@users.noreply.github.com>
Co-authored-by: imatsoup <93290208+imatsoup@users.noreply.github.com>
Co-authored-by: UpAndLeaves <92269094+Alpha-Two@users.noreply.github.com>
Co-authored-by: little-meow-meow <204685920+little-meow-meow@users.noreply.github.com>
Co-authored-by: Alzore <140123969+Blackern5000@users.noreply.github.com>
Co-authored-by: Mora <46364955+TrixxedHeart@users.noreply.github.com>
Co-authored-by: TrixxedHeart <46364955+TrixxedBit@users.noreply.github.com>
Co-authored-by: Emisse <99158783+Emisse@users.noreply.github.com>
Co-authored-by: Winkarst-cpu <74284083+Winkarst-cpu@users.noreply.github.com>
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
2025-07-08 11:59:20 +03:00
Ed
3f7bb1f5c6 ADAPTATION 2025-07-08 11:46:35 +03:00
PJBot
a8eb34d3fd Automatic changelog update 2025-07-08 01:46:54 +00:00
kosticia
f8afaa0dc9 Artifact glue reagent (#38670)
* a

* Revert "a"

This reverts commit 2b9ba4ea67a9395d30b7ab37c8065f627f1a961a.

* f

* dev it

* a?

* ad

* forgor

* Revert "f"

This reverts commit 39228c7cbe4d28ba43b73580b55e01c3979eb869.

* derandomisation!

* reviv

* flavor

* fixe

* dwwasdwasdwa

* dwasdwasdwas

* fuck you
2025-07-07 18:45:46 -07:00
Winkarst-cpu
be29077f94 Fix: Add cluwne translation in ftl (#38835)
Fix
2025-07-08 00:54:29 +02:00
Hitlinemoss
92e50ece3a Update hats.yml (merge went wrong and needs to be cleaned up) 2025-07-07 18:19:06 -04:00
Hitlinemoss
babe4b5dcd Update clothing.yml (merge went wrong and needs to be cleaned up) 2025-07-07 18:18:36 -04:00
Hitlinemoss
01d2f1435b Merge branch 'moss-seniorcargo' of https://github.com/Hitlinemoss/space-station-14 into moss-seniorcargo 2025-07-07 18:11:01 -04:00
Hitlinemoss
83f15bfada Merge branch 'master' of https://github.com/space-wizards/space-station-14 into moss-seniorcargo 2025-07-07 18:09:10 -04:00
Hitlinemoss
da6eafde61 Merge branch 'master' into moss-seniorcargo 2025-07-07 18:07:44 -04:00
PJBot
6eec2c5c51 Automatic changelog update 2025-07-07 21:44:41 +00:00
CrystallEdge Server
6fc57804cd Automatic changelog update 2025-07-08 00:43:45 +03:00
slarticodefast
46ec3b402a New science unlock: the H.A.R.M.P.A.C.K (#38824) 2025-07-07 23:43:33 +02:00
Red
2fc34bface Workbench UI improve (#1508)
* grid workbench

* categorization

* Update CP14WorkbenchWindow.xaml.cs

* conditions

* categories
2025-07-08 00:42:34 +03:00
Ed
7a8326d41e Merge remote-tracking branch 'upstream/stable' into ed-08-07-2025-upstream
# Conflicts:
#	Content.Server/Audio/ContentAudioSystem.cs
#	Content.Server/Medical/HealthAnalyzerSystem.cs
#	Content.Server/Shuttles/Systems/ShuttleSystem.cs
#	Resources/Locale/en-US/navmap-beacons/station-beacons.ftl
2025-07-08 00:40:30 +03:00
ScarKy0
366b623cd0 Fix SSD sleep misprediction (#38831)
init
2025-07-07 23:09:50 +02:00
Tayrtahn
c565b44965 Replace ValidatePrototypeId uses with ProtoId or EntProtoId (#38814)
* The easy ones

* For certain values of easy

* Easy test

* Hair

* Fix sandbox violations

* Sort usings
2025-07-07 21:57:05 +02:00
PJBot
41f737e8f3 Automatic changelog update 2025-07-07 19:20:35 +00:00
Голубь
114ec579f5 JumpBoots Attempt №2 (#36862)
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: unknown <wainzor1337@gmail.com>
Co-authored-by: ScarKy0 <scarky0@onet.eu>
2025-07-07 21:19:28 +02:00
Winkarst-cpu
bb02be1dc7 Cleanup: Remove `TryInsert method from the DisposableSystem` and use event subscriptions instead (#38819)
Cleanup
2025-07-07 12:13:35 -07:00
PJBot
1c59e087d5 Automatic changelog update 2025-07-07 18:54:25 +00:00
Smugman
f1902ad0e2 Branded lighters addition (#35514)
* newlighters

* port complete

* donk pocket box addition

* should fix test fail, proper credit

* captalisation issue

* fixed

* typo corrected

* removed accidental change to combat bakery

* fixed lock message, made NT flippo start fueled.

* Requested changes

* fixed discount dan

* moved matchbox

* requested changes, discount dan more broken than ever (somehow)

* unbungle

* uhhhhh

* maybe fixes?

* changed inheritance

* fixed enum?

* nevermind

* finally fixed

* breaking changes

* inheritance unbungled
2025-07-07 14:53:17 -04:00
slarticodefast
7b2346563f Merge stable into master (#38825) 2025-07-07 19:19:47 +02:00
SlamBamActionman
2181585030 Add Breach of Permanent Confinement to Space Law (#38663)
* Initial commit

* Fix category in text
2025-07-07 19:01:52 +02:00
Winkarst-cpu
ae3b3b6173 Cleanup: Remove `TelephoneComponent.RequiresPower` (#38823)
* Cleanup

* Forgot about yml
2025-07-07 17:55:09 +02:00
slarticodefast
b1fb01fed5 Stable merge (#38822) 2025-07-07 14:39:12 +02:00
slarticodefast
a03c35a9bc sanitize MIDI parser (#38806)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2025-07-07 14:23:45 +02:00
CrystallEdge Server
e7b73354ab Automatic changelog update 2025-07-07 11:51:43 +03:00
paige404
99812387ac Birch Furniture by Sable (#1438)
* Add birch furniture construction to the wooden furniture graphs. Birch versions of the bed, table, counter, chair, bench, window, and roof are included.

* Fix malformed licenses

* Add birch table frame to fix failing integration tests. Sprite still required

* Add sable's birch table frame.
2025-07-07 11:50:38 +03:00
PJBot
b2866de07a Automatic changelog update 2025-07-07 05:09:01 +00:00
AsnDen
021551ede3 Golden pai (#38549)
* Golden pai

* Make golden PAI public and rare

* Golden PAI = legendary salvage
2025-07-07 01:07:52 -04:00
PJBot
52a8414f71 Automatic changelog update 2025-07-06 23:51:17 +00:00
Andrew Malcolm O'Neill
c183458056 Reducing the amount of space in the gogo hat (#38808)
Reducing the amount of space in the hat from 7*4 to 4*3 to make a bit more sense with the fact it is only a hat.

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-07-07 01:50:11 +02:00
PJBot
2aca49bb55 Automatic changelog update 2025-07-06 23:43:20 +00:00
ArtisticRoomba
faa4508b65 Fix storage voice control bug after handssystem refactor (#38810) 2025-07-07 01:42:13 +02:00
Hannah Giovanna Dawson
5f7db3b151 Scurret displacement map fixes (#38775) 2025-07-07 00:42:13 +02:00
Hannah Giovanna Dawson
f5fd2dcb76 Scurret naming fixes (#38776)
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-07-07 00:30:44 +02:00
Vasilis The Pikachu
575694e5b5 Changelog removal 2025-07-07 00:10:04 +02:00
Vasilis The Pikachu
87b8f1c7df Revert "Readds the Hypereutactic Blade for traitors, adds Hypereutatic blade for Nukies (#37182)"
This reverts commit c03afeb29c.

Please check the maintainer meeting for details
2025-07-07 00:02:16 +02:00
Vasilis The Pikachu
b650d3298e Revert "HoP's beret (#38601)"
This reverts commit e9c90fe66d.

Please check the maintainer meeting for details
2025-07-07 00:01:55 +02:00
PJBot
51ccaa7ab4 Automatic changelog update 2025-07-06 16:55:27 +00:00
slarticodefast
22e3d533d3 Catchable items, playable basketball (#37702)
* catching

* fix

* improve

* fix linter

* cleanup

* fix prediction

* do the same here

* fix comment
2025-07-06 09:54:20 -07:00
CrystallEdge Server
54bf6028c3 Automatic changelog update 2025-07-06 17:38:48 +03:00
Red
b0594f563d New MRP ruleset for server (#1334)
* rules

* Update Dev.toml

* github feedback applied

* ru feedback applied

* gogenych part feedback

* мукиф
2025-07-06 17:37:43 +03:00
CrystallEdge Server
595eb5418d Automatic changelog update 2025-07-06 17:36:56 +03:00
Red
30d7da4b2b Ed 06 07 2025 guards trading (#1505)
* guard trading

* Refactor trading reputation special and update guard assets

Renamed CP14AddGlobalReputationSpecial to CP14AddTradingReputationSpecial and updated its logic to use a configurable set of factions. Updated job prototypes for guard, guard commander, investigator, and merchant to use the new special and specify relevant factions. Also updated guard helmet textures and metadata.
2025-07-06 17:35:49 +03:00
slarticodefast
cb21b72600 merge staging into master (#38799) 2025-07-06 15:21:26 +02:00
lzk
81a4429189 fix centcom pda (#38796) 2025-07-06 15:20:57 +02:00
Hannah Giovanna Dawson
654a459351 Scurrets get emergency EVA suit access (#38778)
* Scurrets - spacing protection via adorable outfits

* ALPHABETIZATION!!
2025-07-06 15:08:56 +02:00
poklj
8f381157b3 Move moth movement modifiers to the Base (#38795) 2025-07-06 14:07:55 +02:00
CrystallEdge Server
2a187659ba Automatic changelog update 2025-07-06 14:30:03 +03:00
Red
6b6d6ae3f9 return guards to Comoss (#1504)
* return guards to Comoss

* salary system

* Update Frigid_Coast.yml

* Update migration.yml
2025-07-06 14:28:57 +03:00
B_Kirill
7ea3120a07 Cleanup warnings: CS0414 (#38793)
Cleanup
2025-07-06 12:28:29 +02:00
PJBot
2ba10ce02c Automatic changelog update 2025-07-06 01:00:41 +00:00
Nemanja
ab201b6e82 Stasis bed cleanup and bugfixes. (#38762)
* Stasis bed sent to shed

* Code Review

* Code Review 2
2025-07-06 02:59:31 +02:00
Andrew Malcolm O'Neill
7aaccb5b98 Fixing incorrect headset being given to QM visitor (#38785) 2025-07-06 02:57:31 +02:00
github-actions[bot]
08e76606a9 Update Credits (#38786)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2025-07-06 02:56:41 +02:00
āda
40f6fac8e0 Fix incorrect conditions on black pepper's forced cough (#38783)
no one to blame but myself

Co-authored-by: iaada <iaada@users.noreply.github.com>
2025-07-05 17:27:08 -07:00
Tayrtahn
e042b3acab Log an error when adding an admin log containing a null char (#38782)
* Log an error when adding an admin log containing a null char

* Also log LogType and LogImpact

* Remove them
2025-07-05 17:07:53 -07:00
Boaz1111
bd0b4857da Meta.json cleanup - pins.rsi (#38781)
cleanup
2025-07-05 23:40:02 +02:00
CrystallEdge Server
a45ba883af Automatic changelog update 2025-07-06 00:10:08 +03:00
Red
6570b1b4b6 Public market + Solutions requests (#1503)
* Add platform markup to trading platform prices

Introduces a PlatformMarkupProcent field to CP14TradingPlatformComponent and applies it to price calculations in both client and server logic. Adds a new public trading platform entity with a higher markup and updates related sprites and metadata.

* Add platform markup percent to selling platforms

Introduces a PlatformMarkupProcent field to CP14SellingPlatformComponent, allowing selling platforms to apply a markup or markdown to item prices. Updates server logic to use this value when calculating payouts and UI state. Adds a new public selling platform entity with a lower markup in the trade_platform.yml prototype.

* Add Brad Potions trading requests prototype

Introduces a new YAML prototype defining multiple cp14TradingRequest entries for the BradPotions faction, each specifying requirements for various potion effects with minimum purity and amount.

* Apply platform markup to selling prices and payouts

Updated the selling request control and platform window to factor in the platform's markup percentage when displaying prices. Adjusted the server-side payout logic to multiply the payout by the platform markup percentage, ensuring consistency between client display and server rewards.

* replace mapping to public platforms

* bug + remove eepy potions request

* Clarify purity requirement in workbench reagent text

Updated the reagent requirement string in both English and Russian locale files to indicate that the required purity is '{$purity}%+' instead of just '{$purity}%'. This clarifies that the purity must be at least the specified percentage.
2025-07-06 00:09:03 +03:00
slarticodefast
5ec8f86541 merge staging into master (#38779) 2025-07-05 22:34:16 +02:00
Hannah Giovanna Dawson
3540e2e44a Scurret PDA slot fix (#38777) 2025-07-05 22:15:54 +02:00
CrystallEdge Server
ae89cb8821 Automatic changelog update 2025-07-05 20:45:43 +03:00
Red
14b0fc5b4a Workbench and crystals (#1502)
* solutionResource

* fuck research system + QoL workbench update

* colorful quartz returns

* Refactor workbench skill requirements handling

Replaces the SkillRequired requirement with a direct RequiredSkills field on CP14WorkbenchRecipePrototype. Updates client and server logic to check skills directly, simplifying recipe skill checks and related UI logic.

* Initial commit

Add initial project files and setup.
2025-07-05 20:44:38 +03:00
CrystallEdge Server
c01351c1ef Automatic changelog update 2025-07-05 17:39:11 +03:00
gogenych
ab26a9b127 first (#1501) 2025-07-05 17:38:05 +03:00
CrystallEdge Server
70c0a2255e Automatic changelog update 2025-07-05 14:55:15 +03:00
Red
a68da0eacd Magotech (#1498)
* Add brass material, bars

Introduces the new brass material, including its prototype, stack, and bar entities, along with associated sprites. Updates English and Russian localization files to include brass and adds a new construction condition for mana power. Also moves glass sheet entities to the correct file.

* Add CP14ManaFilled construction condition

Introduces a new construction condition that checks if an entity's mana container is fully filled. Includes examination feedback and construction guide entry for user clarity.

* electromancy respawn

* Update T2.yml

* Update meta.json

* ffif

* Update speed_ballade.yml

* Update thaumaturgy.yml

* Update undead.yml
2025-07-05 14:54:09 +03:00
PJBot
750ce78965 Automatic changelog update 2025-07-05 09:30:06 +00:00
beck-thompson
14668f2414 Minor escape menu UX improvements (#38650) 2025-07-05 12:28:59 +03:00
CrystallEdge Server
82876b2c6f Automatic changelog update 2025-07-05 10:08:20 +03:00
Kit
84ec067d57 grer terra (#1500) 2025-07-05 10:07:15 +03:00
PJBot
94fa94d4d4 Automatic changelog update 2025-07-05 06:30:03 +00:00
Perry Fraser
6cefc412a3 fix: spellbooks can have infinite charges (#38376)
* fix: spellbooks can have infinite charges

* refactor: indicate infinite spellbook charges with null

Not sure if I like this much better...
2025-07-04 23:28:56 -07:00
Kyle Tyo
78e8d98137 UnlockNode command to LEC. (#38751)
* commit

* Update UnlockNodeCommand.cs

* commit

* move command locale to its own file.

* Update Content.Server/Xenoarchaeology/Artifact/UnlockNodeCommand.cs

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-07-05 01:14:12 +02:00
PJBot
24d0453609 Automatic changelog update 2025-07-04 23:08:03 +00:00
Mora
edbde7b7b9 Vox scars (#38592)
* Added vox scars n'stuff, renamed vox_tattoos.ftl to just vox.ftl

* Revert "Added vox scars n'stuff, renamed vox_tattoos.ftl to just vox.ftl"

This reverts commit c73da55ba3b39ddf93b493aecd85604c54dd8a15.

* locale key fix

* Changed top surgery scar names to be more generalized

* Adjusted face scars

* Formatting fixes

---------

Co-authored-by: TrixxedHeart <46364955+TrixxedBit@users.noreply.github.com>
2025-07-04 19:06:55 -04:00
slarticodefast
b36aedde6b Cleanup warning in StomachSystem (#38748)
you did not see this
2025-07-04 18:19:31 -04:00
PJBot
a4ac8eec82 Automatic changelog update 2025-07-04 21:51:51 +00:00
Perry Fraser
4905e097c8 feat: allow mopping evaporating puddles (#38743) 2025-07-04 23:50:44 +02:00
Tayrtahn
f09bade8e7 Validate remaining ProtoId strings (#38747)
Validate remaining ProtoId strings
2025-07-04 22:55:45 +02:00
Tayrtahn
3a278bca8b Validate ProtoIds in tests (#38745)
* Convert string literals to protoids in Content.Tests

* Convert string literals to protoids or consts in Content.IntegrationTests

* Fix linter failures
Tricksy static using misled me
2025-07-04 22:48:55 +02:00
Arthur Fiorese de Andrade
c3267c6db0 Fix Hristov description - remove inaccurate technical specs (#38746)
- Removes inaccurate 'armor piercing 14.5mm shells' reference
- Replaces it with a more funny description, matching the style of the other snipers and guns
- Keeps ammunition type '.60 anti-materiel ammo' specification
- Fixes issue #38590

Co-authored-by: Arthur Fiorese de Andrade <aandrade@cmcxs.gov.br>
2025-07-04 22:41:49 +02:00
Ed
a5dd7f3a68 Update CP14RoundEndSystem.CBT.cs 2025-07-04 21:49:52 +03:00
Perry Fraser
bfb73a1aad fix: don't default to uncharged sprite state for cells (#38730) 2025-07-04 12:15:24 -04:00
CrystallEdge Server
63d02d8325 Automatic changelog update 2025-07-04 18:33:49 +03:00
Kit
17873f415b Solutions tweaks (#1497)
* soothing cooling

* warming well warming

* incind buff

* Ice cooling unsafe

* blood potions nerfs

* Stamina Chromium slime
2025-07-04 18:32:44 +03:00
CrystallEdge Server
b681c41f79 Automatic changelog update 2025-07-04 17:37:04 +03:00
Nim
cb01a6b66c Reprise of doors, vials, and labeler (#1495)
* birch door

* hand labeler

* vial

* fix door

* vials

* frame
2025-07-04 17:35:59 +03:00
CrystallEdge Server
50862d7045 Automatic changelog update 2025-07-04 17:30:25 +03:00
Kit
94455f55f2 Saturating and moisture recipes (#1496)
* Bestia Essence

* Target Recipies

* Essence bestia stuff

* Magic type fix
2025-07-04 17:29:20 +03:00
Nemanja
d0c067f006 Fix human skin tone distribution (#38701) 2025-07-04 15:22:26 +02:00
Perry Fraser
1a2e827674 fix: Use PredictedQueueDel for gib spell (#38729) 2025-07-04 14:48:16 +02:00
Minerva
d5d3864784 Typofixes for figurine dialogue (#38737)
* Typofixes for figurine dialogue

* Forgot two
2025-07-04 14:46:23 +02:00
Kyle Tyo
4e73c67d1b Tiny Tiny Cleanup of the EyeClosingSystem. (#38734)
Update EyeClosingSystem.cs
2025-07-03 23:58:56 -07:00
PJBot
7b6cc535dd Automatic changelog update 2025-07-04 05:09:52 +00:00
Velken
e82064916a [BUGFIX] Fixed revenant malfunction ability not working properly only MediBots and Stasis bed (#38664)
* fixed

* clean up

* orks fix smart

* review fix 1

* more requested changes

* less cursed

* more descriptive description

* better wording
2025-07-03 22:08:45 -07:00
PJBot
a2ac401db3 Automatic changelog update 2025-07-04 02:03:42 +00:00
Tiniest Shark
71d839fec4 Janitor Tool: Wire Brush (#38667)
* Wow! It's -brush-

* spacing.

* Update Resources/Prototypes/Entities/Objects/Specific/Janitorial/janitor.yml

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

* Update Resources/Prototypes/Entities/Objects/Specific/Janitorial/janitor.yml

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

* fixed changes

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-07-03 19:02:35 -07:00
Tayrtahn
9186b65b14 Validate ShaderPrototype IDs (#38728)
* Convert all shader prototype string literals to protoids in overlays

* Convert more shader prototype literal strings to protoids

* Convert ValidatePrototypeId to ProtoId

* Later
2025-07-03 18:11:31 -07:00
Minerva
fba22e831d Fixes missing underwear FTLs (#38720) 2025-07-03 17:50:00 -07:00
PJBot
22b2b0561a Automatic changelog update 2025-07-04 00:05:33 +00:00
Andrew Malcolm O'Neill
35dfaa0ff7 More guidebook fixes (#38699)
* First commit
- Resolving a few different pages, fixing typos and updating spellings and phrasing to be more coherent.

* More slight changes

* Reverting slightly the salvage page change

* Fixing Science wording inconsistency

* Few other small guidebook fixes
- Updating NukeOps page to properly refer to "Corpsman" rather than "Agent".
- Typo and slight wording change in Traitors.xml.
- Updating small typos in Antagonists.xml and Zombies.xml pages.
2025-07-03 17:04:27 -07:00
PJBot
8648841714 Automatic changelog update 2025-07-03 23:50:33 +00:00
Mora
c6739b2c89 Adjust uplink buy button to be under item icon (#38596)
* Adjusted uplink buy button to be under item icon

* Put the discount subtext under the icon

* Indent fixes, added margin

---------

Co-authored-by: TrixxedHeart <46364955+TrixxedBit@users.noreply.github.com>
2025-07-03 16:49:27 -07:00
Leon Friedrich
32f0ba340a Fix TextLinkTag (#32203) 2025-07-03 21:11:21 +02:00
PJBot
f6946f1db7 Automatic changelog update 2025-07-03 18:52:49 +00:00
SlamBamActionman
44617ae841 Exo - Minor balance changes and fixes (#38689) 2025-07-03 11:51:40 -07:00
Pieter-Jan Briers
e99fc501a6 Revert biome rework (#38724)
* Revert "Fix world generation (#38713)"

This reverts commit 10fa6ff4af.

* Revert "Biome rework (#37735)"

This reverts commit fe7b96147c.
2025-07-03 20:48:04 +02:00
PJBot
047a49a505 Automatic changelog update 2025-07-03 16:01:46 +00:00
ArtisticRoomba
f874459092 Pressure Relief Valve (#36708)
* initial system (this math is probably WRONG)

* General code cleanup and OnExamined support
(holy moly this code sucks)

* UICode and related events foundation
TODO:
- Actually write the XAML UI and the underlying system
- Un-shitcode the entire thing
- Actually test everything...

* Working UI code
TODO: Make predicted, as this certainly isn't predicted. Even though I said it was. It isn't.

* Remove one TODO for unshitcoding the examine code

* Add reminder
yea

* Make predicted (defenitely isn't)
(also defenitely isn't a copypaste from pressure pump code)

* It's predicted!
TODO:
- Give it snazzy predicted visuals!
- Have a different field for pressure entry, lest it gets bulldozed every UI update.

* Improve gas pressure relief valve UI
TODO: Reminder to reduce amount of dirties using deltafields

* Implement DirtyField prediction

* Entity<T> cleanup
A lot of Entity<T> conversions and lukewarm cleanup.

Also got caught copy pasting code in 4K UHD but it's not like you couldn't tell.

* More cleanup and comments

* Remove TODO comment on bulldozing window title

* """refactoring"""
- Move appearance out of shared and finally fix it. Pointless to predict appearance in this instance.
- More Entity<T> conversions because I like them.
- Move UI creation handling over entirely to the ActivatableUI system.
- Fix a hardcoded locale string (why????).

* Add visuals

* Revert debugging variable replacememt
yea

* Revert skissue

* Remove unused using directives and remove TODO

* Localize, cleanup, document

* Fix adminlogging discrepancy

* Add ability to construct, add guidebook entry

* Clear up comment

* Add guidebook tooltip to valve

* Convert GasPressureReliefValveBoundUserInterface declaration into primary constructor

* Adds more input handling and adds autofill on open

* Un-deepfry input validator shitcode
Genuinely what was I smoking

* improve visuals logic

* Refactor again
- Update math to the correct implementation
- Moved code that could be re-used in the future into a helper method under AtmosphereSystem.Gases.cs

* I'm sorry but I hate warnings

* Remove unused using directive in AtmosphereSystem.Gases.cs

* Review and cleanup

* Lukewarm UI glossup

* Maintainer for the upstream project btw

* Remove redundant state sets and messy logic

* Unduplicate valve updater code

* Redo UI (im sorry Slarti)

* run tests

* Test refactored UI messaging

* Second round of UI improvements
- God please find a way to improve this system. Feels bad.

* Update loop implementation

* Further predict UI

* Clear up SetToCurrentThreshold

* cleanup

* Update to master + pipe layers and bug fixes
want to run tests

* fixes

* Deploy rename pipebomb

* Documentation and requested changes

* Rename the method that wiggled away

* Undo rounding changes

* Fix comment

* Rename and cleanup

* Apply suggestions from code review

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-07-03 18:00:34 +02:00
Hannah Giovanna Dawson
1bc3d37d40 Scurrets - Audio Improvements (#38482)
* Scurret audio tuning

* Add new sfx

* Update sneezing sfx

* YAML support

* Rename a folder
2025-07-03 17:28:44 +02:00
Ed
18f58c9fe5 move speed ballade to electro 2025-07-03 18:16:03 +03:00
Kowlin
10fa6ff4af Fix world generation (#38713)
* Fix world generation

* Remove unused impoty
2025-07-03 16:44:37 +02:00
Winkarst-cpu
433ef5dd27 Fix: Don't deploy foldables when clicking on items inside containers (#38709)
* Fix

* Apply suggestions from code review

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-07-03 14:10:20 +02:00
metalgearsloth
fe7b96147c Biome rework (#37735)
* DungeonData rework

Back to fields, serializes better, just make new layers dumby.

* wawawewa

* Fix this

* Fixes

* Port the work over

* wawawewa

* zoom

* Kinda workin

* Adjust wawa

* Unloading work

* Ore + entitytable fixes

Iterate every dungeon not just last.

* Big shot

* wawawewa

* Fixes

* true

* Fixes

# Conflicts:
#	Content.Server/Procedural/DungeonJob/DungeonJob.cs

* wawawewa

* Fixes

* Fix

* Lot of work

* wawawewa

* Fixing

* eh?

* a

* Fix a heap of stuff

* Better ignored check

* Reserve tile changes

* biome

* changes

* wawawewa

* Fixes & snow

* Shadow fixes

* wawawewa

* smol

* Add layer API

* More work

* wawawewa

* Preloads and running again

* wawawewa

* Modified

* Replacements and command

* Runtime support

* werk

* Fix expeds + dungeon alltiles

* reh

---------

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
2025-07-03 00:36:06 -04:00
Emisse
fdf3d6715e Centcomm update (#38697) 2025-07-02 19:31:19 -07:00
PJBot
f432943625 Automatic changelog update 2025-07-03 01:09:14 +00:00
Mora
752957a819 Switch HSV to the default colorspace for character customization (#38434)
* Made HSV default for character editor

* Adds/fixes comments to HSV defaulting

* Added dropbox fix, potentially cursed

* Revert "Added dropbox fix, potentially cursed"

This reverts commit a709883366fbee813e839742125e70844672af29.

---------

Co-authored-by: TrixxedHeart <46364955+TrixxedBit@users.noreply.github.com>
2025-07-02 21:08:06 -04:00
PJBot
4116006390 Automatic changelog update 2025-07-03 00:55:10 +00:00
Alzore
aded799ae5 Reduce most salvage mob health, reduce most salvage weapon damage. (#38131) 2025-07-02 17:54:02 -07:00
LaCumbiaDelCoronavirus
70ed8835c6 make telesci wreck easier (#37569)
rel
2025-07-02 18:27:56 -06:00
slarticodefast
38232d2255 Predict healing and bloodstream (#38690)
* initial commit

* reapply 38126

* fix rootable

* someone missed an important minus sign here

* try this

* fix

* fix

* reenable crit hits

* cleanup

* fix status time dirtying

* fix

* camelCase
2025-07-02 19:20:31 -04:00
PJBot
8597acd030 Automatic changelog update 2025-07-02 20:51:29 +00:00
Andrew Malcolm O'Neill
80d733a152 Resolving Wizard casting recall on nuke disk making it impossible to disarm (#38661)
* Resolving Wizard Recall on Nuke disk making it impossible to disarm
- Adding a DisarmBomb case to nuke status update loop
- Changing a few methods and parameters to properly follow formatting standards
- Updating some names to follow camelCase

* Updating missed tag

* Reverting DataField change

Should prevent this preventative bugfix being a breaking change.
2025-07-02 22:50:22 +02:00
little-meow-meow
a6c58aba12 ci: include pull request id in changelog link (#38504)
Signed-off-by: little-meow-meow <204685920+little-meow-meow@users.noreply.github.com>
2025-07-02 13:26:03 -07:00
Princess Cheeseballs
579b38b92b Improvements and fixups for New Status Effect API (#38660) 2025-07-02 20:46:30 +03:00
CrystallEdge Server
0df4baa772 Automatic changelog update 2025-07-02 17:18:45 +03:00
Nim
dc1922c6f2 Food and cutlery (#1483)
* food and cutlery

* goblet

* jelly

* ham in cheese

* Klanir stuffed pumpkin

* fix

* jelly fix
2025-07-02 17:17:39 +03:00
Viator-MV
b808990720 fort (#1494) 2025-07-02 17:16:50 +03:00
PJBot
159c187971 Automatic changelog update 2025-07-02 03:15:49 +00:00
UpAndLeaves
32a019c6b6 CC Genpop and other misc fixes (#37494)
* First commit: genpop and AI satellite

* Revert AI satellite, add representative locker.
2025-07-01 21:14:37 -06:00
Tayrtahn
e63905ce5f Add test of objective-related console commands (#36400)
* Add test of objective add/list/remove commands

* Not sure why we're validating test prototypes, but sure

* We don't need a map
2025-07-02 02:57:57 +02:00
Tayrtahn
49370410ad Validate CloningSettingsPrototypes (#38688)
* Validate CloningSettingsPrototypes

* Update Content.IntegrationTests/Tests/Cloning/CloningSettingsPrototypeTest.cs

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

* Check EventComponents too

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-07-01 20:31:39 -04:00
imatsoup
9a87d3fce2 Monochromacy typo fix (#38686)
* fixes the typo

* Fixed cloning looking for the trait, not the component, RE https://github.com/space-wizards/space-station-14/pull/38686#issuecomment-3025093504

* Apply suggestions from code review

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-07-01 20:49:15 +02:00
CrystallEdge Server
693d104425 Automatic changelog update 2025-07-01 16:25:09 +03:00
gogenych
890af47853 The carpets update! (#1461)
* carpets!

* fix

* second fix

* 3 fix

* crafts 2

* locale

* some changes

* price

* names

---------

Co-authored-by: Red <96445749+TheShuEd@users.noreply.github.com>
2025-07-01 16:24:03 +03:00
PJBot
bbf6f6b69c Automatic changelog update 2025-07-01 10:27:00 +00:00
slarticodefast
7bf6dd9f15 fix water coolers (#38681) 2025-07-01 03:25:52 -07:00
CrystallEdge Server
40facd187a Automatic changelog update 2025-07-01 13:11:13 +03:00
Kit
d8fa6f0a0b STAMINA SOLUTIONS!!!! (#1492) 2025-07-01 13:10:08 +03:00
CrystallEdge Server
a5f1b5eb1f Automatic changelog update 2025-07-01 13:08:15 +03:00
Nim
4dc06e42f1 Wooden weapon (#1471)
* wooden weapon

* Stamina
2025-07-01 13:07:09 +03:00
Nox
89f982fe1c Retro laser sprite fix (#38676)
* Fixed everything except the icon

Signed-off-by: Nox38 <nebulousnox38@gmail.com>

* fixed icon

Signed-off-by: Nox38 <nebulousnox38@gmail.com>

---------

Signed-off-by: Nox38 <nebulousnox38@gmail.com>
2025-06-30 19:49:44 -04:00
Kyle Tyo
0009ad32ab Dsay Dirty and Follow commands converted to LEC and localized. (#38666)
* commit

* whoopwhoopwhoop
2025-07-01 01:33:59 +02:00
PJBot
bfefb91574 Automatic changelog update 2025-06-30 21:10:26 +00:00
Kowlin
32f5551e2a Tweaks to admin CSV exporting (#38531) 2025-06-30 23:09:16 +02:00
Red
4586ca50b7 Revert "Update CP14RoundEndSystem.CBT.cs (#1490)" (#1491)
This reverts commit 42841d93d7.
2025-06-30 10:52:13 +03:00
Kyle Tyo
34825464dc Power stat and nuke codes commands get some LEC love. (#38585)
* commit

* requested changes.
2025-06-30 03:41:55 +02:00
Nox
cd2ce56aef Added directional beacons (#38284)
* Added directional beacons

Signed-off-by: Nox38 <nebulousnox38@gmail.com>

* Fixed names

Signed-off-by: Nox38 <nebulousnox38@gmail.com>

---------

Signed-off-by: Nox38 <nebulousnox38@gmail.com>
2025-06-30 00:14:12 +02:00
CrystallEdge Server
bf5a1c074f Automatic changelog update 2025-06-29 20:59:44 +03:00
Ermucat
293053d4e7 Adds kick whitelist (#1493)
* kick whitelist

* well shit
2025-06-29 20:58:38 +03:00
PJBot
ec2d4ddd5e Automatic changelog update 2025-06-29 16:22:22 +00:00
BramvanZijp
7951db15ca Allow the Command & Super door remotes to use the access of their user. (Re-creation of PR due to changes to game balance) (#35536) 2025-06-29 18:21:14 +02:00
Ed
a06144b083 fix second wind alert 2025-06-29 19:15:12 +03:00
Ed
874cb2e310 comoss update 2025-06-29 18:21:49 +03:00
PJBot
5d191d7b87 Automatic changelog update 2025-06-29 14:35:08 +00:00
slarticodefast
4bd437272f fix ItemSlotsSystem debug assert (#38655) 2025-06-29 10:33:58 -04:00
CrystallEdge Server
9a87f943d0 Automatic changelog update 2025-06-29 17:08:01 +03:00
Tudibidab
71f16a4976 MobFairy (#1465)
* MobFairy

New mob Fairy. Magic parasite.
Mana Splitting now deals damage when the target has no mana.

* Update attributions.yml

Добавил чёрточки

* Update fairy.yml

* Update modifier_sets.yml

* Update fairy.yml

* Update meta.json

* Update meta.json

* Update meta.json

* Update fairy.yml

* Update fairy.yml

* Update mobs.yml

* Update fairy.yml

* Update fairy.yml

* Update fairy.yml

* Update fairy.yml

* minor fixes

* add to demiplane generation

---------

Co-authored-by: Viator-MV <egor44148@gmail.com>
Co-authored-by: Red <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: Ed <edwardxperia2000@gmail.com>
2025-06-29 17:06:55 +03:00
Ed
e949969d5c Update misc.yml 2025-06-29 17:06:10 +03:00
Ed
93e5d45323 Update CP14RoundEndSystem.CBT.cs 2025-06-29 16:58:36 +03:00
CrystallEdge Server
f36e81780b Automatic changelog update 2025-06-29 15:35:32 +03:00
JustSome1Nearby
a1c995fdd7 Birch Grips (Craft, Sprite) (#1488)
* BirchHandle

* BirchHandle2

* GRAAAH JUST CALL IT BIRCH ITS ALLREADY WOOD

* Delete gitlog

* Delete BirchWood for just wood

* Delete BirchWood2

* Update Resources/Prototypes/_CP14/Recipes/Workbench/Workbench/misc.yml

---------

Co-authored-by: Red <96445749+TheShuEd@users.noreply.github.com>
2025-06-29 15:34:27 +03:00
CrystallEdge Server
08d5d7514b Automatic changelog update 2025-06-29 13:39:10 +03:00
Red
af0a502dab Alchemy furnace integration (#1489)
* furnace integration + fix gates

* fix

* d
2025-06-29 13:38:05 +03:00
Red
42841d93d7 Update CP14RoundEndSystem.CBT.cs (#1490) 2025-06-29 13:24:55 +03:00
Red
39a0d6567e Update round end rules and scheduling logic (#1480)
* Update round end rules and scheduling logic

Refactored weekend whitelist logic to include both Saturday and Sunday, adjusted language switching to specific days, and changed playtime limits to allow play only between 18:00 and 21:00 except on Mondays. Updated announcement and shutdown times to match new schedule. These changes align server behavior with new event and playtime policies.

* Update CP14RoundEndSystem.CBT.cs
2025-06-29 12:57:41 +03:00
CrystallEdge Server
fdce21dff8 Automatic changelog update 2025-06-29 12:52:15 +03:00
Nim
104eb4310f Monster blood (#1481)
* monster blood

* taikamyrky
2025-06-29 12:51:10 +03:00
Red
777c5f9a29 Electromancy magic branch (#1485)
* basic electromancy tree

* electric strike

* Update CP14SpellProjectile.cs

* fix throwing
2025-06-29 12:20:47 +03:00
github-actions[bot]
90915075fb Update Credits (#38646)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2025-06-29 03:00:28 +02:00
CrystallEdge Server
bb74192a26 Automatic changelog update 2025-06-29 00:03:09 +03:00
Red
ecadfb3ea5 Big content update (#1484)
* Add investigator's cloak entity and sprites

Introduced a new investigator's cloak for senior investigators, including its entity definition and associated sprites. Also updated helmet sprites for the guard role.

* Add Investigator job to CP14 roles and assets

Introduces the Investigator job, including English and Russian localization, job prototype, loadout, play time tracker, and status icon. Updates department and role loadout configurations to include the new job. Enables setPreference for Guard and Guard Commander jobs. Adds Investigator job icon and updates related metadata.

* Rebalance mana splitting spell parameters

Reduced mana cost from 15 to 10, adjusted mana change effect, and updated spell event to use a toggleable action with new cast time and distance threshold. Also changed visual effect colors for the spell impact.

* job spawner

* remove mana splitting from mana glove

* Update tools.yml

* reduce memory points to 0.5 for tier magics

* Add CP14 spell to create beams and extend beam system

Introduces CP14SpellCreateBeam, a new spell effect for creating beams using the shared beam system. Adds a virtual TryCreateBeam method to SharedBeamSystem and overrides it in BeamSystem to support shared spell functionality.

* athletic branch refactor

* second wind skill

* minor fixes

* remove skeletons specific spells

* small magic splitting

* Update migration.yml

* clear references

* guidebook species update, -0.5 people memory, innate athletic to carcat, nerf night vision

* disable guards again
2025-06-29 00:02:04 +03:00
Hitlinemoss
ab7a64e3b3 Updated PDA description 2025-06-28 15:52:44 -04:00
Hitlinemoss
917b001cb4 removed cargo beret entirely 2025-06-28 15:41:28 -04:00
Tayrtahn
2f37923db6 Cleanup prototype instantiation in ExplosionSystem (#38642)
Cleanup prototype instantiation in ExplosionSystem
2025-06-28 21:34:15 +02:00
Hitlinemoss
cb9e2d9323 Merge branch 'master' of https://github.com/space-wizards/space-station-14 into moss-seniorcargo
Merged master into branch
2025-06-28 15:25:23 -04:00
Tayrtahn
97f0bab5b8 Cleanup prototype instantiation in DamageTest (#38639)
Cleanup prototype instantiation in DamageTest
2025-06-28 20:12:36 +02:00
Ed
c04f08c2ac Update peace_ballade.yml 2025-06-28 17:43:29 +03:00
PJBot
6c8749bc61 Automatic changelog update 2025-06-28 14:02:36 +00:00
Boaz1111
0f74bac415 Various Headphones Fixes and Tweaks (#38479)
* sprites, wearables

* neck

* icon-on sprite
2025-06-28 16:01:28 +02:00
Ed
811a91aa8f Update audio_music.yml 2025-06-28 16:32:10 +03:00
Ed
41b7f74262 Update CP14DemiplaneMapBoundUserInterface.cs 2025-06-28 16:24:42 +03:00
PJBot
6db9f65046 Automatic changelog update 2025-06-28 11:12:16 +00:00
Kyle Tyo
2c4cae2af9 AddBodyPartCommand localization. (#38612)
commit
2025-06-28 13:11:08 +02:00
CrystallEdge Server
005032d0af Automatic changelog update 2025-06-28 14:05:23 +03:00
Red
36d0692bf8 fix dash (#1482) 2025-06-28 14:04:17 +03:00
Stefano Pigozzi
3ffeeef836 Fix typos in guidebook: Buisness → Business (#38636)
* Fix typo in `MinorAntagonists.xml`

Buisness → Business

* Fix typo in `YourFirstCharacter.xml`

Buisness → Business
2025-06-28 12:49:32 +02:00
PJBot
80ce9b94c3 Automatic changelog update 2025-06-28 00:14:34 +00:00
Tayrtahn
948ecc8279 Fix solutions flickering when transferring contents (#34838)
* Use Solution clones when applying SolutionComponent states

* Revert "Use Solution clones when applying SolutionComponent states"

This reverts commit 013fd111cf92b22562e00f98a7aaa49bc4b4ed62.

* Make Solution implement ICloneable and rename Clone method.

* Copy CanReact value when cloning a Solution

* Convert to IRobustCloneable
2025-06-28 02:13:24 +02:00
Łukasz Lindert
7f530bb7ad patchfor broken NetworkConfiguratorLinkMenu (#38632)
fix
2025-06-28 02:10:52 +02:00
96flo
e9c90fe66d HoP's beret (#38601)
* added HoP beret

* added beret to loadout

* added craft to machine

* added beret to hop ddresser

* Updated the authorship

* Change on request

* added 4-spaced

* Hot fix of dresser
2025-06-27 18:28:38 -04:00
Pieter-Jan Briers
a120730291 Update submodule to 264.0.0 (#38629) 2025-06-27 13:32:29 -07:00
Tayrtahn
a09e47e857 Fix vocalization emotes (#38627) 2025-06-27 15:18:27 -04:00
Pieter-Jan Briers
69674a1710 Make Review Requested label get applied to all opened PRs (#38625)
It previously only applied automatically to PRs that have reviews requested, which happens if the PR touches files owned by code owners. Now it applies to *all* opened PRs.
2025-06-27 20:23:12 +02:00
Red
bb116e3219 Refactor SeeingRainbows to new status effect system (#38620) 2025-06-27 21:19:04 +03:00
PJBot
ad2616a53f Automatic changelog update 2025-06-27 16:40:56 +00:00
slarticodefast
6be925ab91 fix RCD ghosts not disappearing when changing hand to empty (#38622) 2025-06-27 19:39:49 +03:00
Ed
ad2aaeb4c4 Update precurser.yml 2025-06-27 18:30:16 +03:00
Ed
7667db6d0c Update precurser.yml 2025-06-27 18:29:16 +03:00
Pieter-Jan Briers
5bc778d42e Fix silicons looking at their laws crashing the server (#38623) 2025-06-27 15:03:16 +02:00
Princess Cheeseballs
cf4a883f11 New Status Effects API Overload (#38617)
* I love API changes

* Update Content.Shared/StatusEffectNew/StatusEffectSystem.API.cs

* fix

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-06-27 14:00:20 +02:00
ArtisticRoomba
1d2907fb4e Fix the sensor monitoring console forcing a GC every 3 seconds (#38146)
* Optimize sensor monitoring window graph drawing

* Add shared static Vector2 pool for all GraphView instances

* Address requested changes

* remove lock
2025-06-27 13:37:00 +02:00
CrystallEdge Server
e0c8851579 Automatic changelog update 2025-06-27 12:56:41 +03:00
Red
0b7b8be299 Alchemist trading tweaks (#1479)
* Remove poison and vomit effects from precursor reagents

Eliminated poison-related health changes and vomiting effects from several reagent definitions in precurser.yml. Also adjusted the cold damage value for one reagent. These changes likely aim to rebalance reagent effects or simplify their behavior.

* Rename and update vial prototypes to use small parent

Renamed vials_filled_reagents.yml to vials_filled_precursor.yml and updated all vial entities to use 'CP14VialSmall' as their parent instead of 'CP14VialTiny'. This standardizes the vial size for these precursor reagents.

* Update vials_filled_precursor.yml

* Update vials_filled_precursor.yml

* agaric added

* Update vials_filled_precursor.yml
2025-06-27 12:55:36 +03:00
Princess Cheeseballs
d7d83bd87c RespiratorSystem Cleanup (#38572)
* Respirator Debodied

* Forgot about alerts (also respirator testa and events)

* Fix Urist eating air and not giving it back

* Stop nuke ops from taking in a breath then taking in a second breath causing them to get a headache from carbon dioxide poisoning and failing TryStopNukeOpsFromConstantlyFailing();

* Consts are smelly,

* Actually we don't need to raise the entity, just the component

* Don't forget to remove the unused code today, said me yesterday

* Remove all fallbacks

* Debody that too

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-06-26 22:33:43 -04:00
PJBot
e916135a9c Automatic changelog update 2025-06-27 02:04:30 +00:00
Andrew Malcolm O'Neill
d70589b36f Thief Guidebook Refresh (#38586) 2025-06-26 19:03:23 -07:00
PJBot
e4026e9f22 Automatic changelog update 2025-06-27 01:08:36 +00:00
Tiniest Shark
a1cf490360 Toy/Plushie Inhands and Wearables (#38514) 2025-06-26 18:07:29 -07:00
slarticodefast
a3b82e9afd Cleanup SharedRoleCodewordSystem (#38310)
* cleanup

* Update Content.Shared/Roles/RoleCodeword/SharedRoleCodewordSystem.cs

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* Apply suggestions from code review

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-06-27 02:27:25 +02:00
Tayrtahn
75db49f9c0 Clean up all missing EntitySystem proxy method uses (#38353) 2025-06-26 16:50:49 -07:00
Pieter-Jan Briers
73df3b1593 Stop network serializing prototypes (#38602)
* Stop network serializing prototypes

Send the damn proto ID instead.

* Fix sandbox violation
2025-06-26 19:27:23 -04:00
PJBot
bb7e7c3e5f Automatic changelog update 2025-06-26 22:58:54 +00:00
Qerd
18d9a03ef6 Bladed flatcaps are minor contraband (#38597) 2025-06-26 15:57:46 -07:00
Ed
64410a53b5 fix #1470 2025-06-27 01:20:08 +03:00
PJBot
c8f7279895 Automatic changelog update 2025-06-26 22:10:45 +00:00
Hitlinemoss
787b3b3ffd Quartermaster's PDA has AstroNav preinstalled (#38445)
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-06-26 15:09:36 -07:00
Tayrtahn
3a8974f574 Improve lathe queue performance (#38583)
* Use an actual Queue

* Store ProtoIds instead of prototypes

* Network as NetListAsArray

* Remove Serializable & NetSerializable from LatheRecipePrototype

* Convert CurrentlyProducing too

* No point using NetListAsArray<T> if you're going to .ToArray() it anyways.

---------

Co-authored-by: PJB3005 <pieterjan.briers+git@gmail.com>
2025-06-27 00:08:01 +02:00
CrystallEdge Server
13b8801220 Automatic changelog update 2025-06-27 00:26:52 +03:00
Red
11ad05058e Remove mithril lock & keys from Cozy House (#1478)
* Add LumeraMagicVision skill and update trading requests

Introduces the LumeraMagicVision skill to the Lumera demigod skill tree, granting access to the Magic Vision action. Also removes several 30-minute jewelry trading requests (Ruby, Emerald, Sapphire, Topaz) from thaumaturgy.yml. Additionally, improves price scanner logic to skip items with non-positive price.

* Remove Rep 3 trading positions from cozy_house.yml

Deleted the CP14KeyMithrilBlank and CP14LockMithril trading positions for reputation level 3 from the cozy_house.yml file, leaving only the gold lock product for HomeDecor.
2025-06-27 00:25:47 +03:00
Southbridge
cc2a89ed86 Fixed Snacks Mispredicting on Clients (#38522)
* Well this works

* Removed merge conflict bait

* PredictedDel

* Apply suggestions from code review

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-06-26 22:32:36 +02:00
Red
283d0863a0 New Status Effects system: Relay events (#38579) 2025-06-26 23:05:58 +03:00
CrystallEdge Server
3d2e39b86d Automatic changelog update 2025-06-26 22:21:24 +03:00
Red
ddbca29b73 Add LumeraMagicVision skill and update trading requests (#1477)
Introduces the LumeraMagicVision skill to the Lumera demigod skill tree, granting access to the Magic Vision action. Also removes several 30-minute jewelry trading requests (Ruby, Emerald, Sapphire, Topaz) from thaumaturgy.yml. Additionally, improves price scanner logic to skip items with non-positive price.
2025-06-26 22:20:18 +03:00
CrystallEdge Server
101a9a0928 Automatic changelog update 2025-06-26 20:18:28 +03:00
Nim
16ed544eb2 fix cucumber (#1476) 2025-06-26 20:17:22 +03:00
PJBot
27914467fd Automatic changelog update 2025-06-26 16:18:33 +00:00
slarticodefast
f0f7d68727 fix smart equip (#38605) 2025-06-26 12:17:25 -04:00
PJBot
268b8d1947 Automatic changelog update 2025-06-26 15:30:31 +00:00
slarticodefast
faec9bd83b Fix multi handed items (#38603) 2025-06-26 17:29:22 +02:00
CrystallEdge Server
980ac2e6ef Automatic changelog update 2025-06-26 18:19:25 +03:00
Alexsey Bezyuk
9c393ff8b5 [TRADE] Reagent and Food price rework and 4 new contracts: Butchers, Diary, Gardeners and Tailors (#1453)
* contracts

* meat prices

* cheese and egg

* blue and aged cheese

* aged and blue parts and slices

* cheese json

* contracts

* cheese and egg

* blue and aged cheese

* aged and blue parts and slices

* cheese json

* revert meat prices

* Cheese prices

* egg price remove

* revert meat prices

* factions

* contracts

* meta.json

* remove monster part price

* sickle, hoe

* up price per unit

* Trade ref, cheese fix, plate PhysCompos

* Update coins.yml

* prices reagents rework, raw nutrient decrease, food container rework

* prices

* materials, remove bars

* tailors faction

* factions

* sprite fixes

* enyity fix

* Physical compositions

* tailord dye and loot in crate

* comment

* Ore buy to bar

* move to buy positions

* factions and contracts in main page

* move flint position

* Квартц вместо стекла

* quartz price up

* glass sheet sell position

* price precurser. Again

* essences prices

* english comment

* ooops missed

* price up

* sell requests and small flowers variations

* yaml fix

* test fix?

* flowers => to vials

* 2 => 1 count

* flowers icons

* remove small variations

* clear

---------

Co-authored-by: Red <96445749+TheShuEd@users.noreply.github.com>
2025-06-26 18:18:19 +03:00
CrystallEdge Server
52a6c9ed64 Automatic changelog update 2025-06-26 16:32:56 +03:00
Fr0goo
9fa706720d changed Flem pallete blah blah blah blah (#1475)
flem uhhhhhh femfifimmifeiefmifiemfemfimefieemefieimfemfei. he looks better now
2025-06-26 16:31:49 +03:00
Kyle Tyo
4af6c8461f Hide mechanism and show mechanism commands to LEC (#38587)
commit
2025-06-26 15:00:44 +02:00
Pieter-Jan Briers
bebc077fcc MapRenderer code fixes (#38357)
* Fix MapRenderer integration test usage to properly show output.

Added an ITestContextLike interface that can be used to properly run the integration test infrastructure OUTSIDE A TEST.

* Use System.Test.Json instead of Newtonsoft.Json for MapRenderer

* Fix map renderer JSON output being broken

I love not testing or even reading the surrounding code.

* Fix un-reusable integration instances getting leaked.

The pair state was always getting set to Ready even if the instance was killed, meaning it was getting put back into the pool even if killed.

* Mark map renderer integration instances as destructive to avoid memory leak.

* Fix file specification handling.

Map file specification is now backwards compatible again (loose filename match to search prototypes). It also supports proper direct OS filename arguments. The former is the fallback scenario is extremely important for the map server still.

Cleaned up the way that target map files are passed through the application, so mixed file/prototype specifications are now handled properly (which can be caused by the fallback behavior).

Fixes JSON data export to use the proper user-facing map name. This only works if a prototype ID is specified *or* the legacy file behavior is used.

Restructured MapPainter into an instance that has multiple functions called on it, so not all data has to be passed through a single Paint() call.

Clean up the godawful map/grid detection code. Now we just load both in a single call, because yes you can do that. This relies on LogOrphanedGrids = false in the map loader options, which I think is fine for our purposes.

Improved error handling in much of the program.

* Fix duplicate map names in map renderer output

I'm not sure *what* this output is used for, but I'm sure having it duplicated per grid isn't intentional.

* Make maprenderer command line parsing bail on unknown - options

* Fix incorrect docs for --viewer maprenderer argument

It doesn't change directory layout

* Fix parallax layer specification to not use imgur as a fucking CDN

Files are now copied to a separate folder _parallax, and these files are referenced by the parallax configuration.

Parallax data is only output when instructed to via --parallax.

This will break parallax on current map server builds, but it should be graceful. Also, that's fucking good considering we shouldn't be using imgur links. Purge it.

* Fix incorrect assert in test pair clean return

* Restore other map viewer parallax layers, fix attribution.

* This isn't a valid copyright statement but the validator forces me to enter something here.
2025-06-26 14:47:39 +02:00
CrystallEdge Server
9a76a9712e Automatic changelog update 2025-06-26 13:50:58 +03:00
Red
81e044758f Magical vision skill (#1467)
* fix firewave error spamming

* basic magic traces entities

* Add magical vision system and mana trace entities

Introduces the magical vision mechanic, including the CP14MagicVisionComponent, marker entities, and related systems for tracking and displaying magical traces. Adds new actions, skill integration, localization strings, and icons for magical vision and trace markers. Magic traces are now spawned on spell use and mob state changes, with directional pointers and localized descriptions.

* Show time passed for magic vision markers

Adds a display of the time elapsed since a magic vision marker was spawned, using a localized string. Updates English and Russian locale files with the new 'cp14-magic-vision-timed-past' entry.

* aura imprints

* Update critical and death messages for inclusivity

Revised the 'critical' and 'dead' messages in both English and Russian locale files to use more inclusive language, replacing references to 'magical creature' with 'someone'.

* Move magic vision spawn on mob state change to server

Transferred the logic for spawning magic vision markers on mob state changes (Critical/Dead) from CP14SharedMagicVisionSystem to CP14AuraImprintSystem. This centralizes the event handling on the server side. Also increased the duration of magic vision markers for spell usage from 20 to 50 seconds.

* Integrate magic vision with visibility mask system

Added a CP14MagicVision flag to VisibilityFlags and updated the magic vision and religion systems to use the visibility mask system. Magic vision markers now use the Visibility component, and visibility is refreshed when relevant components are added or removed. Removed client-side toggling logic in favor of server-driven visibility.

* drowsiness overlay

* noir shader

* sfx design
2025-06-26 13:49:53 +03:00
CrystallEdge Server
ee036e8372 Automatic changelog update 2025-06-26 13:47:44 +03:00
SenorJaba
0cc7b6bf36 Asian clothing! (#1459)
* Asian clothing

* Fix
2025-06-26 13:46:38 +03:00
Nim
ee1222dcf4 slice (#1472) 2025-06-26 13:45:52 +03:00
PJBot
966122f7a5 Automatic changelog update 2025-06-26 10:44:47 +00:00
Perry Fraser
b75aaf5e56 Forgor changelog for permission change (#38593) 2025-06-26 12:43:40 +02:00
Kyle Tyo
2073eb33d0 ShowHealthBarsCommand to LEC. (#38588)
* mfw

* Update Content.Client/Commands/ShowHealthBarsCommand.cs

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-06-26 11:54:07 +02:00
Perry Fraser
a594c7b667 Add /showaccessreaders to +MAPPING and +DEBUG (#37759)
feat: add /showaccessreaders to +MAPPING and +DEBUG
2025-06-25 23:23:05 +02:00
PJBot
3851e942cc Automatic changelog update 2025-06-25 20:28:34 +00:00
Hitlinemoss
69a426c630 Updated hat descriptions (#38156)
* Updated hat descriptions

* final touches

* typo fix

* final touchups

* Quote fixes
2025-06-25 22:27:27 +02:00
PJBot
a708e09b17 Automatic changelog update 2025-06-25 20:23:13 +00:00
Łukasz Mędrek
1ba0191808 fix: EyeOffset when eyes are closed (#38534)
* fix: EyeOffset when eyes are closed

* fix: Relay only blocked on eyes closed action

* cleanup: whitespace

* fix: missing cancel on PVS, dependencies

* remove: namespace import

* change: apply from review

* Apply suggestions from code review

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-06-25 22:22:05 +02:00
Kyle Tyo
433893679e Convert DumpReagentGuideText command to LEC. (#38569)
* commit

* revert linq conversion
2025-06-25 22:02:01 +02:00
poklj
1c58b6efc7 Fixup Sericulture to be clonable (#38516)
* Add CloningEvent and an action entity prototype

* Remove redundant action prototype from Yaml

* Add a field that might be changed

* CR

* CR - guard statement and Dirty
2025-06-25 21:50:47 +02:00
PJBot
76d11cc0e1 Automatic changelog update 2025-06-25 17:53:42 +00:00
rumaks
e3580f076a Added a ConfirmableAction component to ActionRevertPolymorph (#38570)
* Added a ConfirmableAction component to ActionRevertPolymorph

* Update Resources/Locale/en-US/actions/actions/polymorph.ftl

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-06-25 20:52:32 +03:00
slarticodefast
747dfe901e Fix hand refactor 2 (#38578)
* fix unwielding

* hand refactor bugfix 2
2025-06-25 12:26:20 -04:00
slarticodefast
296283c0b1 Hand refactor bugfix (#38576) 2025-06-25 17:41:19 +02:00
slarticodefast
d998d71ce2 Fix PowerCellDrawComponent draw rate (#38562)
* fix power cell draw rate

* comment
2025-06-25 09:38:57 -04:00
Nemanja
524725d378 HandsSystem Refactor (#38438)
* checkpoint

* pt 2

* pt... i forgot

* pt 4

* patch

* More test fixes

* optimization!!!

* the REAL hand system

* fix RetractableItemActionSystem.cs oversight

* the review

* test

* remove test usage of body prototype

* Update Content.IntegrationTests/Tests/Interaction/InteractionTest.cs

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

* hellcode

* hellcode 2

* Minor cleanup

* test

* Chasing the last of the bugs

* changes

---------

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
2025-06-25 15:13:03 +02:00
Myra
6cffa8aabe Properly evaluate publish condition for master branch (#38556) 2025-06-25 13:56:47 +02:00
Red
78a94730be New status effect system (#37238)
* spectra

* documentation

* added into liquid anomaly

* Update TemporaryStealthComponent.cs

* Update TemporaryStealthComponent.cs

* integrated

* new system

* mark old status effect system as obsolete

* ForcedSleeping new status effect

* work with reagents

* networking???

* Revert "integrated"

This reverts commit bca02b82bae18ae131af593d7eb86e6de2745157.

* Revert "Update TemporaryStealthComponent.cs"

This reverts commit 4a5be8c4b704a0d1ff9544b2e245d8b2701ec580.

* Revert "Update TemporaryStealthComponent.cs"

This reverts commit a4875bcb41347638854bd723d96a51c3e6d38034.

* Revert "added into liquid anomaly"

This reverts commit df5086b14bb35f1467158a36807c0f2163a16d99.

* Revert "documentation"

This reverts commit 3629b9466758cbdfa4dd5e67ece122fa2f181138.

* Revert "spectra"

This reverts commit 2d03d88c16d16ad6831c19a7921b84600daeb284.

* drowsiness status effect remove

* reagents work

* polish, remove test changes

* first Fildrance review part

* Update misc.yml

* more fildrance review

* final part

* fix trailing spaces

* sleeping status effect

* drowsiness status effect

* Create ModifyStatusEffect.cs

* some tweak

* Yay!!! Manual networking

* minor nitpick

* oopsie

* refactor: xml-docs, notnullwhen attributes, whitespaces

* fildrance and emo review

* refactor: simplify check in SharedStatusEffectsSystem by using pattern matching, TryEffectsWithComp now returns set of Entity<T, StatusEffectComponent>

---------

Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
2025-06-25 07:41:35 -04:00
lzk
8be0b7a614 update xeno techmaint floor name (#38555)
Update tiles.yml
2025-06-25 12:37:09 +02:00
qwerltaz
f96705f5fc allow combat mode toggling when unable to interact (#38573)
allow combat mode toggling when cuffed or crit
2025-06-25 11:54:57 +02:00
Kyle Tyo
09d7f7adf6 Electrocute command cleanup and localization (#38563)
* hey look I knocked out a todo :shockedface:

* Update Resources/Locale/en-US/electrocution/electrocute-command.ftl

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-06-25 04:28:13 +02:00
beesterman
34e12f2c82 Lobby Audio from static to CVar (#38375)
* Changed LobbyMusiccollection over to a Cvar and edited ContentAudioSystem.cs to use Cvar Values

* Addedd Ability to modify the lobbyMusiccollection from the command line

* Fixed changing lobby music while in the round

* Deleted uneeded duplicate line

* Removed additional duplicate lobbyplaylist line

* Alphabatized imports and refactored to use Subs.CVar

* Added error checking and default behaviour to CVar sub.

* Refactored to use TryIndex and Allowed for a empty soundcollection when a sound collection is not found. Edited Cvar comment to reflect changes.

* Made _lobbyMusicCollection nullable and addedd handling for null case where used. Also Changed LobbyMusicCollection Cvar over to audio rather than ambience.

* Update Content.Server/Audio/ContentAudioSystem.cs

---------

Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2025-06-25 04:22:28 +02:00
PJBot
dea275489e Automatic changelog update 2025-06-25 01:47:24 +00:00
Dragonjspider
f9b98fde37 Fix cutter machine having free techmaint floor tiles (#38557)
Fix BaseMaintTileRecipe
Changed BaseTileRecipe to BaseMaintTileRecipe
2025-06-25 03:46:17 +02:00
lzk
a56e1324e8 cleanup air_alarm.yml and fire_alarm.yml (#38559)
* Update air_alarm.yml

* that too

* Update air_alarm.yml
2025-06-25 00:10:29 +02:00
PJBot
df1f45e002 Automatic changelog update 2025-06-24 22:00:05 +00:00
John
d28594c73d Bulldog desc fix (#38558)
Co-authored-by: Vasilis The Pikachu <vasilis@pikachu.systems>
2025-06-24 14:58:58 -07:00
lzk
1ba31a4fbe remove suffix from ChameleonControllerImplanter (#38554)
* Update implanters.yml

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

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-06-24 23:55:10 +02:00
CrystallEdge Server
37bb72d293 Automatic changelog update 2025-06-25 00:09:26 +03:00
Sefaia
a8c741a6b5 Merge pull request #1468 from Sefaia/Leftover-Executions
Added Executions for Non-Modular Weapon Base and Ice Dagger.
2025-06-25 00:08:20 +03:00
PJBot
6c36242847 Automatic changelog update 2025-06-24 20:48:36 +00:00
Pieter-Jan Briers
f5071238ce Fix displacement map rendering in UI (#38042)
Fix displacement map rendering

918709cb47 changed the way humans work to completely remove the stencil mask thing for clothing cutouts, in favor of displacement maps. Except it didn't actually remove the stencil parameters from the shader prototype, so this caused the shader to render incorrectly in SpriteView instances.

I introduced a new DisplacedDraw shader that doesn't have the stencil in use, as removing the old one would probably be a more annoying breaking change.

Fixes #37629
2025-06-24 22:47:29 +02:00
Perry Fraser
9529cdfa2e fix: correct wall AO having weird sharp edges (macOS only?) (#38552) 2025-06-24 22:39:18 +02:00
PJBot
886f5cb32c Automatic changelog update 2025-06-24 15:36:46 +00:00
Kittygyat
7e7fbba403 Added a handheld station map to the cyborg thruster module (#38541)
* Added a station map to the borg thruster module

* Removed HandheldStationMapBorg & replaced it with HandheldStationMapUnpowered
2025-06-24 18:35:39 +03:00
lzk
30310d4bd2 Update cmd-adminwho-desc (#38539)
Update admin-who-command.ftl
2025-06-24 17:13:48 +02:00
PJBot
7e61e11a69 Automatic changelog update 2025-06-24 13:05:24 +00:00
BramvanZijp
53f367d689 Re-Add Stamina Damage Resistances to Nukie & ERT Suits after the Test Merge. (#38526)
* Add stamina damage resists to the bloodred suits.

* Apply suggestions from code review

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-06-24 15:04:15 +02:00
Kyle Tyo
eb359fb760 Crew manifest command cleanup and LEC (#38544)
commit
2025-06-24 13:06:20 +02:00
metalgearsloth
4f42564265 Fix IsSpace call (#38548) 2025-06-24 12:48:29 +02:00
Kyle Tyo
71eed923ae Add uplink command minor revision and cleanup (#38532)
* commit

* Update AddUplinkCommand.cs
2025-06-24 12:46:35 +02:00
IProduceWidgets
33a1e59211 update oasis (#37770) 2025-06-24 03:29:05 -07:00
Red
aae579b710 Update labeler.yml 2025-06-24 12:26:24 +03:00
Pieter-Jan Briers
d1badfe699 Update submodule to 263.0.0 (#38524) 2025-06-24 18:25:49 +10:00
PJBot
41bfd954cc Automatic changelog update 2025-06-24 07:57:24 +00:00
metalgearsloth
60341cb245 Add wall-based ambient occlusion (#38276)
* Add wall ambient occlusion

* wawawewa

* Work

* cvars

* Comment to make slart happy
2025-06-24 17:56:14 +10:00
Red
0542ed4446 Upstream sync (#1464)
* Fix soap recipe so it actually works (#37923)

Change soap recipe

* Automatic changelog update

* Automatic changelog update

* Added security mime mask (#37890)

* Added security mime mask

* Improved security mime mask equipped sprites

* Improved security mime mask icon sprite

* meta.json spacing fix

* Reorganized Turret Prototypes (#37863)

* Reorganized turret prototypes

* Added circuit board to migrations

* Fixed frequencies

* Fixed typos and set the base control panel to abstract since it's technically not constructable yet

* Fixed the typo in the migrations

* Addressed changes

* Whitespace fixes

* Whitespace check fix

---------

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

* Automatic changelog update

* Sellable syndicate contraband (#37835)

* Sellable syndicate contraband

* 1984 tests, laughible

* Balancing

* Standardized running and walking speed debuffs for equipped gear. (#37828)

Co-authored-by: RedBookcase <Usualmoves@gmail.com>

* Add hair back to hardhats (#38086)

adds hair back to hardhats

* Automatic changelog update

* Access Reader Refactor (#37772)

* Initial commit

* Integration test fix

* Removed redundant dirtying of accessreader

* Adds individual Bulldog magazines to the syndicate uplink (#37917)

* Brief commit to update branch

* added more magazines to uplink, corrected spelling in ftl file for uplink, corrected sprite state for incendiary bulldog mag

* removed incendiary drum, increased cost of slug drum

* Emogarbage swoop

---------

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

* Automatic changelog update

* Improve Potted Plant Movability and Availability (#37591)

* Added Purchasable Potted Plant Crate

* Removing some whitespace that made it in elsewhere

* Making Potted Plants Items and pickupable

* Revert Making potted plants not fade

This reverts part of commit a50a7def80c06e5be68a37263306007739952a28.

* Adding self to credits

* Fixing sus spacing

* Automatic changelog update

* Rifle crate order (#35535)

* lecter crate and gift

* revert cargo gift security armor change

* rifle cost down to 8000 spesos

* Automatic changelog update

* Muzzles reduce emote sound (#34444)

* Muzzles reduce emote sound

* update based on review comments

* review comments

* Automatic changelog update

* Added Scrap Armor [Reupload]. (#37601)

* Added Scrap Armor v2.

* Added a note to scrap helmet about vision reduction.

* Removed protection from step triggers.

* The patient needs broken kneecaps to live.

* Add in missing tag

* Missing tags pt 2

---------

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

* Automatic changelog update

* Make improvised explosive devices minor contra (#38088)

pipe bomb and fire bombs are minor contra

* Automatic changelog update

* emergency shuttle emergency lockers (#38095)

* Cleanup unused/redundant dependencies (#38099)

* Shark toys use the bite animation. (#38113)

* Automatic changelog update

* Fix throwing items into disposal units (#38106)

* Increase throwing into disposal chance (#38116)

* Automatic changelog update

* Don't show climb verb for objects that cannot be climbed (#38115)

fix climb verb

* Reduce Liquid Frezon Duration (#38100)

testing

* Add player autofill to rename command. (#38074)

* simple enough

* switch to CompletionResult.FromOptions and CompletionHelper.SessionNames

* cleanup

* Light Up Landmines (#38092)

* Adjust landmines to have unshaded lights.

* Someday I will give myself credit for the work I do.

* Adjust animation speed.

* Automatic changelog update

* fix wallmount vending machine dispense direction (#38112)

fix wallmount vending machine direction

* Automatic changelog update

* Fix serialization of `SunShadowCycleComponent` (#38002)

* Use a struct to hold the items for `Directions` in `SunShadowComponent`, fix serialization.

* actually make them datafields...

* Add NetSerializable to datadef

* this is why we can't have nice things

* ShowEmergencyShuttleCommand and MeleeSpreadCommand LEC conversion. (#37993)

progress

* Add name to chameleon controller implanter (#38117)

Update implanters.yml

* Automatic changelog update

* chem.yml cleanup (#38129)

Update chem.yml

* Reduce disabler capacity to 16 shots (#36019)

* 14 shots

* 14 to 16

* Automatic changelog update

* Genpop wall lockers (#38102)

* sprites

* genpop wall lockers

* number 5 alive

* slight boilerplate code, thank you slarti

* fix: allow ejecting diamonds from lathes/silos (#38132)

* Automatic changelog update

* make PacifiedComponent session specific (#38137)

* Fix stripping window for more than 2 hands (#37577)

* Automatic changelog update

* Forbid string literals for `NpcFactionSystem` methods (#38140)

* Add ForbidLiteral attribute to NpcFactionSystem methods

* Cleanup resulting warnings

* Update Credits (#38143)

Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>

* No raffle for space carp (#38101)

No raffle for carp

Signed-off-by: Nox38 <nebulousnox38@gmail.com>

* Automatic changelog update

* adjreagent now accepts float (#38134)

* adjreagent now accepts float

* var

* Automatic changelog update

* MapManager warnings cleanup Server Edition 2003 (#36781)

* now you see me

* unused depen

* test fail fix attempt 1

* test fail fix attempt 2

* fix test fail attempt 3

* shot in the dark.

* Does this work?

* import cleanup

* taking a shot at this.

* Convert PersistenceSaveCommand to LocalizedEntityCommands.

* requested changes

* requested changes. also dealt with improperly named private const

* Update Content.Server/GameTicking/GameTicker.Spawning.cs

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

* Update Content.Server/GameTicking/GameTicker.Spawning.cs

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

* Convert PlanetCommand to LocalizedEntityCommand

* Update BiomeSystem.cs

* Update Content.Server/Salvage/SalvageSystem.Runner.cs

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

* Update Content.Server/Procedural/DungeonSystem.Rooms.cs

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

* Update Content.Server/Salvage/SpawnSalvageMissionJob.cs

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

* Update Content.Server/Station/Systems/StationBiomeSystem.cs

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

* revert to latest master.

* slartis suggestion.

* Update SetMapAtmosCommand.cs

* cleanup

* Update PersistenceSaveCommand.cs

* finish localizing persistencesavecommand

* this is icky, I change.

* :sigh:

* revert whatever I did here?

* oh I see, some inconsistencies.

* revert this

* Update PlanetCommand.cs

* move this ftl to the commands folder

---------

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

* Missing contraband tags on explosives (#37521)

* Firebombs as minor contraband

* Pipebombs as minor contraband

* Seismic charge as cargo/sec contra (like crushers)

* Modular payloads

* Automatic changelog update

* Improved Health examination text (#38126)

* more health examinations

* better blood

* fix

* tweaks

* sizeable

* silicon fix

* tweaks

* bleeding color tweaks

* fix

* Automatic changelog update

* Assorted device and core inhands (#38162)

* Assorted device and core inhands

* whoops forgot the thief objective

* i missed literally on pixel on the fulton argh

* inhand pinpointer update

* Automatic changelog update

* Add FixedPoint2TypeParser (#38169)

* Update submodule to 262.0.0 (#38174)

* Fix eating and drinking verbs showing up after a short delay and making your verb UI bounce (#38164)

* Fix eating and drinking verbs showing up after a short delay and making your verb UI bounce

* Usings fix

* Usings fix

* Usings fix

* Usings fix

* CVar fix

* Predicted ppups

* Openable predicted popup

* Fix audio prediction

* Automatic changelog update

* Allow cargo request computers to send orders to the primary account (#37943)

* Automatic changelog update

* Revert "Add trailing whitespace check workflow" (#38179)

Revert "Add trailing whitespace check workflow (#37367)"

This reverts commit be35f6e9ce.

* Give unique names to all curtain construction recipes (#38182)

* Give unique names to all curtain construction recipes

* Duplicate entry

* Cleanup unused fields in `DrinkSystem` (#38181)

Cleanup unused fields in DrinkSystem

* New Recipes: Breakfasts (#37279)

* Adds full english and american breakfasts and respective recipes

* sprite tweak and added random spawner

* reagent rebalance

* reagent re-rebalance

* spawner ID fix

* ACTUALLY actually fixed the spawner, also description changes

* reagent re-re-rebalance

* spawner fix so the linter stops screaming at me

* different check failed kekw

* trailing whitespace fix attempt #1

* identation fix? i think?

* indetation fix part 2, also vox cant eat this anymore

* more yaml fixes

---------

Co-authored-by: DispenserDev <mariousjoaquin@gmail.com>

* Typo fix in coffin description (#38193)

* Automatic changelog update

* Derotate and remove several maps, remove unused maps (#38190)

* Automatic changelog update

* Emergency Shuttles Update (#38186)

* Automatic changelog update

* hi-viz vest laser reflect (#38180)

* Update vests.yml

* Update vests.yml

* Update Resources/Prototypes/Entities/Clothing/OuterClothing/vests.yml

---------

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

* Automatic changelog update

* Bring back low pressure damage to its unnerfed value (#38196)

* Automatic changelog update

* Remade the AI Camera Static Shader (#38093)

Redid the camera static shader

* Automatic changelog update

* stop amber AI core from inducing seizures (#38209)

* Automatic changelog update

* HOTFIX: Stop AI turrets from causing flickering lights (#38212)

no power draw

* Add missing locale in Criminal Records Computer (#38217)

add missing filter locale

* WHYYYYYYY (cleanup) (#38220)

* WHYYYYYYYY

* Delete Resources/Locale/en-US/actions/actions/rootable.ftl

* cleanup mirror.yml (#38222)

* Add stamina damage resists to the bloodred raid/hard-suits (and ERT hardsuits). [TEST MERGE] (#37040)

Add stamina damage resists to the bloodred suits.

* Automatic changelog update

* Fix missing bike horn implant cooldown (#38237)

* Automatic changelog update

* Cleanup `ChameleonJobLoadoutTest` (#38229)

Cleanup ChameleonJobLoadoutTest

* Fix construction menu grid view quirky button selection (#38214)

* make hover and info use construction proto name, not entity name

* recipeButtons uses IDs as keys, not names

* return making item green when selected

* Replace Speech bubble time accumulator with TimeSpan (#38241)

* Replace SpeechBubble time accumulator with TimeSpan

* CurTime -> RealTime

* Add test that entity prototypes don't use LocIds for name/description (#38234)

* Add test that entity prototypes don't use LocIds for name/description

* Fix violation

* Guitar Sprite Fix (#38207)

* Modified Guitar Sprites

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* Attributions

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

---------

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* Add technology to tech disk names (#38157)

* Automatic changelog update

* Forbid string literals for `SharedToolSystem` methods (#38250)

* Forbid string literals for ToolSystem methods

* Cleanup violations

* Sort usings

* Fix mops, rags, and towels interacting with drains (#38252)

added the stuff

* Automatic changelog update

* Cherrypick 38241

* Makes the grenadine bottle start closed. (#38219)

* whywhywhy

* removes unneeded line

* Automatic changelog update

* Fix reinforced plasma window blocking laser shots (#38041)

* init

* stuff

* Automatic changelog update

* Improve some `BinSystem` functionality (#38262)

* BinSystem improvements

* Prevent double-add

* Cleanup 2 `SpriteComponent.GetPrototypeTextures` uses (#38263)

Cleanup 2 SpriteComponent.GetPrototypeTextures uses

* Add the instrument names to the MIDI channel selector (#38083)

* Add the instrument to the MIDI channel selector

* Reviews

Adds support for chained masters
Makes the channel UI update on its own when the midi changes (Works with bands too!)

* add to admin logs and limit track count

* Limit track names by length too

* remove left over comment

* Requested changes

* Reviews

* Automatic changelog update

* Add disambiguation to most construction menu recipe names (#38197)

* Magazine rsi Cleanup + Magazine Type Recolor (#37709)

* Automatic changelog update

* Basilisk Nerfs for Gameplay (#38089)

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>

* Automatic changelog update

* Launchers require wielding (#38110)

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* Automatic changelog update

* Cleanup exosuit fab recipes, add modules category (#38069)

* Fix `StomachSystem` PVS error (#38268)

Fix StomachSystem PVS error

* scar availability for more species (#35645)

* :D

* updated for new scars

* small eye scar

* Automatic changelog update

* Minor Relic improvements (#38269)

* Automatic changelog update

* Removed Toys.rsi, reorganize toy RSIs, broad /Fun/ cleanup. (#37189)

Co-authored-by: RedBookcase <Usualmoves@gmail.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* Add propeller hat & swirl lollipop (#38260)

* Automatic changelog update

* Cleanup chat highlighting code (#38235)

* Cache regexes

* Convert static LocManager to resolved

* Use Any instead of Count > 0

* Use var instead of explicit types

* Make _highlights readonly

* Fix some popup issues with pipe layer changes (#38244)

* fix: only show pipe layer popups to the user changing them

* fix: don't show pipe layer subfloor popup when not using a screwdriver

* fix: properly pass down user and used for serverside pipe layer changes

Technically this doesn't matter as the Shared codepath for this method
doesn't actually use these on the server: only the user is used for a
clientside popup. Still, will be good to have these for future changes
that might need them.

* Make BODAs start with Russian accent. (#38275)

long hand of Kremlin

* fix: Correct respath for lizard smite icon (#38288)

* Fix gas analyzer and anom scanner wrong state (#38285)

* Fix gas analyzer and anomaly scanner UI activation issue

* save

* fix comment

* milkalyzer

* Automatic changelog update

* Use correct on-head rainbow lizard plushie sprite (#38286)

* Prediction for use of utensil on incompatible food (#38297)

Prediction our beloved

* Automatic changelog update

* Fix crafting steps with modular machine parts (#38299)

fixed lines that were messing with construction menu entries for machine parts

* Automatic changelog update

* Transparent tear gas (#36440)

* tweaked tear gas

* changed color of tear gas

* sped up metabolism rate of tear gas

* sped up tear gas passing more

* reduced tear gas content in grenades

* added threshold for better effect end timing

* removed clickable component from foams

* Suggestion changes

* Hide in spawn menu

---------

Co-authored-by: SlamBamActionman <slambamactionman@gmail.com>

* Automatic changelog update

* Fix visitor mindshields (#36537)

* Make visitor mindshields removable, and give disaster victims mindshields.

* Fix whitespace

* Fix ALL the whitespace

* Automatic changelog update

* Rat King changed to Antag (#38124)

* Changed rat king to be antag
Rat King guide updated to show antag rules

Initial infected given zombie faction
Zombies given zombie faction too (not sure if redundant or not)

* Given zombie faction to Initial Infected and Zombies in mind_roles

* Changed MindRoleGhostRoleAntag to MindRoleGhostRoleSoloAntagonist

removed components from antag listings

* Removed changes for zombies

* Update Resources/Prototypes/Roles/Antags/zombie.yml

Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>

* Update Resources/Prototypes/ai_factions.yml

Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>

* Changed mob prototype to match

* Forgot solo again

---------

Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>

* Automatic changelog update

* fix missing locale for Undergarment (#38304)

* Automatic changelog update

* Fix puncturase cauterizing bleeding (#38289)

fix puncturase cauterizing bleeding

* Automatic changelog update

* Added monkey/kobold emergency EVA sprites & the ability for them to wear them. (#37660)

* Added monkey/kobold emergency eva suit sprites, and the ability for them to wear it

* Added tag, fixed indentation

* Ok actually fixed the indentation this time

* Automatic changelog update

* Elkridge - Major Update (#38259)

* swap HOP and vault, fix cams, new genpop, shit ton of stuff

* fixed some initialised open doors, added posters to HOP/EVA

* implemented suggestions and feedback, lots of things

* Automatic changelog update

* Zombies won't attack Initial Infected (#38128)

* Added Zombie faction roles everywhere that makes sense for initial infected to be associated with Zombies.

* Adding faction component to round start zombie. (not hopeful)

* Removed stupid attempts and added zombie faction component to the zombie system when the player is given the ability to force themself to zombify.

* Changed use of "zombie" for ProtoId<NpcFactionPrototype>

* Update Content.Server/Zombies/ZombieSystem.cs

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

* Update Content.Server/Zombies/ZombieSystem.cs

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

* Removed faction component from ZombieOutbreak event. Shouldn't cause problems with the event as II gets component with their ability to self zombify.

---------

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

* Added warden's uniforms to their dresser. (#38283)

* Added warden's uniforms to their dresser.

Signed-off-by: Nox38 <nebulousnox38@gmail.com>

* Added warden's guitar

Signed-off-by: Nox38 <nebulousnox38@gmail.com>

* Removed armored coats and guitar from warden dresser.

Signed-off-by: Nox38 <nebulousnox38@gmail.com>

---------

Signed-off-by: Nox38 <nebulousnox38@gmail.com>

* Automatic changelog update

* Add corgium (#37951)

* Add corgi essence

* Adjust spacing concerns

* Renamed 'corgi essence' to 'corgium' based on maintainer discussion

* Automatic changelog update

* Add pet bag - wearable backpack for pets (#37440)

* Add pet bag

* Trailing whitespace moment

* make the linter happy

* Fix trailing whitespace concern.

* Fix Construction component oopsy-daisy

* yml guideline moment

* remove weird extra whitespace

* make the maintainer happy

* Adjusted bag visuals based on feedback

* Allow the fox aghost admin to use pet bags

* Automatic changelog update

* Fix for holoparasite's ability to attack the host through mech (#36659)

* Automatic changelog update

* Retractable items system + Arm Blade action (#38150)

* Automatic changelog update

* Give Syndie-Cats Syndie Access (#38318)

* Update animals.yml

* Update animals.yml

* Automatic changelog update

* Update Credits (#38321)

Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>

* Ensure large entities don't get stuck on conveyor belt corners (#37466)

* Initial commit

* Also avoid the friction change doesn't make turned-off conveyor belts continue going

* Ensurecomp on conveyor starting

* i give up

* Minor brackets edit

* Documentation

* Automatic changelog update

* Armblade Tweaks (#38337)

init

* Exo Station - Upstream Playtest Version (#33144)

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* Automatic changelog update

* Randomized Markings (#34765)

randomized markings

* Automatic changelog update

* Add hints towards flash protection to all items which provide it (#37267)

* Update welding.yml

* Update FlashSystem.cs

Add subscriber event for flash immunity examine text

* Create flash-immunity-component.ftl

* Removed changed description text

* change to use entity version

* fixed mistake

* Revert "Randomized Markings" (#38345)

* Add group for loadouts (#36951)

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* Automatic changelog update

* Commands for adding and removing actions (#38317)

* Automatic changelog update

* Fix Smart Corgis not being targeted by hostile faction entities (#38349)

* Automatic changelog update

* Exo - Day 1 Patch (#38348)

* Automatic changelog update

* Cleanup duplicate dependency in `AddActionCommand` (#38360)

Cleanup duplicate dependency in AddActionCommand

* Gun Inhand Sprite Fixes (#38294)

* cobra, viper, pulse pistol

* c20 and wt550

* l6 + attributions

* Thieves can innately pickpocket - thieving gloves rework (#38123)

* Thieves can innately pickpocket (#107)

Pickpocketing a skyrim guard's armor off

(cherry picked from commit 21b9f1ddb251ea3c7c6803e78871abefcaecbfb4)

* this isnt moff

* Make predicted, cleanup

* !skating-basketball

* orks are NOT the best trollface

* Implement much more sensible component replication prevention

---------

Co-authored-by: DuckManZach <144298822+duckmanzach@users.noreply.github.com>

* Automatic changelog update

* Objectives that do not fit requirements are now deleted (#38365)

* Fix

* Update Content.Server/Objectives/ObjectivesSystem.cs

Thanks Tayrathn!

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

---------

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

* predicted hyposprays (#38046)

* G O I D A

* how

* now proper

* a

* Update HypospraySystem.cs

* good catch

* Apply suggestions from code review

---------

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

* Automatic changelog update

* Adds the Estoc DMR to the syndicate uplink (#38122)

* Initial commit, adds the prototype, sprites and attributions, entries into syndicate uplink for weapon bundle and magazines

* Reduced weapon spread when wielded

* minor visual updates to sprites

* slightly adjusted burst rate down

* Update duffelbag.yml

---------

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

* Automatic changelog update

* Spider web visuals update (#38175)

* web update

* Update Resources/Prototypes/Entities/Structures/spider_web.yml

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

* Update Resources/Prototypes/Entities/Structures/spider_web.yml

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

* review

---------

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

* fix: no longer accidentally rotate held items (#38331)

Signed-off-by: little-meow-meow <204685920+little-meow-meow@users.noreply.github.com>

* Fix SharedActionSystem spamming errors (#38358)

* Fixed mis-labeled component filter (#38383)

* Automatic changelog update

* Fix adjacent north/south cable terminals breaking east/west HV cable (#38377)

* Fix some crafting menu oddities (#38372)

* Automatic changelog update

* Command resolve and LEC conversion batch 3 (#38378)

* I'm just a silly goober

* requested changes

* Update Content.Server/Interaction/TilePryCommand.cs

---------

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

* remove explosions from destroying a explosive payload (#38049)

* Automatic changelog update

* Increased Borg Density (Drag Speeds) (#38232)

Raised borg drag speeds

* Automatic changelog update

* Thief objectives now verify animal stealing objectives if they actually exist (#38332)

* Holy shit it's real. Theres actually animals in this joint

* WHITESPACE SPOTTD KILL KILL KILL

* Accidentally did a bad yaml oopsie

* Apply suggestions from code review

* when the stars kiss the sky

* Apply suggestions from code review

---------

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

* Automatic changelog update

* fix: erase expedition disks when their map is deleted (#38322)

* fix: erase expedition disks when their map is deleted

* fix: include paused entities in disk query, add dirty

* Scale down 4k parallax textures (#38390)

* Scale down 4k textures, add false preload to new parallaxes

* Add filter effect, also make sure the preload yml actually has the correct name...

* Switch Discord integration to use NetCord instead of Discord.Net (#38400)

* Add directionality to cable terminal port nodes (#38394)

* Command resolve mega pr 6 (#38398)

commit progress

* Command resolve killing and LEC conversions batch 2 (#38367)

commit progress

* Command resolve killing, LEC conversions, and general cleanup. (#38338)

* i'm just gonna put this here.

* I'm just gonna do it.

* Update ShowHTNCommand.cs

* I feel dumb.

* may as well with this too.

* this does in fact not work

* :/

* fix polymorph errors (#38409)

fix polymorph error

* Command resolve mega pr batch 5 (#38389)

* commit progress

* requested changes

* Convert `AtmosphereSystem` sound path strings to `SoundSpecifier`s (#38403)

* Convert AtmosphereSystem sound path strings to SoundSpecifiers

* Convert to SoundCollections

* fix: deglitchify drowsiness effect on macOS (#37817)

* Command resolves (#38415)

touchups

* show reflection prob on examine (#38199)

* goaaaaaaaal

* hmmmmmmmmmm... sorry aeshus, but thats sucks

* adwaswa

* reviev

* awdasdws

* redo

* should work

* mistake

* change
Co-authored-by: Tayrtahn Tayrtahn@users.noreply.github.com

* Update Resources/Locale/en-US/reflect/reflect-component.ftl

---------

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

* Automatic changelog update

* Fixed vapes unintentionally dealing all burn damage types (#38423)

Fixed vapes dealing all burn damage types

* Automatic changelog update

* Remove `SalvageShuttleCircuitboardStealObjective` from the objective group (#38428)

So this was causing vulture to fail to round start because it could not find the prototype... this is being migrated into null anyway so no point in it being here

* Cleanup static `Logger` use in `ChatBox` (#38405)

Convert static logger to resolved, resolve entman

* Random empty commit to be able to publish again

* Fix stacks only recycling one instead of the stack amount (#38433)

* fix

* Fixes

* Automatic changelog update

* Relocate SetOutfit method to ServerClothingSystem and LEC setoutfit command. (#38391)

* that'll do

* requested changes.

* missed this.

* Command resolves and LEC conversions batch 4 (#38382)

* reeeecolllaaaaaaaa

* gonna convert these to public while I'm here for consistency sake

* requested changes.

* Playtime Reminders - Raising awareness of addiction by highlighting excessive playtime (#36483)

* grass touch protocol - Rebases to latest master to fix conflicts

* aight local tests are passing lets see if our golf works

* It is 5 am and our ass COMPLETELY overcomplicated this lmaooo

* Addresses feedback - Clarifies comments, swaps internal var names for grasstouchless and selfdestructive, makes the third tier a little less demanding, and fixes 1 hours

* Addresses review - conflict fix

* This too

* Axes playtime exclusion for ghosts

* Use switch expression

code style nit

* Refactor/cleanup

Use IGameTiming.RealTime to track time instead of DateTime. Use nullable instead of magic values.

Expose the current day value through a property that is always up to date, instead of making the API to read the CVar that updates at inconsistent times. This also makes it trivial to debug with VV.

Other minor cleanup like using string interp, code style fixes, comments, etc.

---------

Co-authored-by: PJB3005 <pieterjan.briers+git@gmail.com>

* Automatic changelog update

* Exo - Minor balance changes and fixes (#38435)

* Automatic changelog update

* Add advertised reagents to puddles (#38432)

Co-authored-by: Velcroboy <velcroboy333@hotmail.com>

* Give APCs wirepanels (#38443)

init

* Automatic changelog update

* Revert "Add stamina damage resists to the bloodred raid/hard-suits (and ERT hardsuits). [TEST MERGE]" (#38447)

Revert "Add stamina damage resists to the bloodred raid/hard-suits (and ERT h…"

This reverts commit 8c6b288853.

* Adds dog-shaped sprite variants for the most common hardsuits (#36875)

Co-authored-by: dandy <203235481+casiliuscestus@users.noreply.github.com>
Co-authored-by: Raccoononi <70777222+raccoononi@users.noreply.github.com>
Co-authored-by: Scrubdelub <196583332+scrubdelub@users.noreply.github.com>
Co-authored-by: Tiniest Shark <176858593+TiniestShark@users.noreply.github.com>

* Automatic changelog update

---------

Signed-off-by: Nox38 <nebulousnox38@gmail.com>
Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>
Signed-off-by: little-meow-meow <204685920+little-meow-meow@users.noreply.github.com>
Co-authored-by: Gentleman-Bird <dcgreen406@gmail.com>
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
Co-authored-by: Hitlinemoss <209321380+Hitlinemoss@users.noreply.github.com>
Co-authored-by: Southbridge <7013162+southbridge-fur@users.noreply.github.com>
Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
Co-authored-by: RedBookcase <crazykid1590@gmail.com>
Co-authored-by: RedBookcase <Usualmoves@gmail.com>
Co-authored-by: vmzd <33641966+vmzd@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: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
Co-authored-by: Xeri Marai <8867601+Xeri7@users.noreply.github.com>
Co-authored-by: K-Dynamic <20566341+K-Dynamic@users.noreply.github.com>
Co-authored-by: themias <89101928+themias@users.noreply.github.com>
Co-authored-by: Samuka-C <47865393+Samuka-C@users.noreply.github.com>
Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
Co-authored-by: Minemoder5000 <minemoder50000@gmail.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: jkwookee <157201244+jkwookee@users.noreply.github.com>
Co-authored-by: Kyle Tyo <36606155+VerinSenpai@users.noreply.github.com>
Co-authored-by: Spanky <180730777+spanky-spanky@users.noreply.github.com>
Co-authored-by: Quantum-cross <7065792+Quantum-cross@users.noreply.github.com>
Co-authored-by: hoshizora <willhornbeck12@gmail.com>
Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com>
Co-authored-by: Perry Fraser <perryprog@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Nox <nebulousnox38@gmail.com>
Co-authored-by: Archee <archee3@hotmail.co.uk>
Co-authored-by: Orsoniks <orsoniksstuff@gmail.com>
Co-authored-by: Tiniest Shark <head.rebel@yahoo.com>
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: DrSmugleaf <10968691+DrSmugleaf@users.noreply.github.com>
Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
Co-authored-by: Disp-Dev <91643998+Disp-Dev@users.noreply.github.com>
Co-authored-by: DispenserDev <mariousjoaquin@gmail.com>
Co-authored-by: cnv41 <cnv41g@gmail.com>
Co-authored-by: nabegator <stunprod228@outlook.com>
Co-authored-by: qrwas <aleksandr.vernigora93@gmail.com>
Co-authored-by: BramvanZijp <56019239+BramvanZijp@users.noreply.github.com>
Co-authored-by: qwerltaz <69696513+qwerltaz@users.noreply.github.com>
Co-authored-by: Prole <172158352+Prole0@users.noreply.github.com>
Co-authored-by: eoineoineoin <helloworld@eoinrul.es>
Co-authored-by: SlamBamActionman <slambamactionman@gmail.com>
Co-authored-by: Myra <vasilis@pikachu.systems>
Co-authored-by: Boaz1111 <149967078+Boaz1111@users.noreply.github.com>
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
Co-authored-by: Simon <63975668+Simyon264@users.noreply.github.com>
Co-authored-by: Seam_Less <kai.julian.watson@gmail.com>
Co-authored-by: Princess Cheeseballs <66055347+Princess-Cheeseballs@users.noreply.github.com>
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: āda <ss.adasts@gmail.com>
Co-authored-by: Vortebo <64214314+Vortebo@users.noreply.github.com>
Co-authored-by: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
Co-authored-by: kosticia <kosticia46@gmail.com>
Co-authored-by: Qerd <73325910+BigfootBravo@users.noreply.github.com>
Co-authored-by: Nikovnik <116634167+nkokic@users.noreply.github.com>
Co-authored-by: M1tht1c <mytht1c@proton.me>
Co-authored-by: SyaoranFox <99053675+SyaoranFox@users.noreply.github.com>
Co-authored-by: Kittygyat <202250949+Kittygyat@users.noreply.github.com>
Co-authored-by: Deerstop <edainturner@gmail.com>
Co-authored-by: Sparlight <twiksparlight@gmail.com>
Co-authored-by: nikitosych <boriszyn@gmail.com>
Co-authored-by: FungiFellow <151778459+FungiFellow@users.noreply.github.com>
Co-authored-by: beck <163376292+widgetbeck@users.noreply.github.com>
Co-authored-by: Helix-ctrl <kylemccann08@gmail.com>
Co-authored-by: beck-thompson <107373427+beck-thompson@users.noreply.github.com>
Co-authored-by: DuckManZach <144298822+duckmanzach@users.noreply.github.com>
Co-authored-by: ScarKy0 <scarky0@onet.eu>
Co-authored-by: little-meow-meow <204685920+little-meow-meow@users.noreply.github.com>
Co-authored-by: Citrea <citrea.lingua@gmx.net>
Co-authored-by: Whatstone <166147148+whatston3@users.noreply.github.com>
Co-authored-by: KamTheSythe <kamil.dolowiec01@gmail.com>
Co-authored-by: TheFlyingSentry <AFlyingSentry@gmail.com>
Co-authored-by: deathride58 <deathride58@users.noreply.github.com>
Co-authored-by: PJB3005 <pieterjan.briers+git@gmail.com>
Co-authored-by: Velcroboy <107660393+IamVelcroboy@users.noreply.github.com>
Co-authored-by: Velcroboy <velcroboy333@hotmail.com>
Co-authored-by: dandy <203235481+casiliuscestus@users.noreply.github.com>
Co-authored-by: Raccoononi <70777222+raccoononi@users.noreply.github.com>
Co-authored-by: Scrubdelub <196583332+scrubdelub@users.noreply.github.com>
Co-authored-by: Tiniest Shark <176858593+TiniestShark@users.noreply.github.com>
2025-06-24 01:05:19 +03:00
Kyle Tyo
6a2afa5625 Revisions and cleanup to dock and shuttle commands. (#38533)
commit
2025-06-23 23:25:35 +02:00
Tayrtahn
b68c6b37ac Remove excess SingularityLevelChangedEvent subscriptions (#38536)
* Remove excess SingularityLevelChangedEvent subscriptions

* RadiationSourceComponent too

* Cleanup commented out code
2025-06-23 22:41:41 +02:00
CrystallEdge Server
89bc6e24ec Automatic changelog update 2025-06-23 22:56:31 +03:00
Red
969b85740f fix (#1466) 2025-06-23 22:55:26 +03:00
CrystallEdge Server
56be3f7e78 Automatic changelog update 2025-06-23 16:43:10 +03:00
Nim
61511edc19 Hot potato (#1463)
* hot potato

* Temperature
2025-06-23 16:42:02 +03:00
Ed
b581f5d132 Merge remote-tracking branch 'upstream/stable' into ed-23-06-2025-upstream-sync
# Conflicts:
#	.github/workflows/check-trailing-whitespace.yml
#	Content.IntegrationTests/Tests/Access/AccessReaderTest.cs
#	Content.IntegrationTests/Tests/Chameleon/ChameleonJobLoadoutTest.cs
#	Content.IntegrationTests/Tests/GameRules/NukeOpsTest.cs
#	Content.IntegrationTests/Tests/PostMapInitTest.cs
#	Content.Server/Administration/Systems/AdminVerbSystem.Antags.cs
#	Content.Shared/Light/Components/SunShadowCycleComponent.cs
#	Resources/Prototypes/Damage/modifier_sets.yml
#	Resources/Prototypes/Maps/Pools/default.yml
2025-06-23 16:37:22 +03:00
PJBot
a77c24cc86 Automatic changelog update 2025-06-23 11:34:04 +00:00
slarticodefast
b83d00b792 Predict Flashes (#37640)
Co-authored-by: ScarKy0 <scarky0@onet.eu>
2025-06-23 13:32:56 +02:00
Nim
e1e32ee8fc Перевод на RU (#1443)
* translate

* fries

* fix

* ква

* desc

* execution

* pieni c

* monster kill

* del
2025-06-23 13:12:02 +03:00
CrystallEdge Server
20e03120af Automatic changelog update 2025-06-23 12:54:10 +03:00
SenorJaba
6ae8d2639d Plushies! (#1456)
* I NEED THEM PLUSHIESgit add -A!

* Typo in attributions oops

* My greggit add -A!

---------

Co-authored-by: Red <96445749+TheShuEd@users.noreply.github.com>
2025-06-23 12:53:05 +03:00
Ed
3f2b5d45d7 Merge branch 'master' of https://github.com/crystallpunk-14/crystall-punk-14 2025-06-23 12:30:57 +03:00
Ed
2048e42641 Update dwarf_mining.yml 2025-06-23 12:30:04 +03:00
CrystallEdge Server
f598884649 Automatic changelog update 2025-06-23 12:26:25 +03:00
Nim
94ce2b0c2f Big bear (#1442)
* bear

* spawner

* voice

* target action

* animation
2025-06-23 12:25:20 +03:00
CrystallEdge Server
f6e5bb42ec Automatic changelog update 2025-06-23 12:20:08 +03:00
Red
9c1c1c4456 modular fix (#1462) 2025-06-23 12:19:02 +03:00
Tayrtahn
7e77ee0cd2 Content fix for LocalizedCommands Loc change (#38133)
* Content fix for LocalizedCommands Loc change

* Switch to LocalizationManager
2025-06-23 07:22:21 +02:00
Hannah Giovanna Dawson
e7aa5d392c Emotional Support Scurret locstrings (#38518)
Missed during the atomization of the Wa Wa PR.
2025-06-23 03:14:57 +02:00
Kyle Tyo
69b3e355e4 Command resolves. (#38519)
* banlist-command

* open-admin-notes-command

* stealthmin-command

* set-alert-level-command

* remove unused usings

* whitelist commands
2025-06-23 02:40:55 +02:00
CrystallEdge Server
4e4ce51e87 Automatic changelog update 2025-06-23 01:22:31 +03:00
Red
b1a9fca5ee Trading request system (#1460)
* mapping public stores update

* base selling platform update

* basic UI setup

* Update coin icon textures

Refreshed the c, g, p, and s coin images in the interface textures. This likely improves their appearance or corrects previous visual issues.

* parse requests data into UI

* selling platform UI state now include price

Updated the selling platform UI to display the calculated price of placed items. Moved the UpdateSellingUIState logic from the shared system to the server system, and modified the CP14SellingPlatformUiState to include a price field. The client window now uses the state-provided price instead of a hardcoded value.

* Update selling UI state on item placed or removed

Added event subscriptions for ItemPlacedEvent and ItemRemovedEvent to update the selling UI state when items are placed or removed from the selling platform. Refactored UpdateSellingUIState to remove the user parameter, as it is no longer needed.

* sell button works now

Replaces the previous sell request mechanism with a new CP14TradingSellAttempt message for selling items on the platform. Updates client and server logic to use this new message, adds a CanSell helper for item validation, and refactors related UI and event handling code for improved clarity and maintainability.

* auto pricing requirements

* Refactor reputation reward to use cashback rate

Reputation rewards for selling requests are now calculated as a percentage (cashback) of the sale price, rather than a fixed value. Updated the relevant UI, server logic, and prototype fields to reflect this change. Also cleaned up the brad_potions.yml prototype file by removing a duplicate entry and correcting an ID.

* request rerolling
2025-06-23 01:21:25 +03:00
PJBot
e925ff6127 Automatic changelog update 2025-06-22 19:39:29 +00:00
Cojoke
2a49e8e692 Staff of Healing for Pacifists (#38509) 2025-06-22 15:38:22 -04:00
Skybailey-dev
1c0788edb9 MINOR SPELLING ERROR!!1!!1! (#38510)
Spelling fix in the code of conduct

Comunity ->Community
2025-06-22 21:37:25 +02:00
PJBot
be679eeab9 Automatic changelog update 2025-06-22 19:29:28 +00:00
beck-thompson
820f0dc1dc Allow admins to export round logs to CSV files (#38206) 2025-06-22 21:28:21 +02:00
PJBot
e47f040f17 Automatic changelog update 2025-06-22 16:52:09 +00:00
keronshb
c03afeb29c Readds the Hypereutactic Blade for traitors, adds Hypereutatic blade for Nukies (#37182)
* adds hypereutactic back into the uplinks

* Disables hum

* Adds the Hypereutatic Blade for Nukies

* Actually makes the sound so quiet no one can hear it

* Apply suggestions from code review

* Update Resources/Prototypes/Entities/Objects/Weapons/Melee/e_sword.yml

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-06-22 18:50:59 +02:00
Tornado Tech
fb76a9d80d build: issue templates 2025-06-23 00:13:14 +10:00
Moomoobeef
17f033e4f4 Fixed dirt tiles having identical names (#38500)
* added prefix to planet dirt/grass

* prefixes don't work, just doing renaming instead.
2025-06-22 12:47:56 +02:00
github-actions[bot]
019173c338 Update Credits (#38493)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2025-06-21 20:37:44 -04:00
ScarKy0
2e90bc7b6d Retractable items get removed by handcuffs (#38441)
* init

* oops

* happens

* review

* fix
2025-06-22 02:24:12 +02:00
vitopigno
6a1c1f3f50 Remove user-excluding highlights from emotes while keeping (L)OOC support
User-excluding highlights now get highlighted either when they're:
1. Present between double quotes;
2. Starting with LOOC/OOC
2. Having a newline before it.

This is due to CC, and Station announcements always having a newline before the actual message.
2025-06-22 00:56:20 +02:00
Tayrtahn
6a582db4b8 Treat duplicate dependency warnings as errors (#38480)
* Treat duplicate dependency warnings as errors

* GitHub workflows

* commas

* Maybe we just don't use these?

* I think we can get rid of these?
2025-06-22 00:25:20 +02:00
PJBot
1702e75a0b Automatic changelog update 2025-06-21 22:24:46 +00:00
Perry Fraser
793f525c6b fix: mops with liquid can hit people again (#38486) 2025-06-22 00:23:39 +02:00
PJBot
ef55c3db06 Automatic changelog update 2025-06-21 22:21:41 +00:00
qrwas
0e58ed4f42 Fix styles for group button in loadout menu (#38488)
* Fix styles color for group button in loadout menu

* Show selected item count in loadout group UI

Updated the loadout group container to display the number of selected items in a group. Added a new localization string to support this feature in the UI.

* Resolve required changes
2025-06-22 00:20:34 +02:00
ScarKy0
6b8842c44d Generic Numeric Alerts (#38370) 2025-06-21 20:59:37 +03:00
PJBot
b8e8918af7 Automatic changelog update 2025-06-21 17:55:18 +00:00
beck-thompson
a15387bcfd Make role ban pannel pretty (#37952)
* Make role ban pannel pretty

* Removed unused depencency

* refactor: wider panel (no jumping due to scroll in english lang) minor readability improvements

---------

Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
2025-06-21 10:54:11 -07:00
CrystallEdge Server
0295e7aa03 Automatic changelog update 2025-06-21 20:52:14 +03:00
Red
44ba300a91 serverization??? (#1457) 2025-06-21 20:51:07 +03:00
PJBot
8d2f46ae34 Automatic changelog update 2025-06-21 16:35:18 +00:00
SlamBamActionman
9b5779bd33 Allow Maintainers to use customvote command (#38385)
Changed from Moderator perm to Round perm
2025-06-21 18:34:11 +02:00
TemporalOroboros
d4876be6f0 Kills TurfHelpers (#37939)
* Create TurfSystem equivalent for and obsolete TurfHelpers.GetTileRef

* Fix EntitySystem uses of TurfHelpers.GetTileRef

* Fix EntitySystem uses of TurfHelpers.TryGetTileRef

* Fix construction condition uses of TurfHelpers.GetTileRef

* Fix last use of TurfHelpers.IsBlockedTurf

* Create TurfSystem equivalent to and obsolete TurfHelpers.GetContentTileDefinition

* Fix uses of TurfHelpers.GetContentTileDefinition(TileRef)

* Fix uses of TurfHelpers.GetContentTileDefinition(Tile)

* Create TurfSystem equivalent to and obsolete TurfHelpers.IsSpace

* Fix EntitySystem uses of TurfHelpers.IsSpace(Tile)

* Fix EntitySystem uses of TurfHelpers.IsSpace(TileRef)

* Fix remaining uses of TurfHelpers.IsSpace

* Fix uses of TurfHelpers.GetEntitiesInTile

* Delete TurfHelpers.cs

* Add GetEntitiesInTile lookup methods

* Convert some GetEntitiesInTile methods to LookupSystem extension methods

* Use new GetEntitiesInTile methods

* Recycle spiderweb hashset

* Recycle floor tile hashset
2025-06-21 11:23:19 -04:00
PJBot
334dc61d4d Automatic changelog update 2025-06-21 14:53:43 +00:00
Prole
f1d60b44e1 Flask Visual Overhaul & YML Organizing (#38032)
* Adding Back Baseline V1 Changes

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* Readability Change

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* icon_open implementation, tidy up & attributions (fix lith/shiny flask ugly af open sprites)

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* good enough

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* No mo closed spills

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* Inhands & Attributions Part 1

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* Inhands & Attributions Part 2

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* Flask Sounds & Attributions

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* Cap flask inhands change

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* Lith flask Inhand Changes

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* Spacing

* Fix?

* Man...

* Attributions Back in...

* Im loosing it..

* REAL!

* :/

* Again...

* again :/

* Plz???

---------

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>
2025-06-21 10:52:36 -04:00
slarticodefast
092f88c16f Fix debug asserts when unequipping items (#38274) 2025-06-21 16:40:56 +03:00
PJBot
a481f0bbbc Automatic changelog update 2025-06-21 13:12:24 +00:00
slarticodefast
686016098a Fix wallmount interaction (#38111) 2025-06-21 16:11:17 +03:00
Ed
78e3b78854 Update OptionsMenu.xaml.cs 2025-06-21 14:25:51 +03:00
Pieter-Jan Briers
0d346840da Fix compile (#38477) 2025-06-21 12:37:08 +02:00
PJBot
b4515e7b58 Automatic changelog update 2025-06-21 09:42:11 +00:00
Whatstone
54cb731147 SignalSwitchSystem: Check button is locked before toggling (#38474)
Check button is locked before toggling
2025-06-21 11:41:04 +02:00
Just-a-Unity-Dev
27a4c1955c add some documentation for visiting entity (#38475)
* add some documentation for visiting entity

to prevent someone from spending 5 minutes diving into the codebase

* reviews

Co-authored-by: LaCumbiaDelCoronavirus <90893484+LaCumbiaDelCoronavirus@users.noreply.github.com>

---------

Co-authored-by: LaCumbiaDelCoronavirus <90893484+LaCumbiaDelCoronavirus@users.noreply.github.com>
2025-06-21 11:19:57 +02:00
lzk
3b6f4c5b3e allow to publish news without ui (#35262)
* allow to publish news without ui

* the hell was that

* apply

* apply review

* sure

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

* okay

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-06-21 11:19:27 +02:00
Perry Fraser
a0544fdbf2 Make gas tank UI a bit more network-happy (#38184)
* fix: network gas tank output pressure

* fix: don't overwrite gas tank output pressure during editing
2025-06-21 11:06:49 +02:00
PJBot
5d119543ec Automatic changelog update 2025-06-21 06:33:37 +00:00
Tayrtahn
640c984ab2 Make... sloths... speak... slowly... (#38142)
* Add SlowAccent

* Apply SlowAccent to sloths

* xmldocs
2025-06-20 23:32:30 -07:00
Tayrtahn
357763c55e Add interaction test for retractable arm blade (#38452)
* Add interaction test for retractable arm blade

* Update for HandsSystem refactor

* Revert "Update for HandsSystem refactor"

This reverts commit e01bb9a7e318dd916240d57b30f48af9594bff1f.

* Combine WaitAssertion blocks
2025-06-20 21:31:32 -04:00
PJBot
7a63d1729f Automatic changelog update 2025-06-21 01:14:32 +00:00
crazybrain23
2e5ddb4bb5 Fix styling for Admin Menu lists (#38261)
* remove styleclass from playertab 'button' lines

* cvar, fix button-style header alignment

* Fix requested changes

And also the extra cvar things I was meant to remove in the upstream merge

* Tiny tweaks

---------

Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>
2025-06-21 03:13:25 +02:00
Myra
6e59f748e0 Fail if we attempt to run publish on master (#38431)
* Fail if we attempt to run publish on master

BREAKING: FORKS REMOVE THIS

* Update publish.yml
2025-06-21 02:32:31 +02:00
CrystallEdge Server
99cf1e7c4f Automatic changelog update 2025-06-21 02:47:06 +03:00
Red
f4abe1cf35 Fix lumera actions (#1446)
* ZLevelMover

* fix

* Update CP14ReligionSystem.cs
2025-06-21 02:46:01 +03:00
PJBot
83ff673e68 Automatic changelog update 2025-06-20 23:40:16 +00:00
Hannah Giovanna Dawson
48d897d31e Scurrets (#38218)
* Scurrets.

* Add missing equipment YAML

* Fix count of NamesFirstScurret

* Resolve PR comments, wa.

Also add like a bunch more wa replacements

* ed

* Update Resources/Textures/Mobs/Animals/scurret/displacement.rsi/meta.json

* :rivflabbergasted:

* Fixed spacings in scurret_last.ftl

* Fix mangled endings of some last names

* wawa

* the scug has a spear for self defence
2025-06-20 16:39:08 -07:00
Ps3Moira
61eddfebc4 Remove Icon Smoothing for Airlocks, Doors, and Plastic Flaps, and Shutters from Walls (#38456)
* Nuke Icon Smoothing

* Update highsec.yml

* Update plastic_flaps.yml
2025-06-21 00:50:35 +02:00
Perry Fraser
416b276ac3 fix: set correct layer visibility for power cell sprites (#38458)
* fix: set correct layer visibility for power cell sprites

* fix: use a default charge level for power cell sprites' appearance data
2025-06-21 00:48:54 +02:00
Tayrtahn
8e8f47497b Cleanup duplicate dependency in AdminVerbSystem.Smites (#38473)
Cleanup duplicate dependency in AdminVerbSystem.Smites
2025-06-20 18:43:53 -04:00
PJBot
49e810fd5b Automatic changelog update 2025-06-20 22:42:20 +00:00
Qerd
a1969fe392 Chameleon Controller Implants can be deimplanted (#38439) 2025-06-21 00:41:11 +02:00
Tayrtahn
c1de936c4b Forbid string literals for SharedActionsSystem methods (#38472)
Forbid string literals for SharedActionsSystem methods
2025-06-21 00:11:12 +02:00
Pieter-Jan Briers
5006214be5 Update patrons (#38470) 2025-06-20 21:23:04 +02:00
Red
a1656c0c88 Update labeler.yml 2025-06-20 18:28:38 +03:00
CrystallEdge Server
e542c96e6b Automatic changelog update 2025-06-20 16:20:38 +03:00
Nim
552f12d39b minor changes crossbow (#1431)
Co-authored-by: Red <96445749+TheShuEd@users.noreply.github.com>
2025-06-20 16:19:32 +03:00
CrystallEdge Server
d28f5558e7 Automatic changelog update 2025-06-20 13:00:46 +03:00
Red
e847feff58 tiefling gambit (#1452) 2025-06-20 12:59:41 +03:00
CrystallEdge Server
32b96fde25 Automatic changelog update 2025-06-20 12:52:16 +03:00
paige404
7238698aa3 Lanterns Can Break (#1450)
* Lanterns now break in two swings. I don't wanna see anyone saying that lanterns are a great one handed weapon again.

* Lanterns can survive one fireball, as a treat.
2025-06-20 12:51:11 +03:00
CrystallEdge Server
5714011471 Automatic changelog update 2025-06-20 12:32:42 +03:00
Red
aeda7c6f38 Silver needle berries (#1451)
* move flowers rsi

* silver needle

* Update silver_needle.yml
2025-06-20 12:31:37 +03:00
Perry Fraser
1cda984fdf fix: trim five minutes of silence from bottle_clunk_2 (#38463) 2025-06-20 00:18:19 -07:00
Tayrtahn
bd9d1a53f7 Remove redundant IoC Resolve in EmptyOrWindowValidInTile (#38446)
Remove redundant IoC Resolve in EmptyOrWindowValidInTile
2025-06-20 02:02:46 +02:00
PJBot
efc4fd05dd Automatic changelog update 2025-06-19 22:43:29 +00:00
Kyle Tyo
7b84f98f92 Fix the tail wagging action being blocked by cuffs. (#38454)
Update types.yml
2025-06-20 00:42:21 +02:00
PJBot
b6bc1ab8c9 Automatic changelog update 2025-06-19 19:50:18 +00:00
Sparlight
af23939dbe Adds dog-shaped sprite variants for the most common hardsuits (#36875)
Co-authored-by: dandy <203235481+casiliuscestus@users.noreply.github.com>
Co-authored-by: Raccoononi <70777222+raccoononi@users.noreply.github.com>
Co-authored-by: Scrubdelub <196583332+scrubdelub@users.noreply.github.com>
Co-authored-by: Tiniest Shark <176858593+TiniestShark@users.noreply.github.com>
2025-06-19 12:49:09 -07:00
beck-thompson
8ee24a0bb8 Revert "Add stamina damage resists to the bloodred raid/hard-suits (and ERT hardsuits). [TEST MERGE]" (#38447)
Revert "Add stamina damage resists to the bloodred raid/hard-suits (and ERT h…"

This reverts commit 8c6b288853.
2025-06-19 11:49:56 -07:00
CrystallEdge Server
2758bc0dea Automatic changelog update 2025-06-19 21:27:25 +03:00
Kit
f69b993b2c TELEGRAPH!!!!!! (#1449) 2025-06-19 21:26:20 +03:00
CrystallEdge Server
2055ed6be4 Automatic changelog update 2025-06-19 18:42:48 +03:00
Red
7436916780 Update misc.yml (#1448) 2025-06-19 18:41:42 +03:00
Ed
869af43f31 Refactor Demiplane map node state and update core entity 2025-06-19 18:33:54 +03:00
PJBot
1fb7a26ef6 Automatic changelog update 2025-06-19 15:07:20 +00:00
ScarKy0
8d97e563a0 Give APCs wirepanels (#38443)
init
2025-06-19 17:06:11 +02:00
Ed
63a1d60c6a Add dash range limit to dash spell and system
Introduces a maximum dash range to the dash system and spell effect, clamping the dash target if it exceeds the allowed distance. Updates configuration fields and prototype YAML to support the new range parameter.
2025-06-19 12:47:46 +03:00
Velcroboy
527446b56e Add advertised reagents to puddles (#38432)
Co-authored-by: Velcroboy <velcroboy333@hotmail.com>
2025-06-18 23:55:57 -07:00
PJBot
ebb310ce9a Automatic changelog update 2025-06-19 04:07:26 +00:00
SlamBamActionman
da93ac8ea3 Exo - Minor balance changes and fixes (#38435) 2025-06-18 21:06:17 -07:00
PJBot
5033f5c682 Automatic changelog update 2025-06-19 01:07:33 +00:00
deathride58
08d9c0aedd Playtime Reminders - Raising awareness of addiction by highlighting excessive playtime (#36483)
* grass touch protocol - Rebases to latest master to fix conflicts

* aight local tests are passing lets see if our golf works

* It is 5 am and our ass COMPLETELY overcomplicated this lmaooo

* Addresses feedback - Clarifies comments, swaps internal var names for grasstouchless and selfdestructive, makes the third tier a little less demanding, and fixes 1 hours

* Addresses review - conflict fix

* This too

* Axes playtime exclusion for ghosts

* Use switch expression

code style nit

* Refactor/cleanup

Use IGameTiming.RealTime to track time instead of DateTime. Use nullable instead of magic values.

Expose the current day value through a property that is always up to date, instead of making the API to read the CVar that updates at inconsistent times. This also makes it trivial to debug with VV.

Other minor cleanup like using string interp, code style fixes, comments, etc.

---------

Co-authored-by: PJB3005 <pieterjan.briers+git@gmail.com>
2025-06-19 03:06:26 +02:00
Kyle Tyo
ca72ca1464 Command resolves and LEC conversions batch 4 (#38382)
* reeeecolllaaaaaaaa

* gonna convert these to public while I'm here for consistency sake

* requested changes.
2025-06-19 02:03:28 +02:00
Kyle Tyo
d36a45a57f Relocate SetOutfit method to ServerClothingSystem and LEC setoutfit command. (#38391)
* that'll do

* requested changes.

* missed this.
2025-06-19 01:50:10 +02:00
CrystallEdge Server
f4dd46cded Automatic changelog update 2025-06-19 00:16:03 +03:00
PJBot
15dc69641b Automatic changelog update 2025-06-18 21:15:09 +00:00
Red
8d984b7670 Dash (#1445)
* dash basic logic + predict spell casts

* dash

* Update kick.yml

* Update CP14SharedMagicSystem.Checks.cs
2025-06-19 00:14:58 +03:00
beck-thompson
72ea94a233 Fix stacks only recycling one instead of the stack amount (#38433)
* fix

* Fixes
2025-06-18 23:14:01 +02:00
CrystallEdge Server
0996ab9ec6 Automatic changelog update 2025-06-18 21:48:04 +03:00
Red
3a4bbcb289 Area of influence depends on followers MobState (#1439)
* simple anti-religion zone shader

* observers refactor
2025-06-18 21:46:58 +03:00
Myra
3a611859f9 Stable master (#38430) 2025-06-18 18:37:13 +02:00
Vasilis The Pikachu
a10fc8a7df Random empty commit to be able to publish again 2025-06-18 18:35:26 +02:00
Tayrtahn
81d09559c2 Cleanup static Logger use in ChatBox (#38405)
Convert static logger to resolved, resolve entman
2025-06-18 18:21:48 +02:00
Myra
f086066822 Remove SalvageShuttleCircuitboardStealObjective from the objective group (#38428)
So this was causing vulture to fail to round start because it could not find the prototype... this is being migrated into null anyway so no point in it being here
2025-06-18 17:39:30 +02:00
PJBot
0a0d1ce320 Automatic changelog update 2025-06-18 12:07:23 +00:00
Kittygyat
d144253754 Fixed vapes unintentionally dealing all burn damage types (#38423)
Fixed vapes dealing all burn damage types
2025-06-18 08:06:13 -04:00
Ed
54307574c3 Create execution.ftl 2025-06-18 13:27:39 +03:00
CrystallEdge Server
c3495984bb Automatic changelog update 2025-06-18 13:11:14 +03:00
Sefaia
c87907f80d EXECUTION! (#1419)
* Execution option unlocked for Sharp weapons.

* Created CP14Execution component to avoid issues with SS14 standard core coding.

Removed Execution Component in preparation to add in CP14Execution component instead.

* Added CP14Execution as a modularPart modifier under the id: BaseWeaponExecution

Added BaseWeaponExecution to the following weapons:
-Axe
-Dagger
-Mace
-Rapier
-Scimitar
-Spear
-Sword

* Added Executions to all Tools in the ModularWeapon category.

* Removed redundant code and replace CP14Execution Component with original Execution Component. Removed Mace, Hammer, Hoe, Shovel and Pickaxe execution for now. Added Execution Component to BaseWeaponSharp modifier

* Added Execution to non-sharp weapons via modifier called BaseWeaponExecution.

* Exchanged prefix of blunt to cp14 and added the override values.

* networking problems

---------

Co-authored-by: Red <96445749+TheShuEd@users.noreply.github.com>
2025-06-18 13:10:08 +03:00
CrystallEdge Server
4ec77514ea Automatic changelog update 2025-06-18 12:38:23 +03:00
Red
322a3f11c1 Mini fix pack (#1440)
* Update CP14PriceScannerSystem.cs

* Update CP14PriceScannerSystem.cs

* fix #1435

* fix #1393
2025-06-18 12:37:18 +03:00
PJBot
75b740440a Automatic changelog update 2025-06-18 00:51:09 +00:00
kosticia
9c0ea2528e show reflection prob on examine (#38199)
* goaaaaaaaal

* hmmmmmmmmmm... sorry aeshus, but thats sucks

* adwaswa

* reviev

* awdasdws

* redo

* should work

* mistake

* change
Co-authored-by: Tayrtahn Tayrtahn@users.noreply.github.com

* Update Resources/Locale/en-US/reflect/reflect-component.ftl

---------

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
2025-06-18 02:50:01 +02:00
Kyle Tyo
284cf25905 Command resolves (#38415)
touchups
2025-06-18 01:40:33 +02:00
Perry Fraser
9a605c8642 fix: deglitchify drowsiness effect on macOS (#37817) 2025-06-17 23:05:12 +02:00
Tayrtahn
d61704df33 Convert AtmosphereSystem sound path strings to SoundSpecifiers (#38403)
* Convert AtmosphereSystem sound path strings to SoundSpecifiers

* Convert to SoundCollections
2025-06-17 22:52:11 +02:00
Kyle Tyo
3485450ffa Command resolve mega pr batch 5 (#38389)
* commit progress

* requested changes
2025-06-17 22:49:58 +02:00
slarticodefast
aa15371049 fix polymorph errors (#38409)
fix polymorph error
2025-06-17 16:16:24 -04:00
Kyle Tyo
9d22f6147c Command resolve killing, LEC conversions, and general cleanup. (#38338)
* i'm just gonna put this here.

* I'm just gonna do it.

* Update ShowHTNCommand.cs

* I feel dumb.

* may as well with this too.

* this does in fact not work

* :/
2025-06-17 20:08:12 +02:00
Kyle Tyo
0e1ff2644f Command resolve killing and LEC conversions batch 2 (#38367)
commit progress
2025-06-17 20:01:28 +02:00
Kyle Tyo
57babe15ee Command resolve mega pr 6 (#38398)
commit progress
2025-06-17 19:22:03 +02:00
Whatstone
b73943b04b Add directionality to cable terminal port nodes (#38394) 2025-06-17 19:05:48 +02:00
Simon
9bab47ea32 Switch Discord integration to use NetCord instead of Discord.Net (#38400) 2025-06-17 19:03:24 +02:00
SlamBamActionman
22e6aef2c5 Scale down 4k parallax textures (#38390)
* Scale down 4k textures, add false preload to new parallaxes

* Add filter effect, also make sure the preload yml actually has the correct name...
2025-06-17 18:53:58 +02:00
Perry Fraser
3c297d0620 fix: erase expedition disks when their map is deleted (#38322)
* fix: erase expedition disks when their map is deleted

* fix: include paused entities in disk query, add dirty
2025-06-17 18:32:14 +02:00
slarticodefast
5a69b7e2fb Merge stable into master (#38395) 2025-06-17 17:25:30 +02:00
PJBot
4638833ae3 Automatic changelog update 2025-06-17 11:07:29 +00:00
TheFlyingSentry
f197f54535 Thief objectives now verify animal stealing objectives if they actually exist (#38332)
* Holy shit it's real. Theres actually animals in this joint

* WHITESPACE SPOTTD KILL KILL KILL

* Accidentally did a bad yaml oopsie

* Apply suggestions from code review

* when the stars kiss the sky

* Apply suggestions from code review

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-06-17 13:06:21 +02:00
PJBot
9dbf675b6b Automatic changelog update 2025-06-17 10:42:17 +00:00
Kittygyat
d35baba4c4 Increased Borg Density (Drag Speeds) (#38232)
Raised borg drag speeds
2025-06-17 12:41:08 +02:00
PJBot
cf756b6c61 Automatic changelog update 2025-06-17 09:47:43 +00:00
KamTheSythe
adcaf3cc6d remove explosions from destroying a explosive payload (#38049) 2025-06-17 02:46:36 -07:00
Kyle Tyo
d316fa3483 Command resolve and LEC conversion batch 3 (#38378)
* I'm just a silly goober

* requested changes

* Update Content.Server/Interaction/TilePryCommand.cs

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-06-17 11:39:42 +02:00
Ed
cb48e484f8 Update gods.yml 2025-06-17 12:23:55 +03:00
PJBot
1443cda4ff Automatic changelog update 2025-06-17 09:23:21 +00:00
hoshizora
36c0f96c9b Fix some crafting menu oddities (#38372) 2025-06-17 02:22:14 -07:00
Whatstone
53a01bfb46 Fix adjacent north/south cable terminals breaking east/west HV cable (#38377) 2025-06-17 02:13:35 -07:00
PJBot
3a965503b5 Automatic changelog update 2025-06-17 08:54:36 +00:00
Citrea
f1d6e7cd75 Fixed mis-labeled component filter (#38383) 2025-06-17 01:53:28 -07:00
slarticodefast
d25046461e Fix SharedActionSystem spamming errors (#38358) 2025-06-17 15:18:13 +10:00
little-meow-meow
c049852486 fix: no longer accidentally rotate held items (#38331)
Signed-off-by: little-meow-meow <204685920+little-meow-meow@users.noreply.github.com>
2025-06-16 19:39:04 -07:00
Red
52cc834a0e Spider web visuals update (#38175)
* web update

* Update Resources/Prototypes/Entities/Structures/spider_web.yml

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

* Update Resources/Prototypes/Entities/Structures/spider_web.yml

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

* review

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-06-16 17:30:43 -07:00
PJBot
82b67b58d3 Automatic changelog update 2025-06-17 00:21:15 +00:00
August Sun
bdcdb6e338 Adds the Estoc DMR to the syndicate uplink (#38122)
* Initial commit, adds the prototype, sprites and attributions, entries into syndicate uplink for weapon bundle and magazines

* Reduced weapon spread when wielded

* minor visual updates to sprites

* slightly adjusted burst rate down

* Update duffelbag.yml

---------

Co-authored-by: august-sun <45527070+august.sun@users.noreply.github.com>
Co-authored-by: beck-thompson <107373427+beck-thompson@users.noreply.github.com>
2025-06-16 17:20:08 -07:00
PJBot
5c7063e139 Automatic changelog update 2025-06-17 00:09:15 +00:00
kosticia
f64505bea1 predicted hyposprays (#38046)
* G O I D A

* how

* now proper

* a

* Update HypospraySystem.cs

* good catch

* Apply suggestions from code review

---------

Co-authored-by: ScarKy0 <scarky0@onet.eu>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-06-17 02:08:08 +02:00
beck-thompson
a48c390854 Objectives that do not fit requirements are now deleted (#38365)
* Fix

* Update Content.Server/Objectives/ObjectivesSystem.cs

Thanks Tayrathn!

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

---------

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
2025-06-16 18:54:11 -04:00
CrystallEdge Server
d377df4a70 Automatic changelog update 2025-06-17 01:51:59 +03:00
Kit
4c8f5ae92c nerf (#1437) 2025-06-17 01:50:54 +03:00
PJBot
00858aaa5a Automatic changelog update 2025-06-16 22:48:38 +00:00
ArtisticRoomba
3eba895fc7 Thieves can innately pickpocket - thieving gloves rework (#38123)
* Thieves can innately pickpocket (#107)

Pickpocketing a skyrim guard's armor off

(cherry picked from commit 21b9f1ddb251ea3c7c6803e78871abefcaecbfb4)

* this isnt moff

* Make predicted, cleanup

* !skating-basketball

* orks are NOT the best trollface

* Implement much more sensible component replication prevention

---------

Co-authored-by: DuckManZach <144298822+duckmanzach@users.noreply.github.com>
2025-06-16 15:47:31 -07:00
CrystallEdge Server
fdd3e6b008 Automatic changelog update 2025-06-17 01:20:15 +03:00
Red
637cfe4be8 nerf gods (#1436) 2025-06-17 01:19:09 +03:00
Seam_Less
861d0fac71 Gun Inhand Sprite Fixes (#38294)
* cobra, viper, pulse pistol

* c20 and wt550

* l6 + attributions
2025-06-16 18:03:14 -04:00
Ed
a4ec26b919 Update CP14_Changelog.yml 2025-06-17 00:08:39 +03:00
Red
fa545f1b36 Merge pull request #1416 from crystallpunk-14/ed-10-06-2025-upstream-sync
Stable upstream sync
2025-06-17 00:00:58 +03:00
Ed
f0e0339c68 boilerfix 2025-06-16 22:59:56 +03:00
Tayrtahn
4cca55cecc Cleanup duplicate dependency in AddActionCommand (#38360)
Cleanup duplicate dependency in AddActionCommand
2025-06-16 21:02:35 +02:00
PJBot
3cbb7c122e Automatic changelog update 2025-06-16 16:44:55 +00:00
SlamBamActionman
bc4bc13c71 Exo - Day 1 Patch (#38348) 2025-06-16 09:43:46 -07:00
PJBot
a66e9a2920 Automatic changelog update 2025-06-16 15:40:54 +00:00
Sparlight
8aba7663cd Fix Smart Corgis not being targeted by hostile faction entities (#38349) 2025-06-16 11:39:46 -04:00
Hitlinemoss
9ffa1a7f7b Added cargo beret to uniform printer 2025-06-16 08:08:42 -04:00
Hitlinemoss
83232cc0a6 Added senior cargo items to loadout menu 2025-06-16 07:58:32 -04:00
Hitlinemoss
d1b16916d1 Merge branch 'master' of https://github.com/space-wizards/space-station-14 into moss-seniorcargo
Merge from master
2025-06-16 06:43:43 -04:00
PJBot
65c898f4d4 Automatic changelog update 2025-06-16 10:26:54 +00:00
ScarKy0
4cc6cb95dc Commands for adding and removing actions (#38317) 2025-06-16 13:25:44 +03:00
Hitlinemoss
0202166406 Merge branch 'master' of https://github.com/space-wizards/space-station-14 into moss-seniorcargo
Merged master into branch
2025-06-16 06:01:18 -04:00
Ed
eef4d070ad newer gonna give you up 2025-06-16 12:44:11 +03:00
PJBot
00b68d4c10 Automatic changelog update 2025-06-16 09:37:14 +00:00
qrwas
f8cf4dc829 Add group for loadouts (#36951)
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-06-16 02:36:06 -07:00
Ed
0f8a52af53 lobby screens update 2025-06-16 12:02:59 +03:00
CrystallEdge Server
3ab00211bf Automatic changelog update 2025-06-16 11:31:26 +03:00
paige404
7cdfaafb6b Innkeeper tweaks: modular mops, wearable buckets, and more (#1387)
* Clarify the naming of the farming sacks. Make mops breakable. Add modular mophead craftable at a workbench. Add lucens mophead. Make all mops and other tools not meant for swinging at things break faster. Tweaked damage numbers on certain tools. Add lucens bucket. Make all buckets wearable as shitty helmets. Add recipes to (slowly) craft ropes from the inventory.

* Revert all changes to the CP14BaseMop, as it doesn't need to be touched. Use migration to replace it instead.

* Remove the old mop

* Correct sprites based on feedback from omsoyk. Dewhimsy the lucens mop and bucket--mop head looks more logical, bucket's rope color is plain rope. Correct certain mop sprites facing the wrong way.

* Bring mops up to speed with the belt changes

* Make lucens bucket just a norma bucket, in blue

* Fix the errors by removing unnecessary fields from the craft recipes, updating the crate loot to use the new preset mop

* One more attempt to fix linting errors

* Final(?) bugsquash. Remove unnecessary name field

* Add clumsy tranlated localization

* Revise bucket helmet sprite to sit higher on the head at a jaunty angle

* Update old guidebook mop references

* Minor shading mistake: 💀

* Move rope craft recipes to the workbench

* Remove construction component from rope

---------

Co-authored-by: Red <96445749+TheShuEd@users.noreply.github.com>
2025-06-16 11:30:21 +03:00
Red
17ec6057c9 Merge branch 'master' into ed-10-06-2025-upstream-sync 2025-06-16 11:17:20 +03:00
beck-thompson
d8b70a3887 Revert "Randomized Markings" (#38345) 2025-06-16 00:50:17 -07:00
CrystallEdge Server
defa5cb11a Automatic changelog update 2025-06-16 10:40:38 +03:00
Nim
06de3a0eca Minor meat revisions (#1426)
* minor meat revisions

* name id

---------

Co-authored-by: Red <96445749+TheShuEd@users.noreply.github.com>
2025-06-16 10:39:33 +03:00
CrystallEdge Server
f9777102de Automatic changelog update 2025-06-16 10:38:34 +03:00
Kit
128ba6e15b Lunar strike Rebalance (#1433)
* Moon Strike nerfish

* Moon_strike nerf 2
2025-06-16 10:37:26 +03:00
Helix-ctrl
1d4cf48c31 Add hints towards flash protection to all items which provide it (#37267)
* Update welding.yml

* Update FlashSystem.cs

Add subscriber event for flash immunity examine text

* Create flash-immunity-component.ftl

* Removed changed description text

* change to use entity version

* fixed mistake
2025-06-15 18:38:36 -04:00
Ed
00cb82f11b Update ChameleonJobLoadoutTest.cs 2025-06-16 01:12:14 +03:00
Ed
8c13d854ee movedgrid and physicsMap purge 2025-06-16 01:10:17 +03:00
Ed
e15f7d0444 fix packs 2025-06-16 00:41:39 +03:00
Ed
667c9e907a thats all broken 2025-06-16 00:39:36 +03:00
Ed
e85b474b64 Update base.yml 2025-06-16 00:33:26 +03:00
Ed
bc5ed46a9c major fix pack 2025-06-16 00:32:20 +03:00
PJBot
c83420fca5 Automatic changelog update 2025-06-15 21:12:59 +00:00
beck
b636e3fcba Randomized Markings (#34765)
randomized markings
2025-06-15 14:11:52 -07:00
Ed
95244a89c2 fix packs 2025-06-16 00:07:57 +03:00
Ed
3b96f55def Update touch.yml 2025-06-15 23:58:20 +03:00
Ed
677a326376 Update touch.yml 2025-06-15 23:53:01 +03:00
Ed
57ab882fb9 Update MOB_subterranean_leap.yml 2025-06-15 23:42:08 +03:00
Ed
73de5ebcbb Update jump.yml 2025-06-15 23:37:00 +03:00
Ed
fe8967bd67 fix 2025-06-15 23:32:16 +03:00
Ed
d01b8fe32c Update ice_ghost.yml 2025-06-15 23:21:32 +03:00
Ed
93966e37d4 actions refactor apply 2025-06-15 23:20:52 +03:00
PJBot
ef832141c6 Automatic changelog update 2025-06-15 19:11:31 +00:00
SlamBamActionman
9af0b354e3 Exo Station - Upstream Playtest Version (#33144)
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-06-15 12:10:22 -07:00
Ed
ab8a5c3afd Sharedization of entityEffects and crystals slots system 2025-06-15 21:58:33 +03:00
Ed
ed1d9aca25 Update CP14SharedMagicSystem.InstantActions.cs 2025-06-15 21:48:20 +03:00
Ed
62cd6bfe9b Merge branch 'master' into ed-10-06-2025-upstream-sync 2025-06-15 21:44:16 +03:00
Ed
5328714752 fix c# 2025-06-15 21:43:58 +03:00
Ed
5046ad1aeb longer weather 2025-06-15 21:34:33 +03:00
CrystallEdge Server
6a8699a44c Automatic changelog update 2025-06-15 21:27:04 +03:00
Red
b24ec5bc80 Bugfixes (#1432)
* fix #1428

* CodTenAlt review

* fix map tests

* real this time

* fix #1429

* add wheat and cotton into victorian gardens trade faction

* Update PostMapInitTest.cs
2025-06-15 21:25:58 +03:00
ScarKy0
bc9059a72d Armblade Tweaks (#38337)
init
2025-06-15 20:23:02 +02:00
CrystallEdge Server
4dfaf6a16e Automatic changelog update 2025-06-15 18:04:44 +03:00
Red
d30b51c982 Firewave (#1430)
* nerf spiders

* firebolt to firewave

* Update firebolt.yml

* rename file

* Update firewave.yml

* Update firewave.yml
2025-06-15 18:03:38 +03:00
Ed
2f4d60b7af Update moon_strike.yml 2025-06-15 17:12:30 +03:00
Tornado Tech
8498e8d1e0 feat: skill ui scale (#1423) 2025-06-15 15:05:24 +03:00
Ed
d9dc086588 Update CP14_Changelog.yml 2025-06-15 15:04:21 +03:00
Red
04f6627e16 Lumera patron (#1427)
* mind upgrade works only on followers

* wrath of lumera, removing memory points

* enable lumera for players

* add lumera to maps

* job desc update

* guidebook
2025-06-15 15:00:18 +03:00
PJBot
be5df666f0 Automatic changelog update 2025-06-15 09:37:28 +00:00
SlamBamActionman
239f1c511e Ensure large entities don't get stuck on conveyor belt corners (#37466)
* Initial commit

* Also avoid the friction change doesn't make turned-off conveyor belts continue going

* Ensurecomp on conveyor starting

* i give up

* Minor brackets edit

* Documentation
2025-06-15 11:36:18 +02:00
github-actions[bot]
b2e8cff3ed Update Credits (#38321)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2025-06-15 11:26:03 +02:00
PJBot
b3561e0c3a Automatic changelog update 2025-06-15 08:28:40 +00:00
FungiFellow
43bad8184f Give Syndie-Cats Syndie Access (#38318)
* Update animals.yml

* Update animals.yml
2025-06-15 10:27:32 +02:00
Red
4be22326ce Gods part 6 (#1425)
* Skill scanning + bugfixes

* memory point examining

* Update base.yml

* predict skill examining

* moon beam lumera action

* balance
2025-06-15 01:50:16 +03:00
PJBot
63ee7f6272 Automatic changelog update 2025-06-14 18:30:13 +00:00
ScarKy0
208b245dcb Retractable items system + Arm Blade action (#38150) 2025-06-14 21:29:06 +03:00
PJBot
635ea4b2b4 Automatic changelog update 2025-06-14 17:23:52 +00:00
nikitosych
1bbf094c79 Fix for holoparasite's ability to attack the host through mech (#36659) 2025-06-14 20:22:45 +03:00
PJBot
7cd7e33ae3 Automatic changelog update 2025-06-14 16:10:12 +00:00
Sparlight
937326460f Add pet bag - wearable backpack for pets (#37440)
* Add pet bag

* Trailing whitespace moment

* make the linter happy

* Fix trailing whitespace concern.

* Fix Construction component oopsy-daisy

* yml guideline moment

* remove weird extra whitespace

* make the maintainer happy

* Adjusted bag visuals based on feedback

* Allow the fox aghost admin to use pet bags
2025-06-14 09:09:05 -07:00
Red
71abce8db8 Skill scanning + bugfixes (#1424) 2025-06-14 19:04:33 +03:00
Tornado Tech
374ab05f24 git: remove issue templates (#1330) 2025-06-14 17:06:19 +03:00
Red
7760e8f628 God part 4 (#1422)
* projectile spell improve

* mind improve
2025-06-14 14:21:25 +03:00
PJBot
f1ef41fad5 Automatic changelog update 2025-06-14 09:08:56 +00:00
Sparlight
67c8d1db87 Add corgium (#37951)
* Add corgi essence

* Adjust spacing concerns

* Renamed 'corgi essence' to 'corgium' based on maintainer discussion
2025-06-14 11:07:48 +02:00
PJBot
f276035f79 Automatic changelog update 2025-06-14 09:00:50 +00:00
Nox
d68990fd7a Added warden's uniforms to their dresser. (#38283)
* Added warden's uniforms to their dresser.

Signed-off-by: Nox38 <nebulousnox38@gmail.com>

* Added warden's guitar

Signed-off-by: Nox38 <nebulousnox38@gmail.com>

* Removed armored coats and guitar from warden dresser.

Signed-off-by: Nox38 <nebulousnox38@gmail.com>

---------

Signed-off-by: Nox38 <nebulousnox38@gmail.com>
2025-06-14 10:59:40 +02:00
SyaoranFox
0518be5d38 Zombies won't attack Initial Infected (#38128)
* Added Zombie faction roles everywhere that makes sense for initial infected to be associated with Zombies.

* Adding faction component to round start zombie. (not hopeful)

* Removed stupid attempts and added zombie faction component to the zombie system when the player is given the ability to force themself to zombify.

* Changed use of "zombie" for ProtoId<NpcFactionPrototype>

* Update Content.Server/Zombies/ZombieSystem.cs

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

* Update Content.Server/Zombies/ZombieSystem.cs

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

* Removed faction component from ZombieOutbreak event. Shouldn't cause problems with the event as II gets component with their ability to self zombify.

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-06-13 17:56:57 -07:00
Red
fc0beb5ccf Gods part 3 (#1421)
* apprice action, dead notice

* fix refollowing

* mist lumera action
2025-06-14 02:11:36 +03:00
PJBot
deb92514d3 Automatic changelog update 2025-06-13 19:19:05 +00:00
Deerstop
34826a2cf6 Elkridge - Major Update (#38259)
* swap HOP and vault, fix cams, new genpop, shit ton of stuff

* fixed some initialised open doors, added posters to HOP/EVA

* implemented suggestions and feedback, lots of things
2025-06-13 15:17:57 -04:00
PJBot
ac9eb1a1ff Automatic changelog update 2025-06-13 18:55:28 +00:00
Kittygyat
98031d13a1 Added monkey/kobold emergency EVA sprites & the ability for them to wear them. (#37660)
* Added monkey/kobold emergency eva suit sprites, and the ability for them to wear it

* Added tag, fixed indentation

* Ok actually fixed the indentation this time
2025-06-13 20:54:21 +02:00
Red
b932d56f15 Gods part 2 (#1420)
* spooky scary patreons

* Update CP14ReligionSystem.cs

* goodbye radio channel

* gods? no! Mana parasites! Muahahaha

* Update gods.yml

* Update primordial.yml
2025-06-13 19:21:09 +03:00
PJBot
0dbb01d623 Automatic changelog update 2025-06-13 16:12:22 +00:00
slarticodefast
ae8fdbfa51 Fix puncturase cauterizing bleeding (#38289)
fix puncturase cauterizing bleeding
2025-06-13 12:11:15 -04:00
PJBot
4f9e7fbc4d Automatic changelog update 2025-06-13 16:10:37 +00:00
qrwas
757ef3c62b fix missing locale for Undergarment (#38304) 2025-06-13 12:09:30 -04:00
PJBot
822c4118a3 Automatic changelog update 2025-06-13 15:53:26 +00:00
SyaoranFox
72b57392d1 Rat King changed to Antag (#38124)
* Changed rat king to be antag
Rat King guide updated to show antag rules

Initial infected given zombie faction
Zombies given zombie faction too (not sure if redundant or not)

* Given zombie faction to Initial Infected and Zombies in mind_roles

* Changed MindRoleGhostRoleAntag to MindRoleGhostRoleSoloAntagonist

removed components from antag listings

* Removed changes for zombies

* Update Resources/Prototypes/Roles/Antags/zombie.yml

Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>

* Update Resources/Prototypes/ai_factions.yml

Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>

* Changed mob prototype to match

* Forgot solo again

---------

Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>
2025-06-13 17:52:19 +02:00
PJBot
e0e33263ab Automatic changelog update 2025-06-13 14:44:48 +00:00
M1tht1c
da76cc02c7 Fix visitor mindshields (#36537)
* Make visitor mindshields removable, and give disaster victims mindshields.

* Fix whitespace

* Fix ALL the whitespace
2025-06-13 16:43:41 +02:00
PJBot
01bbe013ab Automatic changelog update 2025-06-13 13:54:52 +00:00
Nikovnik
685e7028d2 Transparent tear gas (#36440)
* tweaked tear gas

* changed color of tear gas

* sped up metabolism rate of tear gas

* sped up tear gas passing more

* reduced tear gas content in grenades

* added threshold for better effect end timing

* removed clickable component from foams

* Suggestion changes

* Hide in spawn menu

---------

Co-authored-by: SlamBamActionman <slambamactionman@gmail.com>
2025-06-13 09:53:44 -04:00
Ed
41689de5aa infinity mana restriction 2025-06-13 16:35:39 +03:00
Red
422a0c5e10 Gods and religions (#1405)
* basic religion vision

* block god interactions

* skill tree mob specify

* silvania setup??

* clustering shader optimization

* gods department & job

* random gods jobs

* Luxian god

* Update Nature.png

* Update sphere_of_light.yml

* god chat

* Update ChatSystem.cs

* OBSERVATION

* public observation and basic follower api

* shader tweaks

* improve shaders

* spawning and praying on altars

* altars ppvs override

* move pvs overridiation from altars to observers

* shader coloration

* spectral z mover

* god magic radius restricted

* guide how to believe in god

* sends messages to god when smoeone wanna become follower

* follower doAfter

* goodbye luxian, welcome lumera

* goodbye silvania, welcome merkas

* som polish and renamings

* gods fast travel

* Update altar.ftl

* some lumera sfx

* renouncing patrons!

* renounce followers

* followewr percentage calculation

* remove from player-facing

* fix

* Update sphere_of_light.yml

* Update base.yml
2025-06-13 14:15:48 +03:00
CrystallEdge Server
32be823619 Automatic changelog update 2025-06-13 13:26:38 +03:00
Fr0goo
542bd2d948 Flem Creature (#1402)
* added Flem Creature

a weird looking fish creature that will spawn in the demiplanes with open skies and herbals. that will attack you if you get too close

* fixed placement of lines

should be in the right places now

* changed location of fish outfit, ajusted the sprite, and made it not foldable

* added flem modifier and fixed some thingy

* Update attributions.yml

* Update mobs.yml

---------

Co-authored-by: Red <96445749+TheShuEd@users.noreply.github.com>
2025-06-13 13:25:33 +03:00
CrystallEdge Server
54715c26a8 Automatic changelog update 2025-06-13 12:25:41 +03:00
SenorJaba
8ab0939698 Merchant's monocle and ability (#1413)
* New trading stuff

* Crafts skill tree

* More trading fixes, baby!

* Last trading fix I hope

* Merchants' supremacy

* Gimme money

* Readonly
2025-06-13 12:24:36 +03:00
CrystallEdge Server
7391b5a065 Automatic changelog update 2025-06-13 10:35:38 +03:00
Sefaia
1ea8291927 Added Big Crossbow Bolts to whitelist and created a new Entity spawn item for a quiver filled with iron big crossbow bolts. (#1418) 2025-06-13 10:34:32 +03:00
PJBot
834c950449 Automatic changelog update 2025-06-13 05:23:05 +00:00
hoshizora
0b161cba6b Fix crafting steps with modular machine parts (#38299)
fixed lines that were messing with construction menu entries for machine parts
2025-06-12 22:21:57 -07:00
PJBot
622e34aaa4 Automatic changelog update 2025-06-13 01:49:36 +00:00
Qerd
eab797939b Prediction for use of utensil on incompatible food (#38297)
Prediction our beloved
2025-06-12 18:48:28 -07:00
Perry Fraser
82f598a087 Use correct on-head rainbow lizard plushie sprite (#38286) 2025-06-12 14:24:19 -07:00
PJBot
6182bead20 Automatic changelog update 2025-06-12 21:17:16 +00:00
themias
19271e6bc9 Fix gas analyzer and anom scanner wrong state (#38285)
* Fix gas analyzer and anomaly scanner UI activation issue

* save

* fix comment

* milkalyzer
2025-06-12 14:16:07 -07:00
Perry Fraser
570accb102 fix: Correct respath for lizard smite icon (#38288) 2025-06-12 22:37:44 +02:00
kosticia
e55985e575 Make BODAs start with Russian accent. (#38275)
long hand of Kremlin
2025-06-12 09:19:08 -07:00
vitopigno
ddefcbe147 Merge branch 'master' into fix_highlight 2025-06-12 17:20:50 +02:00
Perry Fraser
e09b7debe2 Fix some popup issues with pipe layer changes (#38244)
* fix: only show pipe layer popups to the user changing them

* fix: don't show pipe layer subfloor popup when not using a screwdriver

* fix: properly pass down user and used for serverside pipe layer changes

Technically this doesn't matter as the Shared codepath for this method
doesn't actually use these on the server: only the user is used for a
clientside popup. Still, will be good to have these for future changes
that might need them.
2025-06-11 22:31:48 -07:00
Tayrtahn
70ce570fe9 Cleanup chat highlighting code (#38235)
* Cache regexes

* Convert static LocManager to resolved

* Use Any instead of Count > 0

* Use var instead of explicit types

* Make _highlights readonly
2025-06-11 22:09:05 -07:00
PJBot
aee55954d3 Automatic changelog update 2025-06-12 01:23:58 +00:00
SlamBamActionman
9a5bd9de6a Add propeller hat & swirl lollipop (#38260) 2025-06-11 18:22:51 -07:00
RedBookcase
a8801e4abf Removed Toys.rsi, reorganize toy RSIs, broad /Fun/ cleanup. (#37189)
Co-authored-by: RedBookcase <Usualmoves@gmail.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-06-11 16:29:27 -07:00
PJBot
bbf6d745f6 Automatic changelog update 2025-06-11 22:26:46 +00:00
Vortebo
d9f5480397 Minor Relic improvements (#38269) 2025-06-11 15:25:38 -07:00
PJBot
5b271bb226 Automatic changelog update 2025-06-11 21:58:03 +00:00
Boaz1111
55540c374a scar availability for more species (#35645)
* :D

* updated for new scars

* small eye scar
2025-06-11 23:56:57 +02:00
Tayrtahn
699e6de1fe Fix StomachSystem PVS error (#38268)
Fix StomachSystem PVS error
2025-06-11 23:39:25 +02:00
āda
f5a28a5ad5 Cleanup exosuit fab recipes, add modules category (#38069) 2025-06-11 14:12:09 -07:00
PJBot
59472a0bc7 Automatic changelog update 2025-06-11 20:29:07 +00:00
Nox
edd2e80a4e Launchers require wielding (#38110)
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-06-11 13:28:00 -07:00
PJBot
cd57f50bfc Automatic changelog update 2025-06-11 20:21:55 +00:00
Princess Cheeseballs
6052b1cfba Basilisk Nerfs for Gameplay (#38089)
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-06-11 13:20:48 -07:00
PJBot
a4fb272ef4 Automatic changelog update 2025-06-11 20:04:21 +00:00
Seam_Less
f046d8a1f6 Magazine rsi Cleanup + Magazine Type Recolor (#37709) 2025-06-11 13:03:14 -07:00
Perry Fraser
36c048ba65 Add disambiguation to most construction menu recipe names (#38197) 2025-06-11 12:52:22 -07:00
PJBot
372e1767fa Automatic changelog update 2025-06-11 18:33:55 +00:00
Simon
f5fbef7ccc Add the instrument names to the MIDI channel selector (#38083)
* Add the instrument to the MIDI channel selector

* Reviews

Adds support for chained masters
Makes the channel UI update on its own when the midi changes (Works with bands too!)

* add to admin logs and limit track count

* Limit track names by length too

* remove left over comment

* Requested changes

* Reviews
2025-06-11 20:32:48 +02:00
Tayrtahn
27cb97a17c Cleanup 2 SpriteComponent.GetPrototypeTextures uses (#38263)
Cleanup 2 SpriteComponent.GetPrototypeTextures uses
2025-06-11 11:15:47 -07:00
Tayrtahn
00789525f8 Improve some BinSystem functionality (#38262)
* BinSystem improvements

* Prevent double-add
2025-06-11 11:04:30 -07:00
PJBot
33421ec9b4 Automatic changelog update 2025-06-11 15:37:27 +00:00
ScarKy0
b7c1849e11 Fix reinforced plasma window blocking laser shots (#38041)
* init

* stuff
2025-06-11 08:36:20 -07:00
PJBot
b1e6a0f2a1 Automatic changelog update 2025-06-11 14:02:50 +00:00
Boaz1111
f1e161acab Makes the grenadine bottle start closed. (#38219)
* whywhywhy

* removes unneeded line
2025-06-11 16:01:42 +02:00
Myra
7421d89b53 Stable (#38256) 2025-06-11 10:38:54 +02:00
Myra
448fa9bea7 [Hotfix] #38241 into stable (#38255) 2025-06-11 10:22:37 +02:00
SlamBamActionman
1bec4d10d7 Cherrypick 38241 2025-06-11 10:08:27 +02:00
PJBot
a67c26eb53 Automatic changelog update 2025-06-11 04:55:59 +00:00
hoshizora
905c298ed7 Fix mops, rags, and towels interacting with drains (#38252)
added the stuff
2025-06-10 21:54:50 -07:00
Tayrtahn
d612c56aab Forbid string literals for SharedToolSystem methods (#38250)
* Forbid string literals for ToolSystem methods

* Cleanup violations

* Sort usings
2025-06-11 03:58:21 +02:00
PJBot
58606ca230 Automatic changelog update 2025-06-11 01:17:03 +00:00
eoineoineoin
419b4e7916 Add technology to tech disk names (#38157) 2025-06-11 03:15:56 +02:00
Prole
1c99b8405b Guitar Sprite Fix (#38207)
* Modified Guitar Sprites

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* Attributions

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

---------

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>
2025-06-11 02:51:19 +02:00
Tayrtahn
3dbb8905b5 Add test that entity prototypes don't use LocIds for name/description (#38234)
* Add test that entity prototypes don't use LocIds for name/description

* Fix violation
2025-06-11 02:47:04 +02:00
Tayrtahn
4a34759514 Replace Speech bubble time accumulator with TimeSpan (#38241)
* Replace SpeechBubble time accumulator with TimeSpan

* CurTime -> RealTime
2025-06-11 02:25:43 +02:00
qwerltaz
640ec3e031 Fix construction menu grid view quirky button selection (#38214)
* make hover and info use construction proto name, not entity name

* recipeButtons uses IDs as keys, not names

* return making item green when selected
2025-06-10 17:04:39 -07:00
Tayrtahn
5a6ad30ec4 Cleanup ChameleonJobLoadoutTest (#38229)
Cleanup ChameleonJobLoadoutTest
2025-06-10 15:51:23 -07:00
PJBot
1e0d60826e Automatic changelog update 2025-06-10 21:41:55 +00:00
themias
509d650253 Fix missing bike horn implant cooldown (#38237) 2025-06-10 14:40:46 -07:00
PJBot
df8fcf5193 Automatic changelog update 2025-06-10 19:32:52 +00:00
BramvanZijp
8c6b288853 Add stamina damage resists to the bloodred raid/hard-suits (and ERT hardsuits). [TEST MERGE] (#37040)
Add stamina damage resists to the bloodred suits.
2025-06-10 12:31:44 -07:00
lzk
6f852b6a49 cleanup mirror.yml (#38222) 2025-06-10 17:29:09 +02:00
lzk
3a4b7d62c7 WHYYYYYYY (cleanup) (#38220)
* WHYYYYYYYY

* Delete Resources/Locale/en-US/actions/actions/rootable.ftl
2025-06-10 15:36:58 +02:00
qrwas
ca6ab02587 Add missing locale in Criminal Records Computer (#38217)
add missing filter locale
2025-06-10 14:19:37 +02:00
CrystallEdge Server
a9e8614d0b Automatic changelog update 2025-06-10 14:15:13 +03:00
firebat4321
d89ef56907 Firebolt (#1354)
* added firebolt spell yml, added to spellbook tree

* Added new sprites for Firebolt action/spellbook, in-game bolt sprite.

* Missing comma from fire .json file.

* Updated firebolt IDs to use own ID instead of Fireball's ID.

* Spell doesn't break on move now.

* Updated on soundHit effect

* Corrected Fireball IDs to Firebolt

* Updated copyright entries

* Update firebolt.yml

---------

Co-authored-by: Red <96445749+TheShuEd@users.noreply.github.com>
2025-06-10 14:14:07 +03:00
slarticodefast
0bdaf9e5ff merge stable into master (#38213) 2025-06-10 12:44:53 +02:00
CrystallEdge Server
c7302e16a6 Automatic changelog update 2025-06-10 13:41:27 +03:00
gogenych
3623a25033 copper loadout fix (#1414)
* copper loadout fix

* name fix
2025-06-10 13:40:19 +03:00
slarticodefast
cad0b6b3fa HOTFIX: Stop AI turrets from causing flickering lights (#38212)
no power draw
2025-06-10 12:39:24 +02:00
PJBot
5fcff99fbc Automatic changelog update 2025-06-10 09:37:43 +00:00
ArtisticRoomba
7dd202ebbe stop amber AI core from inducing seizures (#38209) 2025-06-10 02:36:33 -07:00
Ed
299d28f056 fff 2025-06-10 11:55:14 +03:00
Ed
c0f4098ca9 spell fixes 2025-06-10 11:49:35 +03:00
Ed
42d39a7c67 Merge remote-tracking branch 'upstream/stable' into ed-10-06-2025-upstream-sync
# Conflicts:
#	.github/CODEOWNERS
#	Content.IntegrationTests/Tests/Atmos/ConstantsTest.cs
#	Content.Server/Chat/Managers/ChatManager.cs
#	Content.Server/Connection/ConnectionManager.cs
#	Content.Shared/Actions/SharedActionsSystem.cs
#	Content.Shared/Lock/LockSystem.cs
2025-06-10 11:33:34 +03:00
CrystallEdge Server
a51f579591 Automatic changelog update 2025-06-10 11:09:13 +03:00
Nim
f0a25ddef6 Two-handed crossbow (#1315)
* Crossbow

* bow

* size

* size crossbow

* PhysicalComposition
2025-06-10 11:08:07 +03:00
Nim
747f76242f Rocks with moss (#1412)
* rockmoss

* line
2025-06-10 11:07:13 +03:00
PJBot
ea9330b654 Automatic changelog update 2025-06-10 04:48:45 +00:00
Southbridge
cbf8fa2349 Remade the AI Camera Static Shader (#38093)
Redid the camera static shader
2025-06-09 21:47:35 -07:00
PJBot
370c314d88 Automatic changelog update 2025-06-10 00:06:55 +00:00
ArtisticRoomba
3726eb6e19 Bring back low pressure damage to its unnerfed value (#38196) 2025-06-09 17:05:48 -07:00
PJBot
1eeecc0e20 Automatic changelog update 2025-06-09 23:05:03 +00:00
nabegator
2d5ee82aa3 hi-viz vest laser reflect (#38180)
* Update vests.yml

* Update vests.yml

* Update Resources/Prototypes/Entities/Clothing/OuterClothing/vests.yml

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-06-09 16:03:56 -07:00
PJBot
baaba203f2 Automatic changelog update 2025-06-09 22:57:41 +00:00
Spanky
bf3d09ea81 Emergency Shuttles Update (#38186) 2025-06-09 15:56:33 -07:00
PJBot
d7a4d1ed28 Automatic changelog update 2025-06-09 22:38:41 +00:00
slarticodefast
6abd44500f Stable master merge yippe among us print (#38192) 2025-06-10 00:38:10 +02:00
ArtisticRoomba
df6be08506 Derotate and remove several maps, remove unused maps (#38190) 2025-06-09 15:37:33 -07:00
PJBot
f2c4647948 Automatic changelog update 2025-06-09 22:34:31 +00:00
cnv41
8f48eae3aa Typo fix in coffin description (#38193) 2025-06-09 15:33:23 -07:00
Disp-Dev
c3956eff6d New Recipes: Breakfasts (#37279)
* Adds full english and american breakfasts and respective recipes

* sprite tweak and added random spawner

* reagent rebalance

* reagent re-rebalance

* spawner ID fix

* ACTUALLY actually fixed the spawner, also description changes

* reagent re-re-rebalance

* spawner fix so the linter stops screaming at me

* different check failed kekw

* trailing whitespace fix attempt #1

* identation fix? i think?

* indetation fix part 2, also vox cant eat this anymore

* more yaml fixes

---------

Co-authored-by: DispenserDev <mariousjoaquin@gmail.com>
2025-06-10 00:33:02 +02:00
vitopigno
c42ee5ee6f Improve color picker example and minor code comments changes 2025-06-10 00:23:51 +02:00
slarticodefast
d4c4606cf4 Revert tile aligned barsigns (#38185)
fixtures for bar signs (#37756)"
2025-06-10 00:02:31 +02:00
Tayrtahn
264573b9e1 Cleanup unused fields in DrinkSystem (#38181)
Cleanup unused fields in DrinkSystem
2025-06-09 19:56:12 +02:00
Tayrtahn
f8e89749c5 Give unique names to all curtain construction recipes (#38182)
* Give unique names to all curtain construction recipes

* Duplicate entry
2025-06-09 19:55:44 +02:00
slarticodefast
f8c71db50f Revert "Add trailing whitespace check workflow" (#38179)
Revert "Add trailing whitespace check workflow (#37367)"

This reverts commit be35f6e9ce.
2025-06-09 19:21:42 +02:00
Errant
99b2955c09 HOTFIX Revert #38004 : Change C-4 back to syndicate contraband (#38177)
* Revert "Made C-4 Major contraband instead of syndicate contraband (#38004)"

This reverts commit 0a565469c7.

* remove changelog
2025-06-09 18:59:37 +02:00
PJBot
eb29ec330a Automatic changelog update 2025-06-09 15:12:26 +00:00
pathetic meowmeow
3d40bebbef Allow cargo request computers to send orders to the primary account (#37943) 2025-06-09 11:11:19 -04:00
PJBot
b1ab5bd059 Automatic changelog update 2025-06-09 14:37:12 +00:00
DrSmugleaf
7f9b2a0434 Fix eating and drinking verbs showing up after a short delay and making your verb UI bounce (#38164)
* Fix eating and drinking verbs showing up after a short delay and making your verb UI bounce

* Usings fix

* Usings fix

* Usings fix

* Usings fix

* CVar fix

* Predicted ppups

* Openable predicted popup

* Fix audio prediction
2025-06-09 10:36:04 -04:00
metalgearsloth
bd67e82093 Update submodule to 262.0.0 (#38174) 2025-06-10 00:08:53 +10:00
Red
14efec2f47 Update actions_changelogs_since_last_run.py 2025-06-09 14:49:07 +03:00
Red
508aead876 Update actions_changelogs_since_last_run.py 2025-06-09 14:43:33 +03:00
CrystallEdge Server
50af3f1d23 Automatic changelog update 2025-06-09 14:37:01 +03:00
Viator-MV
e06e1bb7fc Druid stuff (#1396)
* staff

* Revert "staff"

This reverts commit bb7532e0b2.

* not resprite
2025-06-09 14:35:56 +03:00
CrystallEdge Server
4daaedb900 Automatic changelog update 2025-06-09 14:35:43 +03:00
Alchebun
8d55affc34 Buildable Wooden Fences (#1370)
* Start of New PR

* still figuring it out

* This is confusing...

* AHA! Progress!

* Big Fences complete

* smaller fence test

* fixed smaller gates

---------

Co-authored-by: Alchebun <jimmy.12.or#gmail.com>
2025-06-09 14:34:38 +03:00
CrystallEdge Server
799189d4f5 Automatic changelog update 2025-06-09 13:26:45 +03:00
Sefaia
29a88758c0 Fixed some misplaced recipes for Aventails and Greaves. (#1409) 2025-06-09 13:25:39 +03:00
Leon Friedrich
9247621a96 Add FixedPoint2TypeParser (#38169) 2025-06-09 18:01:53 +10:00
PJBot
5604607af4 Automatic changelog update 2025-06-09 07:41:21 +00:00
Tiniest Shark
2d08f79229 Assorted device and core inhands (#38162)
* Assorted device and core inhands

* whoops forgot the thief objective

* i missed literally on pixel on the fulton argh

* inhand pinpointer update
2025-06-09 00:40:14 -07:00
PJBot
700990c2d3 Automatic changelog update 2025-06-09 07:32:56 +00:00
Orsoniks
ef42c36cdb Improved Health examination text (#38126)
* more health examinations

* better blood

* fix

* tweaks

* sizeable

* silicon fix

* tweaks

* bleeding color tweaks

* fix
2025-06-09 00:31:49 -07:00
CrystallEdge Server
e5abe8d48a Automatic changelog update 2025-06-09 08:57:24 +03:00
Jona-K
a67fa6f6d5 Made sure only the intent changes are present (#1408) 2025-06-09 08:56:18 +03:00
PJBot
2d3df9c77d Automatic changelog update 2025-06-09 01:06:31 +00:00
Archee
a46861e221 Missing contraband tags on explosives (#37521)
* Firebombs as minor contraband

* Pipebombs as minor contraband

* Seismic charge as cargo/sec contra (like crushers)

* Modular payloads
2025-06-08 18:05:22 -07:00
Kyle Tyo
546bfd0a30 MapManager warnings cleanup Server Edition 2003 (#36781)
* now you see me

* unused depen

* test fail fix attempt 1

* test fail fix attempt 2

* fix test fail attempt 3

* shot in the dark.

* Does this work?

* import cleanup

* taking a shot at this.

* Convert PersistenceSaveCommand to LocalizedEntityCommands.

* requested changes

* requested changes. also dealt with improperly named private const

* Update Content.Server/GameTicking/GameTicker.Spawning.cs

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

* Update Content.Server/GameTicking/GameTicker.Spawning.cs

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

* Convert PlanetCommand to LocalizedEntityCommand

* Update BiomeSystem.cs

* Update Content.Server/Salvage/SalvageSystem.Runner.cs

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

* Update Content.Server/Procedural/DungeonSystem.Rooms.cs

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

* Update Content.Server/Salvage/SpawnSalvageMissionJob.cs

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

* Update Content.Server/Station/Systems/StationBiomeSystem.cs

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

* revert to latest master.

* slartis suggestion.

* Update SetMapAtmosCommand.cs

* cleanup

* Update PersistenceSaveCommand.cs

* finish localizing persistencesavecommand

* this is icky, I change.

* :sigh:

* revert whatever I did here?

* oh I see, some inconsistencies.

* revert this

* Update PlanetCommand.cs

* move this ftl to the commands folder

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-06-09 02:09:42 +02:00
CrystallEdge Server
bf8f6dc0ef Automatic changelog update 2025-06-08 19:17:31 +03:00
gogenych
c7151a7f56 Copper time! (#1403)
* blyad ya na mastere sdelal

* returned readability

* new presets for copper weapons

* fix
2025-06-08 19:16:25 +03:00
CrystallEdge Server
612c61deae Automatic changelog update 2025-06-08 10:54:28 +03:00
Peck3
c4cae9ce0c Innkeeper guidebook entry (#1318)
* Innkeeping guidebook text

Contains the text for the innkeeping guidebook page

* Update jobs.yml

Adds innkeeper to jobs.yml

* Update jobs.yml

* Update jobs.yml

* Update jobs.yml

* RU jobs.yml

* Innkeeper guidebook text RU

* Grammar update

* Ru

* Adds PhantornRU's suggestions

* Small grammar updates to new text

* Another update to the suggested text

* Update RU page, translation needed

* Testing out images

* Fixed embeds, added more

* Fucked up the boxes

* maybe this time it will work

* This time for sure

* it didnt work

* It worked, updated RU page

---------

Co-authored-by: Red <96445749+TheShuEd@users.noreply.github.com>
2025-06-08 10:54:11 +03:00
CrystallEdge Server
8858a477fa Automatic changelog update 2025-06-08 10:53:23 +03:00
Nim
024d22dc05 Slippers and hat (#1398)
* Slippers and hat

* sound

* fix
2025-06-08 10:53:19 +03:00
Viator-MV
f7622a2123 New skeleton fixes (#1394)
* thats all

* T1too
2025-06-08 10:52:14 +03:00
Viator-MV
bcbbd6e31b cooldown (#1401)
Your personal Viator has overheated, and the cooldown will last until active PR's are approved.
2025-06-08 10:03:53 +03:00
PJBot
766bade68f Automatic changelog update 2025-06-08 03:48:44 +00:00
Samuka-C
33ae484b2d adjreagent now accepts float (#38134)
* adjreagent now accepts float

* var
2025-06-07 23:47:37 -04:00
PJBot
3871aec5fd Automatic changelog update 2025-06-08 02:50:51 +00:00
Nox
35411b5090 No raffle for space carp (#38101)
No raffle for carp

Signed-off-by: Nox38 <nebulousnox38@gmail.com>
2025-06-07 22:49:44 -04:00
github-actions[bot]
499055b9c9 Update Credits (#38143)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2025-06-07 21:05:23 -04:00
vitopigno
881cf66e4e Correct grammar and modify user-excluding highlight 2025-06-08 02:25:21 +02:00
Tayrtahn
e909ffa933 Forbid string literals for NpcFactionSystem methods (#38140)
* Add ForbidLiteral attribute to NpcFactionSystem methods

* Cleanup resulting warnings
2025-06-08 00:39:18 +02:00
PJBot
c5bdbdfea9 Automatic changelog update 2025-06-07 22:24:55 +00:00
slarticodefast
a1173e3c27 Fix stripping window for more than 2 hands (#37577) 2025-06-07 15:23:46 -07:00
slarticodefast
9cb1a669d6 make PacifiedComponent session specific (#38137) 2025-06-07 14:37:13 -07:00
PJBot
5f4e55e583 Automatic changelog update 2025-06-07 17:38:04 +00:00
Perry Fraser
7ce2d241dd fix: allow ejecting diamonds from lathes/silos (#38132) 2025-06-07 13:36:58 -04:00
K-Dynamic
eb208a2ae8 Genpop wall lockers (#38102)
* sprites

* genpop wall lockers

* number 5 alive

* slight boilerplate code, thank you slarti
2025-06-07 17:51:38 +02:00
Ed
3532a0f945 Update default.yml 2025-06-07 16:34:39 +03:00
PJBot
3ecb0b40a3 Automatic changelog update 2025-06-07 13:06:32 +00:00
K-Dynamic
a84d718a09 Reduce disabler capacity to 16 shots (#36019)
* 14 shots

* 14 to 16
2025-06-07 15:05:25 +02:00
lzk
32301a6dcb chem.yml cleanup (#38129)
Update chem.yml
2025-06-07 13:38:36 +02:00
CrystallEdge Server
ebd01f4980 Automatic changelog update 2025-06-07 14:05:47 +03:00
Red
3e78962d91 Venicialis new map (#1397)
* venec map

* venec udate

* venicialis fort

* Update PostMapInitTest.cs
2025-06-07 14:04:41 +03:00
PJBot
b61824d287 Automatic changelog update 2025-06-07 02:30:20 +00:00
hoshizora
373ab740bb Add name to chameleon controller implanter (#38117)
Update implanters.yml
2025-06-06 19:29:13 -07:00
Kyle Tyo
5707a31cac ShowEmergencyShuttleCommand and MeleeSpreadCommand LEC conversion. (#37993)
progress
2025-06-06 20:28:00 -04:00
Quantum-cross
8324aa9bea Fix serialization of SunShadowCycleComponent (#38002)
* Use a struct to hold the items for `Directions` in `SunShadowComponent`, fix serialization.

* actually make them datafields...

* Add NetSerializable to datadef

* this is why we can't have nice things
2025-06-06 20:14:11 -04:00
PJBot
a6fabb9e94 Automatic changelog update 2025-06-06 23:09:22 +00:00
slarticodefast
f274dc6526 fix wallmount vending machine dispense direction (#38112)
fix wallmount vending machine direction
2025-06-06 19:08:16 -04:00
PJBot
3d54da58da Automatic changelog update 2025-06-06 23:02:21 +00:00
Spanky
668a0f0863 Light Up Landmines (#38092)
* Adjust landmines to have unshaded lights.

* Someday I will give myself credit for the work I do.

* Adjust animation speed.
2025-06-06 19:01:14 -04:00
Kyle Tyo
a31376c925 Add player autofill to rename command. (#38074)
* simple enough

* switch to CompletionResult.FromOptions and CompletionHelper.SessionNames

* cleanup
2025-06-06 18:52:48 -04:00
jkwookee
57567a92c6 Reduce Liquid Frezon Duration (#38100)
testing
2025-06-06 18:41:21 -04:00
slarticodefast
7c382cc6ce Don't show climb verb for objects that cannot be climbed (#38115)
fix climb verb
2025-06-06 18:25:17 -04:00
PJBot
a60d5d4002 Automatic changelog update 2025-06-06 22:14:28 +00:00
themias
afa62b5e69 Increase throwing into disposal chance (#38116) 2025-06-07 00:13:20 +02:00
Tayrtahn
136208dbc3 Fix throwing items into disposal units (#38106) 2025-06-06 23:40:08 +02:00
PJBot
bb14492464 Automatic changelog update 2025-06-06 21:08:20 +00:00
Minemoder5000
cddc9926b0 Shark toys use the bite animation. (#38113) 2025-06-06 14:07:09 -07:00
Tayrtahn
95632859b7 Cleanup unused/redundant dependencies (#38099) 2025-06-06 18:11:52 +02:00
CrystallEdge Server
f259fe37d6 Automatic changelog update 2025-06-06 18:07:14 +03:00
gogenych
6735f16e59 some price change (#1392) 2025-06-06 18:06:07 +03:00
Errant
a332817803 emergency shuttle emergency lockers (#38095) 2025-06-06 12:12:33 +02:00
PJBot
60060526a1 Automatic changelog update 2025-06-06 02:29:11 +00:00
Samuka-C
bc4a45d6e5 Make improvised explosive devices minor contra (#38088)
pipe bomb and fire bombs are minor contra
2025-06-05 19:28:04 -07:00
PJBot
54d7f3f808 Automatic changelog update 2025-06-06 00:14:43 +00:00
RedBookcase
219015dcd8 Added Scrap Armor [Reupload]. (#37601)
* Added Scrap Armor v2.

* Added a note to scrap helmet about vision reduction.

* Removed protection from step triggers.

* The patient needs broken kneecaps to live.

* Add in missing tag

* Missing tags pt 2

---------

Co-authored-by: RedBookcase <Usualmoves@gmail.com>
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
2025-06-05 20:13:36 -04:00
PJBot
c300f5dd74 Automatic changelog update 2025-06-05 23:47:02 +00:00
themias
eb85a8a1b0 Muzzles reduce emote sound (#34444)
* Muzzles reduce emote sound

* update based on review comments

* review comments
2025-06-05 19:45:55 -04:00
PJBot
7943dad603 Automatic changelog update 2025-06-05 23:41:57 +00:00
K-Dynamic
2a4540fffa Rifle crate order (#35535)
* lecter crate and gift

* revert cargo gift security armor change

* rifle cost down to 8000 spesos
2025-06-05 19:40:51 -04:00
PJBot
3bbc03c838 Automatic changelog update 2025-06-05 23:37:38 +00:00
Xeri Marai
18fa45addd Improve Potted Plant Movability and Availability (#37591)
* Added Purchasable Potted Plant Crate

* Removing some whitespace that made it in elsewhere

* Making Potted Plants Items and pickupable

* Revert Making potted plants not fade

This reverts part of commit a50a7def80c06e5be68a37263306007739952a28.

* Adding self to credits

* Fixing sus spacing
2025-06-05 19:36:31 -04:00
PJBot
d1e1c8bb5d Automatic changelog update 2025-06-05 23:36:22 +00:00
August Sun
f9784206e0 Adds individual Bulldog magazines to the syndicate uplink (#37917)
* Brief commit to update branch

* added more magazines to uplink, corrected spelling in ftl file for uplink, corrected sprite state for incendiary bulldog mag

* removed incendiary drum, increased cost of slug drum

* Emogarbage swoop

---------

Co-authored-by: august-sun <45527070+august.sun@users.noreply.github.com>
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
2025-06-05 19:35:15 -04:00
chromiumboy
db4d419f7b Access Reader Refactor (#37772)
* Initial commit

* Integration test fix

* Removed redundant dirtying of accessreader
2025-06-05 19:28:55 -04:00
PJBot
110bcbe595 Automatic changelog update 2025-06-05 23:28:09 +00:00
vmzd
4cbfd19312 Add hair back to hardhats (#38086)
adds hair back to hardhats
2025-06-05 19:27:33 -04:00
RedBookcase
6fb613e87e Standardized running and walking speed debuffs for equipped gear. (#37828)
Co-authored-by: RedBookcase <Usualmoves@gmail.com>
2025-06-05 19:27:01 -04:00
ArtisticRoomba
daeeae3ac0 Sellable syndicate contraband (#37835)
* Sellable syndicate contraband

* 1984 tests, laughible

* Balancing
2025-06-05 19:26:31 -04:00
PJBot
c843bb8867 Automatic changelog update 2025-06-05 23:24:21 +00:00
Southbridge
0dd30c87a6 Reorganized Turret Prototypes (#37863)
* Reorganized turret prototypes

* Added circuit board to migrations

* Fixed frequencies

* Fixed typos and set the base control panel to abstract since it's technically not constructable yet

* Fixed the typo in the migrations

* Addressed changes

* Whitespace fixes

* Whitespace check fix

---------

Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>
2025-06-05 19:24:02 -04:00
Hitlinemoss
3d942e1cad Added security mime mask (#37890)
* Added security mime mask

* Improved security mime mask equipped sprites

* Improved security mime mask icon sprite

* meta.json spacing fix
2025-06-05 19:23:13 -04:00
PJBot
326dfa659b Automatic changelog update 2025-06-05 23:21:54 +00:00
PJBot
6141b448eb Automatic changelog update 2025-06-05 23:20:48 +00:00
Gentleman-Bird
076310bd58 Fix soap recipe so it actually works (#37923)
Change soap recipe
2025-06-05 19:20:44 -04:00
Simon
d7d7a6c80e Split codewords into its own system (#37928)
* Split codewords into its own system

* Fix admin log

* Nuke unused code

* Fix formatting errors

* Fix tests

* Make the codeword system add itself if called when not active

* Put comment in right place.

* Review: Rename prototypes

* Review: Make codewords serializable

* Fix build

* Reviews: Change the system to not be a gamerule.

* Fix YAML Linter

* Fix test fail

* Remove unused import
2025-06-05 19:19:41 -04:00
Kyle Tyo
db38a9c945 Revise ShowAccessReadersCommand as LocalizedEntityCommands (#37991)
* revise ShowAccessReadersCommand

* don't believe this is needed anymore? hopefully servers world wide don't explode.
2025-06-05 19:17:31 -04:00
PJBot
1c27a2a383 Automatic changelog update 2025-06-05 23:17:03 +00:00
chromiumboy
ea1ecad3ff Tweak for the visual coverage granted to station AIs by holopads (#38059)
* Initial commit

* Added option to require anchoring
2025-06-05 19:15:55 -04:00
PJBot
ff4861b7b4 Automatic changelog update 2025-06-05 21:07:47 +00:00
Orsoniks
e21fb8ff39 In-hand sprites for some food items (#38024)
* so meow changes

* qwawa

* fixed sprites

* Update meta.json

* Update meta.json

* Update meta.json

* Update meta.json

* Update meta.json

* more inhand variations using coloring

not perfect but better than nothing

* more meats

* pizza inhands, ported from starlight and edited

* add link

* snack inhands

* worldpeas

* chips

* packets

* all snacks and trashes finished

* correction
2025-06-05 17:06:38 -04:00
metalgearsloth
a91154702d Update submodule to 261.2.0 (#38081) 2025-06-05 23:08:33 +10:00
PJBot
3851893953 Automatic changelog update 2025-06-05 12:53:48 +00:00
slarticodefast
7d2d05b99c Fix noir shader in compability mode (#38080)
fix noir shader in compability mode
2025-06-05 14:52:39 +02:00
CrystallEdge Server
354169afe8 Automatic changelog update 2025-06-05 12:47:44 +03:00
Red
a04720e2a0 fuck rings (#1389) 2025-06-05 12:46:38 +03:00
CrystallEdge Server
d08526fa39 Automatic changelog update 2025-06-05 11:47:14 +03:00
Jona-K
9e9b7f583f Removing The Scream Action From The Action Bar (#1348)
* Removed Initilization For The Scream Action

* Commetet out code instead of Deleting it outright

* Commetet Out The Code Inititzilazing The Scream Action

* Update Content.Server/Speech/EntitySystems/VocalSystem.cs

* Update Content.Server/Speech/EntitySystems/VocalSystem.cs

---------

Co-authored-by: Red <96445749+TheShuEd@users.noreply.github.com>
2025-06-05 11:46:08 +03:00
PJBot
2f5964063d Automatic changelog update 2025-06-05 06:09:45 +00:00
Spanky
9bb3140550 Evac Repair Lockers (#38075)
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
2025-06-04 23:08:38 -07:00
CrystallEdge Server
9632bc8bfc Automatic changelog update 2025-06-05 00:59:10 +03:00
Red
d16b9c8de7 Kill guards with sharpened blade (#1386)
* disable guard

* sharpening

* remove mithril from trading

* merchants remap

* Update guard_commander.yml
2025-06-05 00:58:04 +03:00
PJBot
be6326077a Automatic changelog update 2025-06-04 21:42:47 +00:00
Spanky
694b0093c2 Fland Update (#38068)
Add turrets to Fland
2025-06-04 17:41:38 -04:00
PJBot
121dd6666b Automatic changelog update 2025-06-04 20:38:20 +00:00
Spanky
b2d54c510e Omega Update (#38066) 2025-06-04 13:37:11 -07:00
CrystallEdge Server
0b0d2a941f Automatic changelog update 2025-06-04 18:41:24 +03:00
Red
538585d9cb Beer bug (#1384)
* magic beer

* disable personal objectives
2025-06-04 18:40:18 +03:00
Cojoke
4b226eaad6 Remove Lube From Trash Puddle Spawns (#38048) 2025-06-04 14:16:24 +02:00
CrystallEdge Server
5eaaaf4d3e Automatic changelog update 2025-06-04 14:35:15 +03:00
Red
e6188a3fbf Golden balance touch (#1382)
* gold refactor

* Update ore_veins.yml

* remove gold and mithril from maps
2025-06-04 14:34:08 +03:00
Funce
148fb5ca23 Blood-Red Magboots now correctly show if magboots are active (#38013)
* Change JetPack Item Visuals to use GenericVisualizer instead of AppearanceChangeEvents

* Fix YAML indentation for jetpacks.yml
2025-06-04 13:10:06 +02:00
PJBot
146ba7edbb Automatic changelog update 2025-06-04 10:54:07 +00:00
SlamBamActionman
d81e82cef7 Add Diona rooting (#32782)
* Initial commit

* Add sound

* Review commets

* addressing review

* I think this is what Slart meant?

* Review fixes

* More fixes

* tiny formatting

* Review fixes

* Review fixes

* Fix small timing error

* Follow new action system

* review

---------

Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
Co-authored-by: ScarKy0 <scarky0@onet.eu>
2025-06-04 12:52:59 +02:00
PJBot
1c8c85ea1d Automatic changelog update 2025-06-04 10:13:45 +00:00
vitopigno
f8d0b0cba3 Add text highlighting (#31442)
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
Co-authored-by: Hans Larsson <hanandlia@gmail.com>
Co-authored-by: Tobias Berger <toby@tobot.dev>
2025-06-04 12:12:37 +02:00
SlamBamActionman
44000552c3 Merge stable into master (#38058) 2025-06-04 11:35:43 +02:00
CrystallEdge Server
8907d08718 Automatic changelog update 2025-06-04 12:24:00 +03:00
Red
17be798db4 Grass bags (#1381)
* grass bugs

* move to victoria

* Update tiles_grass_bag.yml
2025-06-04 12:22:54 +03:00
SlamBamActionman
7567f17a46 Change "Terrorism" to "Station-Wide Destruction" in Space Law (#37362)
* crime is bad

* Add atmos description

* Update SpaceLaw.xml
2025-06-04 11:08:42 +02:00
CrystallEdge Server
63b2e530c8 Automatic changelog update 2025-06-04 11:44:21 +03:00
Red
6c47cb8c77 f (#1380) 2025-06-04 11:43:15 +03:00
PJBot
a1b5a59745 Automatic changelog update 2025-06-04 08:17:24 +00:00
Moomoobeef
2184d38460 Stylized the nanotask printouts to be *pretty* (#37805) 2025-06-04 01:16:14 -07:00
CrystallEdge Server
08c865bebc Automatic changelog update 2025-06-04 09:58:16 +03:00
Nim
dedd3a8b33 New carpets (#1375)
* new carpets

* Flammable
2025-06-04 09:57:09 +03:00
PJBot
da5122a891 Automatic changelog update 2025-06-03 23:10:02 +00:00
Spessmann
a3550d0f8f Convex AI turret update (#38053)
convex update
2025-06-03 19:08:53 -04:00
PJBot
23614edffc Automatic changelog update 2025-06-03 18:21:18 +00:00
ScarKy0
a7db20df41 Increase uranium window health (#38040)
init
2025-06-03 11:20:09 -07:00
PJBot
c8c10b88a8 Automatic changelog update 2025-06-03 18:14:07 +00:00
K-Dynamic
71d928bbd1 Cryo sleep units no longer collide with mobs (#37979)
* make cryo sleepers not trap people

* don't forgor to push change
2025-06-03 11:13:00 -07:00
PJBot
7f92383baa Automatic changelog update 2025-06-03 17:39:14 +00:00
TheFlyingSentry
384dcae81d Fixes electropacks not ignoring insulation (#38011)
Co-authored-by: TheFlyingSentry <Daniel.l.Elledge@gmail.com>
2025-06-03 10:38:07 -07:00
Ed
20755be5a7 Create changelog.ftl 2025-06-03 19:07:23 +03:00
PJBot
a8dcb4ff43 Automatic changelog update 2025-06-03 16:02:15 +00:00
Hitlinemoss
442094da5b Cargo food crate adjustments (#38006)
* Adjusted cargo food prices; removed large pizza/softdrinks crates

* Adjusted salvage_rewards.yml and cargo_gifts.yml around the removal of large pizza/soda crates
2025-06-03 18:01:07 +02:00
āda
b6af2dbaf8 Loc fix for emote guidebook (#38020)
Loc fix
2025-06-03 17:55:15 +02:00
CrystallEdge Server
7426f4cbf3 Automatic changelog update 2025-06-03 18:13:49 +03:00
Red
c41f20706e +rep (#1376) 2025-06-03 18:12:44 +03:00
CrystallEdge Server
f47c94fc08 Automatic changelog update 2025-06-03 17:11:40 +03:00
Kit
367c53986c change healing to use EvenHealthChange (#1340) 2025-06-03 17:10:33 +03:00
CrystallEdge Server
166eb60e83 Automatic changelog update 2025-06-03 15:38:31 +03:00
Nim
dd6f5a7e6f lockpick artifact (#1374) 2025-06-03 15:37:25 +03:00
Ed
225739a348 Update CP14_Changelog.yml 2025-06-03 14:59:27 +03:00
ScarKy0
9dd0855dd0 Predict AME Fuel Examine (#38018)
* init

* :)
2025-06-03 13:51:50 +02:00
PJBot
06476d766d Automatic changelog update 2025-06-03 11:51:05 +00:00
ScarKy0
464b2e1d3c Fix directional window inconsistencies (#38038) 2025-06-03 13:49:57 +02:00
Mandranir
ca87391672 fix(objects): dropper size to tiny (#1373) 2025-06-03 14:48:24 +03:00
CrystallEdge Server
3b8b5f4def Automatic changelog update 2025-06-03 14:40:45 +03:00
TheKittehJesus
4c7b035c9c New belt controls (#1298)
* Work for a madman

* God, that's a lot of hardcoding

* Fixed belt2 smartequip and cleaned up

* Continued clean up

* No scope creep!

* Replaced belt1 for upstream default belt

* Moved CP14OpenSkillMenu to CP14ContentContexts

* Changed naming of belt1 textures to just belt

* Updated new belt1 refrences

* I forgot to edit the RSI meta

* fix all BELT1 Texture instance

---------

Co-authored-by: Red <96445749+TheShuEd@users.noreply.github.com>
2025-06-03 14:39:39 +03:00
CrystallEdge Server
0558da566a Automatic changelog update 2025-06-03 14:23:30 +03:00
DeLTaAlarm0
261441dd67 Open/closed table sign (#1275)
* Added open/closed sign

* Added open/closed sign

* Update openclosed_sign.yml

* Update openclosed_sign.yml

* Update workbench recipes

* Update openclosed_sign.yml

* Update openclosed_sign.yml

* Update misc.yml
2025-06-03 14:22:24 +03:00
CrystallEdge Server
1e6933be5b Automatic changelog update 2025-06-03 12:44:27 +03:00
Red
581ca2f5ef OP Ballades (#1372) 2025-06-03 12:43:21 +03:00
TheKittehJesus
d4e9049576 Added reset all (non-free) skills (#1343)
* Added reset all (non-free) skills

* I don't know why I didn't do this the first time

* Formatting fixes

* Removed old code and made removal function iterate in reverse order
2025-06-03 10:58:21 +03:00
CrystallEdge Server
766f17e559 Automatic changelog update 2025-06-03 09:42:23 +03:00
TheKittehJesus
a070db91be Changed cashconverter to be anchorable on tables (#1371) 2025-06-03 09:41:17 +03:00
PJBot
37c206851e Automatic changelog update 2025-06-03 05:59:35 +00:00
JpegOfAFrog
fdc8aa8e89 Adds air atmospherics markers to emergency_plasma.yml (#37768)
Co-authored-by: GuyThatFawkes <212874941+GuyThatFawkes@users.noreply.github.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-06-02 22:58:25 -07:00
PJBot
e2f7675545 Automatic changelog update 2025-06-03 04:31:30 +00:00
Mixelz
89bb7e9ade Plasma genpop (#38028)
* 1st Draft

1st Genpop Draft

* Draft 2

* Tile Fixes

Curse you Spanky

* Added Salv Board & Turrets

* Spanky Change Requests

See Plasma Discord Thread for details

* Variantize + Fix Rotations

:godo:
2025-06-03 00:30:22 -04:00
CrystallEdge Server
66df1d83c3 Automatic changelog update 2025-06-03 01:05:38 +03:00
ArZarLordOfMango
72735a627d fix moral (#1368) 2025-06-03 01:04:33 +03:00
CrystallEdge Server
5a78f44ed9 Automatic changelog update 2025-06-03 01:00:14 +03:00
paige404
881a504334 Reorganize slime ymls, adjust damage resistances and vulnerabilities for slimes (#1300) 2025-06-03 00:59:07 +03:00
CrystallEdge Server
186afe7ed8 Automatic changelog update 2025-06-03 00:39:24 +03:00
Red
43913d9d11 cozy (#1367) 2025-06-03 00:38:19 +03:00
PJBot
4f71d32f21 Automatic changelog update 2025-06-02 21:21:46 +00:00
Manuel Gusmão
a614e719ff Fix: Wall-mounted SpawnPrototype Issue. (#36353)
Fix #34569: Wall-mounted SpawnPrototype Issue.
Every wall-mounted prototype that uses SpawnPrototype in it's
deconstruction now uses GivePrototype
which gives the entity to the user, or drops it on the ground
in case their hands are full, no longer
spawning the entity inside the wall or on the other side of it
2025-06-02 17:20:39 -04:00
Ed
8d8ad5130b Update actions_changelogs_since_last_run.py 2025-06-02 23:34:20 +03:00
CrystallEdge Server
7df16c306d Automatic changelog update 2025-06-02 23:01:22 +03:00
Red
d80ab67391 Update fire.yml (#1365) 2025-06-02 23:00:16 +03:00
Ed
2a5552f44c Update CP14Publish.yml 2025-06-02 22:40:23 +03:00
CrystallEdge Server
d239e33094 Automatic changelog update 2025-06-02 22:34:22 +03:00
Red
9da211a4e0 Ed 02 06 2025 changelog test 8 (#1364)
* Update fire.yml

* Update fire.yml

* Update fire.yml

* Create CP14_Changelog.yml

* Update PULL_REQUEST_TEMPLATE.md

* Update fire.yml

* some edge
2025-06-02 22:33:16 +03:00
CrystallEdge Server
50e629fa07 Automatic changelog update 2025-06-02 22:01:43 +03:00
Red
1a67ee82d6 Ed 02 06 2025 changelog test 7 (#1363)
* Update fire.yml

* Update fire.yml

* Update fire.yml

* Create CP14_Changelog.yml

* Update PULL_REQUEST_TEMPLATE.md

* Update fire.yml
2025-06-02 22:00:37 +03:00
Red
35d6c8041f Ed 02 06 2025 changelog test 6 (#1362)
* Update fire.yml

* Update fire.yml

* Update fire.yml

* Create CP14_Changelog.yml

* Update PULL_REQUEST_TEMPLATE.md

* Update fire.yml
2025-06-02 21:54:33 +03:00
CrystallEdge Server
f4c5a9c71a Автогенерация чейнджлога 2025-06-02 21:51:59 +03:00
Red
c0cda3fb8e Ed 02 06 2025 changelog test 5 (#1361)
* Update fire.yml

* Update fire.yml

* Update fire.yml

* Create CP14_Changelog.yml

* Update PULL_REQUEST_TEMPLATE.md
2025-06-02 21:49:08 +03:00
Red
c037af2f77 Ed 02 06 2025 changelog test 4 (#1360)
* Update fire.yml

* Update fire.yml

* Update fire.yml

* Create CP14_Changelog.yml
2025-06-02 21:44:46 +03:00
Red
96dc23c9ff Ed 02 06 2025 changelog test 3 (#1359)
* Update fire.yml

* Update fire.yml

* Update fire.yml
2025-06-02 21:40:15 +03:00
Red
3bdb9c646d Ed 02 06 2025 changelog test 2 (#1358)
* Update fire.yml

* Update fire.yml
2025-06-02 21:18:58 +03:00
Red
2b1cef9d72 Update fire.yml (#1357) 2025-06-02 21:16:07 +03:00
Red
08c1560a11 Update PULL_REQUEST_TEMPLATE.md 2025-06-02 21:11:11 +03:00
PJBot
3fa3b39878 Automatic changelog update 2025-06-02 17:07:52 +00:00
Krunklehorn
c2b1b81ec8 Add checks for various complex interactions (#37246)
* Prevent toggling radiation collectors

* Prevent resisting locks

* Prevent unbuckling others, early exit before doafter

* Prevent camera and camera router setup

* Prevent rotating and flipping

* Also prevent adding the unbuckle verb.

* Revert ResistLocker changes

* Prevent emitter tampering

* Also prevent lock verb

* Prevent toggling welders

* Prevent gun open/close bolt, rack and switch mode

* Prevent toggling stun batons
2025-06-02 10:06:45 -07:00
PJBot
9167683d10 Automatic changelog update 2025-06-02 16:17:17 +00:00
slarticodefast
1441effed2 improve noir glasses shader (#37996)
* improve noir glasses shader

* tweak values
2025-06-02 09:16:10 -07:00
Red
acc8093f9a More economy fixes (#1356)
* fic

* Update base_instruments.yml

* fix

* Update chests.yml
2025-06-02 18:06:56 +03:00
PJBot
79e0ed38d1 Automatic changelog update 2025-06-02 14:03:49 +00:00
BarryNorfolk
b2d0f7ed28 Add multipart machines system (#35969) 2025-06-02 17:02:41 +03:00
Viator-MV
c939761737 skelemake (#1276)
* skelemake

* sharded

* mastery

* Not so slow cast

* ok no demi deipletion

* skillstorage and Species

* ressurection dead

* fixed

---------

Co-authored-by: Red <96445749+TheShuEd@users.noreply.github.com>
2025-06-02 14:20:45 +03:00
Nim
5a2ccc3e08 Resprite (#1328)
* well resprite

* broken well

* Campfire

* meta

* Quantity
2025-06-02 14:16:42 +03:00
PJBot
9a38d66df2 Automatic changelog update 2025-06-02 11:10:52 +00:00
Ciarán Walsh
d83f393fa4 Use distinct action labels for toggling internals on and off. (#36073)
* Use distinct action labels for toggling internals on and off.

* Implement specific actions for enabling/disabling internals

Avoids potential confusing race conditions where two people might perform the "Toggle Internals On" action an the same person,
which would have jsut toggled twice.

* If no gas tank, will give popup

---------

Co-authored-by: beck-thompson <beck314159@hotmail.com>
2025-06-02 13:09:45 +02:00
PJBot
8f1c624075 Automatic changelog update 2025-06-02 10:42:41 +00:00
Cojoke
2721d8fd5d Lube Evaporates Slowly (#37998) 2025-06-02 12:41:34 +02:00
PJBot
8d59c6310d Automatic changelog update 2025-06-02 09:19:53 +00:00
ScarKy0
a02ca566ac Air Grenade Cargo Order (#38010) 2025-06-02 02:18:45 -07:00
Ed
483a82fdd4 Update grasshighbush.yml 2025-06-02 11:34:01 +03:00
Ed
e953410205 Update peace_ballade.yml 2025-06-02 11:32:01 +03:00
Kit
c35052b9fa STOP POSTING ABOUT THE THING ALL MY FRIENDS ON TIK TOK SENT ME "THE THING" (#1353) 2025-06-02 10:21:51 +03:00
PJBot
89a419da4f Automatic changelog update 2025-06-02 05:02:53 +00:00
chromiumboy
45012cbe1d Layering for atmospheric pipes (#36124)
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
Co-authored-by: Kevin Zheng <kevinz5000@gmail.com>
2025-06-01 22:01:43 -07:00
PJBot
aa5ca90a3b Automatic changelog update 2025-06-01 21:10:23 +00:00
ToastEnjoyer
0a565469c7 Made C-4 Major contraband instead of syndicate contraband (#38004) 2025-06-01 23:09:15 +02:00
PJBot
e15de953b4 Automatic changelog update 2025-06-01 19:39:48 +00:00
Boaz1111
ddb4c8f034 Marathon Update - Genpop (#37687)
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-06-01 12:38:39 -07:00
Red
f6dd89ea7a d (#1351) 2025-06-01 21:55:20 +03:00
Red
5c5a473ec0 More merchant content (#1349)
* energy crystals

* thaumaturgy trading
2025-06-01 19:21:41 +03:00
Tayrtahn
6fc2aa4a91 Add basic test of station initial power supply (#29698)
* Add basic test of station initial power supply

* Add info about stored power vs needed amount

* Update map list

* Get it compiling again

* Get it working again

* Only run if explicitly requested

* Fix merge

* We call 'em batteries

* Mark the test as dirty
2025-06-01 11:51:37 -04:00
PJBot
5a30cddf42 Automatic changelog update 2025-06-01 15:49:23 +00:00
Hitlinemoss
2fa67638a1 Added bulk cleanades crate (#38000)
* added bulk cleanades crate, cargo requests need debugging?

* fixed cargo request error
2025-06-01 08:48:16 -07:00
Łukasz Mędrek
d2281e20dd remove empty file (#38001) 2025-06-01 11:24:13 -04:00
Ed
6fce9dcdaa Update trade_platform.yml 2025-06-01 16:14:08 +03:00
Ed
da45b9bba8 fixes 2025-06-01 15:56:38 +03:00
Red
a3ae67a762 Trade reputation rework + Merchants back + Mining contract (#1347)
* refactor unlocking

* fix contract debug crashing

* Update dev_map.yml

* bugfixes and content rebalance

* ore buy contract
2025-06-01 15:10:36 +03:00
Red
a99f2fcd50 Remove random reaction system (#1345)
* wow

* d
2025-06-01 15:01:32 +03:00
Alexsey Bezyuk
759e7c73d9 furnace radius (#1346) 2025-06-01 12:33:38 +03:00
K-Dynamic
ffa7d68010 Fixes maploadbenchmark typo (#37981)
fixes typo
2025-06-01 09:55:42 +02:00
Princess Cheeseballs
9b03e8347b [HOTFIX] Salvage Job Computer Eating your Jobs (#37997)
One line fix
2025-06-01 17:06:34 +10:00
PJBot
be2137a372 Automatic changelog update 2025-06-01 05:32:54 +00:00
TheFlyingSentry
4a378bd8dc Adding a new trait: Monochromacy! (#37989)
Totally not misspelt necromancy

Co-authored-by: TheFlyingSentry <Daniel.l.Elledge@gmail.com>
2025-06-01 07:31:46 +02:00
slarticodefast
e0ce82e1c7 Fix center of mass mispredict when placing tiles (#37969)
fix COM mispredict
2025-06-01 00:39:45 -04:00
PJBot
a241584919 Automatic changelog update 2025-06-01 04:29:24 +00:00
ScarKy0
28aed7b22f Further Mail Balancing (#37986) 2025-05-31 21:28:13 -07:00
K-Dynamic
7b9d5b400f Mirror resprite (#37899)
* mirror resprite, add snapgridcenter

* antique mirror

* swap default mirror; antique-mirror renamed back to mirror, new mirror renamed rectangle-mirror, changed RSI underscore to regular dash for consistency
2025-05-31 21:36:10 -04:00
github-actions[bot]
596b1e7e44 Update Credits (#37988)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2025-05-31 17:41:04 -07:00
deltanedas
7aa1986209 fix dragon devour action (#37968)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2025-05-31 22:29:51 +02:00
GnarpGnarp
f21b6d139a Rename paper_background_black files (#37976)
Renamed "paper_background_black" to "paper_background_blood_red" as the colour of the file is not black.
2025-05-31 13:09:10 -07:00
Ed
bd783f9ec0 Update herbals.yml 2025-05-31 22:04:20 +03:00
nikthechampiongr
f7ffa9b89b Update CODEOWNERS (#37978) 2025-05-31 19:42:42 +02:00
Ed
1818f253ae chest fix 2025-05-31 18:07:14 +03:00
Red
10090292a1 Master fix (#1342)
* Update web.yml

* cocoon loot

* Update web.yml
2025-05-31 17:50:01 +03:00
Nemanja
e92b6b6a7e Add support for contextual information in EntityTables (#37737)
* Add context support for entityTables

* fix build fail

* comments

* Update Content.Shared/EntityTable/EntityTableSystem.cs

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-05-31 15:40:25 +02:00
Red
71527bb4eb Merge pull request #1341 from crystallpunk-14/ed-31-05-2025-web
Spider content update
2025-05-31 14:31:44 +03:00
PJBot
ab776f2493 Automatic changelog update 2025-05-31 02:10:25 +00:00
beck-thompson
5c30cf92fd Remove keep alive objective. (#37945)
* Remove keep alive

* Added reasoning
2025-05-30 22:09:16 -04:00
K-Dynamic
e1b85cc9d1 Resprites black, brown, fancy, white cowboy boots (#37901)
* black and brown cowboy boots

* fancy cowboy boots

* west virginiaaaaaaa mountain mamaaaaaa take me hooooome country roooadddds

* inhands for every boot

* forgor about white boots
2025-05-30 19:59:57 -04:00
PJBot
efa1475d57 Automatic changelog update 2025-05-30 23:55:03 +00:00
Centronias
9053c9692f Decouple Lights from Toggleable Visuals (and headphone music notes bugfix) (#35341)
* - Combine enum keys `ToggleableLightVisuals` and `ToggleVisuals` into `ToggleableVisuals`
- Rename `ToggleableLightVisualsComponent` to `ToggleableVisualsComponent` and `ToggleableLightVisualsSystem` to `ToggleableVisualsSystem`
  - (The `SpriteLayer` field on the component is now required because the old default of `light` doesn't make sense anymore)
- Make it so that `ToggleableVisualsComponent` works even when there's not a light attached to the entity
  - (Amazingly this seems to have only applied to  Headphones, but I can only imagine there are many other things people would like to do with simple toggleable visuals)
- Explicitly make `ItemTogglePointLightComponent`'s purpose to make `ToggleVisualsComponent` apply to `PointLightComponent`s on the same entity.
  - Add field `ToggleableVisualsColorModulatesLights`, which makes the `Color` appearance value of `ToggleableVisuals` modulate the color of lights on the same entity
  - Lots of prototype updates to uptake the above

* fix bad merge

* unbork robust

* blindly letting rider reformat stuff

* I guess I never cleaned up these imports at all
2025-05-30 19:53:56 -04:00
Kyle Tyo
85636335ec Decouple the lamp from the base air alarm sprite. (#37950)
a touch of verin here and a sprinkle of verin there
2025-05-30 19:37:51 -04:00
āda
cf9aa579ad Add a missing ftl to AI turrets (#37965)
* missing ftl

* make it pop
2025-05-30 19:15:46 -04:00
Fildrance
11ca728e41 fix: anomaly shooting no longer throws when it have no possible targets in range (#37927)
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
2025-05-30 19:11:25 -04:00
3nderall
00e96fee9c give characters wearing clown masks hair again (#37909) 2025-05-30 19:02:22 -04:00
PJBot
87e819e057 Automatic changelog update 2025-05-30 21:42:37 +00:00
ArtisticRoomba
c4c528035b Show TEG theoretical supply on inspect (#37957)
* Show TEG theoretical supply on inspect

* revert autoformatting changes
2025-05-30 16:41:30 -05:00
Red
381e556a8d Upstream stable sync (#1326)
* Fix some paradox clone traits (#37467)

fix some paradox clone traits

* Automatic changelog update

* Animal Spawner Reorganization + Xeno Spawners (#36962)

Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>

* make small animals don't leave organs on gibbing (#37080)

* Automatic changelog update

* Fix goliath tentacle exploit (#37168)

* New Salvage Wrecks (#36884)

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* Welding locker loot, migrate to EntityTable (#36977)

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

* Automatic changelog update

* No more one handing "snipers" (#33708)

* Automatic changelog update

* fix cl (#37477)

* Update submodule to 258.0.1 (#37480)

* Content changes for SetTiles change (#37229)

* Content changes for SetTiles change

* Retest with new engine changes

* Derp

* Update for new engine PR changes

* Update submodule to 259.0.0 (#37481)

* Revert "Fix goliath tentacle exploit (#37168)" (#37479)

* Revert "Fix goliath tentacle exploit (#37168)"

This reverts commit 6fbd0c9da1.

* wawawewa

* Predict sleeping action (#37414)

* Predict sleeping action

* reviews

* Automatic changelog update

* Soaked Smokes Volume Revert (#37482)

Reverted the volume of Dan's Soaked Smokes to their previous maximum.

* Automatic changelog update

* Fixed Two-Way Lever Sprites (#37390)

* New conveyor sprites - arrows!

* Revert "New conveyor sprites - arrows!"

This reverts commit 3b540be0d89d93af5028a9ae6533bbdf2954cb75.

* Reworked to only be the lever sprite update.

---------

Co-authored-by: RedBookcase <Usualmoves@gmail.com>

* Change plushie rotation on wide swing (#37484)

Changed swing rotation on shark, carp and snake plushies

* Fix prototypes and datadefs so they pass analyzer checks (again) (#37485)

Fix prototypes so they pass analyzer checks (again)

* Cleanup warnings in `SubFloorHideSystem` (#37488)

Cleanup warnings in SubFloorHideSystem

* Cleanup warnings in `ThrusterSystem` (#37489)

Cleanup warnings in ThrusterSystem

* Cleanup warnings in `PowerChargerVisualizerSystem` (#37491)

Cleanup warnings in PowerChargerVisualizerSystem

* Cleanup warnings in `MaterialStorageSystem` (#37492)

Cleanup warnings in MaterialStorageSystem

* Strip All Debug Verb (#37426)

* init

* yippee

* review

* permission check

* command

* loc

* review

* review

* Apply suggestions from code review

---------

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

* Automatic changelog update

* Allow recycler to shred clothing (#31518)

* Allow recycler to shred clothing

* reduce

* change comments

* replace ClothMade with Recyclable

* Update Resources/Prototypes/Entities/Clothing/Head/hats.yml

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

* requested changes

---------

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

* Automatic changelog update

* Omega Update (#37490)

* Automatic changelog update

* Cleanup warnings in `LatheSystem` (#37496)

Cleanup warnings in LatheSystem

* Shuttle speed bump (#37505)

* Shuttle speed bump

Will probably go to 80 when guns get bumped and we get CCD but just makes impacts more representative.

* cook

* Automatic changelog update

* Fix tile-events returns (#37502)

* Fix tile-events returns

Should really be continues.

* More

* More optimisations

* Predict pulling hands blocking (#37504)

Think I forgor to add this one when I split the 1 morbillion PRs out.

* Automatic changelog update

* Wall inheritance cleanup (#37436)

* Cleanup walls.yml

* quick check

* Fix tilewall cmd

* More Cleanup

* Arrnrtrayiage

* Remove double parenting

---------

Co-authored-by: Velcroboy <velcroboy333@hotmail.com>

* Not exclusive whitelist diet. Vox regain access to old food. (#37497)

* Creates a secondary digestible whitelist that is not exclusive. Additionally reworks the Vox stomach.

* Update FoodSystem.cs

Remnants of an old attempt. Cleaning it.

* Update vox.yml

Remnants of an old attempt. Cleaning up.

* Whitelist no longer, now the diet exclusion var is a bool.

* Clean-up

* Update Content.Server/Body/Components/StomachComponent.cs

Typo fixing

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

* Update Content.Server/Body/Components/StomachComponent.cs

Clarifications.

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

* Update Content.Server/Nutrition/EntitySystems/FoodSystem.cs

Typo fixing

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

* Update Resources/Prototypes/Body/Organs/vox.yml

Typo fixes

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

---------

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

* Automatic changelog update

* Don't group damage in the HealthChange.cs guidebook text (#37507)

* Automatic changelog update

* Cleanup more `SpriteComponent` warnings (part 1) (#37508)

* Cleanup warnings in PuddleSystem

* Cleanup warnings in HandsSystem

* Cleanup warnings in EnsnareableSystem

* Cleanup warnings in ElectrocutionHUDVisualizerSystem
Also simplify some if statements

* Cleanup warnings in PlantHolderVisualizerSystem

* Cleanup warnings in AlertLevelDisplaySystem

* Cleanup warnings in TetherGunSystem

* Fix error in PlantHolderVisualizerSystem

* I hate var _

* Give VGRoid its name back (#37513)

* Automatic changelog update

* Allow protected grids to be repaired (#36989)

* Allow protected grids to be repaired

* Probably implement it

---------

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

* Automatic changelog update

* Cleanup more `SpriteComponent` warnings (part 2) (#37522)

* Cleanup warnings in DamageMarkerSystem

* Cleanup warnings in CuffableSystem

* Cleanup warnings in DeployableTurretSystem

* Cleanup warnings in StorageContainerVisualsSystem

* Cleanup warnings in ItemMapperSystem

* Cleanup warnings in ItemCounterSystem

* Cleanup warnings in RandomSpriteSystem

* Cleanup warnings in PowerCellSystem

* Cleanup warnings in ParticleAcceleratorPartVisualizerSystem

* Cleanup warnings in PaperVisualizerSystem

* Cleanup warnings in PoweredLightVisualizerSystem

* Cleanup warnings in LightBulbSystem

* Cleanup warnings in EmergencyLightSystem

* Cleanup warnings in DoorSystem

* Cleanup warnings in ClockSystem

* Cleanup warnings in BuckleSystem

* Cleanup warnings in JukeboxSystem

* Cleanup more `SpriteComponent` warnings (part 2) (#37527)

* Cleanup warnings in MagazineVisualsSpriteTest

* Cleanup warnings in WiresVisualizerSystem

* Cleanup warnings in GunSystem.SpentAmmo

* Cleanup warnings in GunSystem

* Cleanup warnings in GunSystem.ChamberMagazine

* Cleanup warnings in MeleeWeaponSystem.Effects

* Cleanup warnings in ToggleableLightVisualsSystem

* Cleanup warnings in StatusIconOverlay

* Cleanup warnings in SpriteFadeSystem

* Cleanup warnings in PdaVisualizerSystem

* Cleanup warnings in EnvelopeSystem

* Cleanup warnings in MechSystem

* Cleanup warnings in MappingOverlay

* Cleanup warnings in LockVisualizerSystem

* Cleanup warnings in DragDropSystem

* Cleanup warnings in GhostSystem

* Cleanup warnings in TriggerSystem.Proximity

* Cleanup warnings in DragonSystem

* Cleanup warnings in PortableScrubberVisualsSystem

* File-scoped namespace for PortableScrubberVisualsSystem

* Cleanup warnings in `DisplacementMapSystem` (#37511)

* Cleanup warnings in DisplacementMapSystem

* docs update

* Suggested simplification

* Xenoborgs part 3 (#36867)

Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
Co-authored-by: Quantum-cross <7065792+Quantum-cross@users.noreply.github.com>
Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>

* Convex update (#37533)

* Automatic changelog update

* The Hatening / Hide hair when hats are equipped (#36818)

* changed HideLayerClothing on some entities YAML

* Use HideLayerClothing with slots, layers does not work for some reason

* Hattened again

* Mooore ! I touched the clown mask, beware

* Fix typo from "Slide" to "Side"

* Build issue, test with commenting out error part

* Trying again...

* Trying for fix

* Automatic changelog update

* Buff metal foam grenades (#37476)

* Buff metal foam grenades

* oh and cant forget my main

* Yeah, no, trolling someone because they didn't powergame a crowbar shiftstart is bad

* Automatic changelog update

* Fix tethergun overlay (#37510)

* Fix tethergun overlay

* slice

* wah

* Update TetherGunOverlay.cs

---------

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

* Automatic changelog update

* HumanoidCharacterProfile and IdCardConsoleComponent constants moved to cvar. Sync id card length with character name length (#35407)

* commit

* mark TODOs

* compiles

* cleanup

* cleanup

* oops

* changed my mind

* requested changes

* genpop fix

* Automatic changelog update

* Remove Basic Hardsuit & Associated Files (#37315)

* Remove Basic Hardsuit

* retaliatory action

---------

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

* MindRemoveRole refactor (#34880)

* MindRemoveRole refactor

* role removal logstring rework

* zombiesystem fix

* Buff singularity rad collectors (#37475)

* Automatic changelog update

* TemperatureProtection now works directly on entities (#37544)

* init

* review

* review

* Network SolutionScanner (#37541)

* init

* doc

* Make SharpComponent work with Hands (#37543)

* init

* review

* Cleanup `TryAddDisplacement` warnings (#37545)

Cleanup TryAddDisplacement warnings

* DungeonData rework (#37172)

* DungeonData rework

Back to fields, serializes better, just make new layers dumby.

* wawawewa

* Fix this

* Fixes

* review

* thanks fork

* fix

* shuttle impacts port (#37422)

* initial

* adjust densities and thruster hp

* Fix evil hack

* Last stuff

* review, cleanup

* admin RW

* minor cleanup

---------

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

* Update submodule to 260.0.0 (#37546)

wawawewa

* Automatic changelog update

* Improve fax machine UI (#33825)

* fax upgraded

* improve resizable

* move Paper type settings & change margins

* change margins & Aling of text

* Rearrange Fax UI

Group paper-type with print-file.
Group refresh button with destination list.

Add some panels to differenciate functionality for faxing an inserted
sheet of paper and printing a local file to a new paper.

* Whitespace

* Remove unnecessary style definition

* Remove whitespace

---------

Co-authored-by: VideoKompany <135313844+VlaDOS1408@users.noreply.github.com>

* Automatic changelog update

* Persist construction menu favorites server-side (#35867)

* Persist construction menu favorites to player profile

* Use `ProtoId`s for construction favorites

* Validate construction favorites updates from the client

* Actually await the async database call

* Automatic changelog update

* Properly add rainbow skirt to passenger loadout this time (#37501)

* Update Credits (#37556)

Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>

* Cleanup more `SpriteComponent` warnings (part 4) (#37550)

* Cleanup warnings in ClickableSystem

* Cleanup warnings in FultonSystem

* Cleanup warning in HolidaySystem

* Cleanup warning in DoAfterOverlay

* Cleanup warning in EntityHealthBarOverlay

* Cleanup warning in SmokeVisualizerSystem

* Cleanup warning in VaporVisualizerSystem

* Cleanup warning in ColorFlashEffectSystem

* Cleanup warnings in StealthSystem

* Cleanup warnings in TrayScannerSystem

* Cleanup warnings in InventoryUIController

* Cleanup warnings in HideMechanismsCommand

* Cleanup warning in ShowMechanismsCommand

* Cleanup warnings in EntityPickupAnimationSystem

* Cleanup warnings in PointingSystem

* Cleanup warning in StickyVisualizerSystem

* Cleanup warnings in TabletopSystem

* Cleanup warnings in PillSystem

* Cleanup warnings in DiceSystem

* Cleanup warnings in ProjectileSystem

* tweak: Allow cutter machines to be linked to ore silos (#37554)

* Automatic changelog update

* Predict subdermal implants (#37538)

* AutomaticAtmosSystem uses MassDataChangedEvent, clarifies TileMassMultiplier (#37548)

* Initial commit, no tile changes, just mass

* Rename TileMassMultiplier to TileDensityMultiplier

* Fix prisoner closet UI not working (#37558)

Fix prisoner closet UI

* Telecoms Resprite (#35811)

* Medical and Science Servers

Resprited  medical and science servers

* Delete server-off-Recovered.png

* Telecoms and Camera Servers

* Add Copyright

* Fix Rsi

* Minor Stripe Displacement Fix

* Telecoms Sprites

* Telecoms Display Update

Partial Update of the Sprites, Copyright and some YML and JSON changes

* Fix Linter and YML and Finalize

* Remember Lost Router Child

Fix Linter Again (hopefully) and add sprite to entertainment and wireless camera routers

* Requested Review Changes and ect

Changed how the servers dictate how to display whether they have no keys or if they have a mix of keys.

* Re-Run Checks

* Handful of requested changes

* Fix?

* Revert Last

* old yeller

* pushforpr

* Remove Old Files

* Fix Json

* fix rsi for real...?

* Fix Camera Servers

Servers were still calling to telecoms instead of the server sprites

* New Telecom Darken Attempt #1

* Slight stripe change

* Random Whitespace fix

* Fix2boogaloo

* Automatic changelog update

* Amber Station: armory restock (#37432)

* Salvage Job Board (#37549)

* Salvage Job Board

* More development

* Small boy

* Computer yaml (partial)

* UI

* Rank unlock logic

* Job label printing

* appraisal tool integration

* Jobs

* add board to QM locker

* boom!

* command desc

* mild rewording

* ackh, mein pr ist brohken

* Automatic changelog update

* Make research clients grid-local (#36821)

* Limit RD servers to the station grid

* the sluth

* Automatic changelog update

* Improve TryAllReactionsTest (#35356)

* Update TryAllReactionsTest.cs

* mix categories

* Update TryAllReactionsTest.cs

* Jigger transfer amount (#35962)

* Automatic changelog update

* Atmos Air Grenades (#37531)

* Automatic changelog update

* De-loot salvage, add reward crates (#37561)

* Automatic changelog update

* Amber Station - Added Job Board (#37565)

* Automatic changelog update

* Add Blatantly Nuclear to Nuke Songs (#35927)

* Nukies are so back

* Catch this webedit

* Webedit 2: Epic Webedit Fail

* Automatic changelog update

* Add ImplicitRoofComponent (#36112)

* Add ImplicitRoofComponent

So shuttles get marked as rooved.

* Early-out

So the new render doesn't suck up perf unnecessarily.

* Automatic changelog update

* Rebuild ATS Anchor room and add indestructible spine. (#37560)

* Automatic changelog update

* Adds marker component to roof markers (#35453)

* Adds marker component to roof markers

So now you can show and hide them properly.

* a

---------

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

* Bomb Deliveries (#37069)

* init

* BOMB!!!

* review

* partial review

* review

* Automatic changelog update

* Stelloxadone (#37131)

init

* Cryoxadone Tweaks (#37132)

fuck cryox

* Traumoxadone (#37236)

* fuck salicylic acid

* small tweak based on playtest

* meh

* locale

---------

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

* Automatic changelog update

* Aloxadone Tweaks (#37239)

alox

* Automatic changelog update

* Make Nukie and Wizard Comms Console not announce who it was sent by (#37567)

* Make Nukie and Wizard Comms Console not announce who it was sent by.

* Add doc-comment to field

* Automatic changelog update

* A lone operative successfully nuking the station now actually ends the round. (#36498)

LoneOpsSpawn is now of an indefinite duration -- it lasts until either the LoneOp dies or the nuke detonates. This means a few things.

* Automatic changelog update

* Cleanup atmos air grenade code (#37568)

cleanup

* Fix item stuck check (#37570)

* Automatic changelog update

* Convex job board update (#37579)

* Automatic changelog update

* Fix research server test fail (#37562)

* add: water vapor hurts slimes (#32751)

* water vapor hurts slimes

* 3 looks good

* Update Resources/Prototypes/Reagents/Consumable/Drink/drinks.yml

---------

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

* Automatic changelog update

* Cleanup more `SpriteComponent` warnings (part 5) (#37590)

* 1 warning in KudzuVisualizerSystem

* 2 warnings in ChameleonProjectorSystem

* 1 warning in MarkerSystem

* 2 warnings in ItemSystem

* 1 warning in GhostToggleSelfVisibility

* 1 warning in FoamVisualizerSystem

* 1 warning in ClickableTest

* 1 warning in ThrownItemVisualizerSystem

* 2 warnings in InfantSystem

* 1 warning in ChasmFallingVisualsSystem

* 1 warning in PotencyVisualsSystem

* 2 warnings in OrbitVisualsSystem

* 2 warnings in BeamSystem

* 1 warning in JitteringSystem

* 1 warning in CardboardBoxSystem

* 2 warnings in StationAiSystem

* 2 warnings in FirelockSystem

* 2 warnings in CargoSystem.Telepad

* 1 warning in StasisBedSystem

* 2 warnings in WeldableVisualizerSystem

* 2 warnings in DeliveryVisualizerSystem

* 1 warning in TimerTriggerVisualizerSystem

* 1 warning in StorageFillVisualizerSystem

* 2 warnings in RadiationCollectorSystem

* 2 warnings in BorgSwitchableTypeSystem

* 1 warning in TurnstileSystem

* 1 warning in SurveillanceCameraVisualsSystem

* 1 warning in BurnStateVisualizerSystem

* 2 warnings in CableVisualizerSystem

* 1 warning in JetpackSystem

* Black Scarf Icon Fix (#37589)

* forgot like a dumbass

* attributions

* Add keybind for swapping hands in the other direction (#37588)

add swap hands reverse

* Automatic changelog update

* Force Wall Tweaks (#37525)

* Reduces forcewall time to 10 seconds

* Increases force wall action delay to 15

* Adds Special Wall Layer

* Fixes indenting. Changes Mask and Layer to Special Wall Layer

* Update Resources/Prototypes/Entities/Structures/Walls/walls.yml

---------

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

* Automatic changelog update

* Make early salvage jobs easier (#37598)

* Box Station - Added Job board (#37602)

* Automatic changelog update

* remove ignition functional from welder component (#37586)

* a

* webedit

* EntityLootTable deleted (#37604)

* Make Holy water evaporate like normal water (#37611)

holy water evaporates

* Automatic changelog update

* Cleanup `SpriteComponent` warnings in map renderer (#37609)

* 3 warnings in EntityPainter

* 1 warning in MapPainter

* Pepper makes you cough (#36358)

* Automatic changelog update

* Elkridge - Salv job board and overhaul (#37600)

* Automatic changelog update

* Magazine Sprite Fix (#37615)

* first

* long mag + mk58 color

* loop salvage job board (#37618)

* Remove `ParallaxVV` property from `ParallaxComponent` (#37617)

Delete ParallaxVV

* Mirror Shield Contraband Fix (#37620)

easy change

* Cleanup 2 warnings in `ReagentDispenserSystem` (#37622)

* Cleanup 2 warnings in ReagentDispenserSystem

* Eh, let's be specific

* Add validation test for `ExplosionPrototype`s (#37621)

* Add validation test for ExplosionPrototype

* Remove runtime validation in prototype

* Researchable & Printable Hyper Capacity Cells (#37619)

* wowwww batterie

* americanized the spelling of "maximised" to "maximized"

* changed recipe to be more unique from microreactors

* addressing requested changes

* Automatic changelog update

* Updated Salvage Guidebook. (#37593)

Co-authored-by: RedBookcase <Usualmoves@gmail.com>

* Automatic changelog update

* Give kammerer tighter spread so it's not a complete downgrade to the enforcer (#37616)

* Automatic changelog update

* Cleanup more `SpriteComponent` warnings (part 6) (#37607)

* 1 warning in MechAssemblyVisualizerSystem

* 2 warnings in RecyclerVisualizerSystem

* 1 warning in ClusterGrenadeVisualizerSystem

* 2 warnings in BarSignSystem

* 4 warnings in AlertControl

* 1 warning in ToolSystem

* 2 warnings in PinpointerSystem

* 2 warnings in ClientSpriteMovementSystem

* 2 warnings in OptionsVisualizerSystem

* 1 warning in FlatpackSystem

* 1 warning in ZombieSystem

* 1 warning in StackSystem

* 1 warning in MiningOverlay

* 1 warning in FlippableClothingVisualizerSystem

* Guard clause for MechAssemblyVisualizerSystem

* Get SpriteSystem in AlertControl constructor

* Galosh Slowdown Fix (#37628)

Begone Galosh

* Automatic changelog update

* Submodule Update 260.1.0 (#37633)

* CompFactory updates (#37559)

* Fixed Missing or Misconfigured Locale Keys (#37595)

* Fixes and adds many localization keys from #34343
Open

* Fix comment, that is not how that works.

* Update Resources/Locale/en-US/components/screen-component.ftl

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

* Fixes cmd-parse-failure-int -> cmd-parse-failure-integer in OptionsUIController.cs, removes cmd-parse-failure-int from options-menu.ftl

---------

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

* add reduced motion drug overlay (#37584)

* reduced motion flash effect

* reduced motion drug overlay

* Revert "reduced motion flash effect"

This reverts commit e350b2899d0acc78c9833b5bc23a9680e03b2736.

* Automatic changelog update

* Bombsuit Description Fix (#37631)

simple as that

* New fun meteors (#37327)

* New fun meteors

* Forgot about newline

* Fix

* Wow, a new test

* Okay

* Fix

* Fix 2

* I hope this is correct enough

* Attribution

* Attribution 2

* Automatic changelog update

* Slime storage QoL (#37592)

* Automatic changelog update

* Cleanup warning CS0414 (#37648)

* Fland Update (Salvage Job Computer) (#37653)

* Bagel Update (Salvage Job Computer) (#37652)

* Automatic changelog update

* Marathon Update (#37654)

* Automatic changelog update

* Omega Update (Salvage Job Computer) (#37655)

* Automatic changelog update

* Packed Update (Salvage Job Computer) (#37656)

* Automatic changelog update

* Epinephrine Antihistamine effect, Histamines not radioactive (#37460)

* Added Epinephrine antihistamine effect when at least 45u. Removed Histamines causing Radiation damage.

* Indentation fixed

* had coffee, able to see how to fix indentation now.

* Automatic changelog update

* Fix Misplaced Mapping CL Entries (#37670)

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* Adding fungal soil (#36245)

Co-authored-by: aliser <20380250+murolem@users.noreply.github.com>

* Box Station - Added GenPop (Sec redesigned) (#37663)

* Automatic changelog update

* Automatic changelog update

* Optimise storage a quadrillion times (#37638)

* Optimise storage a quadrillion times

* How sweaty can we get

* Add fast angle checks

* Fix chunk indices

* Optimise the refresh method

Helps on client a lot as the clientside is suboptimal atm.

* Better name

* wawawewa

* Add single-angle path

* Okay FINE rider

* Automatic changelog update

* fix soil locale (#37674)

* fix soil locale

* xdd

* Reach Update (#37669)

* Automatic changelog update

* Limit shuttle collision damage (#37578)

* outlaw the usage of spacecraft as weapons of mass destruction

* adjust slowdown

* Automatic changelog update

* Use velocity along normal for shuttle impacts (#37667)

* Use velocity along normal for shuttle impacts

Scrapes shouldn't have the same level of destruction as full-on ramming anymore. Also detecting scrapes should be a lot easier for future stuff.

* Update Content.Server/Shuttles/Systems/ShuttleSystem.Impact.cs

* Update submodule to 260.2.0 (#37684)

* Automatic changelog update

* inhands for Syndicate Things (and thief beacon) (#37682)

* initial

* splitting this b

* thief bacon 1 handed

* why is test fail

* dont fail please

* "requires"

* evil tests

* Remove static logger calls in `LateJoinGui` (#37688)

* Cleanup 2 static logger calls in LateJoinGui

* That's not how that works

* Ore + entitytable fixes (#37675)

* Ore + entitytable fixes

Iterate every dungeon not just last.

* Big shot

* Fixes

* make some stuff require two hands (#37683)

* get splitted

* thievy 1 handed

* scarko changes

* Automatic changelog update

* Fix glass external airlocks using the standard airlock emergency access lights. (#37666)

Update emergency_unlit.png

* Change Arachnid Layering (#36357)

* 1 commit ops

* untouching this before anyone has to tell me

* Add microwave-nukedisk interaction (#36114)

* Add microwave-nukedisk interaction

* popup

* Fix UninitializedSaveTest

* Automatic changelog update

* Screaming for cyborgs (#32329)

* Automatic changelog update

* Tweak "Help a fellow traitor" objective to allow yellowtexting (#37679)

init

* Automatic changelog update

* Evac Shuttle Wode update (#37223)

* Cleanup warnings in `NodeVisualizationOverlay` (#37707)

Cleanup 2 warnings in NodeVisualizationOverlay

* Cleanup warnings in `AtmosPipeAppearanceSystem` (#37706)

* Cleanup 2 warnings in AtmosPipeAppearanceSystem

* Let's use the Entity<T> version

* todo comment

* Optimize parallax VRAM usage (#37180)

* Disable parallax texture preloading

Many parallax layers are specific to a single map and will likely never be loaded for the duration of the game. Save VRAM by not loading them always.

Requires engine master

* Put generated parallax identifier in texture name

Makes it show up properly in debugging tools

* Don't load generated parallaxes multiple times

Many parallax prototypes re-use the same generated parallax configs. These generated parallaxes were being loaded multiple times at once, which was a massive waste of VRAM.

We now move these into a separate cache for deduplication. I had to write a lot of logic to handle loading cancellation and ref counting. Yay.

Also fixes some spaghetti with the previous parallax loading system: cancellation didn't work properly, give proper names to generated texture names, etc.

This saves like 100+ MB of VRAM.

* Automatic changelog update

* Cleanup warning in `GridInRange` (#37699)

Cleanup warning in GridInRange

* Significantly improve Tesla generator power stability (#37626)

* Significantly improve Tesla generator power stability

* Second round of balancing

* Automatic changelog update

* Update `SharedBiomeSystem` methods to use `Entity<T>` (#37698)

* Fix warning in TryGetBiomeTile

* Overload TryGetBiomeTile

* Overload more methods, fix internal warnings

* Update TryGetEntity uses

* Update TryGetTile uses

* Cleanup TryGetDecals use

* Formatting

* Two more warnings while we're here

* Add disposal signalers (#37535)

* Add disposal signalers

* Sprite changes

* Some requested changes

* Requested changes + change spelling to be with two l's to be consistent with the remote signaller

* Automatic changelog update

* Tweak "Escape" objective to allow yellowtexting (#37680)

init

* Automatic changelog update

* Rat King Chat Indicator (#37184)

* Rat King Chat Indicator

* BUFFRATWHEN

* Added it to the crown wawa

* Ignore this

* Whats the limit for stuff I can put here?

* Fix da merge conflicts for real this time

* WE DID ITgit add -A

* Errant Requested Changes

* Add gold and silver material crates, balance cargo mat crate prices (#37713)

* Automatic changelog update

* Fix storage (#37714)

The one path I forgot to get the relative index.

* comment out slotblocker yaml (#37827)

* comment out slotblocker yaml

* let me fix this real quick xD

---------

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

* hotfix the hotfix, slot blocker changelog (#37845)

remove changelog for slot blockers due to being reverted

* HOTFIX Cryochem revert (#37844)

* Revert "Traumoxadone (#37236)"

This reverts commit 55ec2632a8.

* Revert "Cryoxadone Tweaks (#37132)"

This reverts commit 406bfa3308.

* Revert "Stelloxadone (#37131)"

This reverts commit f415ad51c3.

* whitespace test fail evasive maneuver

* changelog 1984

* Fix storage fastpath logical oversight (#37852)

* entityloottable conflicts fix

* dungenore wawa

* cs fix, demiplane fix

* Update check-trailing-whitespace.yml

* global whitelist fix

* return vanilla vgroid gen

* Update onion.yml

* try fix new lines

* fix reagent guidebook

* Update GuideReagentReaction.xaml.cs

* Update GuideReagentReaction.xaml.cs

* Update GuideReagentReaction.xaml

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
Co-authored-by: Southbridge <7013162+southbridge-fur@users.noreply.github.com>
Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>
Co-authored-by: kosticia <kosticia46@gmail.com>
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
Co-authored-by: Tezzaide <ewankayne@hotmail.co.uk>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
Co-authored-by: K-Dynamic <20566341+K-Dynamic@users.noreply.github.com>
Co-authored-by: Blitz <73762869+BlitzTheSquishy@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
Co-authored-by: Chartman <connorhartman95@gmail.com>
Co-authored-by: RedBookcase <crazykid1590@gmail.com>
Co-authored-by: RedBookcase <Usualmoves@gmail.com>
Co-authored-by: Jessey van Hoeijen <114107545+LMSNoise@users.noreply.github.com>
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com>
Co-authored-by: Spanky <scott@wearejacob.com>
Co-authored-by: Velcroboy <107660393+IamVelcroboy@users.noreply.github.com>
Co-authored-by: Velcroboy <velcroboy333@hotmail.com>
Co-authored-by: Qerd <73325910+BigfootBravo@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
Co-authored-by: Samuka-C <47865393+Samuka-C@users.noreply.github.com>
Co-authored-by: Quantum-cross <7065792+Quantum-cross@users.noreply.github.com>
Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
Co-authored-by: Spessmann <156740760+Spessmann@users.noreply.github.com>
Co-authored-by: Banedon <15725971+Lanedon@users.noreply.github.com>
Co-authored-by: āda <ss.adasts@gmail.com>
Co-authored-by: Ilya246 <57039557+Ilya246@users.noreply.github.com>
Co-authored-by: eoineoineoin <helloworld@eoinrul.es>
Co-authored-by: VideoKompany <135313844+VlaDOS1408@users.noreply.github.com>
Co-authored-by: YotaXP <yotaxp@gmail.com>
Co-authored-by: paige404 <59348003+paige404@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Perry Fraser <perryprog@users.noreply.github.com>
Co-authored-by: Krunklehorn <42424291+Krunklehorn@users.noreply.github.com>
Co-authored-by: Spangs04 <40036609+Spangs04@users.noreply.github.com>
Co-authored-by: Nox <nebulousnox38@gmail.com>
Co-authored-by: Oleshe <125771937+0leshe@users.noreply.github.com>
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: Minemoder5000 <minemoder50000@gmail.com>
Co-authored-by: Peptide90 <78795277+Peptide90@users.noreply.github.com>
Co-authored-by: Simon <63975668+Simyon264@users.noreply.github.com>
Co-authored-by: Super <84590915+SuperGDPWYL@users.noreply.github.com>
Co-authored-by: qwerltaz <69696513+qwerltaz@users.noreply.github.com>
Co-authored-by: SeamLesss <kai.julian.watson@gmail.com>
Co-authored-by: keronshb <54602815+keronshb@users.noreply.github.com>
Co-authored-by: Deerstop <edainturner@gmail.com>
Co-authored-by: TytosB <54259736+TytosB@users.noreply.github.com>
Co-authored-by: Entvari <195642967+Entvari@users.noreply.github.com>
Co-authored-by: SpeltIncorrectyl <66873282+SpeltIncorrectyl@users.noreply.github.com>
Co-authored-by: TrixxedHeart <46364955+TrixxedBit@users.noreply.github.com>
Co-authored-by: B_Kirill <153602297+B-Kirill@users.noreply.github.com>
Co-authored-by: Kittygyat <202250949+Kittygyat@users.noreply.github.com>
Co-authored-by: FrostRibbon <107171544+FrostRibbon@users.noreply.github.com>
Co-authored-by: Minty642 <42335609+Minty642@users.noreply.github.com>
Co-authored-by: aliser <20380250+murolem@users.noreply.github.com>
Co-authored-by: mubururu_ <139181059+muburu@users.noreply.github.com>
Co-authored-by: Kyle Tyo <36606155+VerinSenpai@users.noreply.github.com>
Co-authored-by: HTML/Crystal <152909599+HTMLSystem@users.noreply.github.com>
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
Co-authored-by: AsnDen <75905158+AsnDen@users.noreply.github.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
Co-authored-by: Wolfkey-SomeoneElseTookMyUsername <wolfkey75@gmail.com>
Co-authored-by: YoungThug <ramialanbagy@gmail.com>
2025-05-31 00:25:16 +03:00
Ed
0dd379dec3 Merge branch 'master' into ed-27-05-2025-upstream-sync 2025-05-30 23:24:23 +03:00
Ed
42fd0fe070 Update GuideReagentReaction.xaml 2025-05-30 23:14:33 +03:00
Ed
4a0c76ba76 Update GuideReagentReaction.xaml.cs 2025-05-30 23:14:22 +03:00
Obani Gemini
57e5a091b2 Improved French accent (th sound) (#33630)
* Improved French accent

* Remove the double consonna part to simplify the code and behaviour

* French accent: clarify a comment

Co-authored-by: Centronias <charlie.t.santos@gmail.com>

---------

Co-authored-by: Centronias <charlie.t.santos@gmail.com>
2025-05-30 13:10:13 -07:00
PJBot
3906754853 Automatic changelog update 2025-05-30 18:12:55 +00:00
Spanky
3c53b2835a Fix Secret Door Sprites (#37914)
* Make secret doors have unique directional sprites, and new animations.

* Update attributions.
2025-05-30 20:11:48 +02:00
Ed
d5b15f6816 Update GuideReagentReaction.xaml.cs 2025-05-30 21:05:19 +03:00
PJBot
707cb90b4f Automatic changelog update 2025-05-30 16:17:57 +00:00
Nox
c655f528f9 Faster Drozd burst (#34906)
* Increased burst firerate and cooldown by 25%. (firerate 12 -> 18, cooldown 0.25 -> 0.375)

* Set default firemode on Drozd to burst

* Heisentest
2025-05-30 18:16:50 +02:00
PJBot
c0f5f5c095 Automatic changelog update 2025-05-30 16:04:56 +00:00
Alpaccalypse
0df4a2e243 Absinthe makes you mildly hallucinate (#34371)
* Absinthe make you mildly hallucinate. Smaller glass volume, doesn't make you sick.

* Reordered glass fill sprites to look more equal
2025-05-30 18:03:49 +02:00
PJBot
d673fdcdda Automatic changelog update 2025-05-30 15:52:01 +00:00
Nox
e94dee8656 Select Fire Rifles (#34907)
* Added semi automatic mode to AKMS & Lecter

* Optimized changes to reduce line count.
2025-05-30 17:50:54 +02:00
Nim
b28c5605b9 zombie speed (#1337) 2025-05-30 18:22:39 +03:00
PJBot
2339bf08f9 Automatic changelog update 2025-05-30 15:21:04 +00:00
āda
a89de7ce17 Add filters to cutter machine (#34321)
* tiles

* lint

* categories

* blank line

* small base recipe change

* indent

* reorginize
2025-05-30 17:19:57 +02:00
DrSmugleaf
b86c1ea01d Allow actions to specify if they want to rotate the user when targeting (#37958) 2025-05-30 08:56:16 -04:00
PJBot
1e3212ab32 Automatic changelog update 2025-05-30 12:53:14 +00:00
K-Dynamic
ada5c4f3dd Elkridge: Turrets (#37961)
* skub

* turrets
2025-05-30 08:52:06 -04:00
Ed
a0956a399a fix reagent guidebook 2025-05-30 15:43:23 +03:00
Red
7d658de8a1 Merge branch 'master' into ed-27-05-2025-upstream-sync 2025-05-30 14:54:06 +03:00
Ed
df9c7e4439 try fix new lines 2025-05-30 14:52:00 +03:00
Ed
66022d1312 Update onion.yml 2025-05-30 14:39:47 +03:00
Ed
d8e4698191 return vanilla vgroid gen 2025-05-30 14:38:35 +03:00
Ed
44149a6db8 global whitelist fix 2025-05-30 14:04:04 +03:00
Ed
7c852cdc8c Update check-trailing-whitespace.yml 2025-05-30 13:36:52 +03:00
Ed
f78b1e07c5 cs fix, demiplane fix 2025-05-30 13:28:08 +03:00
PJBot
fa08d12b2d Automatic changelog update 2025-05-30 10:08:32 +00:00
beck-thompson
05fac53de6 Chameleon controller implant (Clothing fast switch) (#33887)
* Add the chameleon controller implant

* address the issues (Git please dont kill me)

* Address the review and fix some merge conflicts!

* Cleanup

* Add use delay

* Silly mistakes

* Making a PR at 2 am: Gone wrong

* Predict use delay and disable the buttons until you can choose another

* First phase custom clothing

* Better system, now relays to agent id and mindshield. Chameleon loadouts are a lot better to work with as well

* Address the review! No more evil goto

* Slams way is better I should have read more closely xD

* Some of the jobs

* Add to Cargo, CentComm, Service, Passenger, Ninja, Cluwne, Wizard + Minor changes to existing; Add chameleon to bandanas, medals, jugsuits and HUDs

* Add everything else

* Fix test

* Job name

* This looks better

* Add department organization

* Minor cleanup

* Added some mindshields

* Remove redudent comment and change funcion name to be clearer

* Fix cluwne outfit

* fix merge conflicts

---------

Co-authored-by: SlamBamActionman <slambamactionman@gmail.com>
2025-05-30 12:07:25 +02:00
PJBot
fa3468270e Automatic changelog update 2025-05-30 07:26:39 +00:00
Southbridge
41d638cc36 Box Station - Added Turrets (#37860) 2025-05-30 00:25:30 -07:00
SenorJaba
3972d047c7 Guard bell resprite change (#1335) 2025-05-30 09:49:21 +03:00
Princess Cheeseballs
f6c9ef344e [Action Refactor Fix] Action blockers now work on Actions (#37948) 2025-05-30 00:30:26 -04:00
PJBot
93f780c22d Automatic changelog update 2025-05-30 01:25:59 +00:00
SeamLesss
4d8f60cec1 Add Practice Magazines to the Secfab (#37710)
easy
2025-05-29 18:24:53 -07:00
PJBot
22cff56386 Automatic changelog update 2025-05-30 01:17:28 +00:00
brainfood1183
1118ea50e0 New sprites for Coal and Gold ore crabs, new Bananium ore crab and Bananium rock anomaly. (#37787)
* new sprites for coal and gold ore crabs, new bananioum ore crab and rock anomaly.

* add whitespace to end of line in ore.yml

* fix white space end of file.

* fix for linter fail.
2025-05-29 18:16:20 -07:00
PJBot
9fa6e8001b Automatic changelog update 2025-05-30 00:07:13 +00:00
K-Dynamic
1c4ac9c4a7 Bot spawners (supplybot, firebot, honkbot) (#37929)
* firebot, supplybot spawners

* moved honkbot spawner from misc.yml to bots.yml

* fix inconsistent ID and duplicate component field

* remove duplicate supplybot
2025-05-29 20:07:00 -04:00
mhamster
caf18f4bc6 Chameleon clothes + EMP behaviour (#30924)
* resolving conflicts??

* Controlled clothes changing

+ time stuff
+ EmpChangeIntensity

* Single clothes change

+ EmpContinious
+ moved random pick logic into GetRandomValidPrototype

* Changes from reviews

Co-Authored-By: Nemanja <98561806+emogarbage404@users.noreply.github.com>

* Update ChameleonClothingComponent.cs

* repairing irreparable damage

i failed, did i?

* damaging repaired irreparable

uh???

* 2025 FUN ALLOWED!!!!

* Minor changes from reviews

Co-Authored-By: beck-thompson <107373427+beck-thompson@users.noreply.github.com>

* Fix merge conflicts

* Fix that last bug

* cleanup

* Remove VV attr.

* AutoPausedField on emp time change

---------

Co-authored-by: Nemanja <98561806+emogarbage404@users.noreply.github.com>
Co-authored-by: beck-thompson <107373427+beck-thompson@users.noreply.github.com>
Co-authored-by: beck-thompson <beck314159@hotmail.com>
Co-authored-by: EmoGarbage404 <retron404@gmail.com>
2025-05-29 20:06:03 -04:00
Quantum-cross
394aa7e7b8 Make TryGetWires<T> actually work. (#37937) 2025-05-29 19:48:27 -04:00
deltanedas
9b2dbebcf7 fix smite use delay (#37940) 2025-05-29 19:41:25 -04:00
Kit
2c5655ee69 Update Blood healing and blood absorpsion (#1331) 2025-05-30 01:59:48 +03:00
Nox
b2f5b27579 Fixed nukie corpsman antag name (#37933)
Fixed

Signed-off-by: Nox38 <nebulousnox38@gmail.com>
2025-05-29 23:12:31 +02:00
Ed
5e6d1d0b3a dungenore wawa 2025-05-29 22:14:14 +03:00
PJBot
0a24b230ec Automatic changelog update 2025-05-29 05:04:53 +00:00
Spessmann
3b96d643bc Random maints update to decal spawners (#37916) 2025-05-28 22:03:46 -07:00
PJBot
98466ef73e Automatic changelog update 2025-05-28 22:52:17 +00:00
pathetic meowmeow
62bd5abfa0 Actually handle nutrition and robust harvest entity effects (#37912) 2025-05-29 00:51:09 +02:00
TemporalOroboros
f81d216630 Fix obsolete MapGridComponent warning in SpawnAfterInteractSystem (#37911) 2025-05-29 00:34:40 +02:00
Ed
8006578845 fix #1311 2025-05-29 00:57:12 +03:00
Red
7642f49b00 Merge branch 'master' into ed-27-05-2025-upstream-sync 2025-05-29 00:50:36 +03:00
Ed
9b6ceb8d18 caves fix 2025-05-29 00:45:41 +03:00
TemporalOroboros
29ccce134b Fix obsolete method warning in SimpleFloorPlanPopulatorSystem (#37910)
Fix obsolete method warning
2025-05-28 23:44:24 +02:00
Fr0goo
3d964cbf04 Goblin Speech noise (#1304)
* Goblin Speech noise

added some goblin speech noises using various already existing goblin sounds. just cropped and stuff

* Fixed capitalization

* Apply suggestions from code review

Co-authored-by: Nim <128169402+Nimfar11@users.noreply.github.com>

---------

Co-authored-by: Nim <128169402+Nimfar11@users.noreply.github.com>
2025-05-29 00:24:21 +03:00
Red
cde388f5dd Another Merchant gameplay attempt (#1308)
* setup UI

* setup debug data

* graph control setup

* reputation trade component

* unlocking logic

* smoe real reputation costing

* remove sponsors part, add trading specific UI nodes

* port to default pricing system

* buy cooldown

* fuck off trading cabinets

* real good cooldown UI

* Cool unlock sound

* reputation earning

* cool purchare sound

* coin & sprite work

* delete old guidebooks

* cool purcharing VFX

* better ui

* victoria gardens

* Update migration.yml

* Update migration.yml

* cooldown removed

* contracts

* Update migration.yml

* remove CP14Material

* materials appraise

* food appraise

* auto economy pricing system

* alchemy reagents appraise

* coins resprite

* alchemy appraise 2

* modular weapon appraise

* selling platform

* Update PricingSystem.cs

* Update CP14TradingPlatformSystem.cs

* merchants returns + map update

* Update CP14StationEconomySystem.Price.cs
2025-05-29 00:22:47 +03:00
Lucson1337
0551caf98f Eye patch/глазная повязка (#1329) 2025-05-29 00:22:20 +03:00
Aisu9
995429d041 Small healing magic rebalance. (#1323)
* Healing small rebalance

* Healing spell small rebalance 2

* Healing Spell Rebalance 3

* Update cure_wounds.yml

* Update cure_poison.yml

* Update cure_wounds.yml

* Update cure_poison.yml

* Update cure_heat.yml

* Update cure_wounds.yml
2025-05-29 00:21:31 +03:00
PJBot
b2954f14c5 Automatic changelog update 2025-05-28 19:53:22 +00:00
deltanedas
b3825dce97 action refactor proper ecs edition (#27422) 2025-05-28 15:52:11 -04:00
Tayrtahn
a9f7cfbcb6 Update UIControllers to use Log (#37792)
Update UIControllers to use Log
2025-05-28 12:50:31 -04:00
Tayrtahn
721d224fd7 Cleanup some misc warnings (#37904)
* Fix warning CS8524 for TurretControllerWindow

* Fix warning CS0660 for AtmosAlarmThreshold
2025-05-28 12:45:38 -04:00
Tayrtahn
447f866745 Cleanup warning in StealConditionSystem (#37903)
Fix 1 warning in StealConditionSystem
2025-05-28 18:17:43 +02:00
metalgearsloth
f6dcae8d3a Update submodule to 261.1.0 (#37900) 2025-05-29 00:29:16 +10:00
metalgearsloth
875abc4419 Update submodule to 261.0.0 (#37898) 2025-05-28 19:52:40 +10:00
PJBot
8671e6f47d Automatic changelog update 2025-05-28 09:40:40 +00:00
Moomoobeef
9a3cb1d2f6 high-vis vest is now dimmer (#37869)
* high-vis vest is now dimmer

accomplished by adding the unshaded sprite on top of the existing one in a third layer, this time set to shaded. And as the sprite is transparent, it lets some of the existing glow through.

* added relevant comments
2025-05-28 11:39:29 +02:00
metalgearsloth
ea7350f3f1 Content changes required for physicsmap purge (#37878)
* PhysMap changes

* Fix call

* Avoid tilefriction resolve

yummy

* a
2025-05-28 19:38:47 +10:00
TemporalOroboros
10dee14893 Fix radiation system warnings (#37892)
* Use SharedMapSystem for GetTileIndices

* Fix formatting errors in Server

* Fix formatting errors in Client
2025-05-28 11:34:58 +02:00
PJBot
1b54969a05 Automatic changelog update 2025-05-28 09:33:49 +00:00
Minemoder5000
6ddf739c56 Grape juice cup now has grape juice (#37895)
grape juice
2025-05-28 11:32:42 +02:00
TemporalOroboros
5f5f6765ce Use SharedMapSystem for GridTileToLocal (#37894) 2025-05-28 11:31:32 +02:00
TemporalOroboros
f99d00cf5f Fix for obsolete method warning in AtmosphericsSystem (#37897)
* Make PryTile use Entity<T>
Converts the old parameters into an obsolete overload

* Make HandleDecompressionFloorRip use Entity<T>
Converts the old parameters into an obsolete overload

* Convert the one use to use Entity<T>

* Delete obsolete private methods
2025-05-28 11:16:54 +02:00
ArtisticRoomba
6368baf96e Fix ATS (#37896) 2025-05-28 01:37:43 -07:00
PJBot
96ce159f61 Automatic changelog update 2025-05-28 07:53:59 +00:00
ArtisticRoomba
6331a4ba6b ATS update (#37891) 2025-05-28 00:52:52 -07:00
PJBot
378240506e Automatic changelog update 2025-05-28 07:32:41 +00:00
SlamBamActionman
08acfa23bc Change explosive triggers to be more consistent (#34465)
* yes I watch liltenhead

* oops

* Revert pen changes

* Add comment for the future
2025-05-28 09:31:34 +02:00
Tiniest Shark
40e410cc1f Large Tail Wag (#37806)
Got Ubaser's approval, merging.
2025-05-28 00:55:31 -04:00
Tiniest Shark
b2469b67a7 art update on the spine 2025-05-28 00:44:05 -04:00
Tayrtahn
c1b9b7e6d7 Fix walking in place animations when holding walk button (#37887)
Fix SpriteMovement playing when holding walk button
2025-05-27 20:14:49 -04:00
PJBot
241e5836d1 Automatic changelog update 2025-05-27 23:56:55 +00:00
Southbridge
755ce6f59b Decal Spawners (#37066)
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-05-27 16:55:48 -07:00
Tayrtahn
d28c64f76a Fix some misc warnings (#37858)
Fix misc warnings
2025-05-27 19:54:19 -04:00
mubururu_
7c9a031f99 inhands for CAKE + sprite fixes (#37819)
caek
2025-05-27 19:47:58 -04:00
PJBot
a65c43c866 Automatic changelog update 2025-05-27 23:45:22 +00:00
Perry Fraser
d2add64897 tweak: add confirm to server restart button (#37849) 2025-05-27 19:44:15 -04:00
PJBot
d6356fd8a9 Automatic changelog update 2025-05-27 23:09:42 +00:00
K-Dynamic
14dc97da8d Resprites hatch and hatch_maint (#37870)
* hatch_maint colours

* hatch colours

* make panel_open consistent with other airlocks

* hatch_maint new sprites

* hatch new sprites
2025-05-27 19:09:29 -04:00
Southbridge
7aa393cfdb Amber Station - Added Sentry Turrets (#37859) 2025-05-27 16:08:34 -07:00
Ignaz "Ian" Kraft
33bb537f81 make heat and freeze work on reagents (#1314)
* make heat and freeze work on reagents

* has to run before AdjustTemperature

* implement suggested changes

* almost missed this edge case

* 0k is the limit

* cleanup
2025-05-28 00:24:01 +03:00
PJBot
9e3b1bd139 Automatic changelog update 2025-05-27 21:22:46 +00:00
Moomoobeef
5051e9278a reduced the number of slots in bookshelves (#37866)
* changed bookshelfs yml

I reduced the number of slots in bookshelves, now it has 40 slots, and since one book takes two slots, and there are 20 fill levels (not including empty) now each book corresponds to one sprite. I also increased the number of books that random bookshelves generate, so that bookshelves will be empty less often.

* increased minimum random book count

in testing there were still a lot of bookcases with very few books in them.

* too many

* still too many

decided it looks better with the variance of having some shelves sparse and some not, rather than all ~half-filled. Wish there was a way to do something about the distribution, rather than pure random maybe something like weighting it toward one of the ends of the scale. but alas, I don't know how to do that.

* guidebook chance is random too now

decided that guidebook chance should also be random. now we can have shelves that are truly empty. anyway, I set it as 0-2, so there is a 2/3 chance that a bookshelf has a guidebook in it anyway, this also means that some shelves will have two guidebooks, but hey; who can have *too many* guidebooks?

* this line shouldn't be here
2025-05-27 14:21:39 -07:00
Nim
2607eaeddd Polymorph return (#1327)
* polymorph return

* AliveTarget
2025-05-28 00:08:58 +03:00
Ed
2af8553f03 Update ConstructionMenuPresenter.cs 2025-05-27 23:15:14 +03:00
Red
8dfca40435 Update Dev.toml 2025-05-27 21:52:07 +03:00
Red
cc2a76f967 Update Dev.toml 2025-05-27 21:37:06 +03:00
PJBot
3c462ff4a0 Automatic changelog update 2025-05-27 16:40:59 +00:00
Professor Renderer Grizzleton
94fba22eee Give cluwnes job icons (#37834)
* Add Weh-pet

* Add Weh-pet (again)

* Change weh-pet size to Medium

* Change weh-pet size to Medium (again)

Probably should've looked into what "medium" meant in yaml

* I may be stupid and misread how MIDIs worked.

* Finish weh-pet sprites

Weh!

* Add weh-pet to rare maints loot table

* Give cluwne sechud icon

* Remove weh-pet related content from cluwne-id

Why was it still THERE?

* Revert "Add Weh-pet (again)"

This reverts commit 8e135e520859ef94e693e27a86af1eed9576f9ab.

* Fix whitespace issues in residual files

* Update Resources/Textures/Interface/Misc/job_icons.rsi/meta.json

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

* More whitespace fixing and credit adding

* Resolve conflict in job_icons.rsi/meta.json

* Fixing whitespace *again*

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-05-27 18:39:52 +02:00
PJBot
1a346f7e82 Automatic changelog update 2025-05-27 16:27:36 +00:00
PicklOH
3365e97895 Restore Gas Pipe Naming in Construction Menu (#37881)
restore gas pipe naming in construction menu
2025-05-27 18:26:30 +02:00
PJBot
1be39e0010 Automatic changelog update 2025-05-27 11:48:57 +00:00
Simon
2bbe66cea9 Remove capacitors and matter bins (#37725)
* Remove capacitors and matter bins

* fix migrations and yaml errors, remove parts fully

* Rename to "modular machine part"

* Sloth review
2025-05-27 21:47:49 +10:00
PJBot
a371c15748 Automatic changelog update 2025-05-27 11:35:34 +00:00
metalgearsloth
3c52dd102e Don't click-to-face when moving (#37874)
Looks bad doing it for a single tick.
2025-05-27 13:34:23 +02:00
Tayrtahn
4d35998f25 Cleanup warnings in SharedMoverController (#37613)
* Refactor IsAroundCollider to use EntityLookupSystem

* Formatting

* MapSystem methods

* Remove unused usings

* GrabRangeVV -> GrabRange
2025-05-27 20:01:04 +10:00
Ed
f509f0e152 entityloottable conflicts fix 2025-05-27 12:42:46 +03:00
Ed
d5fbdbdec0 Merge remote-tracking branch 'upstream/stable' into ed-27-05-2025-upstream-sync
# Conflicts:
#	.github/CODEOWNERS
#	Content.Client/Guidebook/Controls/GuideReagentReaction.xaml.cs
#	Content.IntegrationTests/Tests/Chemistry/TryAllReactionsTest.cs
#	Content.Server/Procedural/DungeonJob/DungeonJob.OreDunGen.cs
#	Resources/Prototypes/Entities/Effects/chemistry_effects.yml
#	Resources/Prototypes/Entities/Mobs/Customization/Markings/human_hair.yml
#	Resources/Prototypes/GameRules/meteorswarms.yml
#	Resources/Prototypes/Procedural/dungeon_configs.yml
2025-05-27 12:21:14 +03:00
B_Kirill
9e834c70b9 Add overkill thresholds to more objects (#37745)
* Add overkill thresholds to more objects

* Add newline

* curtains (25 -> 50)
2025-05-27 19:09:46 +10:00
abdpocoyo
67f8135a96 Update loadout.ftl (#1325) 2025-05-27 11:38:30 +03:00
Kit
89dd70d7cd Iceshard nerf (#1324) 2025-05-27 11:38:03 +03:00
Sefaia
f77a2c55c3 Added Guidebook entry for Locks, Keys and Lockpicking (#1307)
* Added Guidebook entry for Locks, Keys and Lockpicking

* Created a Mechanics Catagory for the Guidebook and allocated the two entries to it.

* Reorganized Lock and Lockpicking along adding TODO on mechanics

* Oops! Correcting a mistake at Lockpicking 101. Thank you @Woolpix18!

* Added a small fun fact about Lockpicks.

* Added Guidebook entries for Russian (IN NEED OF TRANSLATION) and simplified the guidebook entries for ease of reading.

* Update mechanics.yml

* Update mechanics.yml

---------

Co-authored-by: Red <96445749+TheShuEd@users.noreply.github.com>
2025-05-27 11:32:13 +03:00
Killerqu00
26a0bfbbc5 Sanitize admin UI input for role bans (#35422)
if job does not exist, log it
2025-05-26 23:27:31 -07:00
Kyle Tyo
cc6f364e9d Kill resolves in vote commands (#37637)
* kill resolves in VoteCommand.cs

* consistency and cleanup

* final touch
2025-05-27 05:18:59 +02:00
github-actions[bot]
b665b371f6 @abdpocoyo has signed the CLA in crystallpunk-14/crystall-punk-14#1325 2025-05-27 00:49:45 +00:00
github-actions[bot]
bfc23f2ff6 @KittyCat432 has signed the CLA in crystallpunk-14/crystall-punk-14#1324 2025-05-27 00:43:17 +00:00
github-actions[bot]
f7bb8aec75 @Aisu9 has signed the CLA in crystallpunk-14/crystall-punk-14#1321 2025-05-26 23:57:30 +00:00
slarticodefast
be761ea537 merge stable into master (#37856) 2025-05-26 21:37:20 +02:00
Nemanja
854c506a75 Fix storage fastpath logical oversight (#37852) 2025-05-26 21:26:28 +02:00
K-Dynamic
556c6b905c Updated weld overlay for blast door (#37846)
updated weld for blast door
2025-05-26 13:17:15 -04:00
Tayrtahn
24dd207b4f Cleanup remaining IMapManager.MapExists uses (#37851)
Cleanup remaining IMapManager.MapExists uses
2025-05-26 18:45:55 +02:00
Myra
df2c2adc9d Stable master merge (#37850) 2025-05-26 17:30:30 +02:00
Errant
02fe5b4ac5 HOTFIX Cryochem revert (#37844)
* Revert "Traumoxadone (#37236)"

This reverts commit 55ec2632a8.

* Revert "Cryoxadone Tweaks (#37132)"

This reverts commit 406bfa3308.

* Revert "Stelloxadone (#37131)"

This reverts commit f415ad51c3.

* whitespace test fail evasive maneuver

* changelog 1984
2025-05-26 16:49:34 +02:00
github-actions[bot]
53f52c090e @Peck3 has signed the CLA in crystallpunk-14/crystall-punk-14#1318 2025-05-26 14:19:40 +00:00
Errant
6bdcadfde3 hotfix the hotfix, slot blocker changelog (#37845)
remove changelog for slot blockers due to being reverted
2025-05-26 15:29:34 +02:00
PJBot
80dd9a553f Automatic changelog update 2025-05-26 13:01:57 +00:00
chromiumboy
f99850e1fb Sentry turrets - Part 6: Sentry turret control panels (#35235) 2025-05-26 16:00:50 +03:00
PJBot
32ffbbfb0f Automatic changelog update 2025-05-26 12:08:56 +00:00
ArtisticRoomba
9a910873c8 Significantly improve TEG power generation stability (#37658)
* Significantly improve TEG power generation stability

* Revert "Significantly improve TEG power generation stability"

This reverts commit e88278c0f8dea925a89b240e09e5dbcb84f9d174.

* Reimplement without auto formatting obliterating the entire system

* second round of balancing
2025-05-26 14:07:49 +02:00
PJBot
ba76ceec08 Automatic changelog update 2025-05-26 11:54:26 +00:00
ArtisticRoomba
bbfccfe459 Kill the TEG meta with really big hammers (#37728)
* First round of balancing

* Second round of balancing
2025-05-26 13:53:19 +02:00
YoungThug
e471ab1843 Add Fancy Speech Bubbles for Diona and Gingerbread (#37742)
* Add Fancy Speech Bubbles for Diona and Gingerbread

* Fix White-Spacing

* Fix Fails
2025-05-26 13:51:09 +02:00
B_Kirill
cb8e7446a4 Add pause to runclient (#37748) 2025-05-26 13:50:05 +02:00
PJBot
58b3e572be Automatic changelog update 2025-05-26 10:50:40 +00:00
Jessica M
65bd1f0170 Lets angry AI gorillas pry open doors, smash things, and vault tables (#37822) 2025-05-26 12:49:33 +02:00
paige404
100603ece6 Sentient items no longer count as party members (#1317) 2025-05-26 13:29:33 +03:00
Nim
a1323c7b29 Tavernkeeper's Sandwich (#1280)
* burger

* Sandwich

* Separator

* CP14Sandwich
2025-05-26 12:53:07 +03:00
Nim
91cebc07c4 Merge pull request #1278 from Nimfar11/books
Books sprite
2025-05-26 12:52:58 +03:00
Red
a2161bf473 Stable upstream sync (#1266)
* Add some salvage ruins (#36814)

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* Amber Station - Added Genpop (#36997)

* Automatic changelog update

* MapManager warning cleanup on tests (#36940)

lets see if this works.

* Clear MIDI masters properly to avoid replay freezes (#36809)

While trying to play a replay I noticed that the replay would freeze
when seeking in some cases. After some debugging, I discovered that two
MIDI renderers had each other as master, which caused an infinite loop
processing MIDI events.

I'm not entirely sure of the sequence of events that leads to this
during replay playback, but I did notice that MIDI render masters are
never set to null. This is in the best case just a memory leak, in the
worst case probably the source of the bug, so... I fixed that.

* make scrubber widenet in panic mode (#37013)

* Automatic changelog update

* Shoulder-length hairstyles resprite (#37000)

* sprite

* final

* final (final fr)

* Automatic changelog update

* Fix mail cutting thinking your arms are infinite length (#37019)

* init

* hand

* Automatic changelog update

* Xenoborgs part 2 (#36844)

* add lawsets for the xenoborgs and mothership core

* add xenoborg names

* add xenoborg radio

* add xenoborg device frequency

* add xenoborg access

* add xenoborg contraband

* Update Resources/Locale/en-US/station-laws/laws.ftl

Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>

* add xenoborg access to the universal Id card and universal access config

* remove 6th law of xenoborg and mothership lawset (got jointed into the 5th law)

* added xenoborg and mothership law boards

* add more names

* add Xenoborg faction

* moved all lawboards into a separate yml file

* removed custom xenoborg contraband severity

* add Xenoborg and Mothership components

* add xenoborg laser guns

* add self recharging fire extinguisher

* add mothership pinpointer

* add material bag

* add infinite jetpack

* add a only blue energy dagger

* add xenoborg jammer

* add refueling welding tool

* add nocturine hypo

* add nuclear small power cell

* add cloaking device

* add xenoborg door remote

* add custom sprites for xenoborg modules

* add custom sprites for xenoborg module actions

* removed Xenoborg Comp until is actually needed

* add xenoborg module tags

* spelling

* add xenoborg module bases

* organazied xenoborg modules sprites better

* add generic xenoborg modules

* add heavy xenoborg modules

* add engi xenoborg modules

* small fix to meta file in actions_borg.rsi

* renamed mothership comp to XenoborgMothership

* fixed the base for the xenoborg engi modules

* add scout xenoborg modules

* add stealth xenoborg modules

* localization for names and descriptions of the xenoborg modules

* fixed issues related to the XenoborgMothership component

* revert localization (it wasn't working for some reason)

* fixes

* fixed issue with container slot in the cloaking device

* Update description of small capacity nuclear power cell

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* Fix indentation in material bag

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* Spelling

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* fix parameter order in some prototypes

* rename proto id InfiniteJetpack to JetpackXenoborg

* localize pinpointer targets

* Revert "localize pinpointer targets"

doesn't work

* added lines in the end of files (and in the middle of one)

* reorder paramenter in some entities

* fixed some descriptions

* minor fixes

---------

Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* Disown atmos and botany (#37017)

* Disown atmos and botany

* Update .github/CODEOWNERS

---------

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

* Fix t-ray scanner exception spam (#37018)

* Automatic changelog update

* Remove Contact Slowdown when Weightless or in the Air (#33299)

* removed contact slowdowns from entities that are weightless or in the air

* fixed kudzu not applying contact slowdown to airbone entities

* revert kudzu fix

* reimplemented kudzu fix with bool datafield

* update variable serialization format

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

* empty commit

* cleaned up and added documentation

* cached airborne check

* rerun tests

* minor review

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: Milon <milonpl.git@proton.me>

* Automatic changelog update

* Theatre access to Service Request Computer (#37003)

* Automatic changelog update

* BatteryWeaponPowerCell tweaks (#33500)

* BatteryWeaponPowerCell tweaks

* add update ammo ev & shuttle guns tweaks

* MilonPL requested changes

* revert changes in OnPowerCellChanged

* Add events to get charge info & change current charge

---------

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

* Buffing slugs and replacing beanbags from the Bulldog bundle (#33517)

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

* Automatic changelog update

* Rebalance magnet debris, update worldgen (#37025)

* Automatic changelog update

* Display obvious plant mutations in examine text (#32650)

* Effect mutations now display on examine

* ChangeSpecies shouldn't stay on the list after running. Name cleanup

* EmoGarbage Review - convert description to LocId and add minor logic fix

* fix the dastardly yaml

---------

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

* Automatic changelog update

* SSD sleep take 2 (#34039)

* ssd sleep part 2

* forgot this

* apply review

* yeah

* add onmapinit

* cache cvar values

---------

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

* Automatic changelog update

* More Mail Sprites (#37023)

* Commit

* Sprite update

* Last push for real for real

* Final Commit for real for real for real

* oasis genpop (#37031)

* Automatic changelog update

* re-buffs proto kinetic accelerator (#37012)

* new ruins

* genpop

* nvm

* abc

* fuckin

* turnstyle

* ruins

* stamp

* abc

* bruh

* efg

* pka fixed

* range tweak

* Automatic changelog update

* Chem master more unit transfer buttons (#36995)

* Changes chem master unit transfers to be the same as the chem dispenser

* adds chem master transfer buttons for 15u, 20u, and 30u

* Automatic changelog update

* Add borders to the asteroid sand (#35397)

* tiles

* Fix

* borderless

* Astrosand

* Add tile

* Fix

* Push horn  (#36009)

* Empty commit

* epic super duper cool fr push horn draft

* whoops turns out theres a system that does that thingi already x.x

* bunch of like fixis and generalization

* general progress

* most stuffies done

* last thingi hopefully

* small fixies, mostly preventing bypassing the delay by spamming

* rename to fit better

* rename for real i forgor to add

* weird fixie but last commit didn workie

* oki shold be fine now

* lastish cleanup

* fixies

* missed a space

* removed unnecessary component check

* getting the typos out of the way first

* moved the component to shared

* rest of fixies

* Automatic changelog update

* Fix solution visualization after drawing with a whitelist (#36657)

* Fix clientsided alerts being overwritten by server (#37033)

Initial commit

* Automatic changelog update

* Added Space Carp Tooth Arrows and Sharkminnow Spears, buffs sharkminnow teeth. (#31257)

* carp arrow, sharkminnow tooth spear

* review

---------

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

* Automatic changelog update

* Add inhand sprites for mini jetpack (#37041)

* Inhand sprites for mini jetpack

* Attribution

* Show other speso colours, add larger denominations (Frontier#1496) (#37030)

* Automatic changelog update

* Added warning when attempting to run RUN_THIS on a zip repo download (Attempt 2) (#36922)

* Added warning when attempting to run RUN_THIS on a zip repo download

* Fix it actually

* Update git_helper.py

* Add toolbox sound effects (#37048)

* Automatic changelog update

* Mail visual update (#37049)

* Automatic changelog update

* Un-copypaste wallmount substation prototype to give them a UI (#37047)

*sigh*

* Automatic changelog update

* Centcomm carapace, moved armour from vests.yml to armor.yml (#35301)

* centcomm carapace, loadout for CC official, move armoured vests from vests.yml to armor.yml

* revert rename from previous commit; command carapace returned to captain's carapace

* meta.json 4 space

* restored deleted comments for some armours and original description for slim armour

* Add recently added elite web vest

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* Automatic changelog update

* Fix NPCs stalling when too many exist (#37056)

Fix NPC stalling when too many exist

* Automatic changelog update

* feex oasis portal (#37058)

* fix so that the meat patty uses the meat patty sprite on custom burgers (#37064)

* Fix examine prediction (#36999)

If our current ID is different to the received one we should just discard it even if it's for the same entity.

Note that this doesn't quite fix my prediction issue as client and server are using slightly different timings for the event.

* add StationTrackerComponent (#36803)

* maybe I am cooking

* logmissing

* copy paste oops

* add some stuff

* review

* fix

* rerun tests

---------

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

* Minor ReflectionSystem refactor (#37039)

* ReflectComponentLogicFix

Added bool InRightPlace and updated relevant system

* Using SlotFlags

* edits

* refactor

* add missing relay

---------

Co-authored-by: BIGZi0348 <svalker0348@gmail.com>

* Automatic changelog update

* Update submodule to 255.1.0 (#37071)

* new salv ruins (#36947)

* add new salv ruin: telesci (#36653)

* Automatic changelog update

* Fix turnstile collision with firelocks (#37074)

* Automatic changelog update

* Skeletons leave glove fiber evidence (#37077)

Fix skeleton forensics

* Automatic changelog update

* Fix action ent prediction (#37076)

Buttons don't get created in the predicted methods only on state handler.

* Automatic changelog update

* Make universal access config better (#37079)

* add a universal ID card to the universal access config

* make the admin access config have infinite range

* now checks for the BypassInteractionRange Tag instead

* Add suggested fix to the AccessOverrider system

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

* remove other stuff I added

* another suggested change to avoid weird behaviour where you can use it from a distance

---------

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

* Automatic changelog update

* Fix listcontainer constantly disposing children (#37089)

* Fixes battery weapons changing firemode on wield (#37085)

Credit to Happyrobot33 for the implementation

Co-authored-by: Matthew Herber <32679887+happyrobot33@users.noreply.github.com>

* Automatic changelog update

* cleanup snipers.yml (#37094)

* cleanup revolvers.yml (#37095)

* Localizable craftmenu (#32339)

* Now the name of the target craft items is taken directly from the prototypes

* Deleting unnecessary fields

* Deleting unnecessary fields

* Added suffix field

* Added override via localization keys

* My favorite ItemList and TextureRect have been replaced with ListContainer and EntityPrototypeView

* Fix suffix

* Fix construction ghosts... maybe

* Remove suffix from UI

* Suffixes have been removed from prototypes

* Added a description for the secret door

* Fix search..?

* The Icon field of ConstructionPrototype has been removed

* StackPrototypes used in the construction menu have been localized

* TagConstructionGraphStep used in the construction menu have been localized

* The search bar has been localized

* Fix localization and prototypes

* Recipes are now only loaded when the crafting window is opened.

* Fix crooked merge grid of the crafting menu.

* Localization update

* Fix cyborg graph

* Revert "Recipes are now only loaded when the crafting window is opened."

This reverts commit 97749483542c2d6272bda16edf49612c69a0761a.

* Fix loc

* fix merge

* Fix upstream

* Some of the logic has been moved to Shared

* fix

* Small adjustments

* Very small change

---------

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

* Vox now can eat trash other other inedible things (#35681)

* EAT TRASH EXHALE AMMONIA

Update to files

* Forgot to port this file

* 1D4 Guidance

* Summary (required)

Suggested changes and fixes

* Cries in conflicts

* Why do we exist? To suffer?

* 1 citation for being stupid

* THE ANTIDOTE, THE ANTIDOTE FOR THE POISON

* I was inverted sir

* vox organs cleanup

* vox reagents

* guidebook

* weh

---------

Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>

* Automatic changelog update

* Fix food slicing showing utensil popup (#37105)

Fix knife slicing showing utensil popup

* Select current target in mailing unit UI, prevent UI jumping (#37098)

* Atmos air (6500 kPa) marker (#37061)

* air GM atmosphere

* atmos fix air miner

* Automatic changelog update

* Updates the Pirate Captain Hardsuit Helmet light sprites. (#37027)

* Add noir glasses (#36923)

hardboiled

* Automatic changelog update

* Overhauled stamina slowdown behavior (#36336)

* Automatic changelog update

* Fix vending machine manager wire error (#37100)

Skip updating amounts for removed entries

* fix asteroid tiles (#37103)

aw

* Pointing arrow smite no longer lasts forever (#37102)

fix: pointing arrow smite no longer lasts forever

* Automatic changelog update

* Wizard Helmet in the Magic Vend (#37084)

Whats the limit for stuff you can put in a commit message lol

* Automatic changelog update

* fix logic gate draw depth (#37053)

fix logic gate layering

* Species are now picked at random in the developer environment! (#37057)

* Various changes to random species in dev

* This should be split

* Mob Movement Major Refactor (#36847)

* Conveyor optimisations

- Optimise movement for moving stuff. Better flags + less resolves + slapped parallelrobustjob on it.
- Sleeping for entities getting conveyed into walls.

* Blocker version

* Finish

* Final

* Fix conveyor power mispredict

* Bagel save

* Revert "Bagel save"

This reverts commit 1b93fda81fb852d89b89b0beae0b80f8a61165f2.

* Conveyor resave

* Init Commit

* windows yelling at me to update commit

* working commit, need prediciton and more dehardcoding

* Project 0 warnings

* Working Commit (Near Final)

* ryder got confused commit

* I love Merge Conflicts :)

* Working commit, no prediction

* Forgot the yaml changes

* Comments and typos

* Apparently while the reduced launch mult of lube was initialized it was never used so I revered back to default

* Fixed an incorrect divisor

* bit of cleanup

* Prediciton fixed, and puddles now affect all entities

* FORGOT TO RENAME A VERY IMPORTANT VARIABLE OOPS

* Really big I forgor moment

* Even bigger I forgor moment

* four more merge conflicts to fix four more oopsies

* fixed actual divide by zero moment and also im very dumb

* Even bigger I forgor moment

* four more merge conflicts to fix four more oopsies

* fixed actual divide by zero moment and also im very dumb

* Fix all test fails

* code cleanup

* Webedit whitespace

* Code cleaup

* whitespace webedit

* whitespace webedit

* whitespace webedit

* whitespace removal

* Comments and cleanup

* Re-Added 20 warnings as per Ork's request

* Cleanups

* Spacing fix

* bugfixes and cleanup

* Small bugfix

* Fix prediction

* Mob movement rewrite

* Bandaid

* Working version

* Tentatively working

* Friction to fix cornering

* More fixes

* Refactor mob movement

Trying to cleanup relay ordering / tryupdaterelative being cooked, purge ToParent, and fix all the eye rotation shenanigans.

* Building

* Re-implement jetpacks

* Reorganise weightless movement

* More work

* Fix camera

* reh

* Revert bagel

* Revert this

* Revert held move buttons

* Puddles work but are unpredicted and unoptimized

* Fixes

* Puddle code...

* Actually dirty the slipComp for real

* Sliding component done plus an extra suggestion from ArtisticRoomba

* Atomized Commit

* Added Friction field to Reagent Prototype per design discussion

* Cleaned up Working Commit

* a

* Delete stinkers

* Fix this code smell

* Reviewed

* Funky re-save

* Our conveyance

* Better conveyor sleeping

* Remove this

* Revert "Better conveyor sleeping"

This reverts commit f5281f64bbae95b7b9feb56295c5cf931f9fb2e1.

* Revert that

Way too janky

* Also this

* a

* Working Commit - Still a lot to do

* Acceleration refactor

* Minor jetpack cleanup

* frictionnomovement no longer nullable

* Shared Mover Feels 99% done

* OffGrid/Weightless/Throwing Friction saved

* Fix merge conflicts

* Fix a debug assert

* Final Commit for today

* Some fixes

* Actually use those CCVars Properly

* Need to fix throwing

* Second to last Commit for real

* Jetpack bug fixed

* Jetpack bug fixed

* Test fail patch

* Small patch

* Skates Component cleanup + Bring Accel back to 5 (oops)

* Fix test fail oops

* yaml cleanup make dragons not fat

---------

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

* Automatic changelog update

* Predicted internals (#33800)

* Predicted gas pumps

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

* a

* Atmos device prediction

- Canisters
- Tanks
- Internals

AirMixes aren't predicted so nothing on that front but all the UIs should be a lot closer.

* Remove details range

* Gas tank prediction

* Even more sweeping changes

* Alerts

* rehg

* Popup fix

* Fix merge conflicts

* Fix

* Review

* Automatic changelog update

* Add condition support to entity tables (#36819)

* Fix AI movement (#37114)

Don't relay blocking anymore.

* Automatic changelog update

* New Salvage Ruin - Atmos Interchange (#37115)

* Automatic changelog update

* Fix station beacon not updating (#37121)

* Automatic changelog update

* Fix for vox dropping all bodyparts when gibbed (#37111)

vox parts cleanup

* Automatic changelog update

* Movement Rewrite Hotfix (#37122)

* One line bugfix

* also divide friction by 5

* Undo that

* Clarify that PA crate order includes boards (#37109)

init

* Automatic changelog update

* noRot on 2-way lever (#37125)

* Traumoxadone (#37126)

* init

* salicylic acid

* Automatic changelog update

* fix clone appearance (#37130)

* New Weapon: Knuckle Dusters (#33470)

* New Weapon: Knuckle Dusters

* Tag YAML Error Fix

* Crafting Graph Node Error

(Thank you slarticodefast)

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

* Crafting Node Error Part 2 Electric Boogaloo

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

* Contraban & QM Dusters Nerf

* Stun Knuckledusters (Unfinished)

* Typo

* Fix test fails

* The dastardly maintainer balance webedit

* Fix contraband parenting

* Fix construction failure

---------

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

* Automatic changelog update

* Renders reagent grinders over lights (#31218)

* Adds a new layer to DrawDepth.cs for use with objects similar to the reagent grinder and properly summarises its uses

* applies new layer in DrawDepth.cs to reagent_grinder.yml

* Fix merge conflict

* oops

* fix atmos grid markers (#37142)

* fix atmos grid markers

* 1984 CL

* randomize names for mindshielded eventhumanoids (#37143)

* Automatic changelog update

* make node scanner don't show interface if scanned entity not a artefact (#37146)

* a

* a

* Revert "a"

This reverts commit 2b9ba4ea67a9395d30b7ab37c8065f627f1a961a.

* Fix some maintenance doors not using wires configuration + cleanup + minor changes (#36735)

* Kill useless maints doors + general fixes

* Migrate the common maints airlock

* Fix parenting

* Service Theatre

* migrate out the other removed airlock

---------

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

* Automatic changelog update

* Fix throwing prediction (#37086)

* Fix throwing prediction

- Disposals is still janky but I think that's disposals in general not being predicted and the disposals throw not being predicted and short-lived.
- Would need to check RMC.
- Couldn't repro the underlying issues however thrown items don't slip anymore so (and we also don't predict their land / stopping anymore so).

* primary constructor

---------

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

* Explosions warnings cleanup (#36167)

* Explosions warnings cleanup

* Revert unnecessary change

* Cleaner Entity instantiation

* Remove conflicting changes with #36098

* ClothingOuterEVASuitSyndicate (#36738)

* ClothingOuterEVASuitSyndicate

* Update migration.yml

* Resolve merge conflict in migration.yml

---------

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

* Sentry turrets - Part 5: Reuseable UI components (#35149)

* Initial commit

* Updated how monotone buttons are styled

* Removed unnecessary textures

* Updated attributions

* Addressing reviewer comments

* Adjusted monotone checkbox styling

* Revert "Resprited the Chief Engineer's mantle/manica" (#37060)

Revert "Resprited the Chief Engineer's mantle/manica (#36697)"

This reverts commit d0c2a64436.

* Fix skeletons spawning in folded body bags (#37151)

* Fix skeleton spawning

* Add comments

* Fix the comments

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

---------

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

* Automatic changelog update

* Replace uplink thieving gloves with chameleon thieving gloves (#36369)

* replace thieving gloves with chameleon thieving gloves

* increase TC cost by one

* add a TODO comment

* Automatic changelog update

* Omega Update (Genpop) (#37157)

* Automatic changelog update

* Add more ruins (#37161)

* Update Credits (#37163)

Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>

* Salvage Threat: Gibtonite (#37160)

* Automatic changelog update

* Revert "add material composition to some salv treasure" (#37149)

* Revert "add material composition to some salv treasure (#31970)"

This reverts commit 125258ea48.

* Remove ring materials as well

* Automatic changelog update

* Don't despawn off-grid salv mob corpses (#37169)

* Automatic changelog update

* Bagel Station - Removed Gamer Loot (#37171)

* Automatic changelog update

* Update GDPR erase script to latest DB schema (#37162)

* Remove update from DeviceLinkSystem (#37152)

The tick updates were purely used to decrease the invoke counter once per tick. Now instead we just calculate the effective counter value with some trivial math on the tick number. This completely removes the need for an update function.

The relative tick is not stored to map files. If we really need this, we can add a TickOffsetSerializer (similar to TimeOffsetSerializer), but I doubt it matters.

* Refactor magic speak system to be a component added to actions (#36328)

* Allow shelves to be placed rotated when built by hand (#37186)

fix: shelves can be placed rotated when built by hand

* Automatic changelog update

* Fix for Whoopie Cushions (Fixes #32028) (#36984)

* Fixes whoopie cushions so they no longer launch you into oblivion when stacked in a large pile.

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

* streamlined the components for the prototype

---------

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

* Automatic changelog update

* Salv Ruins Again (#37193)

* Fix `ComponentTogglerSystem` deletion error (#37198)

Don't try to toggle if target is terminating or deleted

* Fland Update (Genpop) (#37207)

* Automatic changelog update

* Convex genpop update (#37216)

* Automatic changelog update

* Ghost friction fix (#37124)

* commit

* fix for real

* More filters for station records (#37213)

* Automatic changelog update

* Removing redundant trash tags on medipens (#37215)

removes redundant tag components

* StaminaSystem to SharedStaminaSystem (#37199)

* Init Commit

* Partial class

* Hands system slipped through

* AI Law Board File Clean Up (#37195)

* Allow Pacifists to Use Bola (#37188)

* Automatic changelog update

* Fix dough rolling (#37183)

* Automatic changelog update

* Fix effects of hosted anomaly when transform is parented (#37179)

* hosted anomaly effects now are at the correct location when the host is in a container or buckled

* oops, not keeping the uid and transform together

* use world positions to get the position of the anomaly -- my previous method was reinventing the wheel.

* Automatic changelog update

* Split out the CloneComponents into its own method (#37155)

* Split out the CloneComponents into its own method

* CR - Move some extra info in

- add TryComp for status effects

- Move some remcomps around

- Make Special event raising components to handle special
components that reference entities that have ownership

* CR - Extra recommendation on the prototype

thanks slarti

* Solve the yaml linter problem

* CR - Typos, grammar and some extra Status effect

* cleanup

---------

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

* Fix brains, borgs etc not counting as marooned (#37148)

* init

* comments

* comment

* no more debug

* Add collapse button to lobby right panel (#37140)

* Add collapse button to lobby right panel

* Half sized buttons

* Automatic changelog update

* Port fancy speech bubbles (#29349)

* Automatic changelog update

* Water bottle dispenser fix & Bottle Yaml Organizing (#37108)

* A New Parent/Category For The Soda & Tonic Water Bottle

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* New Parent For water bottle & Cleanup

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* More Cleanup

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* Details

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* Organizing For Additions

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* Streamlining waterbottle to be compatible with DrinkBottleVisualsAll Parent

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* Replacing/Renaming Parents

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* New Tonic/Soda Water Bottle Sprites

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* Misc Fixes

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* New Parent for Small Glass Bottles & Organizing

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* Organizing & uSize Parity.

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* File Parity

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* Merged Categories & Misc Fixes

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* Removed Silly

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* Parent Name Parity & Cleanup

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* Large Glass Bottles Category & Cleanup

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

---------

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* Automatic changelog update

* Ichor double-metabolize fix + Very minor cleanup (#37107)

Not a yaml vacation apparently

* Darken reptilian eye sockets to reduce the effect of mixels (#37082)

Initial commit

* Fixed holy water metabolism rate (#37106)

* Fixed holy water metabolizing at 1u instead of .5u a second

* Update Resources/Prototypes/Reagents/medicine.yml

---------

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

* Automatic changelog update

* Make departmental orders consoles print slips (#36944)

* Make departmental orders consoles print slips

* feed back cycle

* Automatic changelog update

* Fix borg soap (#36961)

* Create SoapBorg and replace SoapNT with SoapBorg in BorgModuleCustodial

* Reparent SoapBorg

No longer a container so the soap reagent cannot be extracted from the soap, no longer a food, no longer slippery since it can't be removed from the borg to be placed on the ground

* Move SoapBorg to end of soap.yml

* correct comp order

* fix failing tests

* Automatic changelog update

* Cryotube draw-depth (#37240)

* removes changing draw depth when occupied

* changes collision to square

* small texture changes
fixes slight perspective size when comparing side columns to the direct column facing the camera
removes the baked in pipe exit (the yml's sprite adds it anyway)

* Fire damage system fixes (#37241)

Fire fixes

* Automatic changelog update

* Make animals drop giblets into container or floor when they inserted into container (#37228)

* a

* Revert "a"

This reverts commit 2b9ba4ea67a9395d30b7ab37c8065f627f1a961a.

* auausasuasuausuuAUSTRALIA!!!!!!aausuasusdasda

* 77+33!=100

* Moth displacement maps (#37231)

moth displacement maps

* Automatic changelog update

* Four-way pipe junction, swapping junction construction fix (#37092)

* pipe x-junction assets, yml, construction

* remove duplicate asset

* attribution

* x junction instead of junctioncross for utilities.yml

* Automatic changelog update

* Raises max chest markings for all species (except Reptilian) to 2 (#37065)

* Update arachnid.yml

* Update diona.yml

* Update human.yml

* Update moth.yml

* Update slime.yml

* Update vox.yml

* Automatic changelog update

* make throw insert container code more clear (#36873)

make throw insert container more clear

* fix pka admin log (#37255)

* Genpop closet cargo orders (#37237)

* Genpop closet cargo orders

* change icon to locker base

* Automatic changelog update

* Make container draw disableble for mob-affecting Hyposprays (#30683)

* Seperate container draw from affects mobs

* Spaces

* More spaces

* Fix toggle

* Use better ands

* Reorder checks for Performance™️

---------

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

* Fix chairs deleting players (#37261)

Unbuckle entities when a strap is about to be deleted

* Add 3 new Exomorph posters (#37260)

Initial commit

* Automatic changelog update

* AI context menu fix (#37224)

* AI context menu fix

* Revert "AI context menu fix"

This reverts commit 86a0476fcb0aa952c0dcadb1bc4246532abd62b7.

* Better implementation

* Retry

* Automatic changelog update

* Cleanup warnings: CS0414 (#36950)

* Clean up

* Use #pragma

* Cleanup warnings: CS8321, CS0105, CS0168 (#36949)

* Clean up

* CS0168

* Cargo request and bounty console deny sound cooldown (#37234)

* Cargo bounty console deny sound cooldown

* ordering computer cooldown

* Update Content.Shared/Cargo/Components/CargoBountyConsoleComponent.cs

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

* Update Content.Shared/Cargo/Components/CargoBountyConsoleComponent.cs

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

* Update Content.Server/Cargo/Systems/CargoSystem.Bounty.cs

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

* AutoGenerateComponentPause

---------

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

* Move random species selection earlier in player spawning logic (#37258)

* Select random species earlier in spawning logic

* ternary operator

* Move it even earlier to fix more bugs

* For DamagedSiliconAccent use Destructible threshold for default "DamageAtMaxThreshold" (#37252)

* set DamageAtMaxCorruption as nullable with null default and use destructible trigger threshold for this if null.

* fix documentation

* these really don't need to be passed by reference

* Small InventorySystem.Equip Unequip Reason bugfix (#37265)

Fix small bug

* Amber Station - Security and AI Sat Overhaul (#37262)

* Automatic changelog update

* Fix debug asserts in WoolySystem and UdderSystem (#35314)

* Implement Rules amendment (#37200)

* Implement Rules amendment

* Update Resources/ServerInfo/Guidebook/ServerRules/RoleplayRules/RuleR9MassSabotage.xml

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

* Update RuleR9MassSabotage.xml

---------

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>

* Fix borg chassis gibbing not dropping items (#37276)

BeingGibbedEvent and TryEjectPowerCell

* Automatic changelog update

* Revert "Traumoxadone (#37126)"

This reverts commit efc8d8600d.

* Add ratelimit retry to discord changelog bot and continue publish changelog error. (#37051)

* Add ratelimit retry to discord changelog bot and continue publish changelog error.

oops we missed some changelogs cause of this... this should prevent anything funny

* Update actions_changelogs_since_last_run.py

* fuck the cl

* Tweaks to the push horn so its less of a shitter tool (#37281)

* Empty commit

* tweaks to the push horn

* forgor to change the delay

* keeping the speed the same for now

* Automatic changelog update

* [HOTFIX] Ensure that mobs wake up when zombified (#37346)

zombie sleep fix

* Update CP14SharedMagicSystem.cs

* Update LockSystem.cs

* remove desc name icon from recipes

* Update ContentLocalizationManager.cs

* Update walls.yml

* part of fixes

* gf

* f

* Update asteroid.yml

* s

---------

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>
Co-authored-by: IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
Co-authored-by: Southbridge <7013162+southbridge-fur@users.noreply.github.com>
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
Co-authored-by: Kyle Tyo <36606155+VerinSenpai@users.noreply.github.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com>
Co-authored-by: KingFroozy <140668342+KingFroozy@users.noreply.github.com>
Co-authored-by: Samuka-C <47865393+Samuka-C@users.noreply.github.com>
Co-authored-by: Partmedia <kevinz5000@gmail.com>
Co-authored-by: themias <89101928+themias@users.noreply.github.com>
Co-authored-by: Victor Shen <71985089+Vexerot@users.noreply.github.com>
Co-authored-by: Milon <milonpl.git@proton.me>
Co-authored-by: Kirus59 <145689588+Kirus59@users.noreply.github.com>
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
Co-authored-by: Stomf <5dorkydorks@gmail.com>
Co-authored-by: drakewill-CRL <46307022+drakewill-CRL@users.noreply.github.com>
Co-authored-by: PraxisMapper <praxismapper@gmail.com>
Co-authored-by: EmoGarbage404 <retron404@gmail.com>
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: TytosB <54259736+TytosB@users.noreply.github.com>
Co-authored-by: abadaba695 <spacestation13thingy@gmail.com>
Co-authored-by: kosticia <kosticia46@gmail.com>
Co-authored-by: Thinbug <101073555+Thinbug0@users.noreply.github.com>
Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
Co-authored-by: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
Co-authored-by: Boaz1111 <149967078+Boaz1111@users.noreply.github.com>
Co-authored-by: Myra <vasilis@pikachu.systems>
Co-authored-by: Whatstone <166147148+whatston3@users.noreply.github.com>
Co-authored-by: K-Dynamic <20566341+K-Dynamic@users.noreply.github.com>
Co-authored-by: Gentleman-Bird <dcgreen406@gmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: BIGZi0348 <svalker0348@gmail.com>
Co-authored-by: LaCumbiaDelCoronavirus <90893484+LaCumbiaDelCoronavirus@users.noreply.github.com>
Co-authored-by: imatsoup <93290208+imatsoup@users.noreply.github.com>
Co-authored-by: Matthew Herber <32679887+happyrobot33@users.noreply.github.com>
Co-authored-by: Ertanic <36124833+Ertanic@users.noreply.github.com>
Co-authored-by: MissKay1994 <15877268+MissKay1994@users.noreply.github.com>
Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>
Co-authored-by: eoineoineoin <helloworld@eoinrul.es>
Co-authored-by: Tiniest Shark <head.rebel@yahoo.com>
Co-authored-by: nikitosych <boriszyn@gmail.com>
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
Co-authored-by: Perry Fraser <perryprog@users.noreply.github.com>
Co-authored-by: YoungThug <ramialanbagy@gmail.com>
Co-authored-by: beck-thompson <107373427+beck-thompson@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
Co-authored-by: Vladislav Suchkov <20380250+murolem@users.noreply.github.com>
Co-authored-by: Prole <172158352+Prole0@users.noreply.github.com>
Co-authored-by: Unkn0wn_Gh0st <shadowstalkermll@gmail.com>
Co-authored-by: 3nderall <101940324+3nderall@users.noreply.github.com>
Co-authored-by: Radezolid <snappednexus@gmail.com>
Co-authored-by: J <billsmith116@gmail.com>
Co-authored-by: Ghagliiarghii <68826635+Ghagliiarghii@users.noreply.github.com>
Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>
Co-authored-by: youtissoum <51883137+youtissoum@users.noreply.github.com>
Co-authored-by: Minemoder5000 <minemoder50000@gmail.com>
Co-authored-by: Spanky <scott@wearejacob.com>
Co-authored-by: Spessmann <156740760+Spessmann@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: brainfood1183 <113240905+brainfood1183@users.noreply.github.com>
Co-authored-by: Deerstop <edainturner@gmail.com>
Co-authored-by: B_Kirill <153602297+B-Kirill@users.noreply.github.com>
Co-authored-by: archee1 <archee3@hotmail.co.uk>
Co-authored-by: Cojoke <83733158+Cojoke-dot@users.noreply.github.com>
Co-authored-by: Quantum-cross <7065792+Quantum-cross@users.noreply.github.com>
Co-authored-by: poklj <compgeek223@gmail.com>
Co-authored-by: Krunklehorn <42424291+Krunklehorn@users.noreply.github.com>
Co-authored-by: OnyxTheBrave <131422822+OnyxTheBrave@users.noreply.github.com>
Co-authored-by: UpAndLeaves <92269094+Alpha-Two@users.noreply.github.com>
Co-authored-by: Flareguy <78941145+Flareguy@users.noreply.github.com>
Co-authored-by: Zalycon <84675130+Zalycon@users.noreply.github.com>
Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: Verm <32827189+Vermidia@users.noreply.github.com>
Co-authored-by: nikthechampiongr <32041239+nikthechampiongr@users.noreply.github.com>
Co-authored-by: ScarKy0 <scarky0@onet.eu>
2025-05-26 12:45:00 +03:00
Ed
d44579df78 s 2025-05-26 12:30:16 +03:00
Ed
d34ece9eed Update asteroid.yml 2025-05-26 12:10:01 +03:00
PJBot
67a4dc2479 Automatic changelog update 2025-05-26 07:31:07 +00:00
Southbridge
318d817cff Amber Station - Added Sec Beacons (#37700) 2025-05-26 00:29:58 -07:00
slarticodefast
e8bc811f7a Add WieldingBlockerComponent (#37778)
initial commit
2025-05-25 23:50:30 -04:00
PJBot
68d5d940cf Automatic changelog update 2025-05-26 03:37:23 +00:00
Fildrance
291ccfbe23 Spray nozzle can suck puddles into tank directly! (#30600)
* feat: now vacuum cleaner can suck solutions from floor

* refactor using AbsorbentSystem instead of separate vacuum cleaner

* refactor: remove unused vacuum cleaner files

* refactor: renamed ConnectedContainerComponent to SlotBasedConnectedContainerComponent (and system)

* fix: fix invalid comp name

* fix: no more spray nozzle messaging about water inside bottles etc.

* refactor: minor refactor in SlotBasedConnectedContainerSystem and adjustments after merge

* refactor: cleanups

* refactor: renaming

* refactor: update to use _puddleSystem.GetAbsorbentReagents

* refactor: changed interactions with SlotBasedConnectedContainerSystem into events

* refactor: new sound and action delay adjusted to sound (amount tweaked a bit accordingly, almost)

* refactor: added networking for SlotBasedConnectedContainerComponent

* fix attribution for vacuum-cleaner-fast.ogg

* trying to fix multi-license for mix sound file

* remove empty line

* refactor: remove trailing whitespace

* by ref struct, brother

---------

Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
Co-authored-by: EmoGarbage404 <retron404@gmail.com>
2025-05-25 23:36:16 -04:00
PJBot
d1370de758 Automatic changelog update 2025-05-26 02:38:29 +00:00
Kyle Tyo
2ec019dc0f Add a safety net to the round controls in the Admin window. (#37836)
some changes.
2025-05-25 22:37:21 -04:00
slarticodefast
e0666cc510 merge staging into master (#37829) 2025-05-26 00:16:14 +02:00
Errant
99236def28 comment out slotblocker yaml (#37827)
* comment out slotblocker yaml

* let me fix this real quick xD

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-05-26 00:05:47 +02:00
RedBookcase
394388be5c Updated Drozd and Lecter with magazine states and small animations. (#37790)
Co-authored-by: RedBookcase <Usualmoves@gmail.com>
2025-05-25 17:55:50 -04:00
Tayrtahn
3c48e6abaa Cleanup some easy-to-fix static logger warnings (#37820) 2025-05-25 23:20:08 +02:00
Velcroboy
1f2d4e7efc Update locker storage to entity tables (#37809)
* Update locker storage to entity tables

* tidy

* Requested changes

---------

Co-authored-by: Velcroboy <velcroboy333@hotmail.com>
2025-05-25 21:48:10 +02:00
Princess Cheeseballs
11d0799e1a Mob Spin Fix Update (#37603)
Kid named negative velocity
2025-05-25 21:09:25 +02:00
PJBot
2b03c91823 Automatic changelog update 2025-05-25 18:37:07 +00:00
AsnDen
178a085328 Bar sign AlignTile version and fixtures for bar signs (#37756)
* fixtures and sprite offset

* AlignTile versions

* Update bar_sign.yml
2025-05-25 20:36:00 +02:00
Tayrtahn
6b2c50f4ba Cleanup warnings in BasicStationEventSchedulerSystem (#37818)
Cleanup 4 warnings in BasicStationEventSchedulerSystem
2025-05-25 14:27:47 -04:00
PJBot
e73f1e3a19 Automatic changelog update 2025-05-25 18:12:47 +00:00
Moomoobeef
4cab7180be Dirty Steel Tile now has Variants (#37800)
added variants for dirty tile
2025-05-25 14:11:40 -04:00
PJBot
ad4737dc2a Automatic changelog update 2025-05-25 18:04:09 +00:00
brainfood1183
51ca833662 kangaroos can now be equipped with north stars and knuckle dusters. (#37789)
* kangaroos can now be equipped with north stars and knuckle dusters (except stun knuckle duster).

* whitespace issues fix..

* damn whitespace

* fix whitespace

* fix whitespace

* final fix.
2025-05-25 20:03:01 +02:00
Stop-Signs
d81977281e Make foods reflect their ingredients better (#34138)
* Borbers

* Meals.yml Updated

* Update Cursed noodles

* Soups even more cursed

* Pies tacos and cakes

* typo

* typo ops pt 2

* Typo ops + non-existant reagent

* justice for soy

* minor mistake in soup.yml

* Update pie.yml
2025-05-25 11:02:04 -07:00
Tayrtahn
50fb48de2e Cleanup all instances of IMapManager.GetMapEntityId (#37814)
* Cleanup all instances of IMapManager.GetMapEntityId

* Dependencies

* LocalizedEntityCommands
2025-05-25 19:09:47 +02:00
Tiniest Shark
95e7d16a92 minor color fix 2025-05-25 12:06:44 -04:00
PJBot
e08a7f3c84 Automatic changelog update 2025-05-25 15:58:32 +00:00
K-Dynamic
a775858486 Add welded visuals to shutters and blast doors (#37807)
add welded to all shutters and blast doors
2025-05-25 17:57:18 +02:00
Tayrtahn
4c4c98617e De-hardcode shuttle docking messages/audio (#37813) 2025-05-25 17:46:52 +02:00
Moomoobeef
97e6ad7c9d fixed gay wackpack (#37812) 2025-05-25 10:26:04 -04:00
Deserty0
8e796053d4 fix (#1309) 2025-05-25 12:40:56 +03:00
Tiniest Shark
9391b32e76 big tail can wag now 2025-05-25 01:55:59 -04:00
Tayrtahn
821b4b738a Cleanup warnings in TileAtmosCollectionSerializer (#37798)
Cleanup warning in TileAtmosCollectionSerializer
2025-05-25 14:18:06 +10:00
github-actions[bot]
d7acba43ec Update Credits (#37799)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2025-05-24 20:37:05 -04:00
Cojoke
a66de72a26 Removes references to GetAnchoredEntitiesEnumerator(Vector2i) (#37796)
* Removes references to GetAnchoredEntitiesEnumerator(Vector2i)

* requested changes(I think)
2025-05-25 01:00:47 +02:00
Tayrtahn
05d3d9350d Cleanup logging in guidebook embeds (#37794) 2025-05-25 00:47:47 +02:00
Simon
a9f36e6592 Fix admin chat relay sending to every player online (#37795) 2025-05-25 00:11:01 +02:00
Pieter-Jan Briers
ec3edb7264 New Discord integration fixes (#37793)
Fix admin chat relay.

Fix leaked task instance.

Fix warning about gateway intents on startup.

Fix packaging.
2025-05-24 23:27:12 +02:00
deltanedas
d56c0d0610 remove actions from maps (#37457)
Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2025-05-24 13:37:10 -07:00
Simon
7867cbec00 Add basic discord client integration with ooc and admin chat support (#33840)
* Add basic discord client integration with ooc and admin chat support

* Use username instead of global name

WHY IS GLOBAL NAME NOT JUST THE USERNAME??? WHY ARE THERE NO DOC COMMENTS???

* stuff

* Reviews, methinks.

* Reviews

* reviews
2025-05-24 20:49:52 +02:00
slarticodefast
fef4187995 Move PriceCalculationEvent and EstimatedPriceCalculationEvent to shared (#37782)
* moce PriceCalculationEvent to shared

* Update Content.Shared/Cargo/PriceCalculationEvent.cs

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

---------

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
2025-05-24 19:36:38 +02:00
Tayrtahn
f4efaaeb72 Convert TimedSpawnerComponent to use an Update loop (#37785)
Convert TimedSpawnerComponent to use an Update loop
2025-05-24 19:35:17 +02:00
SlamBamActionman
8264f6cd3b Add Code of Conduct (#37542) 2025-05-24 19:34:07 +02:00
PJBot
175d99cb95 Automatic changelog update 2025-05-24 17:33:34 +00:00
Tiniest Shark
214338caa6 Inhands for bartender tools and mugs. (#37771) 2025-05-24 13:32:27 -04:00
Rafael Simões Gaspar da Ponte
2b67b49059 Fix space-wizards#35663: Prevent clipping of hovered sprites on rotation (#37784)
This fix addresses an issue where hovered tabletop machines (such as the grinder and electrolysis machine)
had their sprites clipped when the camera was rotated. The problem was fixed by setting noRot: true.
2025-05-24 13:22:09 -04:00
Ignaz "Ian" Kraft
9ca6963d46 fix crash on core destruction (#1310) 2025-05-24 20:21:05 +03:00
github-actions[bot]
60e84789ce @Ian321 has signed the CLA in crystallpunk-14/crystall-punk-14#1310 2025-05-24 16:27:33 +00:00
Tayrtahn
f788558b49 Cleanup warnings in AI wire actions (#37780)
Fix 4 warnings in Ai wire actions
2025-05-24 18:08:03 +02:00
Tayrtahn
9df514472f Cleanup AnchorableSystem (#37753)
* The easy part

* Overload and obsolete

* Internal cleanup

* Update all references to new overload
2025-05-24 17:05:09 +02:00
Tayrtahn
b5afebdbce Cleanup remaining warnings in ExplosionSystem (#37764)
* Change ExplosionGridTileFlood.Grid to Entity<T>

* Change ExplosionData.Lookup to Entity<T>

* ExplodeSpace

* ExplosionData.MapGrid

* _currentGrid

* _tileUpdateDict

* 1 warning in Process

* IsEdge
2025-05-24 16:55:46 +02:00
github-actions[bot]
cb78372d3b @Sefaia has signed the CLA in crystallpunk-14/crystall-punk-14#1307 2025-05-24 06:11:51 +00:00
PJBot
4ff221e7b9 Automatic changelog update 2025-05-24 05:12:05 +00:00
Coco
04b6da4ff2 Fix missing weight property in Chief Medical Officer job prototype (#37774)
Co-authored-by: CoconutThunder <1355178+CoconutThunder@users.noreply.github.com>
2025-05-24 01:10:57 -04:00
Sukilove
af736eb93d Added a new detective's office sign (#37765)
* Added a new detective's office sign

* Revised the design
2025-05-23 21:40:52 -04:00
PJBot
fa7c56319b Automatic changelog update 2025-05-23 21:58:17 +00:00
Hitlinemoss
6240a51932 Liquid soap is now slippery (#37747)
* Liquid soap is now slippery

* Adjusted liquid soap friction value
2025-05-23 23:57:06 +02:00
bolantej
e5144c5df8 Fixed Holoclown injector not breaking on drop (#37727) 2025-05-23 14:42:30 -07:00
Sukilove
1f5026bcef Deletes an empty file (#37763) 2025-05-23 14:31:01 -07:00
github-actions[bot]
151d485f5e @Fr0goo has signed the CLA in crystallpunk-14/crystall-punk-14#1304 2025-05-23 19:34:51 +00:00
Tayrtahn
bd6645b021 Cleanup redundant SpriteSystem dependencies in VisualizerSystems (#37758)
Cleanup redundant SpriteSystem dependencies in VisualizerSystems
2025-05-23 14:12:20 -04:00
Tayrtahn
f3f655a8f9 Cleanup warnings in SalvageExpeditionConsoleBoundUserInterface (#37757)
Clean 2 warnings in SalvageExpeditionConsoleBoundUserInterface
2025-05-23 13:12:28 -04:00
pathetic meowmeow
bf41de18aa Move entity effects definitions to shared (#35614)
* Move entity effects to shared

* relocate spawning to server

* Generic version of EntityEffect for just raising event.

* genericise everything

* oops forgot to push you

* some condensation

* finish rebas

* unwhite the space

* oops forgot nuke

* bad rebase fix

* useless annotations begone

---------

Co-authored-by: EmoGarbage404 <retron404@gmail.com>
2025-05-23 12:32:22 -04:00
Tayrtahn
7ba81173bd Cleanup warnings in SmokeOnTriggerSystem (#37754)
Cleanup 2 warnings in SmokeOnTriggerSystem
2025-05-23 17:56:10 +02:00
slarticodefast
c1f1eaa0c3 Cleanup TryGetContainingContainer (#37752)
kill
2025-05-23 17:11:29 +02:00
Tayrtahn
fe4d8e2ea9 Cleanup warning in NPCCombatSystem.Ranged (#37751)
Cleanup 1 warning in NPCCombatSystem.Ranged
2025-05-23 10:56:37 -04:00
slarticodefast
95f1fae8c0 Improve gas constants test (#37749)
* improve gas constants test

* fix test fail

* review
2025-05-23 09:46:41 -04:00
Ed
924897e27d f 2025-05-23 15:08:17 +03:00
Ed
262a8a30c9 gf 2025-05-23 14:58:41 +03:00
Ed
8e7f68c062 part of fixes 2025-05-23 14:57:20 +03:00
Ed
3a9e6dc409 Update walls.yml 2025-05-23 13:52:18 +03:00
Ed
3abb4d6051 Update ContentLocalizationManager.cs 2025-05-23 13:44:02 +03:00
Red
40246e9b13 Merge branch 'master' into ed-12-05-2025-upstream 2025-05-23 12:58:11 +03:00
Cuir
14074a2ff3 Window improvements (#1292)
* Added stone brick and marble brick windows to the crafting menu proper.
Sanitized capitalization of construction graph ids and nodes (but not entities).
Sanitized stone and marble structure descriptions.

* Windows that are built with frames now leave those frames behind when you smash them instead of disintegrating entirely.

* Syntax error because entity id

* wooden windows

* Added a base window frame as well as a wooden window frame and its broken variant.
Frames can be vaulted through, and the broken glass variant will deal slash damage and a short stun upon entering.
Wooden windows now deconstruct and shatter into both types of frames, which can also be deconstructed.
Fixed an issue with window collisions when connected across tiles.
Gave wooden windows their own prototype file and construction graph.

* stonevrick windows

* Added functionality to stone window frame types.
Fixed an issue where shattered windows weren't triggering unless they were flammable.

* some parenting work

* fix fixtures

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: Ed <edwardxperia2000@gmail.com>
2025-05-23 12:03:36 +03:00
Nim
51277446ef Правка перевода RU (#1302)
* traslet fix

* fix
2025-05-23 11:03:59 +03:00
Tayrtahn
8565966b53 Cleanup warnings in CableVisSystem (#37738)
Cleanup 2 warnings in CableVisSystem
2025-05-23 05:22:32 +02:00
Tayrtahn
947e20eeb7 Cleanup warning in EventHorizonSystem (#37736)
* Cleanup 1 warning in EventHorizonSystem

* Now even more future-proof!
2025-05-23 05:19:21 +02:00
Tayrtahn
3f9670f792 Cleanup remaining MapGridComponent.GetAnchoredEntities(MapCoordinates) uses (#37729)
Cleanup remaining MapGridComponent.GetAnchoredEntities uses
2025-05-22 21:42:47 -04:00
Sukilove
aadcaabf0e Rotated Keyfile (#1299)
* Rotated the inventory sprite Keyfile by 45 degrees

* Update CP14RoundEndSystem.CBT.cs

* Rotated another 45 degrees
2025-05-22 23:26:34 +03:00
PJBot
6c1caec5c8 Automatic changelog update 2025-05-22 18:13:34 +00:00
ArtisticRoomba
66761f5497 Buff gas canister volumes moderately (#37564)
* Buff gas canister volumes moderately

* increase prices moderately
2025-05-22 14:12:24 -04:00
Hitlinemoss
76f105cd3a renamed teamster -> courier 2025-05-22 13:20:40 -04:00
metalgearsloth
d924e11c3a Fix storage (#37714)
The one path I forgot to get the relative index.
2025-05-22 10:11:36 -04:00
Red
0ce4771f3d Update CP14RoundEndSystem.CBT.cs 2025-05-22 14:53:46 +03:00
PJBot
6c6f33e47e Automatic changelog update 2025-05-22 08:43:28 +00:00
Nemanja
19c88963b4 Add gold and silver material crates, balance cargo mat crate prices (#37713) 2025-05-22 01:42:20 -07:00
YoungThug
b95bcbffed Rat King Chat Indicator (#37184)
* Rat King Chat Indicator

* BUFFRATWHEN

* Added it to the crown wawa

* Ignore this

* Whats the limit for stuff I can put here?

* Fix da merge conflicts for real this time

* WE DID ITgit add -A

* Errant Requested Changes
2025-05-22 01:47:04 -04:00
PJBot
ecff1f8810 Automatic changelog update 2025-05-22 03:26:14 +00:00
ScarKy0
0cb9e803e5 Tweak "Escape" objective to allow yellowtexting (#37680)
init
2025-05-21 20:25:07 -07:00
PJBot
aac32a771a Automatic changelog update 2025-05-22 02:20:04 +00:00
Wolfkey-SomeoneElseTookMyUsername
e72e25aba1 Add disposal signalers (#37535)
* Add disposal signalers

* Sprite changes

* Some requested changes

* Requested changes + change spelling to be with two l's to be consistent with the remote signaller
2025-05-21 22:18:57 -04:00
Tayrtahn
5a93099509 Update SharedBiomeSystem methods to use Entity<T> (#37698)
* Fix warning in TryGetBiomeTile

* Overload TryGetBiomeTile

* Overload more methods, fix internal warnings

* Update TryGetEntity uses

* Update TryGetTile uses

* Cleanup TryGetDecals use

* Formatting

* Two more warnings while we're here
2025-05-21 22:10:52 -04:00
PJBot
db0fb6118f Automatic changelog update 2025-05-22 01:40:55 +00:00
ArtisticRoomba
7d7858d41c Significantly improve Tesla generator power stability (#37626)
* Significantly improve Tesla generator power stability

* Second round of balancing
2025-05-21 21:39:48 -04:00
Tayrtahn
11f291d1a2 Cleanup warning in GridInRange (#37699)
Cleanup warning in GridInRange
2025-05-21 21:28:42 -04:00
PJBot
5af5305d97 Automatic changelog update 2025-05-22 01:23:15 +00:00
Pieter-Jan Briers
1d5a06612a Optimize parallax VRAM usage (#37180)
* Disable parallax texture preloading

Many parallax layers are specific to a single map and will likely never be loaded for the duration of the game. Save VRAM by not loading them always.

Requires engine master

* Put generated parallax identifier in texture name

Makes it show up properly in debugging tools

* Don't load generated parallaxes multiple times

Many parallax prototypes re-use the same generated parallax configs. These generated parallaxes were being loaded multiple times at once, which was a massive waste of VRAM.

We now move these into a separate cache for deduplication. I had to write a lot of logic to handle loading cancellation and ref counting. Yay.

Also fixes some spaghetti with the previous parallax loading system: cancellation didn't work properly, give proper names to generated texture names, etc.

This saves like 100+ MB of VRAM.
2025-05-22 11:22:08 +10:00
Tayrtahn
6f89c2c455 Cleanup warnings in AtmosPipeAppearanceSystem (#37706)
* Cleanup 2 warnings in AtmosPipeAppearanceSystem

* Let's use the Entity<T> version

* todo comment
2025-05-21 21:06:06 -04:00
github-actions[bot]
7b7e2d0d22 @Soupkilove has signed the CLA in crystallpunk-14/crystall-punk-14#1299 2025-05-22 00:41:21 +00:00
Tayrtahn
73031ee5a0 Cleanup warnings in NodeVisualizationOverlay (#37707)
Cleanup 2 warnings in NodeVisualizationOverlay
2025-05-22 02:23:12 +02:00
K-Dynamic
0c7cfb528d Evac Shuttle Wode update (#37223) 2025-05-21 16:26:57 -07:00
PJBot
5490acd23b Automatic changelog update 2025-05-21 20:46:41 +00:00
ScarKy0
572b20464c Tweak "Help a fellow traitor" objective to allow yellowtexting (#37679)
init
2025-05-21 16:45:34 -04:00
PJBot
acccf66259 Automatic changelog update 2025-05-21 19:51:03 +00:00
AsnDen
d7a17739c6 Screaming for cyborgs (#32329) 2025-05-21 12:49:56 -07:00
Ed
0f4decfa9b Update CP14RoundEndSystem.CBT.cs 2025-05-21 21:28:11 +03:00
Ed
ff68b9606f Update Dev.toml 2025-05-21 21:16:19 +03:00
PJBot
566eabb757 Automatic changelog update 2025-05-21 18:08:05 +00:00
Leon Friedrich
38d7949777 Add microwave-nukedisk interaction (#36114)
* Add microwave-nukedisk interaction

* popup

* Fix UninitializedSaveTest
2025-05-21 11:06:58 -07:00
Red
2d0d79ca41 Daily English CBT (#1286)
* Update CP14RoundEndSystem.CBT.cs

* Update CP14RoundEndSystem.CBT.cs

* Update CP14RoundEndSystem.CBT.cs
2025-05-21 21:06:44 +03:00
HTML/Crystal
3385c45d80 Change Arachnid Layering (#36357)
* 1 commit ops

* untouching this before anyone has to tell me
2025-05-21 10:40:55 -07:00
Kyle Tyo
674724b3f2 Fix glass external airlocks using the standard airlock emergency access lights. (#37666)
Update emergency_unlit.png
2025-05-21 19:14:24 +02:00
PJBot
43aefd235c Automatic changelog update 2025-05-21 17:12:42 +00:00
mubururu_
4d0a0ac5c5 make some stuff require two hands (#37683)
* get splitted

* thievy 1 handed

* scarko changes
2025-05-21 19:11:34 +02:00
metalgearsloth
298f821bec Ore + entitytable fixes (#37675)
* Ore + entitytable fixes

Iterate every dungeon not just last.

* Big shot

* Fixes
2025-05-21 12:43:17 -04:00
Red
352707f1d7 Remove Guildmaster & Merchant roles (#1296)
* b

* Update round_end.yml

* Update round_end.yml
2025-05-21 19:33:00 +03:00
Tayrtahn
ecf9e855f6 Remove static logger calls in LateJoinGui (#37688)
* Cleanup 2 static logger calls in LateJoinGui

* That's not how that works
2025-05-21 12:23:35 -04:00
mubururu_
588bc52f26 inhands for Syndicate Things (and thief beacon) (#37682)
* initial

* splitting this b

* thief bacon 1 handed

* why is test fail

* dont fail please

* "requires"

* evil tests
2025-05-21 11:39:29 -04:00
PJBot
83f1131f19 Automatic changelog update 2025-05-21 13:33:56 +00:00
metalgearsloth
6ddd849ca9 Update submodule to 260.2.0 (#37684) 2025-05-21 23:32:56 +10:00
metalgearsloth
e00c622d22 Use velocity along normal for shuttle impacts (#37667)
* Use velocity along normal for shuttle impacts

Scrapes shouldn't have the same level of destruction as full-on ramming anymore. Also detecting scrapes should be a lot easier for future stuff.

* Update Content.Server/Shuttles/Systems/ShuttleSystem.Impact.cs
2025-05-21 23:32:46 +10:00
PJBot
d8ba7ee625 Automatic changelog update 2025-05-21 10:38:43 +00:00
Errant
1b7651184c Limit shuttle collision damage (#37578)
* outlaw the usage of spacecraft as weapons of mass destruction

* adjust slowdown
2025-05-21 20:37:36 +10:00
Red
068b2c5576 Update README.md 2025-05-21 12:56:43 +03:00
Alexsey Bezyuk
a73f8e3113 Seed sack and craft (#1287)
* seed_sack

* full seed sack

* seed sack sprite

* name and description
2025-05-21 12:41:22 +03:00
Deserty0
beeea40dc7 Lochelper update (#1262)
* comments

* Update localization_helper.py

* okay

* oops

* dsd

* adad

* as

* finally

* Revert "finally"

This reverts commit 50c6059676.

* Reapply "finally"

* fix

* fix
2025-05-21 11:51:03 +03:00
Nim
afa522cc7c Перевод на RU (#1285)
* translate

* fix

* rev

* slime

* fix local
2025-05-21 11:50:42 +03:00
PJBot
2c1ba4951f Automatic changelog update 2025-05-21 07:52:29 +00:00
Spanky
524aa8bf0d Reach Update (#37669) 2025-05-21 00:51:20 -07:00
github-actions[bot]
b0d6bb3c0f @Cu1r has signed the CLA in crystallpunk-14/crystall-punk-14#1292 2025-05-21 07:18:04 +00:00
ArtisticRoomba
3d5534199e fix soil locale (#37674)
* fix soil locale

* xdd
2025-05-20 23:36:06 -07:00
PJBot
d3d10f98fb Automatic changelog update 2025-05-21 06:17:34 +00:00
metalgearsloth
a393033c64 Optimise storage a quadrillion times (#37638)
* Optimise storage a quadrillion times

* How sweaty can we get

* Add fast angle checks

* Fix chunk indices

* Optimise the refresh method

Helps on client a lot as the clientside is suboptimal atm.

* Better name

* wawawewa

* Add single-angle path

* Okay FINE rider
2025-05-21 02:16:26 -04:00
PJBot
e100324815 Automatic changelog update 2025-05-21 05:02:07 +00:00
PJBot
1d5a82f51c Automatic changelog update 2025-05-21 05:01:00 +00:00
Southbridge
5a3c59fd7f Box Station - Added GenPop (Sec redesigned) (#37663) 2025-05-20 22:00:51 -07:00
Minty642
ebcbdf3077 Adding fungal soil (#36245)
Co-authored-by: aliser <20380250+murolem@users.noreply.github.com>
2025-05-20 21:59:51 -07:00
Spanky
4dda8b43f2 Fix Misplaced Mapping CL Entries (#37670)
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-05-20 21:41:39 -07:00
PJBot
ee3ba71104 Automatic changelog update 2025-05-21 01:14:00 +00:00
FrostRibbon
e114b9d9a0 Epinephrine Antihistamine effect, Histamines not radioactive (#37460)
* Added Epinephrine antihistamine effect when at least 45u. Removed Histamines causing Radiation damage.

* Indentation fixed

* had coffee, able to see how to fix indentation now.
2025-05-20 18:12:53 -07:00
PJBot
4cd8e33a92 Automatic changelog update 2025-05-21 00:13:23 +00:00
Spanky
ecfbeb9834 Packed Update (Salvage Job Computer) (#37656) 2025-05-20 17:12:15 -07:00
PJBot
741909b5a1 Automatic changelog update 2025-05-20 23:37:06 +00:00
Spanky
e134c57165 Omega Update (Salvage Job Computer) (#37655) 2025-05-20 16:35:59 -07:00
PJBot
538790017f Automatic changelog update 2025-05-20 23:30:54 +00:00
Spanky
dc6188000c Marathon Update (#37654) 2025-05-20 16:29:45 -07:00
PJBot
7bfe9f705b Automatic changelog update 2025-05-20 23:29:06 +00:00
Spanky
a261f93550 Bagel Update (Salvage Job Computer) (#37652) 2025-05-20 16:27:57 -07:00
Spanky
11276b9a7b Fland Update (Salvage Job Computer) (#37653) 2025-05-20 16:27:31 -07:00
Ed
9e26d985a5 Update roles.yml 2025-05-21 00:33:20 +03:00
Ed
58edb8783b test with joinqueue 2025-05-21 00:31:04 +03:00
Red
1d093c3919 Critical bugfixes (#1291)
* fix modifier duplication

* fix scrap melting
2025-05-21 00:30:16 +03:00
Tayrtahn
6f46698410 Cleanup warning CS0414 (#37648) 2025-05-20 23:14:10 +02:00
TheKittehJesus
726a078b95 added hideCaution to BaseSmokingPipe (#1290) 2025-05-21 00:02:44 +03:00
Red
7b7a837cf8 City Gate fix + Comoss update (#1289)
* city gate fix

* Update comoss.yml

* fix

* Update migration.yml
2025-05-20 22:36:43 +03:00
TheKittehJesus
2fc1384780 Proofreading changes [EN] (#1288)
* First batch of text fixes

* Tweaks

* that the tavern

---------

Co-authored-by: TheKittehJesus <29379890+SamGithubAccount@users.noreply.github.com>
2025-05-20 22:22:43 +03:00
github-actions[bot]
a92e07fc20 @TheKittehJesus has signed the CLA in crystallpunk-14/crystall-punk-14#1288 2025-05-20 18:35:33 +00:00
PJBot
c406fa2d1e Automatic changelog update 2025-05-20 16:56:27 +00:00
Kittygyat
f5df6a59b7 Slime storage QoL (#37592) 2025-05-20 18:55:20 +02:00
PJBot
857c12fcc7 Automatic changelog update 2025-05-20 13:05:35 +00:00
B_Kirill
f07b2aa6c3 New fun meteors (#37327)
* New fun meteors

* Forgot about newline

* Fix

* Wow, a new test

* Okay

* Fix

* Fix 2

* I hope this is correct enough

* Attribution

* Attribution 2
2025-05-20 23:04:27 +10:00
SeamLesss
0766857112 Bombsuit Description Fix (#37631)
simple as that
2025-05-20 08:58:08 -04:00
PJBot
4ec07d3768 Automatic changelog update 2025-05-20 12:37:18 +00:00
slarticodefast
9b1a6dd57b add reduced motion drug overlay (#37584)
* reduced motion flash effect

* reduced motion drug overlay

* Revert "reduced motion flash effect"

This reverts commit e350b2899d0acc78c9833b5bc23a9680e03b2736.
2025-05-20 08:36:08 -04:00
Hitlinemoss
0f692b3788 added senior teamster PDA, cargo beret 2025-05-20 08:20:13 -04:00
TrixxedHeart
b682da9d9c Fixed Missing or Misconfigured Locale Keys (#37595)
* Fixes and adds many localization keys from #34343
Open

* Fix comment, that is not how that works.

* Update Resources/Locale/en-US/components/screen-component.ftl

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

* Fixes cmd-parse-failure-int -> cmd-parse-failure-integer in OptionsUIController.cs, removes cmd-parse-failure-int from options-menu.ftl

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-05-20 13:07:52 +02:00
metalgearsloth
0d4f9640b5 CompFactory updates (#37559) 2025-05-20 01:08:55 -04:00
keronshb
bc0139f961 Submodule Update 260.1.0 (#37633) 2025-05-20 00:49:23 -04:00
PJBot
6158ee31f9 Automatic changelog update 2025-05-20 02:48:11 +00:00
Princess Cheeseballs
203befb16c Galosh Slowdown Fix (#37628)
Begone Galosh
2025-05-19 22:47:03 -04:00
Tayrtahn
c5ac160ea8 Cleanup more SpriteComponent warnings (part 6) (#37607)
* 1 warning in MechAssemblyVisualizerSystem

* 2 warnings in RecyclerVisualizerSystem

* 1 warning in ClusterGrenadeVisualizerSystem

* 2 warnings in BarSignSystem

* 4 warnings in AlertControl

* 1 warning in ToolSystem

* 2 warnings in PinpointerSystem

* 2 warnings in ClientSpriteMovementSystem

* 2 warnings in OptionsVisualizerSystem

* 1 warning in FlatpackSystem

* 1 warning in ZombieSystem

* 1 warning in StackSystem

* 1 warning in MiningOverlay

* 1 warning in FlippableClothingVisualizerSystem

* Guard clause for MechAssemblyVisualizerSystem

* Get SpriteSystem in AlertControl constructor
2025-05-20 01:52:03 +02:00
PJBot
c6f518de18 Automatic changelog update 2025-05-19 22:46:25 +00:00
SpeltIncorrectyl
97e6127cf0 Give kammerer tighter spread so it's not a complete downgrade to the enforcer (#37616) 2025-05-19 15:45:18 -07:00
PJBot
a932cc358f Automatic changelog update 2025-05-19 22:40:30 +00:00
RedBookcase
63eea297f3 Updated Salvage Guidebook. (#37593)
Co-authored-by: RedBookcase <Usualmoves@gmail.com>
2025-05-19 15:39:23 -07:00
PJBot
f7a587c82a Automatic changelog update 2025-05-19 22:36:16 +00:00
Entvari
72501bac10 Researchable & Printable Hyper Capacity Cells (#37619)
* wowwww batterie

* americanized the spelling of "maximised" to "maximized"

* changed recipe to be more unique from microreactors

* addressing requested changes
2025-05-19 18:35:08 -04:00
Tayrtahn
6e4e2d0b69 Add validation test for ExplosionPrototypes (#37621)
* Add validation test for ExplosionPrototype

* Remove runtime validation in prototype
2025-05-19 18:22:47 -04:00
Tayrtahn
004e084b5a Cleanup 2 warnings in ReagentDispenserSystem (#37622)
* Cleanup 2 warnings in ReagentDispenserSystem

* Eh, let's be specific
2025-05-19 18:18:10 -04:00
SeamLesss
9664ebc446 Mirror Shield Contraband Fix (#37620)
easy change
2025-05-19 18:04:22 -04:00
Tayrtahn
80e7711966 Remove ParallaxVV property from ParallaxComponent (#37617)
Delete ParallaxVV
2025-05-19 17:36:30 -04:00
TytosB
c3e6beed85 loop salvage job board (#37618) 2025-05-19 14:30:03 -07:00
SeamLesss
926248e235 Magazine Sprite Fix (#37615)
* first

* long mag + mk58 color
2025-05-19 16:29:47 -04:00
PJBot
7d186093f4 Automatic changelog update 2025-05-19 18:56:49 +00:00
Deerstop
5ad15acb19 Elkridge - Salv job board and overhaul (#37600) 2025-05-19 11:55:41 -07:00
Ed
ab619ad840 Merge branch 'master' of https://github.com/crystallpunk-14/crystall-punk-14 2025-05-19 21:45:33 +03:00
PJBot
8a7682bef6 Automatic changelog update 2025-05-19 18:24:45 +00:00
āda
41a129e749 Pepper makes you cough (#36358) 2025-05-19 11:23:38 -07:00
Tayrtahn
69354f59c8 Cleanup SpriteComponent warnings in map renderer (#37609)
* 3 warnings in EntityPainter

* 1 warning in MapPainter
2025-05-19 12:52:04 -04:00
PJBot
9ed6ce581e Automatic changelog update 2025-05-19 16:15:47 +00:00
Samuka-C
0d3e6986c8 Make Holy water evaporate like normal water (#37611)
holy water evaporates
2025-05-19 12:14:40 -04:00
Red
f4caea3c6c Garbage delete (#1284)
* fuck this

* and this

* aaand this

* content fix

* Update base.yml

* Update physical.yml

* kill bob
2025-05-19 14:53:00 +03:00
Red
b07fadf5b0 EntityLootTable deleted (#37604) 2025-05-19 19:53:29 +10:00
kosticia
791ce3a5cd remove ignition functional from welder component (#37586)
* a

* webedit
2025-05-19 11:49:59 +02:00
Alexsey Bezyuk
bd2f2e14d9 Wheat gather increase (#1283)
* wheat increase

* requirment bread count decrease

* Revert "wheat increase"

This reverts commit 9a7ecedcdc.

* Time decrease
2025-05-19 12:32:00 +03:00
Alexsey Bezyuk
f250f2b986 Gathering Seeds (#1282) 2025-05-19 12:13:29 +03:00
PJBot
b383e7c74c Automatic changelog update 2025-05-19 08:18:00 +00:00
Southbridge
8c786e8a6c Box Station - Added Job board (#37602) 2025-05-19 01:16:47 -07:00
Alexsey Bezyuk
3472feefea Increase WorkbenchRadius (#1281) 2025-05-19 10:38:19 +03:00
github-actions[bot]
3a89698faa @PhantornRU has signed the CLA in crystallpunk-14/crystall-punk-14#1281 2025-05-19 07:31:20 +00:00
Nemanja
0b70c10b54 Make early salvage jobs easier (#37598) 2025-05-18 23:15:22 -07:00
PJBot
79b4c939d2 Automatic changelog update 2025-05-19 01:31:52 +00:00
keronshb
054d35a4f8 Force Wall Tweaks (#37525)
* Reduces forcewall time to 10 seconds

* Increases force wall action delay to 15

* Adds Special Wall Layer

* Fixes indenting. Changes Mask and Layer to Special Wall Layer

* Update Resources/Prototypes/Entities/Structures/Walls/walls.yml

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-05-19 03:30:46 +02:00
PJBot
7b93bf8fb5 Automatic changelog update 2025-05-19 01:18:42 +00:00
slarticodefast
f3c4ff8a2a Add keybind for swapping hands in the other direction (#37588)
add swap hands reverse
2025-05-18 21:17:35 -04:00
SeamLesss
f62f0fbae9 Black Scarf Icon Fix (#37589)
* forgot like a dumbass

* attributions
2025-05-18 21:16:23 -04:00
Tayrtahn
818d047449 Cleanup more SpriteComponent warnings (part 5) (#37590)
* 1 warning in KudzuVisualizerSystem

* 2 warnings in ChameleonProjectorSystem

* 1 warning in MarkerSystem

* 2 warnings in ItemSystem

* 1 warning in GhostToggleSelfVisibility

* 1 warning in FoamVisualizerSystem

* 1 warning in ClickableTest

* 1 warning in ThrownItemVisualizerSystem

* 2 warnings in InfantSystem

* 1 warning in ChasmFallingVisualsSystem

* 1 warning in PotencyVisualsSystem

* 2 warnings in OrbitVisualsSystem

* 2 warnings in BeamSystem

* 1 warning in JitteringSystem

* 1 warning in CardboardBoxSystem

* 2 warnings in StationAiSystem

* 2 warnings in FirelockSystem

* 2 warnings in CargoSystem.Telepad

* 1 warning in StasisBedSystem

* 2 warnings in WeldableVisualizerSystem

* 2 warnings in DeliveryVisualizerSystem

* 1 warning in TimerTriggerVisualizerSystem

* 1 warning in StorageFillVisualizerSystem

* 2 warnings in RadiationCollectorSystem

* 2 warnings in BorgSwitchableTypeSystem

* 1 warning in TurnstileSystem

* 1 warning in SurveillanceCameraVisualsSystem

* 1 warning in BurnStateVisualizerSystem

* 2 warnings in CableVisualizerSystem

* 1 warning in JetpackSystem
2025-05-19 03:09:47 +02:00
PJBot
1f9a600023 Automatic changelog update 2025-05-18 22:56:47 +00:00
qwerltaz
8fdac54c5a add: water vapor hurts slimes (#32751)
* water vapor hurts slimes

* 3 looks good

* Update Resources/Prototypes/Reagents/Consumable/Drink/drinks.yml

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-05-19 00:55:40 +02:00
Ed
72976a9f3a ро 2025-05-19 00:59:40 +03:00
Nemanja
964fa22b54 Fix research server test fail (#37562) 2025-05-18 13:04:19 -07:00
github-actions[bot]
c0ccb2d392 @DeLTaAlarm0 has signed the CLA in crystallpunk-14/crystall-punk-14#1275 2025-05-18 18:16:01 +00:00
PJBot
95924cafd5 Automatic changelog update 2025-05-18 17:44:52 +00:00
Spessmann
8d0855a153 Convex job board update (#37579) 2025-05-18 10:43:43 -07:00
PJBot
b0a837aecc Automatic changelog update 2025-05-18 14:39:38 +00:00
metalgearsloth
47adf1abd6 Fix item stuck check (#37570) 2025-05-18 16:38:31 +02:00
Ed
e70e64011f Update CP14BloodMoonCurseRule.cs 2025-05-18 16:59:39 +03:00
Ed
fd6965efe0 skimimimi 2025-05-18 15:36:28 +03:00
Ed
db222c01c2 Update Dev.toml 2025-05-18 15:35:03 +03:00
slarticodefast
643bdf547e Cleanup atmos air grenade code (#37568)
cleanup
2025-05-18 22:18:31 +10:00
PJBot
f7fdef6eca Automatic changelog update 2025-05-18 11:35:39 +00:00
Super
921c6dea30 A lone operative successfully nuking the station now actually ends the round. (#36498)
LoneOpsSpawn is now of an indefinite duration -- it lasts until either the LoneOp dies or the nuke detonates. This means a few things.
2025-05-18 21:34:33 +10:00
PJBot
93cc4dc90d Automatic changelog update 2025-05-18 09:19:25 +00:00
Simon
fc52165c9b Make Nukie and Wizard Comms Console not announce who it was sent by (#37567)
* Make Nukie and Wizard Comms Console not announce who it was sent by.

* Add doc-comment to field
2025-05-18 19:18:18 +10:00
PJBot
21fb7193d6 Automatic changelog update 2025-05-18 09:17:21 +00:00
ScarKy0
ff8b7cf220 Aloxadone Tweaks (#37239)
alox
2025-05-18 19:16:13 +10:00
PJBot
536cf2cde0 Automatic changelog update 2025-05-18 09:13:06 +00:00
ScarKy0
55ec2632a8 Traumoxadone (#37236)
* fuck salicylic acid

* small tweak based on playtest

* meh

* locale

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2025-05-18 19:11:59 +10:00
ScarKy0
406bfa3308 Cryoxadone Tweaks (#37132)
fuck cryox
2025-05-18 19:11:51 +10:00
ScarKy0
f415ad51c3 Stelloxadone (#37131)
init
2025-05-18 19:11:23 +10:00
PJBot
5259c58901 Automatic changelog update 2025-05-18 08:58:30 +00:00
ScarKy0
30537e13a4 Bomb Deliveries (#37069)
* init

* BOMB!!!

* review

* partial review

* review
2025-05-18 10:57:22 +02:00
Peptide90
5b7c00b374 Adds marker component to roof markers (#35453)
* Adds marker component to roof markers

So now you can show and hide them properly.

* a

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2025-05-18 18:14:31 +10:00
PJBot
9a57fc7895 Automatic changelog update 2025-05-18 08:13:53 +00:00
Minemoder5000
a01ba3b7b1 Rebuild ATS Anchor room and add indestructible spine. (#37560) 2025-05-18 01:12:46 -07:00
PJBot
a97994e5da Automatic changelog update 2025-05-18 07:48:42 +00:00
metalgearsloth
fc5c63ac09 Add ImplicitRoofComponent (#36112)
* Add ImplicitRoofComponent

So shuttles get marked as rooved.

* Early-out

So the new render doesn't suck up perf unnecessarily.
2025-05-18 17:47:35 +10:00
PJBot
4f4f9fc0d3 Automatic changelog update 2025-05-18 07:31:28 +00:00
Princess Cheeseballs
c26fb327d7 Add Blatantly Nuclear to Nuke Songs (#35927)
* Nukies are so back

* Catch this webedit

* Webedit 2: Epic Webedit Fail
2025-05-18 17:30:20 +10:00
PJBot
6423da85fa Automatic changelog update 2025-05-18 07:24:28 +00:00
Southbridge
f91d3a5788 Amber Station - Added Job Board (#37565) 2025-05-18 00:23:21 -07:00
PJBot
bf79757eff Automatic changelog update 2025-05-18 06:42:07 +00:00
Nemanja
4fdfa9386b De-loot salvage, add reward crates (#37561) 2025-05-17 23:40:59 -07:00
PJBot
3969bf740e Automatic changelog update 2025-05-18 04:33:58 +00:00
ArtisticRoomba
95cc36c41d Atmos Air Grenades (#37531) 2025-05-17 21:32:51 -07:00
PJBot
9c791b66c6 Automatic changelog update 2025-05-18 04:15:30 +00:00
Oleshe
4b357f236b Jigger transfer amount (#35962) 2025-05-17 21:14:23 -07:00
Ed
5590d73adc Improve TryAllReactionsTest (#35356)
* Update TryAllReactionsTest.cs

* mix categories

* Update TryAllReactionsTest.cs
2025-05-18 14:07:00 +10:00
PJBot
80c70255ac Automatic changelog update 2025-05-18 04:05:34 +00:00
Nemanja
4bced26086 Make research clients grid-local (#36821)
* Limit RD servers to the station grid

* the sluth
2025-05-18 14:04:27 +10:00
PJBot
ffc65ea474 Automatic changelog update 2025-05-18 04:03:59 +00:00
Nemanja
0d878751fa Salvage Job Board (#37549)
* Salvage Job Board

* More development

* Small boy

* Computer yaml (partial)

* UI

* Rank unlock logic

* Job label printing

* appraisal tool integration

* Jobs

* add board to QM locker

* boom!

* command desc

* mild rewording

* ackh, mein pr ist brohken
2025-05-18 14:02:52 +10:00
Nox
93305c21df Amber Station: armory restock (#37432) 2025-05-17 20:37:35 -07:00
PJBot
899ce0ded5 Automatic changelog update 2025-05-18 02:12:06 +00:00
Spangs04
9af1d69e30 Telecoms Resprite (#35811)
* Medical and Science Servers

Resprited  medical and science servers

* Delete server-off-Recovered.png

* Telecoms and Camera Servers

* Add Copyright

* Fix Rsi

* Minor Stripe Displacement Fix

* Telecoms Sprites

* Telecoms Display Update

Partial Update of the Sprites, Copyright and some YML and JSON changes

* Fix Linter and YML and Finalize

* Remember Lost Router Child

Fix Linter Again (hopefully) and add sprite to entertainment and wireless camera routers

* Requested Review Changes and ect

Changed how the servers dictate how to display whether they have no keys or if they have a mix of keys.

* Re-Run Checks

* Handful of requested changes

* Fix?

* Revert Last

* old yeller

* pushforpr

* Remove Old Files

* Fix Json

* fix rsi for real...?

* Fix Camera Servers

Servers were still calling to telecoms instead of the server sprites

* New Telecom Darken Attempt #1

* Slight stripe change

* Random Whitespace fix

* Fix2boogaloo
2025-05-17 22:10:56 -04:00
Nemanja
957371fefd Fix prisoner closet UI not working (#37558)
Fix prisoner closet UI
2025-05-18 12:00:45 +10:00
Krunklehorn
abec27737e AutomaticAtmosSystem uses MassDataChangedEvent, clarifies TileMassMultiplier (#37548)
* Initial commit, no tile changes, just mass

* Rename TileMassMultiplier to TileDensityMultiplier
2025-05-17 21:57:50 -04:00
metalgearsloth
c70e06b2d7 Predict subdermal implants (#37538) 2025-05-17 21:55:23 -04:00
PJBot
ac7da12f70 Automatic changelog update 2025-05-18 01:53:07 +00:00
Perry Fraser
ed7fb54526 tweak: Allow cutter machines to be linked to ore silos (#37554) 2025-05-17 21:51:57 -04:00
Tayrtahn
3dcfc3a99e Cleanup more SpriteComponent warnings (part 4) (#37550)
* Cleanup warnings in ClickableSystem

* Cleanup warnings in FultonSystem

* Cleanup warning in HolidaySystem

* Cleanup warning in DoAfterOverlay

* Cleanup warning in EntityHealthBarOverlay

* Cleanup warning in SmokeVisualizerSystem

* Cleanup warning in VaporVisualizerSystem

* Cleanup warning in ColorFlashEffectSystem

* Cleanup warnings in StealthSystem

* Cleanup warnings in TrayScannerSystem

* Cleanup warnings in InventoryUIController

* Cleanup warnings in HideMechanismsCommand

* Cleanup warning in ShowMechanismsCommand

* Cleanup warnings in EntityPickupAnimationSystem

* Cleanup warnings in PointingSystem

* Cleanup warning in StickyVisualizerSystem

* Cleanup warnings in TabletopSystem

* Cleanup warnings in PillSystem

* Cleanup warnings in DiceSystem

* Cleanup warnings in ProjectileSystem
2025-05-18 03:48:11 +02:00
github-actions[bot]
f098a8e6d5 Update Credits (#37556)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2025-05-17 20:36:23 -04:00
paige404
65250e6f39 Properly add rainbow skirt to passenger loadout this time (#37501) 2025-05-17 18:30:00 -04:00
Ed
1cd20edecf Workshop resprite pack (#1279)
* Jaraten resprite pack

* stamina TTomattT

* shrooms jaraten

* cloak fix

* passport resprite
2025-05-18 01:24:07 +03:00
Ed
0274826e32 Species free innate skill (#1277)
* innate free job skills

* returns species magic buff + unlock all skill

* Update tiefling.yml

* fix
2025-05-18 00:37:04 +03:00
PJBot
694dc4bf9f Automatic changelog update 2025-05-17 17:38:26 +00:00
YotaXP
e404e45ffc Persist construction menu favorites server-side (#35867)
* Persist construction menu favorites to player profile

* Use `ProtoId`s for construction favorites

* Validate construction favorites updates from the client

* Actually await the async database call
2025-05-17 13:37:19 -04:00
PJBot
1141dcb868 Automatic changelog update 2025-05-17 17:21:18 +00:00
eoineoineoin
e42f63583b Improve fax machine UI (#33825)
* fax upgraded

* improve resizable

* move Paper type settings & change margins

* change margins & Aling of text

* Rearrange Fax UI

Group paper-type with print-file.
Group refresh button with destination list.

Add some panels to differenciate functionality for faxing an inserted
sheet of paper and printing a local file to a new paper.

* Whitespace

* Remove unnecessary style definition

* Remove whitespace

---------

Co-authored-by: VideoKompany <135313844+VlaDOS1408@users.noreply.github.com>
2025-05-17 13:20:11 -04:00
PJBot
6b788287e7 Automatic changelog update 2025-05-17 17:12:15 +00:00
metalgearsloth
2e582f4164 Update submodule to 260.0.0 (#37546)
wawawewa
2025-05-18 03:11:15 +10:00
Ilya246
356dabb9c9 shuttle impacts port (#37422)
* initial

* adjust densities and thruster hp

* Fix evil hack

* Last stuff

* review, cleanup

* admin RW

* minor cleanup

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2025-05-18 03:11:08 +10:00
metalgearsloth
4afccdd5db DungeonData rework (#37172)
* DungeonData rework

Back to fields, serializes better, just make new layers dumby.

* wawawewa

* Fix this

* Fixes

* review

* thanks fork

* fix
2025-05-18 03:10:30 +10:00
Tayrtahn
d72939ba4b Cleanup TryAddDisplacement warnings (#37545)
Cleanup TryAddDisplacement warnings
2025-05-17 11:28:39 -04:00
ScarKy0
28e3c3d8a7 Make SharpComponent work with Hands (#37543)
* init

* review
2025-05-17 17:27:20 +02:00
ScarKy0
9acead4236 Network SolutionScanner (#37541)
* init

* doc
2025-05-17 17:00:32 +02:00
ScarKy0
af0e0598e8 TemperatureProtection now works directly on entities (#37544)
* init

* review

* review
2025-05-17 16:38:49 +02:00
Ed
5cd70ae1e9 fix achemist 2025-05-17 16:57:15 +03:00
Ed
5629a916a0 Update Dev.toml 2025-05-17 16:52:53 +03:00
Ed
23c9e11019 Blood moon part 2 (#1272)
* som tweaks

* fixing all

* bloodlust spell

* atatat
2025-05-17 14:12:49 +03:00
PJBot
6a2ca74648 Automatic changelog update 2025-05-17 07:46:51 +00:00
ArtisticRoomba
d33d3bf99e Buff singularity rad collectors (#37475) 2025-05-17 00:45:44 -07:00
Errant
bf76ba28e2 MindRemoveRole refactor (#34880)
* MindRemoveRole refactor

* role removal logstring rework

* zombiesystem fix
2025-05-17 16:24:32 +10:00
Nemanja
5424433604 Remove Basic Hardsuit & Associated Files (#37315)
* Remove Basic Hardsuit

* retaliatory action

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2025-05-17 16:15:29 +10:00
PJBot
71b5c22f0b Automatic changelog update 2025-05-17 05:28:46 +00:00
āda
de24413bd5 HumanoidCharacterProfile and IdCardConsoleComponent constants moved to cvar. Sync id card length with character name length (#35407)
* commit

* mark TODOs

* compiles

* cleanup

* cleanup

* oops

* changed my mind

* requested changes

* genpop fix
2025-05-17 15:27:39 +10:00
PJBot
0fed68d240 Automatic changelog update 2025-05-17 05:23:46 +00:00
Nemanja
90eb3ee4fc Fix tethergun overlay (#37510)
* Fix tethergun overlay

* slice

* wah

* Update TetherGunOverlay.cs

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2025-05-17 15:22:40 +10:00
PJBot
4551363781 Automatic changelog update 2025-05-17 05:22:31 +00:00
ArtisticRoomba
14f574e17d Buff metal foam grenades (#37476)
* Buff metal foam grenades

* oh and cant forget my main

* Yeah, no, trolling someone because they didn't powergame a crowbar shiftstart is bad
2025-05-17 15:21:24 +10:00
PJBot
e959c787f0 Automatic changelog update 2025-05-17 05:06:50 +00:00
Banedon
a39d3334d6 The Hatening / Hide hair when hats are equipped (#36818)
* changed HideLayerClothing on some entities YAML

* Use HideLayerClothing with slots, layers does not work for some reason

* Hattened again

* Mooore ! I touched the clown mask, beware

* Fix typo from "Slide" to "Side"

* Build issue, test with commenting out error part

* Trying again...

* Trying for fix
2025-05-17 01:05:43 -04:00
PJBot
c49a28889f Automatic changelog update 2025-05-17 04:50:11 +00:00
Spessmann
8269ba66b0 Convex update (#37533) 2025-05-16 21:49:02 -07:00
Samuka-C
722620c1cf Xenoborgs part 3 (#36867)
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
Co-authored-by: Quantum-cross <7065792+Quantum-cross@users.noreply.github.com>
Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
2025-05-16 20:59:48 -07:00
Tayrtahn
d166a261ba Cleanup warnings in DisplacementMapSystem (#37511)
* Cleanup warnings in DisplacementMapSystem

* docs update

* Suggested simplification
2025-05-17 13:34:35 +10:00
Tayrtahn
bd22361a6a Cleanup more SpriteComponent warnings (part 2) (#37527)
* Cleanup warnings in MagazineVisualsSpriteTest

* Cleanup warnings in WiresVisualizerSystem

* Cleanup warnings in GunSystem.SpentAmmo

* Cleanup warnings in GunSystem

* Cleanup warnings in GunSystem.ChamberMagazine

* Cleanup warnings in MeleeWeaponSystem.Effects

* Cleanup warnings in ToggleableLightVisualsSystem

* Cleanup warnings in StatusIconOverlay

* Cleanup warnings in SpriteFadeSystem

* Cleanup warnings in PdaVisualizerSystem

* Cleanup warnings in EnvelopeSystem

* Cleanup warnings in MechSystem

* Cleanup warnings in MappingOverlay

* Cleanup warnings in LockVisualizerSystem

* Cleanup warnings in DragDropSystem

* Cleanup warnings in GhostSystem

* Cleanup warnings in TriggerSystem.Proximity

* Cleanup warnings in DragonSystem

* Cleanup warnings in PortableScrubberVisualsSystem

* File-scoped namespace for PortableScrubberVisualsSystem
2025-05-17 13:29:03 +10:00
Tayrtahn
33f111c090 Cleanup more SpriteComponent warnings (part 2) (#37522)
* Cleanup warnings in DamageMarkerSystem

* Cleanup warnings in CuffableSystem

* Cleanup warnings in DeployableTurretSystem

* Cleanup warnings in StorageContainerVisualsSystem

* Cleanup warnings in ItemMapperSystem

* Cleanup warnings in ItemCounterSystem

* Cleanup warnings in RandomSpriteSystem

* Cleanup warnings in PowerCellSystem

* Cleanup warnings in ParticleAcceleratorPartVisualizerSystem

* Cleanup warnings in PaperVisualizerSystem

* Cleanup warnings in PoweredLightVisualizerSystem

* Cleanup warnings in LightBulbSystem

* Cleanup warnings in EmergencyLightSystem

* Cleanup warnings in DoorSystem

* Cleanup warnings in ClockSystem

* Cleanup warnings in BuckleSystem

* Cleanup warnings in JukeboxSystem
2025-05-17 13:02:36 +10:00
PJBot
b75fdd22de Automatic changelog update 2025-05-17 01:55:35 +00:00
Nemanja
6f809d1ad6 Allow protected grids to be repaired (#36989)
* Allow protected grids to be repaired

* Probably implement it

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2025-05-17 11:54:27 +10:00
PJBot
2f4a364876 Automatic changelog update 2025-05-17 01:28:19 +00:00
Nemanja
c188fd07f2 Give VGRoid its name back (#37513) 2025-05-17 11:27:11 +10:00
Tayrtahn
5267725aff Cleanup more SpriteComponent warnings (part 1) (#37508)
* Cleanup warnings in PuddleSystem

* Cleanup warnings in HandsSystem

* Cleanup warnings in EnsnareableSystem

* Cleanup warnings in ElectrocutionHUDVisualizerSystem
Also simplify some if statements

* Cleanup warnings in PlantHolderVisualizerSystem

* Cleanup warnings in AlertLevelDisplaySystem

* Cleanup warnings in TetherGunSystem

* Fix error in PlantHolderVisualizerSystem

* I hate var _
2025-05-16 17:42:05 -04:00
PJBot
53e317ba61 Automatic changelog update 2025-05-16 21:20:12 +00:00
Nemanja
644308b26e Don't group damage in the HealthChange.cs guidebook text (#37507) 2025-05-16 23:19:02 +02:00
PJBot
2e615ddfd4 Automatic changelog update 2025-05-16 19:06:56 +00:00
Qerd
2de0a5fc82 Not exclusive whitelist diet. Vox regain access to old food. (#37497)
* Creates a secondary digestible whitelist that is not exclusive. Additionally reworks the Vox stomach.

* Update FoodSystem.cs

Remnants of an old attempt. Cleaning it.

* Update vox.yml

Remnants of an old attempt. Cleaning up.

* Whitelist no longer, now the diet exclusion var is a bool.

* Clean-up

* Update Content.Server/Body/Components/StomachComponent.cs

Typo fixing

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

* Update Content.Server/Body/Components/StomachComponent.cs

Clarifications.

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

* Update Content.Server/Nutrition/EntitySystems/FoodSystem.cs

Typo fixing

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

* Update Resources/Prototypes/Body/Organs/vox.yml

Typo fixes

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

---------

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
2025-05-16 12:05:49 -07:00
Velcroboy
d5ef9b7345 Wall inheritance cleanup (#37436)
* Cleanup walls.yml

* quick check

* Fix tilewall cmd

* More Cleanup

* Arrnrtrayiage

* Remove double parenting

---------

Co-authored-by: Velcroboy <velcroboy333@hotmail.com>
2025-05-16 09:17:21 -04:00
PJBot
4b575c6729 Automatic changelog update 2025-05-16 12:45:53 +00:00
metalgearsloth
f192ba1c8f Predict pulling hands blocking (#37504)
Think I forgor to add this one when I split the 1 morbillion PRs out.
2025-05-16 08:44:46 -04:00
Viator-MV
74707a98c3 emiplane ghostrole fix (#1271)
* fine

* fix

* Update Content.Server/_CP14/DemiplaneTraveling/CP14StationDemiplaneMapSystem.cs

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

* Update Resources/Prototypes/_CP14/Procedural/Demiplane/Modifiers/GhostRoleDanger/misc.yml

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

* Update Resources/Prototypes/_CP14/Procedural/Demiplane/Modifiers/GhostRoleDanger/misc.yml

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

* Update Resources/Prototypes/_CP14/Procedural/Demiplane/Modifiers/GhostRoleDanger/misc.yml

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

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2025-05-16 15:26:02 +03:00
metalgearsloth
fca7337bcf Fix tile-events returns (#37502)
* Fix tile-events returns

Should really be continues.

* More

* More optimisations
2025-05-16 14:22:20 +02:00
PJBot
1b79b97d2c Automatic changelog update 2025-05-16 12:05:36 +00:00
metalgearsloth
5d104d408c Shuttle speed bump (#37505)
* Shuttle speed bump

Will probably go to 80 when guns get bumped and we get CCD but just makes impacts more representative.

* cook
2025-05-16 14:04:29 +02:00
Tayrtahn
031fc463eb Cleanup warnings in LatheSystem (#37496)
Cleanup warnings in LatheSystem
2025-05-16 13:04:55 +02:00
PJBot
823c8344f3 Automatic changelog update 2025-05-16 02:11:16 +00:00
Spanky
631bb6a4ed Omega Update (#37490) 2025-05-15 19:10:07 -07:00
PJBot
4d565dc063 Automatic changelog update 2025-05-15 23:45:57 +00:00
lzk
19f9f84a13 Allow recycler to shred clothing (#31518)
* Allow recycler to shred clothing

* reduce

* change comments

* replace ClothMade with Recyclable

* Update Resources/Prototypes/Entities/Clothing/Head/hats.yml

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

* requested changes

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-05-15 19:44:48 -04:00
Ed
132d1db37b search of life spell (#1273) 2025-05-16 00:58:48 +03:00
PJBot
9b6697e252 Automatic changelog update 2025-05-15 20:58:08 +00:00
ScarKy0
5fa56babb0 Strip All Debug Verb (#37426)
* init

* yippee

* review

* permission check

* command

* loc

* review

* review

* Apply suggestions from code review

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-05-15 22:56:58 +02:00
Tayrtahn
a3418d56d9 Cleanup warnings in MaterialStorageSystem (#37492)
Cleanup warnings in MaterialStorageSystem
2025-05-15 16:35:19 -04:00
Tayrtahn
5aea940bbc Cleanup warnings in PowerChargerVisualizerSystem (#37491)
Cleanup warnings in PowerChargerVisualizerSystem
2025-05-15 16:14:41 -04:00
Tayrtahn
98c393474a Cleanup warnings in ThrusterSystem (#37489)
Cleanup warnings in ThrusterSystem
2025-05-15 22:06:30 +02:00
Tayrtahn
ff4644c6c9 Cleanup warnings in SubFloorHideSystem (#37488)
Cleanup warnings in SubFloorHideSystem
2025-05-15 22:04:43 +02:00
Tayrtahn
b9337693d3 Fix prototypes and datadefs so they pass analyzer checks (again) (#37485)
Fix prototypes so they pass analyzer checks (again)
2025-05-15 20:30:50 +02:00
Jessey van Hoeijen
625115d78a Change plushie rotation on wide swing (#37484)
Changed swing rotation on shark, carp and snake plushies
2025-05-15 08:56:28 -07:00
RedBookcase
04341e40b9 Fixed Two-Way Lever Sprites (#37390)
* New conveyor sprites - arrows!

* Revert "New conveyor sprites - arrows!"

This reverts commit 3b540be0d89d93af5028a9ae6533bbdf2954cb75.

* Reworked to only be the lever sprite update.

---------

Co-authored-by: RedBookcase <Usualmoves@gmail.com>
2025-05-15 11:42:17 -04:00
PJBot
724e5be2e2 Automatic changelog update 2025-05-15 14:48:38 +00:00
Chartman
7b46749e0e Soaked Smokes Volume Revert (#37482)
Reverted the volume of Dan's Soaked Smokes to their previous maximum.
2025-05-15 10:47:30 -04:00
Ed
e0a4f5592f Blood moon (#1270)
* some setup

* fix dayccle events, add basic gamerules

* carcat guidebook update

* pfpf

* wawa

* fnish
2025-05-15 17:32:26 +03:00
PJBot
5874afe7c7 Automatic changelog update 2025-05-15 12:53:33 +00:00
metalgearsloth
c042669eae Predict sleeping action (#37414)
* Predict sleeping action

* reviews
2025-05-15 22:52:24 +10:00
metalgearsloth
7ec37451d0 Revert "Fix goliath tentacle exploit (#37168)" (#37479)
* Revert "Fix goliath tentacle exploit (#37168)"

This reverts commit 6fbd0c9da1.

* wawawewa
2025-05-15 12:54:20 +02:00
metalgearsloth
24ab2193d6 Update submodule to 259.0.0 (#37481) 2025-05-15 20:44:17 +10:00
Tayrtahn
4dc1c4c3d6 Content changes for SetTiles change (#37229)
* Content changes for SetTiles change

* Retest with new engine changes

* Derp

* Update for new engine PR changes
2025-05-15 20:26:47 +10:00
metalgearsloth
715165f9cc Update submodule to 258.0.1 (#37480) 2025-05-15 20:02:27 +10:00
ArtisticRoomba
b076f790bc fix cl (#37477) 2025-05-15 10:15:46 +02:00
PJBot
7435420211 Automatic changelog update 2025-05-15 04:13:31 +00:00
Blitz
b7000dfbbb No more one handing "snipers" (#33708) 2025-05-14 21:12:23 -07:00
PJBot
63a2efd3e7 Automatic changelog update 2025-05-15 03:57:01 +00:00
K-Dynamic
512922f634 Welding locker loot, migrate to EntityTable (#36977)
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-05-14 20:55:54 -07:00
Tezzaide
47ff7f2e45 New Salvage Wrecks (#36884)
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-05-14 20:55:24 -07:00
Nemanja
6fbd0c9da1 Fix goliath tentacle exploit (#37168) 2025-05-14 20:55:04 -07:00
PJBot
900234d3aa Automatic changelog update 2025-05-15 03:46:57 +00:00
kosticia
5db92c4ed0 make small animals don't leave organs on gibbing (#37080) 2025-05-14 20:45:49 -07:00
Southbridge
7e624d1418 Animal Spawner Reorganization + Xeno Spawners (#36962)
Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>
2025-05-14 20:25:08 -07:00
PJBot
8ed81c80fc Automatic changelog update 2025-05-15 01:46:55 +00:00
slarticodefast
1aeb1ed295 Fix some paradox clone traits (#37467)
fix some paradox clone traits
2025-05-14 18:45:47 -07:00
Nemanja
91e441ada1 Infer NumberSelector type in EntityTables (#36568)
* Infer number selector types from context

* forgor
2025-05-15 11:21:54 +10:00
Flareguy
338665a3ca Add hivebots (#37275)
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-05-14 18:09:23 -07:00
SlamBamActionman
cba88dc2dc Add support for rotatable tiles in map renderer (#37342)
* Initial commit

* Fixyfixfix
2025-05-14 20:12:14 -04:00
Velcroboy
8fab6556e2 Changes suffix for always powered handhelds for clarity (#37395)
* Changes suffix for always powered handhelds for clarity

* null->full

* Aha

---------

Co-authored-by: Velcroboy <velcroboy333@hotmail.com>
2025-05-14 19:55:52 -04:00
SolStar
e442af720b Changing sex now properly updates sounds. (#37405)
Load sounds based on new sex in event.
2025-05-14 19:54:34 -04:00
slarticodefast
7121b464f2 Merge stable into master (#37465) 2025-05-15 01:54:06 +02:00
metalgearsloth
494861dc3d HOTFIX: Fix camera auto-orienting (#37437)
* Fix camera auto-orienting

* Optimise
2025-05-15 01:42:39 +02:00
Kyle Tyo
e8b139e9a2 MapManager warning cleanup client edition (#36766)
* Update ExplosionOverlaySystem.cs

* noting here that this may be reverted.

Not sure why transform sys is attached like this.

* Noting that this may be reverted.

* rapid fire spit spit spit spit spit

* last one on the client.

* Update SpawnExplosionWindow.xaml.cs

* Update ParallaxOverlay.cs

* wweeeeebbbbbbbbbbbbbbbbbbbbbbbbb edit

* requested changes.

* Update Content.Client/Shuttles/UI/ShuttleMapControl.xaml.cs

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

* Update Content.Client/Shuttles/UI/ShuttleMapControl.xaml.cs

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

* Update Content.Client/Parallax/ParallaxSystem.cs

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

* Update Content.Client/Parallax/ParallaxSystem.cs

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

* Update Content.Client/Parallax/ParallaxOverlay.cs

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

* Update Content.Client/Parallax/BiomeDebugOverlay.cs

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

* Update Content.Client/Overlays/StencilOverlay.cs

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

* Update Content.Client/Parallax/BiomeDebugOverlay.cs

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

* Update Content.Client/Atmos/Overlays/GasTileOverlay.cs

* Update Content.Client/Administration/UI/SpawnExplosion/SpawnExplosionWindow.xaml.cs

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-05-15 01:38:51 +02:00
Kyle Tyo
c84d4753b9 MapManager warning cleanup shared edition (#36795)
* cleanup and reworking

* one of these days I'll merge a conflict without breaking shit.

* Update Content.Shared/Shuttles/Systems/SharedShuttleSystem.cs

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

* Update Content.Shared/Tabletop/SharedTabletopSystem.cs

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

* I'm gonna send this but... I'll be honest, I dunno what it does.

* fix coordinates

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-05-15 01:24:44 +02:00
PJBot
bb442d1234 Automatic changelog update 2025-05-14 22:06:52 +00:00
Archee
dcd5bb16d5 Bikehorn Retextures (#37413)
* Bananium Horn .rsi

* Bike Horn .rsi

* Cluwne Horn .rsi

* Gold Bike Horn .rsi

* Push Horn .rsi

* Bike horn (Instrument) .rsi

* better inhand sprite for pushhorn

* Revert "Push Horn .rsi"

This reverts commit 243b3662c6bd23abad331658eb2c75b5c9183d1d.

* rsi meta attributions

* slight tweak to the golden honkers colour and energy

* adds back castShadows false

* position corrections for inhand and belt for bananium

* inhand corrections for bikehorn inhands and belt

* inhand corrections for cluwnehorn

* inhand corrections for goldbikehorn

* inhand corrections for bike_horn (instrument)

* adds 'far-side held' sprites, bikehorn

* adds 'far-side held' sprites, bikehorn(instrument)

* bikehorn belt, i made the horn cone a shade too dark whoops

* adds 'far-side held' sprites, goldbikehorn

* adds 'far-side held' sprites, cluwnehorn

* adds 'far-side held' sprites, bananiumhorn

* cluwnehorn belt, same change as bikehorn belt earlier
2025-05-14 18:05:45 -04:00
Tayrtahn
101854f00a Cleanup warnings in AtmosAlarmableVisualsSystem (#37459)
Cleanup warnings in AtmosAlarmableVisualsSystem
2025-05-15 00:02:51 +02:00
Tayrtahn
9e000fa5cd Cleanup warnings in RgbLightControllerSystem (#37458)
Cleanup warnings in RgbLightControllerSystem
2025-05-15 00:01:54 +02:00
Ed
26e4088cdd Silva Photosynthes returns + Carcat guidebook page (#1269)
* f

* restore silva feature

* carcat guidebook

* day cycle
2025-05-15 00:37:42 +03:00
PJBot
fa953947f6 Automatic changelog update 2025-05-14 21:08:03 +00:00
IProduceWidgets
a021c02b25 More wizard names (#36437)
* Wizard names

* readd any dropped names.

* haha funny number

* update dataset counts!
2025-05-14 23:06:56 +02:00
PJBot
07feb341d9 Automatic changelog update 2025-05-14 20:40:54 +00:00
qwerltaz
b374d2468a air alarm panic wire snipping forces panic mode (#36439)
* air alarm panic wire snipping forces panic mode

* document

* ForcedMode is datafield

* switch to bool flag

* lock button when panic wire cut

* prevent manually individually changing scrubbers from siphon when panic wire is cut

* failure alert when wire snipped

* is Control

* remove double horizontalExpand

* Update Content.Server/Atmos/Monitor/Systems/AirAlarmSystem.cs

* Update Content.Server/Atmos/Monitor/Systems/AirAlarmSystem.cs

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-05-14 22:39:47 +02:00
Tayrtahn
7eb44e15d1 Cleanup warnings in BorgSystem (#37456)
Cleanup warnings in BorgSystem
2025-05-14 16:23:13 -04:00
Tayrtahn
fe4d276370 Cleanup warnings in EmitterSystem (#37455)
Cleanup warnings in EmitterSystem
2025-05-14 22:19:34 +02:00
Tayrtahn
1d04194767 Cleanup warnings in VendingMachineSystem (#37454)
Cleanup warnings in VendingMachineSystem
2025-05-14 22:18:36 +02:00
PJBot
fa3afa4ce0 Automatic changelog update 2025-05-14 19:51:04 +00:00
LaCumbiaDelCoronavirus
d6e998272f Change balancing of atmos gas tank bombs (#36780)
* i will put functionality in salt later

* la

* to 10
2025-05-14 21:49:57 +02:00
Ed
e361125549 Update blacksmith.yml 2025-05-14 22:34:49 +03:00
PJBot
6919d5d46b Automatic changelog update 2025-05-14 19:34:44 +00:00
MisterImp
9868932cfe New food recipe: Draco (dragon taco) (#37212)
* Added draco (dragon taco)

* Update Resources/Prototypes/Entities/Objects/Consumable/Food/taco.yml

* fix whitespace

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-05-14 21:33:37 +02:00
PJBot
d9a016f5a6 Automatic changelog update 2025-05-14 18:07:44 +00:00
metalgearsloth
c09aa6039c Predict gas valves (#33836)
* Predict gas valves

* wawawewa

* Fix imports before I get yelled at

* soff
2025-05-14 20:06:37 +02:00
PJBot
9a6dbb27cd Automatic changelog update 2025-05-14 18:04:12 +00:00
LevitatingTree
fb3bad6fb8 Tweak ND pin names and descriptions (#37416)
* Edit item names and descriptions

* Description tweak

---------

Co-authored-by: LevitatingTree <None>
2025-05-14 20:03:04 +02:00
Tayrtahn
7692d96f57 Cleanup warnings in AtmosPipeAppearanceSystem (#37449)
* Cleanup warnings in AtmosPipeAppearanceSystem

* Another enum
2025-05-14 19:59:35 +02:00
PJBot
b8bf22b4b5 Automatic changelog update 2025-05-14 17:48:19 +00:00
ToastEnjoyer
89ea0ac253 Replaced high value target contraband on ID board and comms boards to command restricted. (#37452)
Update computer.yml
2025-05-14 19:47:10 +02:00
Tayrtahn
ba2a3543d9 Cleanup warnings in ClientInnerBodySystem (#37450)
* Cleanup warnings in ClientInnerBodySystem

* Apply suggested simplification
2025-05-14 19:31:03 +02:00
Tayrtahn
022bc5c0a0 Cleanup warnings in HumanoidAppearanceSystem (#37381)
* Cleanup warnings in HumanoidAppearanceSystem

* entity -> entity.Owner

* Revert LayerMapReserve logic

* Try again without requires
2025-05-14 19:30:20 +02:00
Tayrtahn
6b299046d3 Cleanup warnings in KillSignSystem (#37451)
Cleanup warnings in KillSignSystem
2025-05-14 18:13:35 +02:00
Ed
14d0c1f6ea Update skimitar.yml 2025-05-14 19:12:43 +03:00
Tayrtahn
9c2a84daa5 Cleanup warnings in ConstructionSystem (#37447)
Cleanup warnings in ConstructionSystem
2025-05-14 17:27:11 +02:00
metalgearsloth
dbbdf04633 Update submodule to 258.0.0 (#37446) 2025-05-15 01:25:39 +10:00
Ed
8c47af421f balance pass 2025-05-14 18:22:05 +03:00
metalgearsloth
e5349e276f Fix typingindicator doing a naughty (#37438)
How this wasn't caught before but raisepredictiveevent should never get raised when re-running states.
2025-05-14 10:18:10 -04:00
Viator-MV
80d668361c Mana trance (#1216)
* That's it, Ed.

* skill

* CleanDisposed.

* now heal

* remake

* bruh rechek

* slowing

* Update metamagic.yml

* some ingame test and balance

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2025-05-14 14:56:27 +03:00
Ed
c2c66e77c1 Shrimp progression (#1268)
* Ore modifier category

* roundstart adventurer weapon equip

* forgot about guard

* Update adventure.yml
2025-05-14 14:22:33 +03:00
creamybag
edecdc3701 PackOmsoyk (#1267) 2025-05-14 13:53:56 +03:00
Ed
5293f1a0d2 remove desc name icon from recipes 2025-05-14 13:09:42 +03:00
Ed
be495f274c Skill progression system (#1263)
* delete skill trees

* Revert "delete skill trees"

This reverts commit 9d7fae73c4.

* learning refactor

* UI tweaks

* sword mastery skill

* telegraphy

* rapier mastery

* research table ui

* finish studing

* polish UI researching

* pyrokinetic

* more skill tree working

* heat adapt

* alchemist and metamagic update

* skill multiple effects support + metamagic bugg manapool

* impossible 😢

* skimitar gaming

* skimidi

* blacksmithing branch

* remove research restrictions

* remove species magic buff

* fix loc

* Update thaumaturgy.yml

* pip

* Delete skill_tree.yml
2025-05-14 12:43:43 +03:00
Ed
34131cd70e Update LockSystem.cs 2025-05-14 12:35:08 +03:00
Ed
1551f2fb6d Update CP14SharedMagicSystem.cs 2025-05-14 12:29:18 +03:00
PJBot
0c6025ca40 Automatic changelog update 2025-05-14 05:57:57 +00:00
Qerd
d958a4d891 Prediction of Acquistion Slip error message (#37442)
* Fix to repeated error messages writing on slip

* Changing from Predicted to Client.
2025-05-13 22:56:50 -07:00
PJBot
747050f380 Automatic changelog update 2025-05-14 05:17:24 +00:00
Hitlinemoss
3681de257b Removed the emergency crowbar from the chef's closet (#37403)
* removed emergency crowbar from chef's closet

* removed emergency crowbar and spray bottle from chef's closet

* removed emergency crowbar from chef's closet
2025-05-13 22:16:17 -07:00
PJBot
1d4c134416 Automatic changelog update 2025-05-14 04:43:14 +00:00
Qerd
08a6260c0e Acquisition Slips fitting in folders and clipboards (#37439)
* Acquisition Slips in folders and clipboards

* Adding Paper tag to slips

* No more repeated error messages on write attempt on slips

* Update PaperSystem.cs

Didn't mean to change this in this pr.
2025-05-13 21:42:07 -07:00
Tayrtahn
a9e0d8725e Cleanup warnings in DamageStateVisualizerSystem (#37435)
Cleanup warnings in DamageStateVisualizerSystem
2025-05-14 03:58:03 +02:00
Tayrtahn
d957cdb144 Cleanup warnings in AirlockSystem (#37434)
Cleanup warnings in AirlockSystem
2025-05-14 03:57:01 +02:00
Tayrtahn
5ba1b2af86 Cleanup warnings in CryoPodSystem (#37433)
Cleanup warnings in CryoPodSystem
2025-05-14 03:55:42 +02:00
Tayrtahn
dc92acd720 Cleanup warnings in ClientFoodSequenceSystem (#37431)
Cleanup warnings in ClientFoodSequenceSystem
2025-05-14 00:24:27 +02:00
Tayrtahn
be6078557a Cleanup warnings in RevenantSystem (#37430)
Cleanup warnings in RevenantSystem
2025-05-14 00:22:25 +02:00
Tayrtahn
f81d0fa502 Cleanup warnings in AnomalySystem (#37429)
Cleanup warnings in AnomalySystem
2025-05-14 00:19:57 +02:00
Tayrtahn
75cbbbb5b7 Cleanup warnings in TypingIndicatorVisualizerSystem (#37427)
Cleanup warnings in TypingIndicatorVisualizerSystem
2025-05-14 00:19:05 +02:00
Tayrtahn
7ee0db0508 Cleanup warnings in HolopadSystem (#37421)
* Cleanup warnings in HolopadSystem

* Fix reversed order of CopySprite parameters
2025-05-13 16:21:00 -04:00
Archee
b7056ea851 Red Candle state fix (#37423)
fixed
2025-05-13 21:19:39 +02:00
PJBot
ed3f97f6b1 Automatic changelog update 2025-05-13 17:16:38 +00:00
AsnDen
37853de4d2 Ability to pull for supplybot (#32468)
* Alerts for silicons and ability to pull for supplybot

* Removed alerts
2025-05-13 19:15:30 +02:00
slarticodefast
d52a464caa Merge shuttle hotfix back into master (#37420) 2025-05-13 18:26:30 +02:00
Sparlight
26c5d77f07 Add smart corgi prototype (#36664)
* Add smart corgi prototype

* 1984 - exploded dog names

* Tag fixes

* exploded anomalyhost tag

* Demolish the mysterious corgi flesh-pocket

* Review changes:  yml convention tweaks and reparenting of Corgi and Smart Corgi to new abstract base

* new week, new review, new me
2025-05-13 18:10:10 +02:00
Tayrtahn
d1553bd474 Cleanup warnings in RandomArtifactSpriteSystem (#37418)
Cleanup warnings in RandomArtifactSpriteSystem
2025-05-13 12:08:45 -04:00
Tayrtahn
05c71507c5 Cleanup warnings in FireVisualizerSystem (#37417)
Cleanup warnings in FireVisualizerSystem
2025-05-13 17:58:53 +02:00
Tayrtahn
6218ab70a8 Cleanup warnings in ExpendableLightSystem (#37415)
Cleanup warnings in ExpendableLightSystem
2025-05-13 11:41:18 -04:00
Princess Cheeseballs
61adee05f6 [HOTFIX] Movement Rewrite Hotfix Shuttles now respect their friction values (#37154)
* Shuttles now use their proper friction values

* Documentation

* Shuttles now use their proper friction values

* Documentation

* What the instrumentsystem doin

* what the instrumentsystem doing 2
2025-05-13 22:14:18 +10:00
PJBot
326eeab34a Automatic changelog update 2025-05-13 11:50:50 +00:00
metalgearsloth
df2257cd92 Predict gasthermomachines (#33837)
* Predict gasthermomachines

* despawn

* smellby
2025-05-13 21:49:43 +10:00
ArtisticRoomba
24141aa1e9 Add myself to mapping codeowners (#37409)
i've decided to step onto mr. bones' wild ride
2025-05-13 11:43:16 +02:00
PJBot
82489fe9a1 Automatic changelog update 2025-05-13 09:17:24 +00:00
Nemanja
866f1fb47b Adjust walking sounds (#36941) 2025-05-13 02:16:16 -07:00
PJBot
062647cb37 Automatic changelog update 2025-05-13 08:51:51 +00:00
chromiumboy
7ac67ebf8c Station AI customizations (#34501)
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-05-13 01:50:43 -07:00
PJBot
0eeb46cf9e Automatic changelog update 2025-05-13 07:44:40 +00:00
K-Dynamic
fa74dcd4ec Recoloured several service job and ID icons (#36580) 2025-05-13 00:43:31 -07:00
Ko4ergaPunk
72a9b0398a [Maps] Dev rework (#34708)
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-05-12 23:30:05 -07:00
Dinner
0a1fd4f398 Fix grammar in latejoin announcement message (#37398) 2025-05-12 17:13:27 -07:00
Tayrtahn
ca6a625ca2 Cleanup warnings in SmesSystem (#37399)
* Cleanup warnings in SmesSystem

* Access modifier for SmesVisualLayers
2025-05-12 20:12:57 -04:00
PJBot
6a8e9f9e33 Automatic changelog update 2025-05-12 23:57:08 +00:00
Perry Fraser
1bbb017c96 Allow linking uniform printers to silos (#37393)
tweak: Make uniform printers silo clients
2025-05-12 19:56:01 -04:00
Tayrtahn
9c017b7848 Cleanup warnings in ApcVisualizerSystem (#37396) 2025-05-12 16:53:11 -07:00
PJBot
b9c500ff59 Automatic changelog update 2025-05-12 23:43:58 +00:00
Nemanja
ec66c70295 New Salvage Mob: Basilisk (#37135)
* Basilisk

* Less health

* Unique projectile

* Selfmerge incoming

* Update Resources/Textures/Mobs/Aliens/Asteroid/basilisk.rsi/meta.json

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

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-05-12 19:42:51 -04:00
mubururu_
a9d50da0ba push horn resprite (#37392)
* inishal

* centering
2025-05-12 19:32:07 -04:00
PJBot
cf948dff54 Automatic changelog update 2025-05-12 23:28:33 +00:00
Hanz
b589c75c2a Dans soaked smokes redux (#36979)
* Meat and Potatoes

* Whoops

Whoops

* entityTables my beloathed

reworked the cig fill for Dan's soaked smokes to use an entity table. There was just, a useless bit of code calling for a cig that didn't exist the in mixed cig parent for dan's and it was what was fucking it up and making it SO HARD for me to get it to work. Thanks Dan.

* ehhh, its good for the diff I guess

* Augh

* Why mappers why

* Welp

* migration.yml is pretty cool

Also like there is no reason for nasty and medical, they probably originally were made as a workaround.
2025-05-13 01:27:26 +02:00
Velcroboy
ccd5b153ba Swap forward/reverse for default lever links (#37394)
Co-authored-by: Velcroboy <velcroboy333@hotmail.com>
2025-05-12 19:24:20 -04:00
Tayrtahn
0b73b6d198 Cleanup warnings in DisposalUnitSystem (#37389)
Cleanup warnings in DisposalUnitSystem
2025-05-13 00:02:17 +02:00
Tayrtahn
cad4ce6d3f Cleanup warnings in GravitySystem (#37388)
Cleanup warnings in GravitySystem
2025-05-12 17:46:23 -04:00
slarticodefast
79b55d7549 Merge stable into master (#37387) 2025-05-12 23:40:55 +02:00
ScarKy0
45253ca79e [Hotfix] Fix anomalies breaking your legs (#37366)
* Update SharedAnomalySystem.cs

* oops
2025-05-12 23:27:46 +02:00
PJBot
0dbf66a4ec Automatic changelog update 2025-05-12 21:25:06 +00:00
Perry Fraser
e8c8cae31e fix: don't retroactively drain disabled batteries (#37364)
* fix: don't retroactively drain disabled batteries

If something that used PowerCellDraw temporarily disabled said draw,
once it became re-enabled the system would play catch-up trying to
drain the battery for all the time since the component was disabled.

* fixup! fix: don't retroactively drain disabled batteries
2025-05-12 23:24:00 +02:00
Tayrtahn
cec13166a8 Cleanup warnings in GunSystem.MagazineVisuals (#37373)
Cleanup warnings in GunSystem.MagazineVisuals
2025-05-12 23:17:19 +02:00
Tayrtahn
848d176651 Cleanup warnings in EntityStorageVisualizerSystem (#37385)
Cleanup warnings in EntityStorageVisualizerSystem
2025-05-12 23:16:26 +02:00
Tayrtahn
a8255196f4 Cleanup warnings in ClientClothingSystem (#37384)
Cleanup warnings in ClientClothingSystem
2025-05-12 23:13:56 +02:00
slarticodefast
be35f6e9ce Add trailing whitespace check workflow (#37367)
* whitespace check

* fix formatting

* fix indentation

* eof new line

* add EOF new line check

* revert accidental deletion

* rename
2025-05-12 23:08:00 +02:00
PJBot
a69536cb47 Automatic changelog update 2025-05-12 20:53:23 +00:00
Prole
60334a897b Bleeding Text Tweak & Color Alerts (#37376)
Color Coding & bleeding-text change

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>
2025-05-12 22:52:17 +02:00
Tayrtahn
411ea3827a Cleanup warnings in SolutionContainerVisualsSystem (#37377)
Cleanup warnings in SolutionContainerVisualsSystem
2025-05-12 22:25:28 +02:00
Tayrtahn
a464c5dd99 Cleanup warnings in TippyUIController (#37378)
Cleanup warnings in TippyUIController
2025-05-12 22:21:52 +02:00
Errant
95d73a4019 ssd sleep time setting for dev (#37380) 2025-05-12 22:17:28 +02:00
Tayrtahn
9331b2875d Cleanup warnings in TextScreenSystem (#37382)
Cleanup warnings in TextScreenSystem
2025-05-12 22:08:29 +02:00
PJBot
1e1707af68 Automatic changelog update 2025-05-12 17:53:11 +00:00
Gentleman-Bird
3e9af2ef4c Add utensil box, add muffin tins to Kitchen Dinnerware Crate (#36948)
* Adds muffin tins to dinnerware crate

* removed forks and spoons

* Added utensile box, added utensile box to dinnerware crate
2025-05-12 10:52:04 -07:00
PJBot
6b3c3edb73 Automatic changelog update 2025-05-12 17:36:49 +00:00
Winkarst
08d9d46b46 New Feature: Slot blockers (#35172)
* First commit

* More comments

* Update

* Update

* For Beloved Maintainers

* Beck T, my beloved

* Update

* Old stuff

* Update EquipAttemptEvents.cs

* Update UnequipAttemptEvent.cs

---------

Co-authored-by: beck-thompson <107373427+beck-thompson@users.noreply.github.com>
2025-05-12 10:35:42 -07:00
Tayrtahn
410d8087c6 Cleanup warnings in DamageVisualsSystem (#37372) 2025-05-12 12:48:13 -04:00
PJBot
66c01abbaa Automatic changelog update 2025-05-12 16:29:23 +00:00
Radezolid
6bb47515cb Bugfix - restore the cable module to the lathe (#37361)
Restored the cable module
2025-05-12 12:28:16 -04:00
PJBot
9a1eb05036 Automatic changelog update 2025-05-12 16:23:32 +00:00
ScarKy0
4ac4d3e080 Yellowtexting (#37360)
* init

* else if tree

* f

* color

* review
2025-05-12 12:22:25 -04:00
PJBot
8f3dd28c5a Automatic changelog update 2025-05-12 12:38:21 +00:00
kosticia
5e38a0cdca Cotton baguette for moths (#36953)
* SAVE MILLIONS MOTHS FOREVER🗣🗣🗣🗣🗣🗣🗣

* now i forgot about it???
2025-05-12 14:37:12 +02:00
Ed
59e6435fe2 Merge remote-tracking branch 'upstream/stable' into ed-12-05-2025-upstream
# Conflicts:
#	.github/CODEOWNERS
#	Content.Client/Construction/UI/ConstructionMenuPresenter.cs
#	Content.Shared/Construction/Prototypes/ConstructionPrototype.cs
#	Content.Shared/Damage/Systems/SharedStaminaSystem.cs
#	Content.Shared/Lock/LockSystem.cs
#	Resources/Prototypes/Entities/Mobs/Customization/Markings/human_hair.yml
#	Resources/Prototypes/Entities/Objects/Specific/chemistry.yml
#	Resources/Prototypes/Procedural/vgroid.yml
2025-05-12 14:25:42 +03:00
PJBot
dda3305ae6 Automatic changelog update 2025-05-12 10:56:20 +00:00
Nemanja
954dbcbd2d Add chem barrels to salvage (#37204)
* Add chem barrels to salvage

* Resprite and attribution before someone gets on my ass

* redo rad barrel too
2025-05-12 12:55:11 +02:00
Flareguy
9b6e00d209 EVA suit re-resprite (#37299)
* eva suit resprite

* meta.json fixes

* update softsuits template

* my furniture
2025-05-12 00:01:48 -04:00
Winkarst
63b04c4769 Cleanup: Make separate event for the equip/unequip target (#37333)
* Cleanup

* Update
2025-05-11 23:14:32 -04:00
PJBot
92d0ea3128 Automatic changelog update 2025-05-12 00:15:23 +00:00
JrInventor05
0386bd332d Make the Syringe gun a science research (#37251)
* LauncherSyringe

* fix

* fixfortest

* Update technologies.ftl

* Change

* Change
2025-05-12 02:14:13 +02:00
Errant
f6fcca49f6 Stable merge for hotfix (#37356) 2025-05-11 19:39:11 +02:00
Errant
c261cc21a0 [HOTFIX] Ensure that mobs wake up when zombified (#37346)
zombie sleep fix
2025-05-11 18:49:22 +02:00
Winkarst
4b555ca64e Fix: Play sound when equiping clothing by using it in hand (#37351)
Fix
2025-05-11 10:37:09 -04:00
Winkarst
078814ce41 Refactor: ProximityDetectionSystem (#35133)
* Refactor: ProximityDetectionSystem

* Update

* Update

* Update

* Yikes

* Update

* Dirty

* Update

* Update

* Lil cleanup

* Update

* Update
2025-05-12 00:33:35 +10:00
PJBot
cd1ebecab0 Automatic changelog update 2025-05-11 14:07:16 +00:00
Vlad
d9542ae700 Map renderer rework (#37306)
* Update TilePainter.cs

* Add support for custom offsets, grid files, and markers

* Dynamic file category handling
2025-05-12 00:06:09 +10:00
Ed
9e409a1eaf Update Dev.toml 2025-05-11 17:05:32 +03:00
Nim
abd69892c5 Myconide (#1265) 2025-05-11 17:04:52 +03:00
SlamBamActionman
ca39645b69 Fix allowRotationMirror not appearing for the YAML linter (#37343)
Initial commit
2025-05-11 09:40:59 -04:00
Tayrtahn
722137ddb7 Cleanup warnings in IconSmoothSystem (#37337)
Cleanup warnings in IconSmoothSystem
2025-05-11 09:40:38 -04:00
Łukasz Lindert
8bed0f4b62 Booze and soda dispenser activate ui fix (#37347)
booze and soda
2025-05-11 15:39:52 +02:00
Leon Friedrich
2fcf14bf52 Increase benchmark BuildTimeout (#37029)
* Increase benchmark BuildTimeout

* Add RaiseEvent benchmark

* a

* More benchmarks

* It just gets optimised away

* IComponent event

* cleanup bench
2025-05-11 21:59:29 +10:00
Leon Friedrich
e1db9bd66f Update engine to v257.0.2 (#37348) 2025-05-11 21:55:59 +10:00
Leon Friedrich
1b63320824 Update engine to v257.0.1 (#37339) 2025-05-11 12:01:33 +10:00
PJBot
796a9867d5 Automatic changelog update 2025-05-11 00:50:34 +00:00
Deerstop
8f01cc6884 Elkridge - Botany Update (#37206) 2025-05-10 17:49:26 -07:00
github-actions[bot]
605a917139 Update Credits (#37338)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2025-05-10 20:38:03 -04:00
PJBot
89d7fb09fd Automatic changelog update 2025-05-11 00:10:34 +00:00
Futuristic-OK
48d134cc7d New hairs2 (#36613)
* Update human-hair.ftl

1

* Update human_hair.yml

* longwithbangs.png

* Update meta.json

* fix png

* Update meta.json

* Update Resources/Locale/en-US/accessories/human-hair.ftl

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

* Update Resources/Prototypes/Entities/Mobs/Customization/Markings/human_hair.yml

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

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-05-10 20:09:27 -04:00
PJBot
abe466b40a Automatic changelog update 2025-05-10 23:36:34 +00:00
JCGWE30
29147edabd Dragon Direction Briefing Fixed (#37181)
* All Fixed Up

* Remove Log Manager

* Updated Conventions

* Typo Fix
2025-05-10 19:35:27 -04:00
YoungThug
d758e9eaa1 New ID interface sprites. (#37322)
* LR > TCD

* Orks Requested Changes
2025-05-10 18:56:36 -04:00
PJBot
1129f37d66 Automatic changelog update 2025-05-10 21:42:47 +00:00
Nemanja
dfc8934782 Fix observer pointlights being broken (#37335) 2025-05-10 23:41:40 +02:00
Nim
3164cb5b94 Fixing issues (#1258)
* fix

* gib frog

* zombie

* not damage
2025-05-10 21:45:11 +03:00
PJBot
34f8be84b6 Automatic changelog update 2025-05-10 18:22:11 +00:00
ssdaniel24
9881528692 Station news Discord webhook (#36807)
* Add news article Discord webhook

* Send all station articles on round end

* Changed event subscrice to RoundEndMessageEvent

* Review remarks fix

* Added new cvar discord.news_webhook_embed_color

Default color taken from news manager console sprite.

* Using EntityQueryEnumerator instead of GetStationInMap with TryComp

* Extra review remarks fixing

* Sorted imports

* Added article publication time in embed

* Removed markup from article content

* Added sorting for articles iteration

* Discord hook embed color cvar is string now

* Added comment about limits

* Added new cvar for posting articles during round

* Shitty discord rate limit handling

* Fixing copypaste accident

Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>

* Null initialization of webhook id

* SendArticleToDiscordWebhook is non-void now

---------

Co-authored-by: Morb0 <14136326+Morb0@users.noreply.github.com>
Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
2025-05-10 11:21:02 -07:00
PJBot
5c3b613507 Automatic changelog update 2025-05-10 15:13:24 +00:00
Ethan_k
0512de555d Increase paper max char limit to 10,000 (#37270)
HOP MAINS REJOICE
2025-05-10 17:12:17 +02:00
Winkarst
51205454f3 Fix: Add ability to execute using crusher weapons (#37330)
* Fix

* Oops

* Skill issue
2025-05-10 09:47:57 -04:00
PJBot
a921d97d4e Automatic changelog update 2025-05-10 12:52:35 +00:00
Nemanja
38f6e6e849 Add EvenHealthChange effect (#37129)
* Add EvenHealthChange effect

* cleanup

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-05-10 14:51:28 +02:00
metalgearsloth
0a10651414 Update submodule to 257.0.0 (#37329) 2025-05-10 22:18:23 +10:00
Leon Friedrich
f0a7123208 Fix MagazineVisualsSpritesExist for engine PR (#36761) 2025-05-10 21:40:27 +10:00
Ed
a243d2f8cd Update Dev.toml 2025-05-10 14:11:32 +03:00
paige404
ebaa57133f Slime Crown (#1257)
* Add slime crown, an admin-spawn artifact hat that makes all slimes friendly with the wearer.

* Add slime crown sprites
2025-05-10 14:11:09 +03:00
Viator-MV
44f1c03e34 Spells extension (#1202)
* fire

* trance_compression_distoration

* scroll loot

* fix

* myeh

* again mb?

* compression fix

* crystal fix

* disorion debuff

* delete all it

* final?

* nah

* not mine

* fix

* fix

* mmmm

* mana trance rebalance

* relocate trance

* fix

* blyat

* no compression

* delete all

* fix

* Update modifier_sets.yml

* Update heat.yml

* Update heat.yml

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2025-05-10 13:28:33 +03:00
PJBot
603eb284d5 Automatic changelog update 2025-05-10 09:59:10 +00:00
PotentiallyTom
29860c03ea Modified the T2/T3 laser recipies to (hopefully) see more than just xray cannons (#37308)
the numbers mason
2025-05-10 11:58:03 +02:00
Nim
6e86a54a88 meat cooked (#1261) 2025-05-10 12:21:55 +03:00
PJBot
357c96148c Automatic changelog update 2025-05-10 05:07:26 +00:00
Princess Cheeseballs
62c380fc53 Better Godmode (#37020)
* Commit

* Oversights oops

* breaking changes

* unbreaking changes

* Compatibility with AfterFullyEaten

* Fixed

* Update Content.Server/Kitchen/EntitySystems/ReagentGrinderSystem.cs

---------

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
2025-05-10 01:06:19 -04:00
pathetic meowmeow
4407eab96b Fix reagent dispenser test (#37324) 2025-05-10 00:46:48 -04:00
Princess Cheeseballs
5dbd40c9dd Mob pull spin fix (#37256)
Angular Friction applied to Kinematic Controllers
2025-05-10 14:18:33 +10:00
PJBot
6d65039f3c Automatic changelog update 2025-05-10 03:56:42 +00:00
B_Kirill
2f7ca220e7 Fix meteors deceleration (#37320)
* Fix meteors deceleration

* Again

* Just do it
2025-05-09 23:55:35 -04:00
metalgearsloth
280a78119b Update submodule to 256.0.0 (#37321) 2025-05-10 13:53:09 +10:00
PJBot
9f3ab3545b Automatic changelog update 2025-05-10 03:50:12 +00:00
pathetic meowmeow
5a0e0524ca Make reagent dispensers gridinv-based instead of pseudo-listinv (#34205)
This simplifies the code and makes the experience of examining contents
easier without the reagent dispenser UI, as well as adding the possibility
for dispensers to have items of heterogeneous sizes in them, which would
allow configuring reagent dispensers to accept smaller containers such
as beakers or vials in order to allow for more types of smaller quantities
of reagents, or other flexibilities brought by using a standard storage
component.
2025-05-09 23:49:05 -04:00
Nemanja
942b2b4dcb Change atmos plaques to yaml (#37318)
* Change atmos plaques to yaml

* remove locale strings
2025-05-10 02:24:07 +02:00
deltanedas
bb7742e21e move SignalState to shared (#37303)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2025-05-09 20:05:19 -04:00
Winkarst
b13975cad2 Fix: Make gas canisters eject inserted tank/jetpack on break (#37314)
Fix
2025-05-09 20:01:44 -04:00
Samuka-C
fbe05977d5 Fix the component toggler (#37309)
* Make the ComponentToggle remember what entity it gave components to

* fix the null problem by just ignoring the null problem

* Add documentation to the new datafield + removing the "= null" that is not necessary

* small fixes and cleaning the code

* whitespace my beloved

* wait, I dont need those lines, why did I add them?
2025-05-09 20:00:58 +02:00
Tayrtahn
b769ab0f7e Add test that mob damage thresholds have alerts (#37307)
* Add test that mob damage thresholds have alerts

* Docs

* Add BorgDead state to MobSiliconBase
2025-05-09 13:07:17 -04:00
PJBot
6517710356 Automatic changelog update 2025-05-09 15:53:38 +00:00
Gamewar360
d0dc8faed0 [Cargo]New Bounty: Salvage (#34926)
* uoy

* Fix vague tag names, issues with bounty text

---------

Co-authored-by: EmoGarbage404 <retron404@gmail.com>
2025-05-09 11:52:30 -04:00
Winkarst
239c71d7b8 Fix: Make `IdBindComponent change ID card on MapInitEvent` (#37300)
Fix
2025-05-09 11:46:10 -04:00
PJBot
9bdc150602 Automatic changelog update 2025-05-09 15:42:53 +00:00
Vladislav Suchkov
554f6f3d68 Fixed Silo not accepting diamonds (#37305)
init
2025-05-09 11:41:44 -04:00
PJBot
653aaece34 Automatic changelog update 2025-05-09 12:44:44 +00:00
Errant
68d0a41bb4 fix unremovable items used in construction (#37292) 2025-05-09 15:43:38 +03:00
Militore
aa2e080e31 Guard bell (#1242)
* add Guard Bell

* revert vanila changes, add same functionality

* revert more vanila changes, replace .ogg, fix locale and locale usage

* Update GuardBell.yml

* Update base.yml

* add attributions.yml for alerts

* try changing to proper license

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2025-05-09 15:07:05 +03:00
paige404
9610b23d55 Rainbow Jumpskirt (#37291)
* Add a rainbow jumpskirt. <3

* minor spelling mistake dot gif

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

---------

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
2025-05-09 07:48:08 -04:00
PJBot
b0b0a8238b Automatic changelog update 2025-05-09 11:33:36 +00:00
robinthedragon
beefabc588 add basic operative bundle (#37290)
* add nukie bundle

* Update Resources/Prototypes/Catalog/uplink_catalog.yml

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-05-09 13:32:29 +02:00
PJBot
aafc166a36 Automatic changelog update 2025-05-09 03:36:56 +00:00
Nyxilath
f2c7b39e13 readded trashbags to Autolathe recipes (#37296) 2025-05-08 20:35:49 -07:00
PJBot
52031f3495 Automatic changelog update 2025-05-09 00:07:33 +00:00
Ciarán Walsh
2a201837c7 Link to reagent ingredients on the same Guidebook page (#36700)
* Add in-page links for guidebook reagent recipes

* Add links to microwave recipes

* This function is too specific to be in Control extensions

* Better naming

* Wrap RichTextLabel instead of subclassing

* "Activate" is ambiguous
2025-05-09 10:06:26 +10:00
Nemanja
7bec148634 Validate Cargo Markets (#37271)
* Validate cargo markets

* readonly market ID
2025-05-08 21:53:19 +02:00
PJBot
4660f9938f Automatic changelog update 2025-05-08 17:39:38 +00:00
MureixloI
a05e876879 changing sprite of mime satchel (#37280) 2025-05-08 13:38:31 -04:00
Vasilis The Pikachu
d19a421671 Merge remote-tracking branch 'upstream/master' into staging 2025-05-08 19:37:20 +02:00
Vasilis The Pikachu
c91bd05239 Merge remote-tracking branch 'upstream/staging' into staging 2025-05-08 19:37:14 +02:00
Myra
8d4b3c0fdc Revert "Traumoxadone" (#37284) 2025-05-08 19:08:27 +02:00
PJBot
047ef64661 Automatic changelog update 2025-05-08 16:51:06 +00:00
Thinbug
0c6be8bb0d Tweaks to the push horn so its less of a shitter tool (#37281)
* Empty commit

* tweaks to the push horn

* forgor to change the delay

* keeping the speed the same for now
2025-05-08 18:49:58 +02:00
ScarKy0
746134edd3 fuck the cl 2025-05-08 18:32:58 +02:00
slarticodefast
307d0b1c8b merge stable into master (#37286) 2025-05-08 18:32:53 +02:00
Myra
d515a1dbf6 Add ratelimit retry to discord changelog bot and continue publish changelog error. (#37051)
* Add ratelimit retry to discord changelog bot and continue publish changelog error.

oops we missed some changelogs cause of this... this should prevent anything funny

* Update actions_changelogs_since_last_run.py
2025-05-08 18:30:50 +02:00
ScarKy0
9e582157ac Revert "Traumoxadone (#37126)"
This reverts commit efc8d8600d.
2025-05-08 18:13:33 +02:00
PJBot
e94a50b4cc Automatic changelog update 2025-05-08 14:29:22 +00:00
Krunklehorn
1ee9b25927 Fix borg chassis gibbing not dropping items (#37276)
BeingGibbedEvent and TryEjectPowerCell
2025-05-08 10:28:11 -04:00
slarticodefast
0973218054 merge stable into master (#37277) 2025-05-08 11:00:20 +02:00
nikthechampiongr
ef3deedecb Implement Rules amendment (#37200)
* Implement Rules amendment

* Update Resources/ServerInfo/Guidebook/ServerRules/RoleplayRules/RuleR9MassSabotage.xml

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

* Update RuleR9MassSabotage.xml

---------

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
2025-05-08 10:59:21 +02:00
github-actions[bot]
d9c2bd8e09 @paige404 has signed the CLA in crystallpunk-14/crystall-punk-14#1257 2025-05-08 08:40:48 +00:00
Tayrtahn
4aa635620c Fix debug asserts in WoolySystem and UdderSystem (#35314) 2025-05-08 09:55:41 +02:00
PJBot
4a521c56cf Automatic changelog update 2025-05-08 01:40:18 +00:00
Southbridge
129204b54e Amber Station - Security and AI Sat Overhaul (#37262) 2025-05-07 18:39:09 -07:00
Cojoke
fdf860d64f Small InventorySystem.Equip Unequip Reason bugfix (#37265)
Fix small bug
2025-05-07 20:47:03 -04:00
Quantum-cross
6bb3b83bf1 For DamagedSiliconAccent use Destructible threshold for default "DamageAtMaxThreshold" (#37252)
* set DamageAtMaxCorruption as nullable with null default and use destructible trigger threshold for this if null.

* fix documentation

* these really don't need to be passed by reference
2025-05-07 20:44:36 -04:00
Tayrtahn
d80934b156 Move random species selection earlier in player spawning logic (#37258)
* Select random species earlier in spawning logic

* ternary operator

* Move it even earlier to fix more bugs
2025-05-07 20:38:56 -04:00
themias
14adb1ff01 Cargo request and bounty console deny sound cooldown (#37234)
* Cargo bounty console deny sound cooldown

* ordering computer cooldown

* Update Content.Shared/Cargo/Components/CargoBountyConsoleComponent.cs

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

* Update Content.Shared/Cargo/Components/CargoBountyConsoleComponent.cs

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

* Update Content.Server/Cargo/Systems/CargoSystem.Bounty.cs

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

* AutoGenerateComponentPause

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-05-07 20:34:44 -04:00
B_Kirill
b3c4c7c32b Cleanup warnings: CS8321, CS0105, CS0168 (#36949)
* Clean up

* CS0168
2025-05-07 20:01:02 -04:00
B_Kirill
c196538aaf Cleanup warnings: CS0414 (#36950)
* Clean up

* Use #pragma
2025-05-07 20:00:12 -04:00
PJBot
057cc2304a Automatic changelog update 2025-05-07 23:49:46 +00:00
B_Kirill
9ff5850667 AI context menu fix (#37224)
* AI context menu fix

* Revert "AI context menu fix"

This reverts commit 86a0476fcb0aa952c0dcadb1bc4246532abd62b7.

* Better implementation

* Retry
2025-05-07 19:48:39 -04:00
PJBot
d28289c3c4 Automatic changelog update 2025-05-07 23:27:55 +00:00
SlamBamActionman
90c3ba8f36 Add 3 new Exomorph posters (#37260)
Initial commit
2025-05-07 19:26:48 -04:00
Tayrtahn
ef79373904 Fix chairs deleting players (#37261)
Unbuckle entities when a strap is about to be deleted
2025-05-07 19:25:17 -04:00
Verm
47258651a3 Make container draw disableble for mob-affecting Hyposprays (#30683)
* Seperate container draw from affects mobs

* Spaces

* More spaces

* Fix toggle

* Use better ands

* Reorder checks for Performance™️

---------

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
2025-05-07 16:43:47 -04:00
PJBot
df10d75cf7 Automatic changelog update 2025-05-07 20:29:35 +00:00
themias
8edc8c7596 Genpop closet cargo orders (#37237)
* Genpop closet cargo orders

* change icon to locker base
2025-05-07 22:28:28 +02:00
deltanedas
50bad5ad60 fix pka admin log (#37255) 2025-05-07 10:56:20 -07:00
lzk
4420d67f92 make throw insert container code more clear (#36873)
make throw insert container more clear
2025-05-07 15:08:28 +02:00
PJBot
132dadeca8 Automatic changelog update 2025-05-07 12:46:00 +00:00
Zalycon
31ce616c25 Raises max chest markings for all species (except Reptilian) to 2 (#37065)
* Update arachnid.yml

* Update diona.yml

* Update human.yml

* Update moth.yml

* Update slime.yml

* Update vox.yml
2025-05-07 14:44:53 +02:00
PJBot
86c851ba5d Automatic changelog update 2025-05-07 11:39:06 +00:00
K-Dynamic
ae6f96fa87 Four-way pipe junction, swapping junction construction fix (#37092)
* pipe x-junction assets, yml, construction

* remove duplicate asset

* attribution

* x junction instead of junctioncross for utilities.yml
2025-05-07 13:37:59 +02:00
PJBot
e5ab034aa7 Automatic changelog update 2025-05-07 10:07:49 +00:00
Flareguy
cdcc57e467 Moth displacement maps (#37231)
moth displacement maps
2025-05-07 13:06:42 +03:00
kosticia
665fecf677 Make animals drop giblets into container or floor when they inserted into container (#37228)
* a

* Revert "a"

This reverts commit 2b9ba4ea67a9395d30b7ab37c8065f627f1a961a.

* auausasuasuausuuAUSTRALIA!!!!!!aausuasusdasda

* 77+33!=100
2025-05-06 22:14:08 -04:00
PJBot
45c2617e30 Automatic changelog update 2025-05-07 02:04:14 +00:00
UpAndLeaves
8cf6ca78cf Fire damage system fixes (#37241)
Fire fixes
2025-05-06 22:03:05 -04:00
Archee
012eeb3158 Cryotube draw-depth (#37240)
* removes changing draw depth when occupied

* changes collision to square

* small texture changes
fixes slight perspective size when comparing side columns to the direct column facing the camera
removes the baked in pipe exit (the yml's sprite adds it anyway)
2025-05-06 22:01:09 -04:00
PJBot
a1dacfc62b Automatic changelog update 2025-05-06 19:11:17 +00:00
Ghagliiarghii
bcdb17597a Fix borg soap (#36961)
* Create SoapBorg and replace SoapNT with SoapBorg in BorgModuleCustodial

* Reparent SoapBorg

No longer a container so the soap reagent cannot be extracted from the soap, no longer a food, no longer slippery since it can't be removed from the borg to be placed on the ground

* Move SoapBorg to end of soap.yml

* correct comp order

* fix failing tests
2025-05-06 15:10:10 -04:00
PJBot
dce9c649e8 Automatic changelog update 2025-05-06 19:05:26 +00:00
pathetic meowmeow
cfba56c2b4 Make departmental orders consoles print slips (#36944)
* Make departmental orders consoles print slips

* feed back cycle
2025-05-06 15:04:18 -04:00
PJBot
f73f6d4467 Automatic changelog update 2025-05-06 18:32:30 +00:00
OnyxTheBrave
e527adea92 Fixed holy water metabolism rate (#37106)
* Fixed holy water metabolizing at 1u instead of .5u a second

* Update Resources/Prototypes/Reagents/medicine.yml

---------

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
2025-05-06 14:31:23 -04:00
Krunklehorn
522c6975f1 Darken reptilian eye sockets to reduce the effect of mixels (#37082)
Initial commit
2025-05-06 14:30:25 -04:00
Princess Cheeseballs
64f7fe10cc Ichor double-metabolize fix + Very minor cleanup (#37107)
Not a yaml vacation apparently
2025-05-06 14:16:13 -04:00
PJBot
1ee4c1fe72 Automatic changelog update 2025-05-06 18:14:41 +00:00
Prole
6cdc436f5f Water bottle dispenser fix & Bottle Yaml Organizing (#37108)
* A New Parent/Category For The Soda & Tonic Water Bottle

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* New Parent For water bottle & Cleanup

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* More Cleanup

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* Details

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* Organizing For Additions

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* Streamlining waterbottle to be compatible with DrinkBottleVisualsAll Parent

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* Replacing/Renaming Parents

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* New Tonic/Soda Water Bottle Sprites

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* Misc Fixes

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* New Parent for Small Glass Bottles & Organizing

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* Organizing & uSize Parity.

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* File Parity

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* Merged Categories & Misc Fixes

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* Removed Silly

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* Parent Name Parity & Cleanup

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* Large Glass Bottles Category & Cleanup

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

---------

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>
2025-05-06 14:13:33 -04:00
PJBot
62984fc309 Automatic changelog update 2025-05-06 17:50:49 +00:00
lzk
740ce0e8ad Port fancy speech bubbles (#29349) 2025-05-06 20:49:42 +03:00
Ed
448cd605c4 bye frigid 2025-05-06 20:36:08 +03:00
PJBot
a6f2172d05 Automatic changelog update 2025-05-06 17:26:05 +00:00
B_Kirill
c156c5c465 Add collapse button to lobby right panel (#37140)
* Add collapse button to lobby right panel

* Half sized buttons
2025-05-06 13:24:58 -04:00
ScarKy0
9b5ddb87f5 Fix brains, borgs etc not counting as marooned (#37148)
* init

* comments

* comment

* no more debug
2025-05-06 13:24:26 -04:00
poklj
ac24be2fb7 Split out the CloneComponents into its own method (#37155)
* Split out the CloneComponents into its own method

* CR - Move some extra info in

- add TryComp for status effects

- Move some remcomps around

- Make Special event raising components to handle special
components that reference entities that have ownership

* CR - Extra recommendation on the prototype

thanks slarti

* Solve the yaml linter problem

* CR - Typos, grammar and some extra Status effect

* cleanup

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-05-06 13:22:32 -04:00
PJBot
cbc49975c6 Automatic changelog update 2025-05-06 17:02:44 +00:00
Quantum-cross
3f3be47ae4 Fix effects of hosted anomaly when transform is parented (#37179)
* hosted anomaly effects now are at the correct location when the host is in a container or buckled

* oops, not keeping the uid and transform together

* use world positions to get the position of the anomaly -- my previous method was reinventing the wheel.
2025-05-06 13:01:37 -04:00
PJBot
4ce09bd2da Automatic changelog update 2025-05-06 16:58:12 +00:00
themias
ff03e7f066 Fix dough rolling (#37183) 2025-05-06 12:57:05 -04:00
PJBot
c5e8020bf0 Automatic changelog update 2025-05-06 16:56:07 +00:00
Cojoke
02c2de3ec5 Allow Pacifists to Use Bola (#37188) 2025-05-06 12:55:00 -04:00
YoungThug
c0935e5b59 AI Law Board File Clean Up (#37195) 2025-05-06 12:51:32 -04:00
Princess Cheeseballs
9c165cb5a0 StaminaSystem to SharedStaminaSystem (#37199)
* Init Commit

* Partial class

* Hands system slipped through
2025-05-06 12:39:05 -04:00
archee1
ef881fe655 Removing redundant trash tags on medipens (#37215)
removes redundant tag components
2025-05-06 12:24:52 -04:00
PJBot
ca1a8fa457 Automatic changelog update 2025-05-06 16:22:23 +00:00
B_Kirill
2fbc951230 More filters for station records (#37213) 2025-05-06 12:21:16 -04:00
Princess Cheeseballs
cf86e0de1d Ghost friction fix (#37124)
* commit

* fix for real
2025-05-06 23:49:43 +10:00
PJBot
5bfdfc9fca Automatic changelog update 2025-05-06 06:57:43 +00:00
Spessmann
a4b50db5e1 Convex genpop update (#37216) 2025-05-05 23:56:34 -07:00
Nim
d8e360367e Well and new bed, aristocratic cloak (#1228)
* well and bed

* aristocratic cloak

* fix

* GuardCommander

* fix2

* nop merchant

* bed resp

* fix well visual

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: Ed <edwardxperia2000@gmail.com>
2025-05-06 09:47:46 +03:00
Nim
89c737f37d Перевод на RU (#1231)
* translated

* end

* review desert

* review 2

* fix
2025-05-06 09:46:46 +03:00
Nim
6dca95de7b Ребаланс выпадения руды (#1244)
* ore

* revert
2025-05-06 09:46:04 +03:00
Viator-MV
95471fcb51 yeah.... (#1255) 2025-05-06 09:45:27 +03:00
Ed
0fc9e28637 Demiplane maps aftertest tweaks (#1256)
* admin info panel in demiplane map

* fix core chasm destruction

* dimensit resource, more resources in demiplanes

* more fixes
2025-05-06 08:29:09 +03:00
PJBot
5b9a91c115 Automatic changelog update 2025-05-06 01:30:30 +00:00
Spanky
962c5c0822 Fland Update (Genpop) (#37207) 2025-05-05 18:29:17 -07:00
Tayrtahn
532ef05140 Fix ComponentTogglerSystem deletion error (#37198)
Don't try to toggle if target is terminating or deleted
2025-05-05 18:35:15 -04:00
Ed
aeedff5caa Demiplane exploration map (#1251)
* dehardcode nodeTreeControl part 1

* finish

* demiplane map system setup

* link map entity with station data!

* random demiplane map generation

* redesign demiplane map node tree

* center

* map generate v2

* location generation

* modifier generation

* missing location icons

* ui polish

* data refactor

* fix line color

* ejectabling

* split demiplane component into two

* blocker attempt

* revoking

* fix frontier calculation

* dimensit

* demiplane core room spawning

* demiplane cool destruction

* Update round_end.yml

* progression works now!

* Update CP14NodeTree.cs

* Update CP14NodeTree.cs

* documentation pass

* fix abusing, some balance pass

* demiplane naming fix

* см

* location names

* delete old keys

* Update buy.yml

* Update migration.yml

* fix guidebook

* Update misc.yml

* Update misc.yml
2025-05-05 15:19:44 +03:00
Deerstop
90fd66c3d4 Salv Ruins Again (#37193) 2025-05-04 23:33:18 -07:00
PJBot
b90d7c9012 Automatic changelog update 2025-05-04 23:02:33 +00:00
brainfood1183
d7f5dac0b8 Fix for Whoopie Cushions (Fixes #32028) (#36984)
* Fixes whoopie cushions so they no longer launch you into oblivion when stacked in a large pile.

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

* streamlined the components for the prototype

---------

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
2025-05-05 01:01:27 +02:00
PJBot
325b0619b6 Automatic changelog update 2025-05-04 22:43:28 +00:00
Perry Fraser
61d524a983 Allow shelves to be placed rotated when built by hand (#37186)
fix: shelves can be placed rotated when built by hand
2025-05-05 00:42:21 +02:00
4g10w
63a2248201 Medieval Screwdriver (#1253)
* Medieval Screwdriver
Prototye & Texture

Added: screwdriver.rsi
- in hand textures
- main texture (with major help from omsoyk, tysm!)
- meta file
As opposed to vanilla SS14 screwdriver, this one only has one main texture.

Changed: screwdriver.yml prototype
- added all components from vanilla SS14 screwdriver (can be found in tools.yml prototype),
except for RandomSprite component that gives random color
- changed parent attribute from Screwdriver to BaseItem since we're making brand new screwdriver
- all components from initial prototype remained

* removed unused components

* Screwdriver recipe

Removed:
- Screwdriver recipe from anvil (iron bar)
Added:
- Screwdriver recipe to workbench (wooden grip + iron bolt)

To fit more with updated screwdriver visuals, recipe is updated too.
2025-05-04 22:29:34 +03:00
J
7b352643d5 Refactor magic speak system to be a component added to actions (#36328) 2025-05-04 13:34:19 -04:00
Pieter-Jan Briers
81cbb31425 Remove update from DeviceLinkSystem (#37152)
The tick updates were purely used to decrease the invoke counter once per tick. Now instead we just calculate the effective counter value with some trivial math on the tick number. This completely removes the need for an update function.

The relative tick is not stored to map files. If we really need this, we can add a TickOffsetSerializer (similar to TimeOffsetSerializer), but I doubt it matters.
2025-05-04 12:14:23 -04:00
Pieter-Jan Briers
e6040d1b25 Update GDPR erase script to latest DB schema (#37162) 2025-05-05 00:11:28 +10:00
Ed
5dc41e4189 Update Dev.toml 2025-05-04 17:01:51 +03:00
PJBot
20da7fcd25 Automatic changelog update 2025-05-04 07:21:41 +00:00
Southbridge
6926fa1ad3 Bagel Station - Removed Gamer Loot (#37171) 2025-05-04 00:20:33 -07:00
PJBot
ccfcb0cf7a Automatic changelog update 2025-05-04 05:48:20 +00:00
Nemanja
c4dd912106 Don't despawn off-grid salv mob corpses (#37169) 2025-05-03 22:47:11 -07:00
PJBot
eac0585bf4 Automatic changelog update 2025-05-04 02:40:25 +00:00
Nemanja
f1a17f360d Revert "add material composition to some salv treasure" (#37149)
* Revert "add material composition to some salv treasure (#31970)"

This reverts commit 125258ea48.

* Remove ring materials as well
2025-05-04 04:39:19 +02:00
PJBot
0de4ec912f Automatic changelog update 2025-05-04 00:39:54 +00:00
Nemanja
9afa15ab41 Salvage Threat: Gibtonite (#37160) 2025-05-03 17:38:47 -07:00
github-actions[bot]
fbd409a54b Update Credits (#37163)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2025-05-03 20:37:39 -04:00
Spessmann
f9825e1f96 Add more ruins (#37161) 2025-05-03 16:44:53 -07:00
PJBot
e5abf61474 Automatic changelog update 2025-05-03 21:20:15 +00:00
Spanky
6d6ae95914 Omega Update (Genpop) (#37157) 2025-05-03 14:19:07 -07:00
PJBot
ea67654733 Automatic changelog update 2025-05-03 19:29:54 +00:00
Minemoder5000
42a5b03743 Replace uplink thieving gloves with chameleon thieving gloves (#36369)
* replace thieving gloves with chameleon thieving gloves

* increase TC cost by one

* add a TODO comment
2025-05-03 15:28:47 -04:00
PJBot
ef86e6681e Automatic changelog update 2025-05-03 19:20:39 +00:00
youtissoum
07460f9eda Fix skeletons spawning in folded body bags (#37151)
* Fix skeleton spawning

* Add comments

* Fix the comments

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

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-05-03 21:19:32 +02:00
Nemanja
0c8c757a42 Revert "Resprited the Chief Engineer's mantle/manica" (#37060)
Revert "Resprited the Chief Engineer's mantle/manica (#36697)"

This reverts commit d0c2a64436.
2025-05-03 14:28:59 -04:00
chromiumboy
f213753e2b Sentry turrets - Part 5: Reuseable UI components (#35149)
* Initial commit

* Updated how monotone buttons are styled

* Removed unnecessary textures

* Updated attributions

* Addressing reviewer comments

* Adjusted monotone checkbox styling
2025-05-03 12:19:08 -05:00
Ghagliiarghii
885eb7bc35 ClothingOuterEVASuitSyndicate (#36738)
* ClothingOuterEVASuitSyndicate

* Update migration.yml

* Resolve merge conflict in migration.yml

---------

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
2025-05-03 12:06:35 -04:00
J
82ce890fc9 Explosions warnings cleanup (#36167)
* Explosions warnings cleanup

* Revert unnecessary change

* Cleaner Entity instantiation

* Remove conflicting changes with #36098
2025-05-03 18:05:29 +02:00
metalgearsloth
60e3d8e507 Fix throwing prediction (#37086)
* Fix throwing prediction

- Disposals is still janky but I think that's disposals in general not being predicted and the disposals throw not being predicted and short-lived.
- Would need to check RMC.
- Couldn't repro the underlying issues however thrown items don't slip anymore so (and we also don't predict their land / stopping anymore so).

* primary constructor

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-05-03 17:17:30 +02:00
PJBot
3ee5ed3cc6 Automatic changelog update 2025-05-03 15:09:03 +00:00
Radezolid
aaa4c75341 Fix some maintenance doors not using wires configuration + cleanup + minor changes (#36735)
* Kill useless maints doors + general fixes

* Migrate the common maints airlock

* Fix parenting

* Service Theatre

* migrate out the other removed airlock

---------

Co-authored-by: EmoGarbage404 <retron404@gmail.com>
2025-05-03 11:07:57 -04:00
kosticia
f3bc40eaa7 make node scanner don't show interface if scanned entity not a artefact (#37146)
* a

* a

* Revert "a"

This reverts commit 2b9ba4ea67a9395d30b7ab37c8065f627f1a961a.
2025-05-03 10:29:52 -04:00
Viator-MV
3bbf692da5 Ultraskeletom Revmech Update (#1145)
* help me

* reinforced swords

* skill tree

* fix

* T2 fix

* components

* fix 2

* fix

* halberd fix

* other variant

* recheck it please

* fix

* deskill

* deslikk++

* skel physical buffs

* bad fix

* fix

* extended life time

* fix

* fix

* fix

* heal from death

* sword fix

* fix

* try to fix

* valid crashout?

idk

* It's not my fault.

* fix

* fix

* fix

* review fix

* forgot

* fix

* ашч

* meh

* reequipment

* wrong agony

* fix

* gripfix

* fix

* looking for result

* coment remove

* some fixes

* ok

* aaaaaaaaaaaaaaaaa

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2025-05-03 16:51:25 +03:00
Ed
0b994d2e1f en 2025-05-03 16:37:09 +03:00
PJBot
dc2a7483c7 Automatic changelog update 2025-05-03 12:11:51 +00:00
Errant
79187cecb9 randomize names for mindshielded eventhumanoids (#37143) 2025-05-03 08:10:43 -04:00
ArtisticRoomba
ee201c6eb7 fix atmos grid markers (#37142)
* fix atmos grid markers

* 1984 CL
2025-05-03 09:11:31 +02:00
3nderall
213a9ef36d Renders reagent grinders over lights (#31218)
* Adds a new layer to DrawDepth.cs for use with objects similar to the reagent grinder and properly summarises its uses

* applies new layer in DrawDepth.cs to reagent_grinder.yml

* Fix merge conflict

* oops
2025-05-03 14:27:20 +10:00
PJBot
0d0eeb2afa Automatic changelog update 2025-05-03 04:19:17 +00:00
Unkn0wn_Gh0st
11096ad9bf New Weapon: Knuckle Dusters (#33470)
* New Weapon: Knuckle Dusters

* Tag YAML Error Fix

* Crafting Graph Node Error

(Thank you slarticodefast)

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

* Crafting Node Error Part 2 Electric Boogaloo

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

* Contraban & QM Dusters Nerf

* Stun Knuckledusters (Unfinished)

* Typo

* Fix test fails

* The dastardly maintainer balance webedit

* Fix contraband parenting

* Fix construction failure

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
Co-authored-by: EmoGarbage404 <retron404@gmail.com>
2025-05-03 00:18:08 -04:00
slarticodefast
5d26a38a1d fix clone appearance (#37130) 2025-05-02 21:26:12 -04:00
PJBot
4ba8945c5b Automatic changelog update 2025-05-02 22:57:54 +00:00
ScarKy0
efc8d8600d Traumoxadone (#37126)
* init

* salicylic acid
2025-05-03 00:56:47 +02:00
github-actions[bot]
ec1a938097 @4g10w has signed the CLA in crystallpunk-14/crystall-punk-14#1253 2025-05-02 22:22:30 +00:00
Prole
c153f84e42 noRot on 2-way lever (#37125) 2025-05-02 13:07:20 -07:00
PJBot
85d6b728ee Automatic changelog update 2025-05-02 18:32:56 +00:00
Vladislav Suchkov
b4ad372ca7 Clarify that PA crate order includes boards (#37109)
init
2025-05-02 14:31:49 -04:00
Princess Cheeseballs
b6c8119646 Movement Rewrite Hotfix (#37122)
* One line bugfix

* also divide friction by 5

* Undo that
2025-05-02 20:31:10 +02:00
PJBot
c27c0e7ff8 Automatic changelog update 2025-05-02 17:13:30 +00:00
Errant
2b2bfbfebd Fix for vox dropping all bodyparts when gibbed (#37111)
vox parts cleanup
2025-05-02 13:12:23 -04:00
PJBot
e7cb80da11 Automatic changelog update 2025-05-02 16:15:23 +00:00
themias
7fd66820b9 Fix station beacon not updating (#37121) 2025-05-02 12:14:16 -04:00
PJBot
2b748694bf Automatic changelog update 2025-05-02 15:46:53 +00:00
Southbridge
d35c755685 New Salvage Ruin - Atmos Interchange (#37115) 2025-05-02 08:45:46 -07:00
PJBot
ecd7ba8bb5 Automatic changelog update 2025-05-02 10:08:19 +00:00
metalgearsloth
51bff89b23 Fix AI movement (#37114)
Don't relay blocking anymore.
2025-05-02 12:07:12 +02:00
Nemanja
26ebf06b81 Add condition support to entity tables (#36819) 2025-05-02 11:37:14 +03:00
PJBot
25108234ea Automatic changelog update 2025-05-02 08:23:36 +00:00
metalgearsloth
bd69fc612a Predicted internals (#33800)
* Predicted gas pumps

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

* a

* Atmos device prediction

- Canisters
- Tanks
- Internals

AirMixes aren't predicted so nothing on that front but all the UIs should be a lot closer.

* Remove details range

* Gas tank prediction

* Even more sweeping changes

* Alerts

* rehg

* Popup fix

* Fix merge conflicts

* Fix

* Review
2025-05-02 18:22:29 +10:00
PJBot
d404422b5c Automatic changelog update 2025-05-02 08:19:16 +00:00
Princess Cheeseballs
36030ef154 Mob Movement Major Refactor (#36847)
* Conveyor optimisations

- Optimise movement for moving stuff. Better flags + less resolves + slapped parallelrobustjob on it.
- Sleeping for entities getting conveyed into walls.

* Blocker version

* Finish

* Final

* Fix conveyor power mispredict

* Bagel save

* Revert "Bagel save"

This reverts commit 1b93fda81fb852d89b89b0beae0b80f8a61165f2.

* Conveyor resave

* Init Commit

* windows yelling at me to update commit

* working commit, need prediciton and more dehardcoding

* Project 0 warnings

* Working Commit (Near Final)

* ryder got confused commit

* I love Merge Conflicts :)

* Working commit, no prediction

* Forgot the yaml changes

* Comments and typos

* Apparently while the reduced launch mult of lube was initialized it was never used so I revered back to default

* Fixed an incorrect divisor

* bit of cleanup

* Prediciton fixed, and puddles now affect all entities

* FORGOT TO RENAME A VERY IMPORTANT VARIABLE OOPS

* Really big I forgor moment

* Even bigger I forgor moment

* four more merge conflicts to fix four more oopsies

* fixed actual divide by zero moment and also im very dumb

* Even bigger I forgor moment

* four more merge conflicts to fix four more oopsies

* fixed actual divide by zero moment and also im very dumb

* Fix all test fails

* code cleanup

* Webedit whitespace

* Code cleaup

* whitespace webedit

* whitespace webedit

* whitespace webedit

* whitespace removal

* Comments and cleanup

* Re-Added 20 warnings as per Ork's request

* Cleanups

* Spacing fix

* bugfixes and cleanup

* Small bugfix

* Fix prediction

* Mob movement rewrite

* Bandaid

* Working version

* Tentatively working

* Friction to fix cornering

* More fixes

* Refactor mob movement

Trying to cleanup relay ordering / tryupdaterelative being cooked, purge ToParent, and fix all the eye rotation shenanigans.

* Building

* Re-implement jetpacks

* Reorganise weightless movement

* More work

* Fix camera

* reh

* Revert bagel

* Revert this

* Revert held move buttons

* Puddles work but are unpredicted and unoptimized

* Fixes

* Puddle code...

* Actually dirty the slipComp for real

* Sliding component done plus an extra suggestion from ArtisticRoomba

* Atomized Commit

* Added Friction field to Reagent Prototype per design discussion

* Cleaned up Working Commit

* a

* Delete stinkers

* Fix this code smell

* Reviewed

* Funky re-save

* Our conveyance

* Better conveyor sleeping

* Remove this

* Revert "Better conveyor sleeping"

This reverts commit f5281f64bbae95b7b9feb56295c5cf931f9fb2e1.

* Revert that

Way too janky

* Also this

* a

* Working Commit - Still a lot to do

* Acceleration refactor

* Minor jetpack cleanup

* frictionnomovement no longer nullable

* Shared Mover Feels 99% done

* OffGrid/Weightless/Throwing Friction saved

* Fix merge conflicts

* Fix a debug assert

* Final Commit for today

* Some fixes

* Actually use those CCVars Properly

* Need to fix throwing

* Second to last Commit for real

* Jetpack bug fixed

* Jetpack bug fixed

* Test fail patch

* Small patch

* Skates Component cleanup + Bring Accel back to 5 (oops)

* Fix test fail oops

* yaml cleanup make dragons not fat

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2025-05-02 18:18:08 +10:00
beck-thompson
1fbc845126 Species are now picked at random in the developer environment! (#37057)
* Various changes to random species in dev

* This should be split
2025-05-02 14:09:23 +10:00
Nemanja
bb547eb03b fix logic gate draw depth (#37053)
fix logic gate layering
2025-05-02 04:12:02 +02:00
PJBot
c37f06c1a9 Automatic changelog update 2025-05-02 01:58:01 +00:00
YoungThug
cfa80bc710 Wizard Helmet in the Magic Vend (#37084)
Whats the limit for stuff you can put in a commit message lol
2025-05-02 03:56:54 +02:00
PJBot
706ebcd258 Automatic changelog update 2025-05-02 01:08:24 +00:00
Perry Fraser
64141b974b Pointing arrow smite no longer lasts forever (#37102)
fix: pointing arrow smite no longer lasts forever
2025-05-02 03:07:15 +02:00
kosticia
b465ddfee2 fix asteroid tiles (#37103)
aw
2025-05-02 03:04:41 +02:00
Tayrtahn
2ff9c8dfb9 Fix vending machine manager wire error (#37100)
Skip updating amounts for removed entries
2025-05-02 02:21:59 +02:00
PJBot
bc8919c4cf Automatic changelog update 2025-05-01 23:02:24 +00:00
nikitosych
72d2d8ab0f Overhauled stamina slowdown behavior (#36336) 2025-05-01 19:01:17 -04:00
PJBot
52062dcfad Automatic changelog update 2025-05-01 22:08:54 +00:00
slarticodefast
42dce359e5 Add noir glasses (#36923)
hardboiled
2025-05-01 18:07:47 -04:00
Tiniest Shark
35f7abafe5 Updates the Pirate Captain Hardsuit Helmet light sprites. (#37027) 2025-05-01 18:07:11 -04:00
PJBot
65c0e899cd Automatic changelog update 2025-05-01 22:04:54 +00:00
K-Dynamic
ea64d4d106 Atmos air (6500 kPa) marker (#37061)
* air GM atmosphere

* atmos fix air miner
2025-05-01 18:03:47 -04:00
eoineoineoin
9a7b68de55 Select current target in mailing unit UI, prevent UI jumping (#37098) 2025-05-01 17:57:43 -04:00
themias
2699c3f41e Fix food slicing showing utensil popup (#37105)
Fix knife slicing showing utensil popup
2025-05-01 17:56:47 -04:00
PJBot
57138f7bd2 Automatic changelog update 2025-05-01 18:17:59 +00:00
MissKay1994
d21906c025 Vox now can eat trash other other inedible things (#35681)
* EAT TRASH EXHALE AMMONIA

Update to files

* Forgot to port this file

* 1D4 Guidance

* Summary (required)

Suggested changes and fixes

* Cries in conflicts

* Why do we exist? To suffer?

* 1 citation for being stupid

* THE ANTIDOTE, THE ANTIDOTE FOR THE POISON

* I was inverted sir

* vox organs cleanup

* vox reagents

* guidebook

* weh

---------

Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>
2025-05-01 20:16:51 +02:00
Ertanic
81507b9d52 Localizable craftmenu (#32339)
* Now the name of the target craft items is taken directly from the prototypes

* Deleting unnecessary fields

* Deleting unnecessary fields

* Added suffix field

* Added override via localization keys

* My favorite ItemList and TextureRect have been replaced with ListContainer and EntityPrototypeView

* Fix suffix

* Fix construction ghosts... maybe

* Remove suffix from UI

* Suffixes have been removed from prototypes

* Added a description for the secret door

* Fix search..?

* The Icon field of ConstructionPrototype has been removed

* StackPrototypes used in the construction menu have been localized

* TagConstructionGraphStep used in the construction menu have been localized

* The search bar has been localized

* Fix localization and prototypes

* Recipes are now only loaded when the crafting window is opened.

* Fix crooked merge grid of the crafting menu.

* Localization update

* Fix cyborg graph

* Revert "Recipes are now only loaded when the crafting window is opened."

This reverts commit 97749483542c2d6272bda16edf49612c69a0761a.

* Fix loc

* fix merge

* Fix upstream

* Some of the logic has been moved to Shared

* fix

* Small adjustments

* Very small change

---------

Co-authored-by: EmoGarbage404 <retron404@gmail.com>
2025-05-01 10:21:16 -04:00
lzk
8d01f90ad2 cleanup revolvers.yml (#37095) 2025-05-01 13:49:24 +02:00
lzk
181bf4073d cleanup snipers.yml (#37094) 2025-05-01 13:26:59 +02:00
PJBot
cf96f58880 Automatic changelog update 2025-05-01 05:36:20 +00:00
imatsoup
d0b1a15309 Fixes battery weapons changing firemode on wield (#37085)
Credit to Happyrobot33 for the implementation

Co-authored-by: Matthew Herber <32679887+happyrobot33@users.noreply.github.com>
2025-04-30 22:35:13 -07:00
Nemanja
55ef51a84b Fix listcontainer constantly disposing children (#37089) 2025-05-01 15:32:37 +10:00
PJBot
c1ebbb0789 Automatic changelog update 2025-05-01 05:22:04 +00:00
Samuka-C
d925b6f7d2 Make universal access config better (#37079)
* add a universal ID card to the universal access config

* make the admin access config have infinite range

* now checks for the BypassInteractionRange Tag instead

* Add suggested fix to the AccessOverrider system

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

* remove other stuff I added

* another suggested change to avoid weird behaviour where you can use it from a distance

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-05-01 01:20:56 -04:00
PJBot
b8e65d56b1 Automatic changelog update 2025-05-01 00:12:44 +00:00
metalgearsloth
f9aecda933 Fix action ent prediction (#37076)
Buttons don't get created in the predicted methods only on state handler.
2025-05-01 10:11:35 +10:00
PJBot
309521f60d Automatic changelog update 2025-04-30 19:57:35 +00:00
themias
ef10e4eb1c Skeletons leave glove fiber evidence (#37077)
Fix skeleton forensics
2025-04-30 15:56:28 -04:00
Ed
e792440c19 Gob hairs (#1250)
* renorma

* gobhairs
2025-04-30 22:14:13 +03:00
Ed
df4f49b551 Merge pull request #1249 from crystallpunk-14/ed-30-04-2025-upstream-sync
Upstream sync
2025-04-30 21:17:50 +03:00
Ed
d09386c990 fix 2025-04-30 21:03:50 +03:00
Ed
518b439c0f integrate 2025-04-30 20:50:03 +03:00
Ed
ef6d973301 Merge remote-tracking branch 'upstream/stable' into ed-30-04-2025-upstream-sync
# Conflicts:
#	Content.Client/Parallax/ParallaxControl.cs
#	Content.Client/UserInterface/Systems/Storage/Controls/ItemGridPiece.cs
#	Content.IntegrationTests/Tests/PostMapInitTest.cs
#	Content.Server/Chat/Managers/ChatManager.cs
#	Content.Server/Fluids/EntitySystems/PuddleSystem.Evaporation.cs
#	Content.Server/Labels/Label/LabelSystem.cs
#	Content.Shared/Actions/SharedActionsSystem.cs
#	Content.Shared/Fluids/Components/EvaporationComponent.cs
#	Content.Shared/Labels/EntitySystems/SharedLabelSystem.cs
#	README.md
#	Resources/Prototypes/Entities/Mobs/Player/admin_ghost.yml
#	Resources/Prototypes/Maps/Pools/deathmatch.yml
#	Resources/Prototypes/Maps/arenas.yml
2025-04-30 20:31:50 +03:00
Ed
0c8735f6df some hotfixes 2 2025-04-30 19:44:38 +03:00
Ed
818c7f5aa6 some hotgix 2025-04-30 18:57:13 +03:00
PJBot
103225f554 Automatic changelog update 2025-04-30 15:52:30 +00:00
themias
8cd20af6bd Fix turnstile collision with firelocks (#37074) 2025-04-30 11:51:23 -04:00
Ed
7f9e11be39 tornado blyat 2025-04-30 18:06:55 +03:00
Ed
9908710dae Update sewing_table.yml 2025-04-30 18:03:55 +03:00
PJBot
179e16db8b Automatic changelog update 2025-04-30 14:50:43 +00:00
LaCumbiaDelCoronavirus
c96a5ad990 add new salv ruin: telesci (#36653) 2025-04-30 07:49:36 -07:00
TytosB
a0e0072bd1 new salv ruins (#36947) 2025-04-30 07:40:45 -07:00
Ed
2358bc46d6 Torches + Cotton (#1246)
* torches add, wallmount crystals deletion

* cotton

* Update buy.yml

* craftis

* delete elemental quartz

* energy crystal resprite and rewamp

* fix

* Update misc.yml

* а

* delete rituals

* riat

* Update migration.yml

* Delete CP14ClientRitualSystem.cs

* Update statues.yml

* fix

* Update wallmount_lamp.yml

* fix
2025-04-30 17:28:38 +03:00
Tornado Tech
ad2fc18356 Dimensional (#1140)
* add: Temporamancy tree with new shadow swap spell

* feat: Increased tempo loadout to 2

* feat: Remove most popups from swap spell

* fix: Swap with no mob entities

* feat: Add CanCast to spell effect

* fix: Handeling cancaled event & swap state

* feat: Add UseCustomCastConditions

* feat: Add swap to magic shadow staff

* feat: Add tempo essence & magic type

* feat: Add Tempo type to all dimension spells

* fix: Magic shadow staff tempo manacost modify

* fix: Spell type local

* feat: Add touhou lore

* fix: Review

* feat: Add target dead block component

* feat: Remove checking access

* feat: Add RequireCanInteract

* feat: Remove essence

* fix: Review

* fuck

* fuck part 2

* Update Content.Shared/_CP14/MagicSpell/CP14SharedMagicSystem.DelayedActions.cs

* Update dimension.png

* minor nitpick

* fix

---------

Co-authored-by: Tornado Tech <54727692+Tornado-Technology@users.noreply.github.com>
Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: Ed <edwardxperia2000@gmail.com>
2025-04-30 17:25:10 +03:00
metalgearsloth
4325247311 Update submodule to 255.1.0 (#37071) 2025-05-01 00:20:59 +10:00
PJBot
20465d4ca9 Automatic changelog update 2025-04-30 14:12:01 +00:00
slarticodefast
b068b5bb89 Minor ReflectionSystem refactor (#37039)
* ReflectComponentLogicFix

Added bool InRightPlace and updated relevant system

* Using SlotFlags

* edits

* refactor

* add missing relay

---------

Co-authored-by: BIGZi0348 <svalker0348@gmail.com>
2025-05-01 00:10:54 +10:00
Milon
a8ff999b08 add StationTrackerComponent (#36803)
* maybe I am cooking

* logmissing

* copy paste oops

* add some stuff

* review

* fix

* rerun tests

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-05-01 00:07:25 +10:00
metalgearsloth
feffbea9f9 Fix examine prediction (#36999)
If our current ID is different to the received one we should just discard it even if it's for the same entity.

Note that this doesn't quite fix my prediction issue as client and server are using slightly different timings for the event.
2025-04-30 17:49:36 +10:00
Gentleman-Bird
2ff8a45b58 fix so that the meat patty uses the meat patty sprite on custom burgers (#37064) 2025-04-30 00:13:20 -07:00
IProduceWidgets
ebb1f92027 feex oasis portal (#37058) 2025-04-29 19:55:45 -07:00
PJBot
1b5547fbb9 Automatic changelog update 2025-04-30 00:52:48 +00:00
Nemanja
e3c3f4898f Fix NPCs stalling when too many exist (#37056)
Fix NPC stalling when too many exist
2025-04-30 10:51:41 +10:00
slarticodefast
97d4e80685 merge stable into master (#37055) 2025-04-30 02:42:06 +02:00
PJBot
0ee4babc55 Automatic changelog update 2025-04-30 00:41:34 +00:00
K-Dynamic
f399126c66 Centcomm carapace, moved armour from vests.yml to armor.yml (#35301)
* centcomm carapace, loadout for CC official, move armoured vests from vests.yml to armor.yml

* revert rename from previous commit; command carapace returned to captain's carapace

* meta.json 4 space

* restored deleted comments for some armours and original description for slim armour

* Add recently added elite web vest

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-04-29 20:40:27 -04:00
PJBot
504dd63200 Automatic changelog update 2025-04-30 00:35:27 +00:00
Pieter-Jan Briers
10796df6bc Un-copypaste wallmount substation prototype to give them a UI (#37047)
*sigh*
2025-04-29 20:34:20 -04:00
slarticodefast
0e586e3fae Hotfix: Fix item toggling crashing the client for slimes (#37054)
fix item toggling crashing the server for slimes
2025-04-30 02:19:07 +02:00
PJBot
aaf3db8f9d Automatic changelog update 2025-04-29 22:56:54 +00:00
ScarKy0
a00b7b753c Mail visual update (#37049) 2025-04-29 15:55:47 -07:00
PJBot
f69a856da0 Automatic changelog update 2025-04-29 22:18:39 +00:00
themias
f59b878ce5 Add toolbox sound effects (#37048) 2025-04-29 15:17:32 -07:00
Myra
c96af2808f Added warning when attempting to run RUN_THIS on a zip repo download (Attempt 2) (#36922)
* Added warning when attempting to run RUN_THIS on a zip repo download

* Fix it actually

* Update git_helper.py
2025-04-29 23:51:21 +02:00
PJBot
3f17e7171b Automatic changelog update 2025-04-29 21:45:57 +00:00
Whatstone
afc55d6573 Show other speso colours, add larger denominations (Frontier#1496) (#37030) 2025-04-29 14:44:47 -07:00
Myra
87d097bb5d Stable merge (#37050) 2025-04-29 21:54:43 +01:00
Princess Cheeseballs
84178dd534 Puddle code hotfix 2 (#37046) 2025-04-29 21:10:00 +01:00
ActiveMammmoth
a8ff930763 Staff of Animation Fixes & Recharging (#37021) 2025-04-29 20:40:49 +01:00
SlamBamActionman
e366230458 Add inhand sprites for mini jetpack (#37041)
* Inhand sprites for mini jetpack

* Attribution
2025-04-29 19:43:09 +02:00
Milon
b9b854e179 ringer bugfixes (#36936)
AAAAAAAAAA
2025-04-29 19:08:23 +02:00
PJBot
0c4713da7f Automatic changelog update 2025-04-29 16:37:59 +00:00
Boaz1111
3f1ba3b6e7 Added Space Carp Tooth Arrows and Sharkminnow Spears, buffs sharkminnow teeth. (#31257)
* carp arrow, sharkminnow tooth spear

* review

---------

Co-authored-by: EmoGarbage404 <retron404@gmail.com>
2025-04-29 12:36:53 -04:00
Ed
b4ea0f69f5 Update tiefling.yml (#1245) 2025-04-29 18:11:36 +03:00
Ed
8cc50ea3a4 Update tiefling.yml 2025-04-29 17:20:25 +03:00
Ed
c3b6938388 unicorns 2025-04-29 17:14:05 +03:00
PJBot
3ce8e62157 Automatic changelog update 2025-04-29 13:33:25 +00:00
SlamBamActionman
aa29712a65 Fix clientsided alerts being overwritten by server (#37033)
Initial commit
2025-04-29 09:32:18 -04:00
pathetic meowmeow
74a8bb9509 Fix solution visualization after drawing with a whitelist (#36657) 2025-04-29 09:18:07 -04:00
PJBot
5ef74728c9 Automatic changelog update 2025-04-29 13:09:05 +00:00
Thinbug
ce080276db Push horn (#36009)
* Empty commit

* epic super duper cool fr push horn draft

* whoops turns out theres a system that does that thingi already x.x

* bunch of like fixis and generalization

* general progress

* most stuffies done

* last thingi hopefully

* small fixies, mostly preventing bypassing the delay by spamming

* rename to fit better

* rename for real i forgor to add

* weird fixie but last commit didn workie

* oki shold be fine now

* lastish cleanup

* fixies

* missed a space

* removed unnecessary component check

* getting the typos out of the way first

* moved the component to shared

* rest of fixies
2025-04-29 09:07:57 -04:00
kosticia
9e9726f81b Add borders to the asteroid sand (#35397)
* tiles

* Fix

* borderless

* Astrosand

* Add tile

* Fix
2025-04-29 08:58:39 -04:00
PJBot
db008825e6 Automatic changelog update 2025-04-29 10:26:03 +00:00
abadaba695
8245474fdc Chem master more unit transfer buttons (#36995)
* Changes chem master unit transfers to be the same as the chem dispenser

* adds chem master transfer buttons for 15u, 20u, and 30u
2025-04-29 12:24:56 +02:00
Ed
612ffb90cb Update ores.yml 2025-04-29 13:10:43 +03:00
PJBot
ad63aef2b2 Automatic changelog update 2025-04-29 10:02:04 +00:00
TytosB
53c3153645 re-buffs proto kinetic accelerator (#37012)
* new ruins

* genpop

* nvm

* abc

* fuckin

* turnstyle

* ruins

* stamp

* abc

* bruh

* efg

* pka fixed

* range tweak
2025-04-29 12:00:55 +02:00
PJBot
5afd520773 Automatic changelog update 2025-04-29 09:05:14 +00:00
IProduceWidgets
23d835b4b6 oasis genpop (#37031) 2025-04-29 02:04:07 -07:00
Princess Cheeseballs
aeed6b3954 More Mail Sprites (#37023)
* Commit

* Sprite update

* Last push for real for real

* Final Commit for real for real for real
2025-04-29 01:27:14 -04:00
PJBot
31e0fedb61 Automatic changelog update 2025-04-29 05:25:40 +00:00
lzk
207d513666 SSD sleep take 2 (#34039)
* ssd sleep part 2

* forgot this

* apply review

* yeah

* add onmapinit

* cache cvar values

---------

Co-authored-by: EmoGarbage404 <retron404@gmail.com>
2025-04-29 01:24:33 -04:00
PJBot
e21944d083 Automatic changelog update 2025-04-29 04:46:17 +00:00
drakewill-CRL
294a5a1b69 Display obvious plant mutations in examine text (#32650)
* Effect mutations now display on examine

* ChangeSpecies shouldn't stay on the list after running. Name cleanup

* EmoGarbage Review - convert description to LocId and add minor logic fix

* fix the dastardly yaml

---------

Co-authored-by: PraxisMapper <praxismapper@gmail.com>
Co-authored-by: EmoGarbage404 <retron404@gmail.com>
2025-04-29 00:45:10 -04:00
PJBot
9a3e70ca13 Automatic changelog update 2025-04-29 03:38:45 +00:00
Nemanja
f75811b4cb Rebalance magnet debris, update worldgen (#37025) 2025-04-28 20:37:39 -07:00
PJBot
ef49416540 Automatic changelog update 2025-04-29 03:14:08 +00:00
Stomf
a94d4a0991 Buffing slugs and replacing beanbags from the Bulldog bundle (#33517)
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
2025-04-28 20:13:01 -07:00
Kirus59
8c38aa3742 BatteryWeaponPowerCell tweaks (#33500)
* BatteryWeaponPowerCell tweaks

* add update ammo ev & shuttle guns tweaks

* MilonPL requested changes

* revert changes in OnPowerCellChanged

* Add events to get charge info & change current charge

---------

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
2025-04-28 21:12:25 -04:00
PJBot
a8054c37b1 Automatic changelog update 2025-04-29 00:27:29 +00:00
themias
b33f1db432 Theatre access to Service Request Computer (#37003) 2025-04-29 02:26:23 +02:00
PJBot
9154fbf7fe Automatic changelog update 2025-04-29 00:25:19 +00:00
Victor Shen
4671382419 Remove Contact Slowdown when Weightless or in the Air (#33299)
* removed contact slowdowns from entities that are weightless or in the air

* fixed kudzu not applying contact slowdown to airbone entities

* revert kudzu fix

* reimplemented kudzu fix with bool datafield

* update variable serialization format

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

* empty commit

* cleaned up and added documentation

* cached airborne check

* rerun tests

* minor review

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: Milon <milonpl.git@proton.me>
2025-04-28 20:24:12 -04:00
PJBot
f7a8a1779e Automatic changelog update 2025-04-28 23:44:46 +00:00
themias
bd08c71189 Fix t-ray scanner exception spam (#37018) 2025-04-28 19:43:39 -04:00
Partmedia
956652e111 Disown atmos and botany (#37017)
* Disown atmos and botany

* Update .github/CODEOWNERS

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-04-29 00:21:53 +02:00
Samuka-C
02b5592d69 Xenoborgs part 2 (#36844)
* add lawsets for the xenoborgs and mothership core

* add xenoborg names

* add xenoborg radio

* add xenoborg device frequency

* add xenoborg access

* add xenoborg contraband

* Update Resources/Locale/en-US/station-laws/laws.ftl

Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>

* add xenoborg access to the universal Id card and universal access config

* remove 6th law of xenoborg and mothership lawset (got jointed into the 5th law)

* added xenoborg and mothership law boards

* add more names

* add Xenoborg faction

* moved all lawboards into a separate yml file

* removed custom xenoborg contraband severity

* add Xenoborg and Mothership components

* add xenoborg laser guns

* add self recharging fire extinguisher

* add mothership pinpointer

* add material bag

* add infinite jetpack

* add a only blue energy dagger

* add xenoborg jammer

* add refueling welding tool

* add nocturine hypo

* add nuclear small power cell

* add cloaking device

* add xenoborg door remote

* add custom sprites for xenoborg modules

* add custom sprites for xenoborg module actions

* removed Xenoborg Comp until is actually needed

* add xenoborg module tags

* spelling

* add xenoborg module bases

* organazied xenoborg modules sprites better

* add generic xenoborg modules

* add heavy xenoborg modules

* add engi xenoborg modules

* small fix to meta file in actions_borg.rsi

* renamed mothership comp to XenoborgMothership

* fixed the base for the xenoborg engi modules

* add scout xenoborg modules

* add stealth xenoborg modules

* localization for names and descriptions of the xenoborg modules

* fixed issues related to the XenoborgMothership component

* revert localization (it wasn't working for some reason)

* fixes

* fixed issue with container slot in the cloaking device

* Update description of small capacity nuclear power cell

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* Fix indentation in material bag

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* Spelling

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* fix parameter order in some prototypes

* rename proto id InfiniteJetpack to JetpackXenoborg

* localize pinpointer targets

* Revert "localize pinpointer targets"

doesn't work

* added lines in the end of files (and in the middle of one)

* reorder paramenter in some entities

* fixed some descriptions

* minor fixes

---------

Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-04-28 18:10:35 -04:00
PJBot
46b030df45 Automatic changelog update 2025-04-28 21:17:21 +00:00
ScarKy0
9d8cc64d48 Fix mail cutting thinking your arms are infinite length (#37019)
* init

* hand
2025-04-28 17:16:14 -04:00
PJBot
75a90152a7 Automatic changelog update 2025-04-28 21:01:17 +00:00
KingFroozy
3d0485fe5b Shoulder-length hairstyles resprite (#37000)
* sprite

* final

* final (final fr)
2025-04-28 17:00:10 -04:00
PJBot
b3ea8ee031 Automatic changelog update 2025-04-28 19:23:15 +00:00
lzk
4171c4e6d5 make scrubber widenet in panic mode (#37013) 2025-04-28 21:22:05 +02:00
slarticodefast
c6bdce3b0c merge staging into master (#37009) 2025-04-28 20:14:39 +02:00
Pieter-Jan Briers
b629cbac3e Clear MIDI masters properly to avoid replay freezes (#36809)
While trying to play a replay I noticed that the replay would freeze
when seeking in some cases. After some debugging, I discovered that two
MIDI renderers had each other as master, which caused an infinite loop
processing MIDI events.

I'm not entirely sure of the sequence of events that leads to this
during replay playback, but I did notice that MIDI render masters are
never set to null. This is in the best case just a memory leak, in the
worst case probably the source of the bug, so... I fixed that.
2025-04-28 19:51:41 +02:00
keronshb
0a394d4af5 Wizard Teleport Scroll (Teleport Location ECS) (#36424) 2025-04-28 19:42:24 +02:00
Myra
f6bae21184 Cherrypick #36955 into staging (#37002) 2025-04-28 19:40:56 +02:00
Nemanja
d4e40ae44b Revert "Add new color turtlenecks in WinterDrobe" (#36983)
Revert "Add new color turtlenecks in WinterDrobe (#32920)"

This reverts commit 34cc49c175.
2025-04-28 19:38:43 +02:00
github-actions[bot]
391230cd4b @Militore has signed the CLA in crystallpunk-14/crystall-punk-14#1242 2025-04-28 15:27:14 +00:00
metalgearsloth
fe3fe95dfa Fix autorecharge 2025-04-28 15:53:40 +02:00
Kyle Tyo
88eda89faa MapManager warning cleanup on tests (#36940)
lets see if this works.
2025-04-28 12:52:25 +02:00
ScarKy0
14ddd8b4cd Merge hotfix into master (#37001) 2025-04-28 11:47:56 +02:00
Nemanja
4509821f0e [HOTFIX] Revert "Updated air scrubber and air vent sprites." (#36992)
Revert "Updated air scrubber and air vent sprites. (#34223)"

This reverts commit 3957bbb97d.
2025-04-28 11:45:19 +02:00
ScarKy0
14cca7990a [HOTFIX] Fix maroon objective, change the text (#36990)
* test

* text

* capital C

* guh
2025-04-28 11:31:42 +02:00
PJBot
973ad71f5c Automatic changelog update 2025-04-28 06:57:46 +00:00
Southbridge
2e8291cecb Amber Station - Added Genpop (#36997) 2025-04-27 23:56:39 -07:00
IProduceWidgets
0043bde402 Add some salvage ruins (#36814)
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-04-27 22:33:40 -07:00
PJBot
ff69325652 Automatic changelog update 2025-04-28 02:41:28 +00:00
KingFroozy
a42fb658fd Mime suit resprite (#36702) 2025-04-27 19:40:21 -07:00
Leon Friedrich
fba07c69a9 Update staging to engine v255.0.0 (#36916)
Updatee engine to v255.0.0
2025-04-28 12:11:48 +10:00
PJBot
03894048e9 Automatic changelog update 2025-04-28 01:01:56 +00:00
lzk
875ccb94c6 nuke shelves' whitelists (#36986) 2025-04-27 18:00:46 -07:00
Bokser815
f6b3ba79d3 Temporarily Making Cargo Buy and Sell Pallets Indestructible (#34195)
Co-authored-by: EmoGarbage404 <retron404@gmail.com>
2025-04-27 17:59:54 -07:00
PJBot
106bee52b0 Automatic changelog update 2025-04-27 23:05:47 +00:00
ScarKy0
13a1853168 Fragile Deliveries (#36980)
* epic

* tweaks
2025-04-28 01:04:39 +02:00
PJBot
fac4bcd9b2 Automatic changelog update 2025-04-27 20:16:23 +00:00
ArtisticRoomba
85f0760b1b Add a mapping changelog to upstream (#34848) 2025-04-27 13:15:17 -07:00
PJBot
536106a666 Automatic changelog update 2025-04-27 15:12:19 +00:00
Fildrance
4690e62575 Feature/auto sync node scanner (#36635)
* feat: node scanner now auto-updates artifact details if in range

* refactor: minor cleanup

* refactor: optimization for update and query of range checking

* refactor: fix xml-doc

---------

Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
2025-04-27 11:11:13 -04:00
PJBot
b17e558046 Automatic changelog update 2025-04-27 14:48:24 +00:00
metalgearsloth
f29b38c44b Use RMC mob collision values (#36851)
Use RMC movement values

General feedback was it's too slow to push through people but this still prevents stacking so.
2025-04-28 00:47:18 +10:00
Ed
991d2fbf74 Update Dev.toml 2025-04-27 17:01:16 +03:00
PJBot
0da897947f Automatic changelog update 2025-04-27 11:09:42 +00:00
Pieter-Jan Briers
ffe130b38d Battery (SMES/substation) interface (#36386)
* Add ENERGYWATTHOURS() loc function

Takes in joules (energy), displays as watt-hours.

* Add simple OnOffButton control

* Re-add Inset style class

This was sloppily removed at some point?? Whatever, I need it.

* Add helper functions for setting title/guidebook IDs on FancyWindow

Reagent dispenser uses these, more in the next commits.

* Add BuiPredictionState helper

This enables me to implement coarse prediction manually in the battery UI.

Basically it's a local buffer of predicted inputs that can easily be replayed against future BUI states from the server.

* Add input coalescing infrastructure

I ran into the following problem: Robust's Slider control absolutely *spams* input events, to such a degree that it actually causes issues for the networking layer if directly passed through. For something like a slider, we just need to send the most recent value.

There is no good way for us to handle this in the control itself, as it *really* needs to happen in PreEngine. For simplicity reasons (for BUIs) I came to the conclusion it's best if it's there, as it's *before* any new states from the server can be applied. We can't just do this in Update() or something on the control as the timing just doesn't line up.

I made a content system, BuiPreTickUpdateSystem, that runs in the ModRunLevel.PreEngine phase to achieve this. It runs a method on a new IBuiPreTickUpdate interface on all open BUIs. They can then implement their own coalescing logic.

In the simplest case, this coalescing logic can just be "save the last value, and if we have any new value since the last update, send an input event." This is what the new InputCoalescer<T> type is for.

Adding new coalescing logic should be possible in the future, of course. It's all just small helpers.

* Battery interface

This adds a proper interface to batteries (SMES/substation). Players can turn IO on and off, and they can change charge and discharge rate. There's also a ton of numbers and stuff. It looks great.

This actually enables charge and discharge rates to be changed for these devices. The settings for both have been set between 5kW and 150kW.

* Oops, forgot to remove these style class defs.
2025-04-27 21:08:34 +10:00
KingFroozy
791f7af5d4 Paramedic suits adjustments (#36707)
* Changes

* meta
2025-04-27 12:27:01 +02:00
Viator-MV
39c6544dc9 visionCorrector (#1230) 2025-04-27 13:24:52 +03:00
Deserty0
8089be4596 Loc fix (#1229)
* fun

* Revert "fun"

This reverts commit 419b4e9e8f.

* fix
2025-04-27 13:11:23 +03:00
PJBot
f512c7bf91 Automatic changelog update 2025-04-27 09:15:01 +00:00
ScarKy0
2a5cf10aa6 Priority Deliveries (#36968) 2025-04-27 02:13:52 -07:00
Nemanja
497f43ec65 Remove legacy cargo shuttle code/prototypes (#36967) 2025-04-27 12:06:45 +10:00
github-actions[bot]
71e58834ff Update Credits (#36966)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2025-04-26 20:34:39 -04:00
PJBot
2f2685cb2c Automatic changelog update 2025-04-26 23:46:17 +00:00
UpAndLeaves
9fc6de35df New Science Biosuit Locker Sprite (#36929)
* first commit, slightly broken

* fixed meta json

* reverse accidental cmo inclusion
2025-04-26 19:45:10 -04:00
PJBot
34e67f71ba Automatic changelog update 2025-04-26 23:37:08 +00:00
Tiniest Shark
bb9c6dbe9d Ammo Mag + Speedloader Inhand Sprites (#34235)
* Added inhand visuals to (most) ammo magazines and speedloaders

* whoops mixed up a single inhand on the rifle mag

* Didn't realize rubber ammo got removed.

* added attributions

* adjusted inhand visuals to account for magazine types

* missed one :eye:👁️

---------

Co-authored-by: EmoGarbage404 <retron404@gmail.com>
2025-04-26 19:36:01 -04:00
PJBot
021bd04b65 Automatic changelog update 2025-04-26 23:25:32 +00:00
Centronias
90582f27ee Adds Parcel Wrap (#34471)
* Parcel Wrap

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

* ContainerContainer test failure fix

* Just easy changes for now.

* Imagine building your code before pushing it for review

* The rest of the PR comments

* PR comments

* more comments + cargo orderability

* whitespace: deduplicated.

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

* cabinet perspective sprites

* web edit detected

fite me

* @ps3moira 's new sprites for me :)

* add a touch of attribution

* EmoGarbage Review

* Merge with master

* Merge with master

---------

Co-authored-by: EmoGarbage404 <retron404@gmail.com>
2025-04-26 19:24:25 -04:00
PJBot
fd24e4bc5b Automatic changelog update 2025-04-26 21:50:07 +00:00
UpAndLeaves
dafb99258e CMO Hardsuit: Zombification Resistance tweak (#36957)
initial commit
2025-04-26 14:49:00 -07:00
Nox
2378b9ad68 Descriptions for .30 Rifle (#36958)
Initial commit
2025-04-26 14:48:40 -07:00
PJBot
d26fbbb6e7 Automatic changelog update 2025-04-26 21:47:00 +00:00
pathetic meowmeow
b7d020570f Truncate lathe announcement lists (#36945) 2025-04-26 17:45:53 -04:00
PJBot
f74b1c35bb Automatic changelog update 2025-04-26 21:43:34 +00:00
ScarKy0
f0472b2173 Delivery random multipliers (#36918)
* init

* review

* init

* teehee
2025-04-26 17:42:27 -04:00
Kyle Tyo
8f35bc76c2 Resolve a warning in SharedAnomalySystem and quell some linter whining. (#36939)
* resolve a warning and deal with some linter whining.

* Update Content.Shared/Anomaly/SharedAnomalySystem.cs

---------

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
2025-04-26 17:40:44 -04:00
PJBot
b1a846a6e9 Automatic changelog update 2025-04-26 21:07:41 +00:00
qrwas
6d935ced3a Only sec glasses can show contraband: second attempt (#36412)
* Add base code for cheking contraband in hud

* Fix missing using in InventorySystem.Relay

* Fix errors and update HUD yml

* Add show contraband with component on entity

* fix component description

* Update Content.Shared/Contraband/ShowContrabandDetailsComponent.cs

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* Update "if" for check if ent hasComp in contrabandSystem

* Remove << InventorySystem.Relay.cs

* Update Content.Shared/Contraband/ShowContrabandDetailsComponent.cs

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

* Update Content.Shared/CCVar/CCVars.Game.cs

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

* Fix partial class ShowContrabandSystem

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

* Update Content.Shared/Contraband/ShowContrabandDetailsComponent.cs

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

* Update Content.Shared/Inventory/InventorySystem.Relay.cs

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

* Some update ShowContrabandSystem

* Try with record struct

* back again ti default class with EntityEventArgs

* Remove EntityEventArgs

* Finally use record struct

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-04-26 17:06:34 -04:00
PJBot
76676014a6 Automatic changelog update 2025-04-26 20:57:25 +00:00
beck-thompson
65ff527f13 Fix inflatable barriers finishing instantly if canceled! (#36937)
Fix
2025-04-26 16:56:18 -04:00
metalgearsloth
d2caa5eae0 Fix autorecharge (#36955) 2025-04-26 16:54:06 -04:00
PJBot
0fbed2c95a Automatic changelog update 2025-04-26 20:46:15 +00:00
RedBookcase
b0dedb9770 Changed the storage sizes of different swords. (#36564)
Co-authored-by: RedBookcase <Usualmoves@gmail.com>
2025-04-26 13:45:08 -07:00
TakoDragon
2bd8455ff7 The Atmos A Airlock (#36376)
* airlocks

* Update meta.json

Added my modification in the meta
2025-04-26 21:26:23 +02:00
Ed
e7e55cdb5e fix viator 2025-04-26 18:09:44 +03:00
Ed
a1153843a2 Storage durability rebalance + Fuck nails (#1225)
* fix storage

* bye nails

* Update target.yml

* f

* Update migration.yml

* Update migration.yml
2025-04-26 17:20:52 +03:00
Ed
cff9dc6fcf Wendigo renamed to Lurker (#1213)
* Добавлены изменения для создания пулл реквеста

* Update Step.yml

* rename!

* fix

* interrupting toggleable spells
2025-04-26 16:38:54 +03:00
PJBot
0503287230 Automatic changelog update 2025-04-26 13:37:58 +00:00
SyaoranFox
7a256bac84 Changed soundGunshot for Pulse Pistol and Pulse Carbine from laser_cannon to laser3 (#36952) 2025-04-26 15:36:50 +02:00
ArZarLordOfMango
07132cdbd8 [Fix]Roof (#1147)
* roof

* why you dont work...

* fix and locale

* weh check

* Update no-roof-in-tile.ftl

* Update no-roof-in-tile.ftl

* Update roofs.yml

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: Ed <edwardxperia2000@gmail.com>
2025-04-26 15:23:11 +03:00
Ed
7941be4490 dungeon walls resprite, fix TOSTRING problem from C4viwlle 2025-04-26 13:29:23 +03:00
Ed
1ee7b9b76c fixes 2025-04-26 13:07:04 +03:00
Viator-MV
834fad0533 fixes (#1223) 2025-04-26 12:21:01 +03:00
Pieter-Jan Briers
e7be57d85f Clear MIDI masters properly to avoid replay freezes (#36809)
While trying to play a replay I noticed that the replay would freeze
when seeking in some cases. After some debugging, I discovered that two
MIDI renderers had each other as master, which caused an infinite loop
processing MIDI events.

I'm not entirely sure of the sequence of events that leads to this
during replay playback, but I did notice that MIDI render masters are
never set to null. This is in the best case just a memory leak, in the
worst case probably the source of the bug, so... I fixed that.
2025-04-26 16:42:16 +10:00
TytosB
f4322c5bb7 loop turnstyle fix hopefully (#36946) 2025-04-25 22:08:23 -07:00
PJBot
3a3a8b038a Automatic changelog update 2025-04-26 03:24:00 +00:00
OnyxTheBrave
5f2fb8dc82 Sheet-meister 2000 Cloth recipe (#32676)
* Sheet-meister 2000 can now make rolls of cloth

* Small Cleanup

* resolve conflicts

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-04-26 05:22:51 +02:00
TGRCDev
79ae7e7abe Fixed stinger grenade lag spikes (#36641)
* Fixed stinger lag spikes

* Simplify nullable checks

* More cleanup of projectile grenades

* Remove null default from ShootProjectile
2025-04-26 04:12:18 +02:00
PJBot
bd51fd76d7 Automatic changelog update 2025-04-26 01:55:29 +00:00
Booblesnoot42
0638147aa9 hide light-switches from build menu (#34664) 2025-04-26 03:54:23 +02:00
Wolfkey-SomeoneElseTookMyUsername
0dd9ffe8bf Add Cotton Burgers (#36405)
* Adds cotton burgers

* Rephrased copyright

* Added an extra comment

* Adds CottonBurger to tags.yml, Not sure if i am supposed to do this or not.

* Reordered Cotton bun YAML, and fixed overwritten tags

* Merge issue fix?

* Add experiment plushie and remove rubber chicken from cotton burgers

* Minor comment change

---------

Co-authored-by: beck-thompson <beck314159@hotmail.com>
2025-04-25 18:54:14 -07:00
kaiserbirch
8812237108 Land mine armament (#33883)
* Land Mine is now armable, it will not explode unless armed.

* Land Mine is now armable, it will not explode unless armed.

* Explicitly have Armed as false

* SharedLandMineSystem.cs adds the "Arm"-verb in "Content.Shared" with the Arming logic being implemented in "Content.Server"

* Land Mines now blink only when armed.

* Added prediction components, moved logic to SharedLandMineSystem.cs and inherit it in client content.

* Accessing the datafield directly instead of using methods

* Mines are now armed by default with a unarmed prototype

* Land mine now shows if it is armed when examined and in range.

* Landmine is unarmed by default with an armed variant for mapping purposes.

* Removed properties that were already defined by inheritance.

* Access the bool directly from the component

* Add booleans to change if the Arm-verb is showed and if examining the mine shows the status.

* Added status message for unarmed mine, removed using PushGroup since only one string is displayed.

* Added properties to the explosive floor sign to ensure that it is armed, not showing neither status nor arm-verb.

* The prototypes work now as before with added unarmed versions. Sprite is now only one toggable layer.

* Make the craftable land mine unarmed.

* Refactored the arming mechanic into own component and system.

* Reverted the explosive wet floor sign to previous prototype and added the Armable component and ItemToggle to the landmines.

* Moved the examination strings from land-mines.ftl to armable.ftl.

* Removed unused property.

* Formatting and fixing imports

* Added prefixes to the ftl naming. Moved LocId from system to component

* Added documentation. Moved check for armable to HandleStepTriggerAttempt.
Moved the LocId to component.

* Removed the TryArming method. Added documentation.

* Removed unnecessary TryComp

* Simplified the logic for the trigger attempt

* HasComp instead of TryComp on logic

* EmoGarbage Review

---------

Co-authored-by: Franz - Josef Björck <kaiserbirch@proton.me>
Co-authored-by: EmoGarbage404 <retron404@gmail.com>
2025-04-25 16:53:50 -04:00
Ed
8fbcaf496a some bugfixes 2025-04-25 23:17:06 +03:00
Kyle Tyo
b2f1f7c5ad Remove a redundant trycomp from TileAnomalySystem (#36924)
* remove a redundant check

* revert this space.
2025-04-25 15:32:23 -04:00
PJBot
5fa59ea213 Automatic changelog update 2025-04-25 18:19:31 +00:00
Nemanja
f900d9f8b2 PKA Modkits + Rebalance (#31247) 2025-04-25 11:18:23 -07:00
TytosB
9430a0f835 loop genpop (#36912)
* new ruins

* genpop

* nvm

* abc

* fuckin
2025-04-25 08:38:39 -07:00
PJBot
70ae0bbc28 Automatic changelog update 2025-04-25 15:34:21 +00:00
Kiri1674
a6905f2101 Make 10u of "Atomic Bomb" drink instead of 11u (#36921)
changed atomic bomb recipe
2025-04-25 08:33:14 -07:00
creamybag
72d8767a6d recoloring (#1221) 2025-04-25 18:27:07 +03:00
PJBot
e68d0243d9 Automatic changelog update 2025-04-25 15:08:57 +00:00
Radezolid
86a20dfdea Fix donuts tags breaking the bounty (#36903) 2025-04-25 08:07:50 -07:00
Deerstop
6bde7fdaa2 Elkridge - Genpop (#36914) 2025-04-25 08:05:25 -07:00
Spessmann
22bd884c19 Fix random maints room deleting whatever was already there (#36605) 2025-04-25 08:04:18 -07:00
Tornado Tech
67912d2c44 fix: mistakes in legal.md (#1220) 2025-04-25 14:51:55 +03:00
Ed
23e276b886 Update caves.yml 2025-04-25 14:22:05 +03:00
Ed
5484557c6d demiplane minor rebalance 2025-04-25 14:19:33 +03:00
Ed
a8b1b0ed37 sphere of light redesign 2025-04-25 14:11:36 +03:00
Ed
62cdf9e1c5 Bugfixes + QoL (#1218)
* fix keyring

* fix #1209

* fix #1116

* fix water, test reenable ambient loop

* recipe categories in workbecnhes

* Update CP14StoreWindow.xaml

* refactor: review

* Update CP14WorkbenchWindow.xaml.cs

* Update SharedCP14MagicEnergySystem.cs

* categorizize all recipes + some UI fix

* Update round_end.yml

---------

Co-authored-by: Tornado Tech <54727692+Tornado-Technology@users.noreply.github.com>
2025-04-25 13:39:20 +03:00
PJBot
f2036aae3a Automatic changelog update 2025-04-25 10:31:46 +00:00
chromiumboy
65f50b55b6 Fix for ghosts being unable to follow the AI when it uses a holopad (#36355)
* Initial commit

* Added to-do
2025-04-25 12:30:39 +02:00
lzk
25f016e806 fix changelog (#36915) 2025-04-25 01:51:05 -07:00
PJBot
c21ef2108a Automatic changelog update 2025-04-25 07:22:06 +00:00
chromiumboy
ed5c7aa942 Releasing an under-pressure lockout is now a verb (#36910)
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-04-25 00:21:00 -07:00
kosticia
010435fdb3 [FIX] Rubber now uneatable (#34543) 2025-04-25 00:20:09 -07:00
PJBot
a1468e7fbb Automatic changelog update 2025-04-25 06:04:10 +00:00
Alzore
dae811746a Inaprovaline metabolizes slower for better use as a stabilizing medicine (#32293) 2025-04-24 23:03:03 -07:00
PJBot
374ebfb621 Automatic changelog update 2025-04-25 05:55:56 +00:00
lzk
2eeef256e5 cleanup instruments yml (#32262)
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-04-24 22:54:49 -07:00
PJBot
2570473c67 Automatic changelog update 2025-04-25 04:53:27 +00:00
ScarKy0
4c7ad1e2f9 Lower interdyne herbals TC cost (#36841) 2025-04-24 21:52:20 -07:00
PJBot
e53f8b8ed6 Automatic changelog update 2025-04-25 04:50:41 +00:00
Kresny
3594f47c8d Controls page guidebook rework 2025 Q1 (#36363)
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-04-24 21:49:35 -07:00
PJBot
84053234a6 Automatic changelog update 2025-04-25 04:06:36 +00:00
Alzore
c8a02fd4cd Nerf mining hardsuit's effectiveness against bullets and bombs. (#31450) 2025-04-24 21:05:29 -07:00
PJBot
6cd8d1fba9 Automatic changelog update 2025-04-25 04:03:10 +00:00
Victor Shen
dab9bd69c6 Add Bloodstream to Goliaths (#33305) 2025-04-24 21:02:03 -07:00
PJBot
ba9ce72e62 Automatic changelog update 2025-04-25 03:54:22 +00:00
Smith
5bef44b296 Reptilians Can Eat Orange Creamsicles (#36890) 2025-04-24 20:53:13 -07:00
Spessmann
a22106f083 Convex genpop update (#36908) 2025-04-24 20:49:06 -07:00
PJBot
ee5a38d3e8 Automatic changelog update 2025-04-25 02:30:25 +00:00
Nox
a92ad620b2 Cyborg Rebalance (#34186)
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
2025-04-24 19:29:16 -07:00
PJBot
5af9ab4e99 Automatic changelog update 2025-04-24 23:46:02 +00:00
SlamBamActionman
735bbf93a9 Change some posters to be rules-compliant (#32734)
* Initial commit

* Minor edit

* it's very hard to fit "disorder"

* Revert No ERP poster, fix spawner

* Attribution

* Update text

* Missed poster spawner

---------

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
2025-04-24 19:44:54 -04:00
PJBot
42c344a5da Automatic changelog update 2025-04-24 23:43:35 +00:00
Preston Smith
f22160aa48 Correct IdentityBlocker to include specific outer clothing (#33085)
* Make IdentityBlocker include outerclothing

* Modify Correct Bit

* Fix mask/eye cobo
2025-04-24 19:42:27 -04:00
themias
bce195b53e Fix disposal unit flush animation (#30677)
* Fix disposal unit flush animation

* Revert "Fix disposal unit flush animation"

This reverts commit a596ecfd5f5368f87ef52cfb27884a8e000185c6.

* control by setting layer visibility rather than overwriting

* restore changes
2025-04-24 18:59:39 -04:00
ScarKy0
56ee29ab41 Turnstiles lower volume + access reader (#36900)
fixes
2025-04-25 00:14:47 +02:00
Nemanja
abb9e373bd Fix storage ui hovering over the hotbar (#36770) 2025-04-25 00:10:43 +02:00
slarticodefast
2b1161c8a6 Revert "Added warning when attempting to run RUN_THIS on a zip repo download" (#36899)
Revert "Added warning when attempting to run RUN_THIS on a zip repo download …"

This reverts commit d4c3ff3de4.
2025-04-24 23:44:28 +02:00
PJBot
407f0d5433 Automatic changelog update 2025-04-24 21:19:33 +00:00
Nemanja
f9b3d59a53 Fix QSI bringing people into paused maps (#36834) 2025-04-24 14:18:26 -07:00
slarticodefast
b3b6d47310 Disable shadows for observer pointlight (#36897)
no shadows
2025-04-24 22:42:21 +02:00
Myra
d4c3ff3de4 Added warning when attempting to run RUN_THIS on a zip repo download (#36896) 2025-04-24 22:39:33 +02:00
PJBot
31b5365ae0 Automatic changelog update 2025-04-24 19:48:53 +00:00
ScarKy0
a16504fa42 Tearable Deliveries V2 (#36815)
* Add new fields to DeliveryComponent for #36636

* Setting the baseSpesoPenalty for currently available deliveries

* Small fixes

* Basic delivery penalization

* Penalty and reward multiplier calculation in place

Also fixes an issue in SharedCargoSystem when opening a delivery in dev server due to trying to allocate cargo twice.

* Calling penalty no longer happens on opening

* Extract multiplier getting

* Removing unused include

* Changing method description. \n\n Not actually sure what I meant by the first one

* Localising default delivery messages

* Unused include removal

* init or smth

* minor tweaks

* I KEEP MERGE CONFLICTING MYSELF

* comments

* no icon

* slight increase

* slarti changes

* forgot

* stuffs

* yippee

* Locn't

* doc

* partial review

* message

* review

* pain

* stuff

---------

Co-authored-by: Lmorgan89 <billsmith116@gmail.com>
2025-04-24 21:47:46 +02:00
Southbridge
6a567cbcb8 Amber Station - Silo (#36764) 2025-04-24 11:24:07 -07:00
PJBot
435affce7e Automatic changelog update 2025-04-24 17:43:03 +00:00
Southbridge
3f588a1bb1 New Spawners, Modified Spawners, new Service/Theatre Airlock, and new Colorful Light Crate (#36750)
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-04-24 10:41:55 -07:00
ScarKy0
9fd5ed6d05 Meta Silo n Dept Economy (#36885) 2025-04-24 10:28:50 -07:00
Nemanja
68881ac030 Fix small misc. turnstile issues (#36893)
* Fix small misc. turnstile issues

* more missing things

* quieter
2025-04-24 19:02:12 +02:00
J
1f722bcc44 Delivery system now has the possibility of penalisation (#36660)
* Add new fields to DeliveryComponent for #36636

* Setting the baseSpesoPenalty for currently available deliveries

* Small fixes

* Basic delivery penalization

* Penalty and reward multiplier calculation in place

Also fixes an issue in SharedCargoSystem when opening a delivery in dev server due to trying to allocate cargo twice.

* Calling penalty no longer happens on opening

* Extract multiplier getting

* Removing unused include

* Changing method description. \n\n Not actually sure what I meant by the first one

* Localising default delivery messages

* Unused include removal

* minor tweaks

* slarti changes

* forgot

* stuffs

* yippee

* Locn't

* doc

* Apply suggestions from code review

---------

Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
Co-authored-by: ScarKy0 <scarky0@onet.eu>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-04-24 18:05:32 +02:00
PJBot
5371dbe9a7 Automatic changelog update 2025-04-24 14:33:18 +00:00
Nemanja
dc9844edd1 Genpop Closets & IDs (#36392)
* Genpop IDs and Lockers

* placeholder generation, no ui yet.

* UI

* Fix time offset

* fix meta.jsons

* big speller

* Scarkyo review

* Add turnstile prototypes

* make IDs recyclable

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
2025-04-24 16:32:11 +02:00
Ed
4bb614981f Keys & Locks crafting (#1207)
* keeye

* random locks for demiplanes

* blank keys, material keys

* craft blank keys

* key file

* fix skill tree UIScaling

* fix audio and sounds and prediction

* delete crowbar, merge its into pickaxe

* QoL key shaping

* lock introdusing

* QoL progress lockpicking

* examinable lock

* lock insert

* mithril lockkpick

* Update wall_dirt.yml
2025-04-24 17:10:52 +03:00
PJBot
896f73c59d Automatic changelog update 2025-04-24 11:40:47 +00:00
Nemanja
712954f1c4 Turnstiles (#36313)
* construction rotation fix

* Turnstiles

* renaming

* review-slarticodefast-1

* mild attempts to fix (sorry sloth)

* move some more shit

* Remove engine dependency

* grid agnostic

* remove debug string

* fix json

* Update Content.Shared/Movement/Pulling/Systems/PullingSystem.cs

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* Update Content.Shared/Movement/Pulling/Systems/PullingSystem.cs

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* remove pass delay for mispredict reasons.

* most minor of changes

* Give directional indicator on examine

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-04-24 13:39:40 +02:00
Leon Friedrich
0deb35000f Remove beaker from the MaterialArbitrageTest whitelist (#36876) 2025-04-24 11:58:30 +02:00
PJBot
aed40f8e47 Automatic changelog update 2025-04-24 03:46:34 +00:00
SG6732
b0edf7106f Meat Patty (#34896)
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-04-23 20:45:27 -07:00
PJBot
cb53647748 Automatic changelog update 2025-04-24 03:25:44 +00:00
Smith
8478125fe8 Cotton Grilled Cheese Sandwich (#36135)
* Working entity.

* New sprite by MadeOfHeartAndStone

* Removed deadspace, changed attribution in meta.json

* review

---------

Co-authored-by: Milon <milonpl.git@proton.me>
2025-04-24 05:24:37 +02:00
Milon
1d14d6b468 fix NoCargoOrderArbitrage fail (#36878)
whoopsie
2025-04-24 05:09:59 +02:00
PJBot
408a70f68c Automatic changelog update 2025-04-24 03:02:36 +00:00
RedBookcase
9a646634d4 Removed syndicate surgery duffel, added advanced circular saw to Medical Doctor uplink. (#35915)
* Removed syndicate surgery duffel, added advanced circular saw to Medical Doctor uplink.

* Update Resources/Prototypes/Entities/Objects/Specific/Medical/surgery.yml

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

---------

Co-authored-by: RedBookcase <Usualmoves@gmail.com>
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
2025-04-24 05:01:29 +02:00
beck-thompson
186cef25ca Put items inside cakes! (#31015)
* First commit

* I'm silly

* Please be it

* Some more fixes

* Cleanup

* fine!

* removed = false

* review

---------

Co-authored-by: Milon <milonpl.git@proton.me>
2025-04-24 05:00:50 +02:00
PJBot
7fded8c8c5 Automatic changelog update 2025-04-24 02:59:00 +00:00
Coolsurf6
b7a0bce4a4 Updated Syndicate and Ammo Contraband (#35102)
Co-authored-by: RedBookcase <crazykid1590@gmail.com>
2025-04-23 19:57:53 -07:00
Samuka-C
6ef03b082f Xenoborgs part 1 (#36830)
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-04-23 19:38:10 -07:00
PJBot
fc50922187 Automatic changelog update 2025-04-24 02:29:41 +00:00
Princess Cheeseballs
dca704c52c Moths can eat pills (#35609) 2025-04-23 19:28:34 -07:00
PotRoastPiggy
82269075bd Adds shorts/pants to ClothesMate vending machine (#35361)
* Clothesmate shorts

* matches price of vend to the new contents
2025-04-24 04:12:48 +02:00
PJBot
bb5ea2ff81 Automatic changelog update 2025-04-24 01:22:43 +00:00
No Elka
a8f05f5547 Make toy sword less obvious (#34199)
* YAML fuckery

* Remove toy_sword.rsi

Not a webedit btw
2025-04-24 03:21:35 +02:00
PJBot
fa622eac50 Automatic changelog update 2025-04-23 23:56:45 +00:00
Southbridge
a7b2b0bf0f New Salvage Ruin - Hydro Outpost (#36826) 2025-04-23 16:56:31 -07:00
ArchRBX
8045373197 pAI Software Catalog (#36857)
* initial commit

* add the shop and make it work

* add existing pai actions to the software shop

* added power monitor app

* killed the power and crew monitor software, too powercreepy

* fix test failures

* fix more test failures

* fix merge conflicts

* code changes to conform with review

* fix unintentional submodule update

* submodule update

* remove unused currency prototype ref

---------

Co-authored-by: archrbx <punk.gear5260@fastmail.com>
2025-04-23 16:55:35 -07:00
Tayrtahn
3313c648fe Fix warnings in ServerDbManager (#36871)
Fix warnings in ServerDbManager
2025-04-24 01:48:27 +02:00
Tayrtahn
acee0e53f7 Cleanup warnings in SpawnSalvageMissionJob (#36866)
* DoMapInitialize and SetMapPaused

* GridTileToLocal

* Formatting

* Remove unused variables

* Update Content.Server/Salvage/SpawnSalvageMissionJob.cs

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

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-04-24 01:33:30 +02:00
Tayrtahn
44106d5570 Move guardian sounds to component (#36870) 2025-04-24 01:29:49 +02:00
Tayrtahn
b3d761921f Cleanup warnings in WorldgenConfigSystem (#36864)
Fix warnings in WorldgenConfigSystem
2025-04-24 00:39:17 +02:00
Tayrtahn
02814e1e8d Cleanup warnings in PolymorphSystem.Map (#36869)
Fix warnings in PolymorphSystem.Map
2025-04-24 00:25:13 +02:00
Tayrtahn
411b563b1f Cleanup warnings in CableSystem.Placer (#36868)
* Fix warnings in CableSystem.Placer

* Formatting
2025-04-23 18:14:50 -04:00
Tayrtahn
43d9365abf Cleanup warnings in SharedCryostorageSystem (#36863)
Fix warnings in SharedCryostorageSystem
2025-04-24 00:05:10 +02:00
Tayrtahn
5ede1f7b4e Cleanup warning in EmptyAllContainersBehaviour (#36860)
Fix warning in EmptyAllContainersBehaviour
2025-04-23 20:33:18 +02:00
Tayrtahn
6d88dd910d Modernize GhostComponent & Ghost API (#36858)
* Move CanReturnToBody to system

* Move CanGhostInteract to system

* Cleanup redundant datafields and viewvariables

* Document datafields

* Document component

* Add SetTimeOfDeath Entity<T> overload, obsolete old version

* Document public methods

* Cleanup obsoleted method calls
2025-04-23 20:28:10 +02:00
Tayrtahn
a7b9694d10 Cleanup warnings in NinjaSuitSystem (#36861)
Fix warnings in NinjaSuitSystem
2025-04-23 20:24:21 +02:00
Tayrtahn
88d8458b5d Remove redundant fields from MovementSpeedModifierComponent (#36859)
Delete _baseWalkSpeedVV and _baseSprintSpeedVV
2025-04-23 19:54:49 +02:00
lzk
09c1189571 cleanup + add names to some entities (#36856) 2025-04-23 18:11:19 +02:00
PJBot
9418d29a59 Automatic changelog update 2025-04-23 11:09:09 +00:00
Saphire Lattice
49ff1b5e51 Remove steel sheet hull fixing (#33443)
* Remove steel sheet hull fixing

It's unintuitive that it's wasteful, there's not really any systems to NOT make it wasteful, and it's a UX trap. No this is not "noob trap", no. It's an UX issue because if hundreds of people do it over and over again without noticing anything wrong, well, something fails to properly note that there's an issue with what they are doing. Aka user experience issue. Aka not a problem with the user but the design.

Also could be a shitty doafter action that makes you wonder if something's wrong

* Why was this testing using steel of all things
2025-04-23 21:08:02 +10:00
T-Stalker
bad79973f2 Add 1 dragon name (#36846)
* this is a commit you cannot skip

* why do you have to add a count why
2025-04-23 20:11:34 +10:00
Tayrtahn
a48e975ea3 Fix warning CS9107 (#36845) 2025-04-23 11:42:08 +02:00
Tayrtahn
e529bc6196 Improve LocalizedDataset test to check for low Count (#36848)
* Improve LocalizedDataset test to check for low Count

* Fix missing entries for FigurinesFootsoldier
2025-04-23 11:29:13 +02:00
Winkarst
3ac8bc71f1 Cleanup: Move folders out of bureaucracy.rsi and paper.yml (#35108)
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-04-22 23:31:42 -07:00
PJBot
c387bdb136 Automatic changelog update 2025-04-23 05:38:16 +00:00
Smith
82bc2a728c Four new food crates for the ATS (#33286)
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-04-22 22:37:09 -07:00
kosticia
2076e8b02d Moth-pockets (#34517)
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-04-22 22:36:54 -07:00
lzk
638ee7aa2c elemental.yml & asteroid.yml cleanup (#36448) 2025-04-22 21:42:08 -07:00
PJBot
bfe18059f1 Automatic changelog update 2025-04-23 01:59:49 +00:00
Vladislav Suchkov
00af8f96f6 Fix construction orientation being ignored for some objects (#36488)
* fixes

* removed empty "SnapToGrid"s and parent "completed"s
2025-04-22 21:58:42 -04:00
Princess Cheeseballs
db922024be Give Admins "Tails" (#36842)
One line yaml change
2025-04-22 21:25:12 -04:00
PJBot
0256fb5a4f Automatic changelog update 2025-04-22 23:54:48 +00:00
poklj
7e63b397cf Nerf Firelock electronic prices (#33469)
* Nerf Firelock electronic prices

- make firelock electronics price half of the input cost to make one
(27) rounded up

* Why does firelock make glass?

- remove the Physical composition of glass from
FirelockElectronics as the input does not contain glass
and the output cannot contain half a steel and plastic

---------

Co-authored-by: Milon <milonpl.git@proton.me>
2025-04-22 19:53:42 -04:00
Tayrtahn
441083e906 Fix warning CS0414 instances (#36832)
Fix warning cs0414 instances
2025-04-23 01:36:49 +02:00
IProduceWidgets
4fa808ace5 Simulate command in minutes for real (#36808)
* 60
2025-04-22 18:20:45 -04:00
catlord
14b5496c33 Update MinorAntagonists.xml (#36836) 2025-04-23 00:04:20 +02:00
Tayrtahn
37f2c29559 Fix warning CS8524 instances (#36837) 2025-04-22 23:48:30 +02:00
Hanz
6cc53e3e1c Ashtray staticPack fix (#36835)
Ashes to Ashes

God I love staticPacks
2025-04-22 13:34:29 -07:00
PJBot
45938f2fae Automatic changelog update 2025-04-22 19:47:45 +00:00
Southbridge
1e794a30d0 Cherry Pick Round-start Solar Variation (#36825)
* Roundstart Variation for Solar Panels (#86)

* Added roundstart variation for solar panels

* Removed HV cable spawner since i don't want to bother with mapping them

* Solar Panel Variation Pass Fix (#96)

Added a second variation pass for regular solar assemblies, since otherwise they would spawn both it and the broken variety

* Reorganized everything to no longer be in the _Moffstation subdirectory

* Removed a forgotten tag for Moffstation

* Removed the moffstation namespace settings

* Update Content.Server/GameTicking/Rules/VariationPass/Components/SolarPanelReplaceVariationPassComponent.cs

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

* Update Content.Server/GameTicking/Rules/VariationPass/Components/ReplacementMarkers/SolarPanelReplacementMarkerComponent.cs

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

---------

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
2025-04-22 15:46:38 -04:00
Hanz
bd1f2af691 Ashtray Resprite and Fix (#31643)
* The meat and potatoes

Yup

* Stupid recycler

bruh

* guh

guh
2025-04-22 15:34:39 -04:00
Ed
a2ed3154bb Update natural.yml 2025-04-22 22:05:24 +03:00
Zachary Yona
063bbfa77c Ashen hud item status slot fix (#31411)
* new patchMargin variable added, horizontals fixed

* All sides now work, system is fully integarated

---------

Co-authored-by: Zachary Yona <magicalusf@gmail.com>
2025-04-22 14:40:58 -04:00
PJBot
7ae7def1fb Automatic changelog update 2025-04-22 18:39:42 +00:00
Ilya246
2f8809c74c downprice many cargo orders (#32375)
* atmos repricing

* emitter crate

* materials

* lasers

* revert gun prices
2025-04-22 14:38:32 -04:00
PJBot
3aa5eb5a21 Automatic changelog update 2025-04-22 18:36:50 +00:00
Golden Can
106a31410f Command uniform (#32103)
* Added generic command jumpskirt, jumpsuit and cap, and made them available in the HoP's clothing printer.

* fixed generic command jumpskirt and jumpsuit.

* Updated generic command jumpskirt/-suit textures, added generic command beret.

* Fixed game-breaking bug in previous commit relating to the command beret.

* altered generic command soft cap/baseball cap sprites.

* Update Resources/Prototypes/Entities/Clothing/Head/hats.yml

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

* Update Resources/Prototypes/Entities/Clothing/Uniforms/jumpskirts.yml

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

* Update Resources/Prototypes/Entities/Clothing/Uniforms/jumpsuits.yml

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

* review

* whoopsie

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
Co-authored-by: Milon <milonpl.git@proton.me>
2025-04-22 14:35:43 -04:00
PJBot
9f49404e70 Automatic changelog update 2025-04-22 18:16:20 +00:00
Tayrtahn
b8a894bfd1 Banana cream pie loc improvements (#36829)
* CAPITALIZE(THE($owner))

* Rename "thrower" to "thrown"; use THE($thrown)

* "the banana cream pie" -> "a banana cream pie"

* Simplify filter
2025-04-22 20:15:39 +02:00
godisdeadLOL
ebf9f4a38e Fingerprint taking improvements (#31864)
* now using event to check access to fingerprint

* Opps actually commiting the changes

---------

Co-authored-by: YourUsername <you@example.com>
Co-authored-by: beck-thompson <beck314159@hotmail.com>
2025-04-22 14:15:12 -04:00
PJBot
44c8004cfe Automatic changelog update 2025-04-22 12:36:01 +00:00
pathetic meowmeow
907f4b39cd Make funding allocation computer more configurable (#36790)
* Make funding allocation computer more configurable

* admin logging

* unused

* ccvar enabled

---------

Co-authored-by: ScarKy0 <scarky0@onet.eu>
2025-04-22 08:34:53 -04:00
Tornado Tech
037c760096 fix: codeowners (#1208) 2025-04-22 15:22:16 +03:00
Nim
b70af8848c Modular helmet (#1206)
* modular helmet

* fix

* del Bascinet
2025-04-22 14:12:41 +03:00
Ed
0996413d72 Structure Durability rebalance - Part 1 (#1205)
* walls rebalance pass

* windows and fence fix

* doors rebalance

* doors tweaks

* door construction rebalance

* Update WallWood.yml

* Update WallDirt.yml

* stone wall sfx

* ore rebalance

* Я не удержался и снес половину репы

* fix rsi

* Update windows.yml

* stonebrick constructions

* Update stonebrick.yml

* Update migration.yml

* Delete cargo_shuttle.yml

* Delete wall_marble.yml

* fix

* Update wooden.yml
2025-04-22 13:22:28 +03:00
PJBot
1197d9b038 Automatic changelog update 2025-04-22 06:34:06 +00:00
mubururu_
1e3f73a0e0 dragons can now pry doors (#36811) 2025-04-21 23:32:59 -07:00
PJBot
b64b24ef7f Automatic changelog update 2025-04-22 05:52:27 +00:00
K-Dynamic
43451f82c5 Metal foam grenade rework, small tweaks to grenade timers (#34579) 2025-04-21 22:51:21 -07:00
Spessmann
939a732236 Added more salvage ruins (#36822) 2025-04-21 22:30:20 -07:00
PJBot
2e3371f8ff Automatic changelog update 2025-04-22 03:24:03 +00:00
Michael
1707037964 Tweak Security protection values (#30212)
* Tweak Hardsuits

* HoS/Ward Coats change

* Whoopsie wrong number

god why am i doing this its 1:33 AM and i made a silly mistake...

* Adress Review

Revert Warden hardsuit slowdown to 30% again
Decreased Security hardsuit heat protection down to 20%
2025-04-21 23:22:56 -04:00
Nemanja
fa6c97bf50 Fix vox hair (#36816)
* Fix vox hair

* remove CL
2025-04-21 21:24:37 -04:00
PJBot
38aee7fcfa Automatic changelog update 2025-04-22 01:04:43 +00:00
Ghagliiarghii
5b18f99b8d Fix Animal Versions of Captain Uniform (#36804)
* scienceevasuit

* update money uniforms

* update meta.json files and hamster hats

* revert scienceevasuit

* revert accidental prisoner eva change
2025-04-21 21:03:36 -04:00
Nemanja
907aecb0ae Fix identity grammar (#36817)
Fix identity
2025-04-22 02:26:29 +02:00
PJBot
3e4c28c038 Automatic changelog update 2025-04-21 22:50:49 +00:00
lzk
00cd08231a Fix bots parenting, emotes (#29949)
* Bots overhaul

* fix

* change speech sound to pai

* purge a lot

* i forgor :trollface:

* adjust

* that aswell
2025-04-21 18:49:43 -04:00
PJBot
f2817f39bb Automatic changelog update 2025-04-21 22:40:35 +00:00
ShadowCommander
1bfa303f36 Firelock temperature and pressure warning lights (#28339)
* Add temperature and pressure lights to firelocks

* Replace sprites with new pressure and temperature light versions

* Remove obsolete deny and locked sprites

* Add SpriteSync for warning light animation synchronization

* Teal lights

* Partial animation implementation

* fixup! Teal lights

* Temperature lights

* Adjusted firelock light heights and added final warning light sprites

* Fix colors

* Testing colors

* Update light sprites

* updated sprites

---------

Co-authored-by: EmoGarbage404 <retron404@gmail.com>
2025-04-21 18:39:28 -04:00
Tayrtahn
17813825da Remove non-functional ninja exemption from SpawnAndDeleteEntityCountTest (#36813)
Remove non-functional ninja exemption from SpawnAndDeleteEntityCountTest
2025-04-21 23:46:07 +02:00
PJBot
1a8d4c9717 Automatic changelog update 2025-04-21 20:16:26 +00:00
lzk
9e39f99a92 Fix some locale strings and make some code for them looks better (#32003)
* Fix a lot locale strings

add functions using
fix identity for meat spike and creaming

* comma

* fixes for fixes

* yeah

* fuck
2025-04-21 22:15:20 +02:00
J
ded94ebc3d Various sharedsystem spring cleaning (#36200)
* Various shared system warnings cleanup

* More shared system warnings cleanup

* Rearranging changes

* Using correct transform for unbuckle

* Small changes

* Revert buckle change

* Update Content.Shared/Ghost/SharedGhostSystem.cs

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-04-21 20:40:31 +02:00
Verm
dd308c6d2d Makes EventRole Ids properly set ID names. (#28958)
* Add id binding system

* Change so it activates when added too

* Add to eventhumanoid

* Add PDA binding, try to fix some things

* Still not fixed, PDA is working right

* Move to server, add on mind instead

* Implement suggestions

* Fix things

* Finish review stuff

* Messed up cluwne

* Remove after only changing id too

---------

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
2025-04-21 14:25:22 -04:00
PJBot
e8ee73dd33 Automatic changelog update 2025-04-21 17:55:57 +00:00
ScarKy0
13e546a0a6 Station AI Name Identifier (#36801)
init
2025-04-21 19:54:51 +02:00
PJBot
44133075e4 Automatic changelog update 2025-04-21 17:47:40 +00:00
T
cc80f8d782 Added a semi-functional genderfluid pin. (#35854)
* Added a semi-function GenderfluidPin

* Update pins.yml

fix bug

* Fix meta.json under the newly merged "fix as you go" policy

* Update pin description

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
2025-04-21 13:46:33 -04:00
PJBot
6f27a9ec74 Automatic changelog update 2025-04-21 17:25:35 +00:00
Ed
68f1bc408f Update Dev.toml 2025-04-21 20:24:48 +03:00
K-Dynamic
b3725ef855 Increase thief to player ratio (#36531)
* reduce max number of traitors, increase thief to player ratio

* revert traitor max back to 8
2025-04-21 19:24:28 +02:00
PJBot
22dcd52bf3 Automatic changelog update 2025-04-21 17:17:31 +00:00
Hrosts
ae8b5c6097 Add rehydratable mop bucket cube, refactor the rehydratable yml (#34586)
* Refactor rehydratable items

* Finish main refactor

* Add mop bucket cube

* Move cube sprite and item size to RehydratableAnimalCube

* Fix sprite attribution

* Make it follow the conventions

* Refactor wrapped cube, leave MonkeyCube tag only on the cube and the Syndie Sponge

* Fix DehydratedSpaceCarp inheritance overwriting needed components

* no need for this comment

* remove whitespace

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

* indentation

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

* Restore lost description

* reorder stuff

* line

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-04-21 13:16:25 -04:00
lzk
15f862a807 fix some datasets (#36806) 2025-04-21 18:59:11 +02:00
PJBot
60c87d1198 Automatic changelog update 2025-04-21 15:51:14 +00:00
Łukasz Lindert
04ea0b5e5a Solution drag and drop now checks if container is closed and drainable (#34683)
drainable fix
2025-04-21 17:50:07 +02:00
PJBot
dfd0745db0 Automatic changelog update 2025-04-21 15:39:29 +00:00
āda
4acb92791a hotplate, kitcken grille bugfixes (#34776)
* commit

* cleanup
2025-04-21 17:38:23 +02:00
TytosB
92a9740081 new salv ruins (#36798) 2025-04-21 07:25:26 -07:00
PJBot
14b9973f1b Automatic changelog update 2025-04-21 12:08:40 +00:00
Phooooooooooooooooooooooooooooooosphate
a83402f382 Add the medical HUDs to medical's loadouts (except chem) (#32847)
Added the medical HUD and eyepatch to the medical (CMO, doctor, paramed and intern) loadout to let them choose between. Also gives the option for the regular glasses.
2025-04-21 14:07:33 +02:00
PJBot
9fd70dd6d4 Automatic changelog update 2025-04-21 10:33:21 +00:00
ScarKy0
467fe23795 Further Allocation Tweaks (#36800)
* init

* fix lockboxes
2025-04-21 12:32:14 +02:00
Thomas
df5e6a2b5c Add RGA/RSI to Credits (#36704)
* Add RGA and RSI to Credits

* Move to thread + add directory field
2025-04-21 12:24:44 +02:00
PJBot
b83cb209fe Automatic changelog update 2025-04-21 09:33:27 +00:00
ScarKy0
2fdfb4b14a Reworked Mail Spawning (#36774)
* init

* stuff
2025-04-21 11:32:18 +02:00
Deserty0
850111f469 Entity 0 fix (#1204)
* fix

* Update scattering_grenades.yml

* Update EntityTest.cs
2025-04-21 12:20:26 +03:00
Nim
5bbf0df340 Bell (#1185)
* bell

* soundCollection

* sound

* bell sound

* bell short

* surrendering
2025-04-21 11:46:58 +03:00
Leon Friedrich
e1c70882ef Fix NRE in GasTileOverlaySystem (#36793) 2025-04-21 15:06:54 +10:00
Spessmann
d792908e56 Add more ruins (#36785) 2025-04-20 19:16:52 -07:00
IProduceWidgets
98511d1b21 Binomial Number Selector for EntityTables (#36783)
* binomial dist

* lol initialize the int tho idiot

* xml docs my forgotten

* ditto
2025-04-21 02:57:20 +02:00
Tayrtahn
d4dfbcc853 Cleanup warnings in SharedPortalSystem (#36747)
* Cleanup warnings in SharedPortalSystem

* Formatting while we're here

* Replace uses of !Any() with Count == 0

* AnyEntitiesIntersecting
2025-04-21 02:32:34 +02:00
PJBot
915f8cca8c Automatic changelog update 2025-04-20 22:28:56 +00:00
āda
f52445ec4e Reorder electronics recipe file, add filter categories (#35713)
* electronics split

* split base recipe and category

* all but machines

* machine shuffle

* reorder

* delete unused recipes

* rename cargo to supply

* git weirdness

* git weirdness 2
2025-04-20 18:27:49 -04:00
dffdff2423
592530593d Remove MK ULTRA ai name (#35726)
* Remove bad AI names

* Fine, I won't try to sneak this in here.
2025-04-20 17:42:49 -04:00
PJBot
40afc6f58a Automatic changelog update 2025-04-20 21:39:36 +00:00
Entvari
dee1db4113 Wizard Headset (#35732)
* wizardcomms

* wizheadset

* Addressed requested changes and axed wizard channel due to redundancy.

* oops overlooked this, dont tell anyone

* another mistake fixed

* removed wiz encryption key due to redundancy

* accidentally left some punctuation in a now unrelated meta.json
2025-04-20 17:38:30 -04:00
PJBot
9ab3bd6792 Automatic changelog update 2025-04-20 21:35:26 +00:00
Jackson Langley
256b6b88fb Require traitors to maroon their objective no matter what (#35825)
* jesus

* okay.

* OOPS

* ok

* ok

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

* ok

* Update Resources/Prototypes/Objectives/paradoxClone.yml

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

* Update Resources/Prototypes/Objectives/base_objectives.yml

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

* m

* ok

* ok

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-04-20 17:34:19 -04:00
PJBot
1ba2dfa10e Automatic changelog update 2025-04-20 21:28:42 +00:00
uhbg
94b46a9edc The Bartender can now make Eggnog (#34065)
* Preliminary eggnog changes (egg in shaker crashes?)

* Fixed eggnog reagent name and description

* added - to flavor

* deleted a space

* Added eggnog glass sprite

* changed fill levels to match rsi

* Added two more fill levels to eggnog

* Removed fizziness, changed physical description, and fixed rsi

---------

Co-authored-by: uhbg <29674581+uhbg@users.noreply.github.com>
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
2025-04-20 17:27:35 -04:00
Princess Cheeseballs
251cfbd8be Puddle Code Slipping Cleanup (#35845)
* Init Commit

* windows yelling at me to update commit

* working commit, need prediciton and more dehardcoding

* Project 0 warnings

* Working Commit (Near Final)

* ryder got confused commit

* I love Merge Conflicts :)

* Working commit, no prediction

* Forgot the yaml changes

* Comments and typos

* Apparently while the reduced launch mult of lube was initialized it was never used so I revered back to default

* Fixed an incorrect divisor

* bit of cleanup

* Prediciton fixed, and puddles now affect all entities

* FORGOT TO RENAME A VERY IMPORTANT VARIABLE OOPS

* Really big I forgor moment

* Even bigger I forgor moment

* four more merge conflicts to fix four more oopsies

* fixed actual divide by zero moment and also im very dumb

* Even bigger I forgor moment

* four more merge conflicts to fix four more oopsies

* fixed actual divide by zero moment and also im very dumb

* Fix all test fails

* code cleanup

* Webedit whitespace

* Code cleaup

* whitespace webedit

* whitespace webedit

* whitespace webedit

* whitespace removal

* Comments and cleanup

* Re-Added 20 warnings as per Ork's request

* Cleanups

* Spacing fix

* bugfixes and cleanup

* Small bugfix

* Actually dirty the slipComp for real

* Added Friction field to Reagent Prototype per design discussion

* Sliding system is kill
2025-04-20 17:27:12 -04:00
PJBot
c2857c5247 Automatic changelog update 2025-04-20 21:18:18 +00:00
Banedon
aeb53a302b Santa hat with a foldable beard (#36510)
* Added foldable component to santa hat

* Modified sprites, modified YAML. YAML is cursed

* Changed santa hat description to mention the beard fold

* Removed HideLayerClothing since it doesnt work

* Changed the prefix from "beard" to "nobeard" to match with the fold/unfold verb

* Credits for sprite changes

---------

Co-authored-by: Lanedon <matth.galvez@gmail>
2025-04-20 17:17:12 -04:00
PJBot
3f2b161277 Automatic changelog update 2025-04-20 21:16:40 +00:00
UBlueberry
1220b8c4c7 Adds beanies to the WinterDrobe! (#32946)
* sprites

* messing with the ymls

* new sprites

* that's a lotta yaml

* make the sprites gooder

* color adjustment

* to the winterdrobe with you

* layering fix
2025-04-20 17:15:34 -04:00
PJBot
1fadb31f47 Automatic changelog update 2025-04-20 21:10:07 +00:00
Booblesnoot42
b7dfd60517 Resprite main altars (#35685)
* resprite main altars

* updated meta.json
2025-04-20 17:09:00 -04:00
PJBot
5fa93d6974 Automatic changelog update 2025-04-20 21:02:56 +00:00
Ed
f6a29e24a2 Markings overhaul (#35938)
* markings displacement setup

* ok i got it!

* fix map updating

* remove trackingLayers

* markings clean up and modernizize

* marking disabling displacements

* markings restriction

* dehihienize

* dehihiniezize 2

* aa

* nice
2025-04-20 17:01:50 -04:00
PJBot
f3a33fefc2 Automatic changelog update 2025-04-20 20:56:49 +00:00
RedBookcase
aea474d4a9 Pirate Gear Tweaks. (#35986)
* Tweaked pirate gear to be in-line with similar items.

* Added attribution for flashlight sprites, made hardsuits Major Contraband

* Added empty versions of the pirate revolver and flintlock.

* Test fail fix hopefully?

* Test fail fix hopefully V2.0

* Test fail fix hopefully V3.0

* Test fail fix hopefully V4.0

---------

Co-authored-by: RedBookcase <Usualmoves@gmail.com>
2025-04-20 16:55:42 -04:00
Prole
58fb282023 The Beverage Jug Can Now Look Open (#36070)
* GenJug-Changes

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* Guh

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* Support For the Rest

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* New Sprites

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* Newest Sprites

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

---------

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>
2025-04-20 16:36:22 -04:00
lzk
63350853f0 change MV cable outline (#36751)
* change MV cable outline

* zamn
2025-04-20 16:30:37 -04:00
YoungThug
d8ea0a39fe Wizard Figure Voiceline Fix #36771 (#36779)
DA WIZARDgit add -A
2025-04-20 16:30:04 -04:00
Tayrtahn
bd40cb9fa5 Restore LimitedChargesComponent.MaxCharges default value to 3 (#36778) 2025-04-20 12:20:57 -07:00
PJBot
314ced1bf9 Automatic changelog update 2025-04-20 19:09:47 +00:00
Tayrtahn
ca33d6bb70 Add marker components for admin shenanigans (#36776) 2025-04-20 21:08:41 +02:00
Tayrtahn
1bad0980ee Use non-generic TryComp in StationSpawningSystem (#36769)
Use non-generic TryComp in StationSpawningSystem
2025-04-21 01:00:33 +10:00
Ed
74cafc7584 Merge branch 'master' of https://github.com/crystallpunk-14/crystall-punk-14 2025-04-20 17:38:51 +03:00
Ed
3affdaf167 Update Dev.toml 2025-04-20 17:38:32 +03:00
Ed
cd0fcb8b47 Global Fence update (#1186)
* small wooden fence new

* birch and stonebrick fences

* big wooden fence

* birch big

* iron fence

* iron fence gate

* fence iron window

* fix

* fix
2025-04-20 17:37:56 +03:00
PJBot
ae41b6547e Automatic changelog update 2025-04-20 14:09:09 +00:00
K-Dynamic
d11a10d5ea Nonlethal throwables crate (#35808) 2025-04-20 07:08:02 -07:00
PJBot
17cdb4393f Automatic changelog update 2025-04-20 14:07:21 +00:00
Hyper B
cd6130ce22 Fire protection for ERT engineering hardsuit (#34949) 2025-04-20 07:06:14 -07:00
Kyle Tyo
a711912cba Unused dependency cleanup. (#36760)
* take 2! fight!!!

* final touches

* reeeeeee
2025-04-20 15:56:39 +02:00
PJBot
0d0ac82484 Automatic changelog update 2025-04-20 13:56:30 +00:00
ScarKy0
2d94045995 Decrease amount of mail, increase profits (#36767)
init
2025-04-20 15:55:23 +02:00
Ed
25fd73fec9 Update DiscordAuthManager.cs 2025-04-20 16:41:55 +03:00
Kyle Tyo
f77f000b93 Replace GetEntitiesInTile with EntityLookupSystem equivalent (#36756)
* commit GET!!

* minor cleanup
2025-04-20 22:57:53 +10:00
PJBot
d35c9ac17c Automatic changelog update 2025-04-20 12:20:18 +00:00
Hyper B
09f3d7f5eb Departmental shelves whitelist expansion (Attempt №3) (#34292)
* Expand-Shelves-Whitelist

Made departmental shelves hold a wider variety of items.

* Accidentally included "Packet" twice
2025-04-20 14:19:11 +02:00
PJBot
006f1aea3b Automatic changelog update 2025-04-20 12:04:52 +00:00
TakoDragon
056b25d01a Salvage Airlock (#36375)
* Salvage

* atmos a

* more muted colours

* Mapping Related to AI

* Fixed small naming inconsistency

* Revert "Fixed small naming inconsistency"

This reverts commit 985e1fd46a09e521c11dc345f470228e7907fbb9.

* Revert "Mapping Related to AI"

This reverts commit 5d5ae4feb819396c5c2a7413399ab5ce34f8683b.

* Revert "atmos a"

This reverts commit 529831e2584df27fa102ee1c970948fa3b6bab56.

* indent

---------

Co-authored-by: Milon <milonpl.git@proton.me>
2025-04-20 14:03:46 +02:00
Pgriha
097aff5e58 Heterochromia for Moth (#36061)
* 1

* Fix local

* formatting

---------

Co-authored-by: Milon <milonpl.git@proton.me>
2025-04-20 14:03:37 +02:00
PJBot
2bd3f6ce20 Automatic changelog update 2025-04-20 12:02:14 +00:00
Alice4267
a8b954fb0c Fix glass duplication with beakers (#34441)
Update chemistry.yml

Fixing glass dupe.
2025-04-20 14:01:08 +02:00
PJBot
c063f98f22 Automatic changelog update 2025-04-20 11:54:49 +00:00
PJBot
3f8e3f70b0 Automatic changelog update 2025-04-20 11:53:43 +00:00
RedBookcase
05d79667bb Makes more items recyclable. (#35800)
* Makes more items recyclable.

* Added newlines

* Fixed material issues which were NOT MY FAULT

---------

Co-authored-by: RedBookcase <Usualmoves@gmail.com>
2025-04-20 13:53:37 +02:00
PJBot
6622dcafb5 Automatic changelog update 2025-04-20 11:52:37 +00:00
Pgriha
8be4abc3fc Fix head markings under some helmets (#36074)
* 1

* 2
2025-04-20 13:52:31 +02:00
Nox
f4e7601dc9 Descriptions for .35 auto (#36085)
* Initial commit.

* added SMG descriptions

* Update Resources/Prototypes/Entities/Objects/Weapons/Guns/SMGs/smgs.yml

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* Updated descriptions to incorporate Roomba's feedback.

* Slightly changed Viper description

* Minor formatting change

* Updated Atreides description

* Fixed a minor convention mistake in magazines

* Slightly changed the Viper's description to not reveal its manufacturer.

* Updated Drozd description.

* Rerun test

* Updated descriptions in accordance with Roomba's suggestions!

* Updated Viper description!

* Shit I forgot to remove the cartridge length, did it now!

* More smart changes by Roomba

* Tests gaslighting me

* Update Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/pistol.yml

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* Updated WT550 description

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-04-20 13:51:27 +02:00
Nox
9d4c97701d Fix some SMG magazines fitting 35 rounds (#34782)
All SMG magazines are now 30 round, rather than half being 35 round.
2025-04-20 13:33:31 +02:00
PJBot
d46c54bde0 Automatic changelog update 2025-04-20 09:33:09 +00:00
Helm
edc57cab16 Fix soup (#34633)
Co-authored-by: Helm4142 <Helm4142@users.noreply.github.com>
2025-04-20 11:32:02 +02:00
Spessmann
1c3bdd5ba5 Small ruin fixes (#36763) 2025-04-20 01:54:01 -07:00
PJBot
79a76e418c Automatic changelog update 2025-04-20 07:01:40 +00:00
Cass
39bf2469ad Plurality pin addition (now not on master branch) (#36744) 2025-04-20 00:00:33 -07:00
PJBot
0768f1f33f Automatic changelog update 2025-04-20 06:02:34 +00:00
ArtisticRoomba
8d8398e60d kill filing cabinet heisentests (#36757) 2025-04-20 02:01:28 -04:00
PJBot
99364dc4de Automatic changelog update 2025-04-20 05:59:48 +00:00
chromiumboy
6bebde9959 Bugfix to sync emergency broadcast cooldowns on holopad UIs (#34115)
* Initial commit

* Bug fix

* Included check for gaining power

* Addressed reviews
2025-04-20 15:58:41 +10:00
PJBot
d5252d9808 Automatic changelog update 2025-04-20 05:58:08 +00:00
Alzore
d7c244293c Aquatic tail and back fin markings for lizards (#33219)
* shark tail and back fin for lizards

* credit me
2025-04-20 15:57:01 +10:00
TytosB
394c0c5414 loop lairlock lattice fix (#36758)
* sinful

* funeralofdeadbutterflies

* butterfly

* lattice fix
2025-04-19 23:51:13 -06:00
TytosB
5ad02a0844 New salv ruin- butterfly funeral (#36755) 2025-04-19 22:22:04 -07:00
TytosB
739917641d Salvage ruins- the deadly sins (#36754) 2025-04-19 21:32:19 -07:00
Spessmann
1aa397bcd6 Add More Ruins (#36752) 2025-04-19 21:27:20 -07:00
Tayrtahn
31cf0505c9 Convert NameIdentifier to use NameModifierSystem (#36736)
Convert NameIdentifier to use NameModifierSystem
2025-04-20 14:16:59 +10:00
Kyle Tyo
2c54ec10c6 replace obsolete IsGrid calls with HasComp<MapGridComponent> (#36729)
* replace obsolete IsGrid calls with HasComp<MapGridComponent>

* remove IMapManager dependency

* well would you look at that

* just look at it
2025-04-20 14:14:58 +10:00
Emisse
a6d2b1f0b8 Terrarium ruin (#36739) 2025-04-19 21:03:34 -06:00
PJBot
89d0eb140e Automatic changelog update 2025-04-20 02:42:30 +00:00
ArtisticRoomba
44925b9be7 Fix spray nozzle not cleaning reagents properly (#35950)
* init, god help us all

* further refining

* final round of bugfixes

* whoopsies

* To file scoped namespace

* first review

* oopsie

* oopsie woopsie

* pie is on my face

* persistence

* datafieldn't

* make PreviousTileRef nullable

* change component to file scoped namespace

* Minor tweaks:

- We clamp the reaction amount to a minimum value because when working with percentages and dividing, we approach numbers like 0.01 and never actually properly delete the entity (because we check for zero). This allows us to react with a minimum amount and cleans things up nicely.
- Minor clarification to comments.
- Rebalancing of the spray nozzle projectile.

* the scug lies!!!!

* undo file scoped namespace in system

* kid named warning

---------

Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
2025-04-19 22:41:24 -04:00
shibe
a90c16b8d1 Add one word to the dragon summon announcement (#36749)
terror!!!!
2025-04-20 12:26:10 +10:00
Nemanja
07e21c6516 Fix artifact spawns parenting to players (#36745) 2025-04-20 11:00:49 +10:00
Nemanja
f04f19a7aa Fix ore silo clients showing up when out of range (#36741) 2025-04-20 11:00:23 +10:00
github-actions[bot]
5b3a72e9b5 Update Credits (#36748)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2025-04-19 20:41:15 -04:00
PJBot
642e3a6042 Automatic changelog update 2025-04-20 00:18:47 +00:00
SeamLesss
511467f94a Scarf Resprite (#35446)
* guh???

* Merge branch 'master' of https://github.com/SeamLesss/space-station-14

* all of em

* better scarfs
2025-04-19 20:17:38 -04:00
TytosB
10ca6cb179 fixgridatmos 2025-04-19 16:19:08 -05:00
Velcroboy
a327a59cb2 Smuggler follow up (#36456)
* Fix Overfilling satchels

* Add notes

* Clearer

* remove line :/

* Reduce by 1 cigars/booze

* fix typo

---------

Co-authored-by: Velcroboy <velcroboy333@hotmail.com>
2025-04-19 23:07:49 +02:00
TytosB
e561836a03 terrarium 2025-04-19 15:42:59 -05:00
PJBot
aed81bf82e Automatic changelog update 2025-04-19 20:35:01 +00:00
ScarKy0
20841d402f Give salvage borgs a tool module. (#33336)
Init
2025-04-19 16:33:54 -04:00
PJBot
74f68fa634 Automatic changelog update 2025-04-19 20:33:24 +00:00
MilenVolf
6f475741b2 [#30096 Fix] Dumping a RefillableSolution into a DumpableSolution now requires CanComplexInteract (#33350)
* dumping containers now require having at least one hand

* Cleanup

* Better

* Apply suggested changes

* Cleanup

---------

Co-authored-by: Luiz Costa <luiz@mavromati.com>
2025-04-19 16:32:17 -04:00
PJBot
cb5a0fbbb3 Automatic changelog update 2025-04-19 20:21:41 +00:00
c4llv07e
52323a8972 Better PowerCharge menu wrapping (retry) (#34036)
* fixed

* Move wattage to the power button

---------

Co-authored-by: VideoKompany <135313844+VlaDOS1408@users.noreply.github.com>
2025-04-19 16:20:32 -04:00
Emisse
83db0689d6 Plasma ore silos and department eco (#36715) 2025-04-19 12:56:46 -06:00
Emisse
c9c94bb407 Elkridge - Silo (#36716) 2025-04-19 12:56:21 -06:00
Emisse
54242c6982 Fland Silo (#36724) 2025-04-19 12:56:11 -06:00
Emisse
313e48f911 Packed Silo (#36722) 2025-04-19 12:31:39 -06:00
Emisse
e93bfff6b0 Omega Silo (#36718) 2025-04-19 12:31:28 -06:00
Emisse
492ff9dbd7 Oasis Silo (#36720) 2025-04-19 12:31:12 -06:00
Emisse
85c6ef0fef Convex Silo (#36734) 2025-04-19 12:21:39 -06:00
Emisse
a94404b06b Loop Silo (#36733) 2025-04-19 12:21:28 -06:00
Emisse
30174276e5 Marathon Silo (#36732) 2025-04-19 12:21:15 -06:00
Emisse
03cabf91f6 Box Silo (#36723) 2025-04-19 12:21:01 -06:00
Emisse
8028c304ba Bagel Silo (#36721) 2025-04-19 12:19:05 -06:00
ScarKy0
66b65314d0 Fix silo rotation (#36737)
Update silo.yml
2025-04-19 14:00:31 -04:00
ScarKy0
e168f2007b init 2025-04-19 19:28:25 +02:00
ScarKy0
de8deaf6ad init 2025-04-19 19:18:22 +02:00
ScarKy0
efafd4f98d init 2025-04-19 19:11:17 +02:00
slarticodefast
51e2607a12 cleanup RingerSystem (#36731)
cleanup ringersystem
2025-04-19 19:11:08 +02:00
PJBot
f3429615a6 Automatic changelog update 2025-04-19 17:08:30 +00:00
Fildrance
b36169c58f fixing spessman getting teleported inside artifact (#36719)
* fixing spessman getting teleported inside artifact

* refactor: move XAEPortal comp to server

* refactor: replace Spawn and coord logic with with TrySpawnNextTo

---------

Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
2025-04-19 13:07:23 -04:00
Kyle Tyo
8dc2cb8874 Minor dependency and variable cleanup. (#36730)
removal of misc unused or extra dependency definitions.
2025-04-19 18:11:34 +02:00
PJBot
1daac6d86b Automatic changelog update 2025-04-19 15:32:44 +00:00
Minemoder5000
5097ae5e6f Rebalance and reduce playtime requirements for most roles. (#36666) 2025-04-19 11:31:38 -04:00
PJBot
d866d61b56 Automatic changelog update 2025-04-19 14:42:41 +00:00
Ps3Moira
d984259db6 Removed Interior Shuttle Walls (#34261)
* Removed Interior Shuttle Walls

* Update migration.yml

* Update walls.yml

* Update girder.yml

* Fix Migration

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
2025-04-19 10:41:35 -04:00
pathetic meowmeow
8e24308714 Make two inventories not dance around as much when opening/closing them (#35041)
* Make two inventories not dance around as much when opening/closing them

* Use .Any
2025-04-19 10:40:49 -04:00
PJBot
c813891342 Automatic changelog update 2025-04-19 14:38:51 +00:00
metalgearsloth
39aefa0441 Fix detailed examine mispredicts (#33814)
So:
- Shared examine like armour, adds the button incorrectly and mispredicts it.
- Server-only like damage, doesn't add it (correct) and no mispredict.

We'll just prune any verbs if the server sends them in unless the verb is client-only and it should fix it unless there's client-side code not flagging it as clientexclusive.
2025-04-19 10:37:45 -04:00
PJBot
63eb99d57c Automatic changelog update 2025-04-19 14:30:43 +00:00
claustro305
2201eae899 Removed collision from wall mounted lights and security cameras (#35908)
* Removed collision from wall mounted lights and security cameras

* Updated because I'm dumb and didn't realise the collision groups were case sensitive
2025-04-19 16:29:36 +02:00
Winkarst
8982956a6b Cleanup: Superbonk cleanup (#35104)
* SuperBonk cleanup

* Update

* Comment changes

* Update

* Changes

* EnsureComp
2025-04-19 10:26:56 -04:00
PJBot
3075d55506 Automatic changelog update 2025-04-19 14:26:15 +00:00
GrownSamoyedDog
36999e5a06 Gave Bartender Pineapple Juice Cartons (#34769)
pineapple juice core pina colada maxxed
2025-04-19 10:25:09 -04:00
Ed
f787bb5ea4 Ice bow artifact (#1200)
* pvs

* fix tradepost

* ice bow artifact
2025-04-19 17:24:57 +03:00
creamybag
000a064140 Modular Palette (#1199) 2025-04-19 17:22:58 +03:00
PJBot
de7a34a18c Automatic changelog update 2025-04-19 14:13:01 +00:00
ArtisticRoomba
d9e9afed1e DetGadget hat fixes (#35658)
* """Refactors""" extraction code, fixes bug with labeled items

* second line of fixes

* Enhance label handling and add label retrieval method (its more preformant I swear)

* Cleanup

---------

Co-authored-by: beck-thompson <beck314159@hotmail.com>
2025-04-19 16:11:55 +02:00
Southbridge
aa5d344a57 ERT Janitor Weapon - Hydra (#34416)
* checkpointing work

* Got this fully working and all sprites done

* Exchanged my sprites with the ones made by AugustSun

* Changed the name to Hydra Launcher, and adjusted it to function like a revolver instead.

* Modified the hydra to be a revolver

* fixed container issue

* Swapped in even newer sprites

* review

---------

Co-authored-by: Milon <milonpl.git@proton.me>
2025-04-19 16:03:05 +02:00
Milon
6138fcdce9 Predict and cleanup RingerComponent (#35907)
* clean up most stuff

* move to shared

* works

* shuffle shit around

* oops! access

* fixes

* todo: everything

* SUFFERING

* curse you
2025-04-19 15:55:05 +02:00
PJBot
e214eb7a28 Automatic changelog update 2025-04-19 13:44:12 +00:00
Benjamin Velliquette
bd79d09939 Fix Long Produce Time After De-aging A Plant with cryoxadone. (#34668)
Update LastProduce when deaging plant from cryoxadone
2025-04-19 09:43:05 -04:00
Ed
b8ee816b4b Update CP14EdSystem.cs 2025-04-19 16:40:37 +03:00
Zokkie
35fc2013e3 Flippo Engraved Lighter is now in detective locker (#35165)
Makes the Flipp Engraved Lighter from the detective less obscure to find.
2025-04-19 15:28:30 +02:00
PJBot
f815825d1e Automatic changelog update 2025-04-19 13:11:49 +00:00
Boaz1111
b435d0f2e6 Reduces handheld security radios range for picking people's messages up. (#34878)
weh
2025-04-19 15:10:43 +02:00
Ed
026a17be57 Raids (#1198)
* simpliest undead raid

* map fix

* Comoss big update

* fix raids

* Update demiplane_rifts.yml

* fix

* Update mobs.yml
2025-04-19 15:47:06 +03:00
Kyle Tyo
e9b49b00ef Fix a minor warning in BatterySystem.cs (#36726)
change timing from protected to private, rename, and adjust references.
2025-04-19 14:37:10 +02:00
Leon Friedrich
49da5c540b Try fix RestartTest (#36725) 2025-04-19 22:17:03 +10:00
ScarKy0
5c1cee58ba init 2025-04-19 13:30:30 +02:00
ScarKy0
92106c52b6 init 2025-04-19 13:21:07 +02:00
ScarKy0
25a73ce3eb init 2025-04-19 13:13:05 +02:00
ScarKy0
9bdba76f67 init 2025-04-19 12:48:50 +02:00
ScarKy0
d48948aae9 init 2025-04-19 12:17:09 +02:00
ScarKy0
61c3f944f0 init 2025-04-19 12:07:50 +02:00
Ed
c1e5ee6f82 Update Dev.toml 2025-04-19 11:57:14 +03:00
Ed
7802a61b4c fix lang problem 2025-04-19 11:56:38 +03:00
Deerstop
b09c3f1e56 added silo, moved service request console 2025-04-19 18:54:29 +10:00
jbox1
919425911e Ore silos and department eco 2025-04-19 18:51:53 +10:00
PJBot
c45f291425 Automatic changelog update 2025-04-19 08:50:09 +00:00
metalgearsloth
bffd951867 Fix charges (#36714)
We have the absolute value so use that.
2025-04-19 18:49:02 +10:00
Ed
a87364541e Update Dev.toml 2025-04-19 11:47:32 +03:00
metalgearsloth
9bdd7307fd Predicted multihanded component (#36712)
* Predicted multihanded component

* Refview

* reh
2025-04-19 18:05:20 +10:00
metalgearsloth
64cd180556 Update submodule to 254.1.0 (#36711)
* Update submodule to 254.1.0

* API update
2025-04-19 17:29:32 +10:00
PJBot
694190f2a4 Automatic changelog update 2025-04-19 06:52:19 +00:00
metalgearsloth
4682149e74 Predict virtual hands and co (#36617)
These are the easy ones anything else gets slightly spicier.
2025-04-19 16:51:12 +10:00
metalgearsloth
63dfd21b14 Predict dumping (#32394)
* Predict dumping

- This got soaped really fucking hard.
- Dumping is predicted, this required disposals to be predicte.d
- Disposals required mailing (because it's tightly coupled), and a smidge of other content systems.
- I also had to fix a compnetworkgenerator issue at the same time so it wouldn't mispredict.

* Fix a bunch of stuff

* nasty merge

* Some reviews

* Some more reviews while I stash

* Fix merge

* Fix merge

* Half of review

* Review

* re(h)f

* lizards

* feexes

* feex
2025-04-19 16:20:40 +10:00
PJBot
f1f431e720 Automatic changelog update 2025-04-19 05:15:57 +00:00
Ko4ergaPunk
34cc49c175 Add new color turtlenecks in WinterDrobe (#32920) 2025-04-18 22:14:50 -07:00
PJBot
5fad0e0745 Automatic changelog update 2025-04-19 05:13:17 +00:00
SharkSnake98
9599f582f3 New Drinks (#36287)
Co-authored-by: RedBookcase <crazykid1590@gmail.com>
Co-authored-by: SharkSnake98 <sharksnake87@gmail.com>
2025-04-18 22:12:10 -07:00
metalgearsloth
be8fa724a7 Fix import (#36706) 2025-04-19 12:31:21 +10:00
SlamBamActionman
b6e101b96f Prevent certain foldable items from being unfolded on structures (#36687)
initial commit
2025-04-19 12:17:13 +10:00
PJBot
4d25907ba4 Automatic changelog update 2025-04-19 01:49:48 +00:00
metalgearsloth
72372dc77d Predict gas volume pumps (#33835)
* Predict gas volume pumps

* Also this one

* Review
2025-04-19 11:48:41 +10:00
PJBot
84fe396480 Automatic changelog update 2025-04-19 01:39:28 +00:00
metalgearsloth
8ab0e59db6 Refactor disarms (#36546)
* Refactor disarms

- Move client stuff to shared
- Cleanup a bunch of stuff
- Ref events
- Fix the swing sound mispredict (I noticed it on target dummies).

* Revert this change

* minor review

* Rebiew

---------

Co-authored-by: Milon <milonpl.git@proton.me>
2025-04-19 11:38:22 +10:00
PJBot
1dbc40f051 Automatic changelog update 2025-04-19 01:25:04 +00:00
Coolsurf6
369eef146f Fixed Attachbodypart Console Command (#34577)
* remade command for attachbodypart

* fixed up WriteError
2025-04-19 11:23:58 +10:00
PJBot
b034a1053f Automatic changelog update 2025-04-19 01:03:47 +00:00
SlamBamActionman
a44baec417 Fix forensics not being applied to held items (#30609)
* Initial commit

* Fix merge changes

* sloth comment: bitmask

* fix MIA parameter

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: EmoGarbage404 <retron404@gmail.com>
2025-04-18 21:02:41 -04:00
PJBot
00c4833c9a Automatic changelog update 2025-04-19 00:58:23 +00:00
Booblesnoot42
9317bbf653 Fix Airlock Crushing Animation (#34523)
fixed issue
2025-04-18 20:57:17 -04:00
PJBot
46b13897ab Automatic changelog update 2025-04-19 00:39:40 +00:00
IProduceWidgets
d69738a9f4 Fix two zombie bugs (#34472)
* fix two zombie bugs

* add comment
2025-04-18 20:38:33 -04:00
Preston Smith
cfda91e0f0 Correct mobster suffix (#33240)
Correct mob grammar
2025-04-18 20:33:14 -04:00
PJBot
f23851a30d Automatic changelog update 2025-04-19 00:27:30 +00:00
August Sun
d0c2a64436 Resprited the Chief Engineer's mantle/manica (#36697)
* Swapped sprites, updated JSON and name/description of item

* Change RSI meta.json spacing

---------

Co-authored-by: august-sun <45527070+august.sun@users.noreply.github.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-04-19 02:26:23 +02:00
PJBot
7b78feb308 Automatic changelog update 2025-04-19 00:25:36 +00:00
ScarKy0
d569c3b73c Make artifact module actually useful. (#33338)
Init
2025-04-18 20:25:29 -04:00
Alpaccalypse
07c1a6fd45 Change 'Irish slammer' to 'Grenade Penguin' (#34181)
* Changed irish slammer to grenade penguin.

* changed DrinkGlass suffix to grenade penguin

* Fixed typo

* Added penguin squawk to reaction

* Added comment as ID differs from localisation

* Minor, post merge fix
2025-04-18 20:24:26 -04:00
Aaron
56feab4e0b Add PreventFTLComponent and changed FTL check (#34077)
* Add PreventFTLComponent and changed FTL check

* Remove component body.

---------

Co-authored-by: Milon <milonpl.git@proton.me>
2025-04-18 20:14:44 -04:00
Jajsha
a6741e42c1 Un-Hardcode water evaporation & mopping behavior (#33399)
* Un-harcode slipperiness

* Make it actually work

* Prettyfy

* Cleanup GetEvaporatingReagents

* Fix mopping with space lube + wrong solutions in absorbance

* Remove LINQ and rename parameters

* Change evaporation speed to fixedpoint2

* Add evaporating speed functionality

* Remove unused imports

* Swap around reagent evaporation speed and puddle evaporation speed.

---------

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
2025-04-18 20:11:28 -04:00
PJBot
181bb27797 Automatic changelog update 2025-04-19 00:05:50 +00:00
OneZerooo0
37f16c3abd Modular Grenades now fit in security belts/carriers (#34169)
* Added PayloadCase component to secbelt whitelist

* Replaced PayloadCase type whitelist with a tag

* fucking hell

* Add HandGrenade tag to all grenades
Grenades are so unbelievably cooked right now. I've counted about 4 separate baseitems that they inherit from whenever they feel like it. Why? They're all the same.

---------

Co-authored-by: Milon <milonpl.git@proton.me>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-04-18 17:04:44 -07:00
PJBot
297a9a8762 Automatic changelog update 2025-04-18 23:44:24 +00:00
Nemanja
f8ff7aee92 Local Material Silo (#36492)
* Material Silo

* fix board, fix copyright

* a bit of review.... for the vibe....

* a tiny bit of review

* 4 spaced

* sloths no good very tiny nitpick

* fix ui flickers

* oops

* slightly lower range

* Sloth Review

---------

Co-authored-by: ScarKy0 <scarky0@onet.eu>
2025-04-19 09:43:17 +10:00
PJBot
667bda28df Automatic changelog update 2025-04-18 23:36:05 +00:00
ScarKy0
3957bbb97d Updated air scrubber and air vent sprites. (#34223)
* vents

* slower animation

* formatting fix

* scrubber
2025-04-18 19:34:59 -04:00
PJBot
4547da9660 Automatic changelog update 2025-04-18 23:27:51 +00:00
Skye
5a1dd9de42 Fix Speedloader Partial Reload (#32396) 2025-04-18 19:26:44 -04:00
PJBot
280a21733e Automatic changelog update 2025-04-18 23:20:11 +00:00
YoungThug
44b8b3e5ce New Speech Indicators for species that don't have any. (#36126)
* DionaAndGingerbread

* DionaSpeechTweaks

* FixGingerbread

* IfYourReadingThisYouMatter
2025-04-19 09:19:04 +10:00
PJBot
646baebea9 Automatic changelog update 2025-04-18 22:53:16 +00:00
lzk
b96fa3dcfa Fix space wind layer removal (#33888)
* Fix space wind layer removal

* apply review

* Update MovedByPressureComponent.cs

* remove this
2025-04-19 00:52:09 +02:00
PJBot
fbf7dd9fba Automatic changelog update 2025-04-18 22:46:29 +00:00
Ilya246
615584e7e4 extend hotbar hotkeys to 20 keys via shift (#33872)
shift+ keys in hotbar
2025-04-18 18:45:20 -04:00
Milon
3fc9bcbbbe remove Session from MindComponent (#34753)
* yummy

* fix tests
2025-04-19 00:23:01 +02:00
Nemanja
ba6d8f5376 Cargo Funds Exception (#36694) 2025-04-19 08:21:01 +10:00
deltanedas
14d9a35116 ciggie sounds (#32426)
* add sounds

* change _active to BurningComponent

* play sound when lighting and snuffing a cigar

* network it

* mono

* attribution

* doc

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2025-04-19 00:01:52 +02:00
Minemoder5000
dd35318a87 Fix slime hand gradient not showing on the opposite side of the body (#36543)
fix gradient color not showing on other side of body
2025-04-18 17:41:30 -04:00
Tayrtahn
69f8fe393f Remove redundant admin flag check in AdminVerbSystem.Tools (#36122)
* Remove redundant admin flag check

* Formatting
2025-04-18 22:06:27 +02:00
PJBot
9a05bf138d Automatic changelog update 2025-04-18 19:58:03 +00:00
Nox
5285eac443 Agent -> Corpsman (#34627) 2025-04-18 12:56:57 -07:00
PJBot
862a704ab0 Automatic changelog update 2025-04-18 19:53:18 +00:00
āda
dbf1363195 Increase base amount of egg in egg-plant (#36693) 2025-04-18 12:52:12 -07:00
Ed
b437be5cf8 Random bullfix go! (#1197)
* some fixes for AI pathfinding

* cobblestone tile

* stonebrick update

* fix #1194

* fix #1193

* Update stonebricks_square_carved.png
2025-04-18 22:47:17 +03:00
PJBot
4c7ad68866 Automatic changelog update 2025-04-18 17:39:03 +00:00
IProduceWidgets
f833c5675a Update filing cabinet inventories (#36185)
* Entity tables, more folders, 1984 whitelist.

* add easter eggs

* oops typo

* undent

* adjust ranges

* absolute instead of relative prob

* woops forgot to 1984 a selector
2025-04-18 19:37:56 +02:00
PJBot
e796b83341 Automatic changelog update 2025-04-18 17:13:44 +00:00
Centronias
98f9149883 Add inhand sprites for the drink shaker (#36382)
* Add inhand sprites for the drink shaker

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

oop that's not actually their discord name

* Co-Authored-By: Failed <158702813+failed5@users.noreply.github.com>
2025-04-18 10:12:37 -07:00
YoungThug
370a3a7fa3 Grammar Consistency In All Instances of 'S (#36422)
* Bacchusdlajsnwajdoks

* FSP CHANGE
2025-04-18 10:05:11 -07:00
PJBot
5d3ea9d1b5 Automatic changelog update 2025-04-18 16:43:57 +00:00
K-Dynamic
4585a17744 Remove egg-plant from MegaSeed Servitor (#36579)
remove eggy
2025-04-18 09:42:50 -07:00
Tayrtahn
c155740ac5 Cleanup warnings in SimpleRadialMenu (#36690) 2025-04-18 18:28:24 +02:00
PJBot
45fdf5cf4d Automatic changelog update 2025-04-18 16:11:19 +00:00
IProduceWidgets
73f3016758 sec holobarrier charge increase (#34473)
more charges
2025-04-18 18:10:12 +02:00
Viator-MV
a57f613d91 all in 1 (#1192) 2025-04-18 18:00:21 +03:00
J
a89af44f56 Weapons warnings cleanup (#36164)
* Weapons warnings cleanup

* Changes to audio on Reflection stuff
2025-04-19 00:28:40 +10:00
PJBot
d068075c81 Automatic changelog update 2025-04-18 14:13:32 +00:00
Minemoder5000
bfba10b96e Disable point light on rainbow weed (#36479)
* botanists can no longer destroy the lighting engine

* unshaded

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-04-19 00:12:26 +10:00
ScarKy0
3f9895cb38 Slightly tweak base funding allocations. (#36688)
init
2025-04-18 23:37:58 +10:00
metalgearsloth
e838667d87 Predict blocking examine + fix blocking breaking persistence (#36619)
* Predict blocking examine

No idea why this was blocked.

* Fix blocking

* remove nullcheck that made no sense

* predict popups

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-04-18 14:57:23 +02:00
PJBot
f2232e2ffb Automatic changelog update 2025-04-18 12:27:55 +00:00
slarticodefast
a9720f2149 Fix powered lights electrocuting you despite having insulated gloves V2 (#36686)
fix light insulation
2025-04-18 22:26:47 +10:00
PJBot
f017b7dbaf Automatic changelog update 2025-04-18 12:25:45 +00:00
Errant
80ec149955 setgamepreset command rework (take two) (#30812)
* gameticker.gamepreset namespace

* setgamepreset now has a finite duration

* comments, cleanup
2025-04-18 22:24:39 +10:00
PJBot
c30728a1f1 Automatic changelog update 2025-04-18 12:10:56 +00:00
Tayrtahn
14cdb0adf7 Improve messages for pointing at items in inventories (#36252)
* Show different messages for pointing at items in someone's inventory

* Improve search for inventory (requires engine PR)

* Add comments explaining each GetString

* Better loc ids

* Add comment about using innermost inventory

* Swap conditions for named variables

* Remove POSS-NOUN uses

* Add missing THE
2025-04-18 08:09:49 -04:00
Gagarinten-Noverdo
e1326c00b1 sharpness reduce on throw hit (#1164)
* sharpness reduce on throw hit

* kill me please, submod update

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2025-04-18 13:51:15 +03:00
metalgearsloth
259ac00c29 Update submodule to 254.0.0 (#36681) 2025-04-18 19:30:50 +10:00
Leon Friedrich
e4f3d19094 Make MappingDataNode use string keys (#36111)
* MappingDataNode string keys

* a

* poke
2025-04-18 19:28:22 +10:00
metalgearsloth
644cce2b9f Revert "Fix auto-updates of RobustToolbox on Windows" (#36671)
Revert "Fix auto-updates of RobustToolbox on Windows (#33323)"

This reverts commit b1c1cb96b5.
2025-04-18 10:45:56 +02:00
osjarw
cca5a88be4 Make HTN constantly replanning optional (#33023)
Make constant replanning optional
And apply it to our most expensive NPCs
2025-04-18 18:16:26 +10:00
PJBot
90359e407c Automatic changelog update 2025-04-18 07:45:35 +00:00
IProduceWidgets
42cb3ccb5b StationEvent Toolshed Command fixes. (#32200)
* toolshed makes me want to take a long walk off a short pier.

* fuck it everything is in seconds.

* catch rounding error

* reviews

* lsprobtheoretical to mins

* Git please.

* Git Please.

* GIT PLEASE.

* unchange file

* take2

* empty line?

* new new lines?

* idk 1000 commits I guess

* spacius maximus
2025-04-18 17:44:29 +10:00
PJBot
8d1cd9a3aa Automatic changelog update 2025-04-18 07:44:06 +00:00
metalgearsloth
812e9c24b2 Revert this cl (#36675)
I forgor the procedure but if doesn't work i'm gonna be mad.
2025-04-18 17:43:12 +10:00
Ciarán Walsh
ab1bcfe391 Implement client-side theming for OutputPanel scroll-down button. (#35913)
* Implement client-side theming for OutputPanel scroll-down button.

* Use OutputPanel constant for button class name

* Remove unused string

* Enable scroll button for ChatBox

* Update RobustToolbox

* Update to merged RT version
2025-04-18 17:42:59 +10:00
PJBot
f7d925d972 Automatic changelog update 2025-04-18 04:51:22 +00:00
Fildrance
7d81d63aa0 fix: return deconstruct to the top level option of radial menu (#36486)
feat: now RCD can have recepies that are placed on the top level of radial menu - 'Main' category name is reserved for this

Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
2025-04-17 23:50:15 -05:00
Tayrtahn
e00e2ba407 Add PopupPredictedCursor and fix doubled popups on vending machines (#36655)
* Add PopupCursorPredicted method

* Fix doubled popups on vending machine restock failures

* Rename to match existing pattern
2025-04-18 14:01:46 +10:00
Tayrtahn
725522c183 Partial cleanup of ExplosionSystem (#36098)
* Cleanup warnings in ExplosionSystem.TileFill

* Formatting in ExplosionSystem.TileFill

* Cleanup warning in ExplosionSystem

* Formatting for ExplosionSystem

* Switch from MapChangedEvent to MapRemovedEvent

* Fix 1 warning in ExplosionSystem.Processing

* Fix 1 warning in ExplosionSystem.Visuals

* Fix 1 warning in ExplosionSystem.GridMap

* Fix 2 warnings in ExplosionSystem.Airtight

* Clear _grids
2025-04-18 13:55:09 +10:00
PJBot
0da27d3371 Automatic changelog update 2025-04-18 03:53:11 +00:00
āda
44435a42ef Reorganize security lathe recipes, add category filters (#35594)
* split

* touchup

* touchup

* double check

* minor rename
2025-04-18 13:52:04 +10:00
Andrew Montagne
f404ea039d Adds Test & Integration Test commands to the Visual Studio Code configuration (#32705)
Adds the test commands to the vscode configuration.
2025-04-18 13:49:36 +10:00
Spessmann
3676bf3617 Removed the periodic table from the poster spawner (#36402)
removed the periodic table from the legit/any poster spawner
2025-04-17 23:47:43 -04:00
J
fa24960445 Storage warnings cleanup (#36196)
* Storage warnings cleanup

* Setting audio params on component
2025-04-18 13:47:17 +10:00
metalgearsloth
7d2ef2bd47 Action charges refactor (#33993)
* Action charges refactor

- Fixes the slight godmoding of baseactioncomponent.
- Gets back 1ms of server time.

* chorg

* Remove FrameUpdate

* Fixes

* More fixes

* Combine

* Fixes

* Updates

* weh

* Last fixes

* weh

* Fix naughty

* YAML fixes

* This one too

* Merge conflicts

* This thing

* Review

* Fix this as well

* Icon fix

* weh

* Review

* Review

* seamless

* Review
2025-04-18 13:45:48 +10:00
PJBot
424f153142 Automatic changelog update 2025-04-18 03:42:33 +00:00
slarticodefast
e1a1150257 Allow fire extinguishers and sprays to push grids you are standing on (#31754)
* allow fire extinguishers and sprays to push grids

* add cvar and reduce pushback

* EmoGarbage Review - Resolve Conflicts

* Ensure grid parenting

---------

Co-authored-by: EmoGarbage404 <retron404@gmail.com>
2025-04-18 13:41:27 +10:00
PJBot
638187c253 Automatic changelog update 2025-04-18 02:39:40 +00:00
T-Stalker
4d457db9e9 Add Experiment plushie (#36663)
* Plushie

* Add to fills and fix license

* minor spelling issue
2025-04-18 12:38:34 +10:00
PJBot
2a3171a59d Automatic changelog update 2025-04-18 02:33:09 +00:00
lzk
8ff7767c85 Allow clown mime and borg customize names (#35170)
* Allow clown mime and borg customize name

* how

* uh

* 3

* good commit
2025-04-18 12:32:03 +10:00
Nemanja
c3e43a78f3 Fix another storedSprite bug (#36662) 2025-04-18 12:15:31 +10:00
AL-S?
a70f513c0f Update README.md (#33528)
* Update README.md

* New edits, new links

* I returned everything to a more standard appearance.

You can say now it's just updating links(=

* Last minor change

* Update README.md

Removed the "---"

---------

Co-authored-by: Vasilis <vasilis@pikachu.systems>
2025-04-18 12:14:23 +10:00
PJBot
5e96f16f43 Automatic changelog update 2025-04-18 02:12:37 +00:00
metalgearsloth
e1a21728e7 Storage fixes (#36533)
* Storage fixes

- Add size event.
- Fix reclaim not running always.

* Block the toggles

* Standardise and popup explaining

* Disable item toggles in bags

* Fix verb popping up even if we can't activate

* Conflicts

* Validate

* Stop drags if source closes

* Really fixes

* Real fix

* Revert this
2025-04-18 12:11:31 +10:00
Ethan_k
5e10bd91e3 Remove clone of dragon faction (#36667)
PLEASE WORK
2025-04-18 12:08:39 +10:00
Nemanja
57bbf76ec6 Fix inability to engage with economic Cargonia (#36668)
Fix inability to engage with cargo supremacy
2025-04-18 12:06:29 +10:00
PJBot
1af3c599c5 Automatic changelog update 2025-04-18 02:00:48 +00:00
mjarduk
fb912b3d5c Added the ability to refuel torches (and other expendable lights) (#36209)
* Added expendable light source refueling. Also fixed it to use the name modifier system so attributes like glue show up.

* Removed a duplicate line of code.

* Replaced TryGetComponent with TryComp, changed a variable name to be a little more clear.

* Removed the removed field "spentDesc" in flares and glowsticks

* Fixed to comply with slarticodefast's review. Name modifiers don't work yet (fixing that tmr)

* Fixed the localization!!!! :DDDD
2025-04-17 21:59:41 -04:00
gus
2c60d6b27f RCD Refactor (#34781)
* fixed prediction (hopefully), removed caching of prototype, sealed the class, removed any and count

* erroneus using statement

* removed unused timing, removed obsolete method of getting gridUid

* nuked mapgriddata

* code cleanup

* cleanup

* this has to be a string without me rewriting more code than i want to in this moment

* kill

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2025-04-17 21:34:38 -04:00
PJBot
944aa57907 Automatic changelog update 2025-04-18 01:24:08 +00:00
Killerqu00
e0308d0913 Contraband examine changes (again) (#36032)
* g

* no one caught it in review, damn
2025-04-18 11:23:02 +10:00
PJBot
4f24b25cf9 Automatic changelog update 2025-04-18 01:16:33 +00:00
archee1
40a999d6db Allowing Cats to walk (#36542)
* Adds the ability for Syndicats to walk

* Moved walking speed modifier to the base MobCat from MobCatSyndy

* Fixes Cak's flipped sprinting/walking speeds
2025-04-18 11:15:25 +10:00
PJBot
8f729b01ef Automatic changelog update 2025-04-17 21:06:23 +00:00
mubururu_
8f68d7c7a2 random names for space dragons (#36656)
* raoooaoaouurrr

* forgot to save before initial

* title changes

* new format who dis

* forgot i made 30
2025-04-17 23:05:14 +02:00
Ed
39ca6175e6 Simple sponsorship system (#1189)
* simple sponsorship system

* priority Join

* OOC Sponsor Color

* Update CP14SponsorRolePrototype.cs

* loadout sponsorship

* bruh

* refactor to interfaces

* Update CP14ClientSponsorManager.cs

* finish loadout option

* role pass
2025-04-17 19:55:25 +03:00
PJBot
fe140a1e6a Automatic changelog update 2025-04-17 14:06:34 +00:00
Alexandre Courtin
6c1b350c12 Banjo can now be worn on your back. (#34057)
* Banjo can now be worn on your back

* Added banjo backpack sprite

* Reduced banjo backpack sprite size

* Added my username to copyright

* 2nd try banjo backpack sprite

* 3rd banjo backpack sprite

* EmoGarbage Review - Adjust Strap Color

---------

Co-authored-by: Hoodie <hoodie>
Co-authored-by: EmoGarbage404 <retron404@gmail.com>
2025-04-17 16:05:27 +02:00
PJBot
d1abf36111 Automatic changelog update 2025-04-17 13:44:51 +00:00
Jacktastic09
e16365d1bf Add Solid Headband (#36650)
* Added The Solid Headband, avaliable from hacked clothesmates

* Added The Solid Headband, avaliable from hacked clothesmates
2025-04-17 09:43:44 -04:00
Nim
1a0136c21f a variety of fixes (#1191) 2025-04-17 16:12:04 +03:00
osjarw
700cb02d5e Fix HTN task ordering bug (#32909)
* first, bad ordering

* fix

* Revert "first, bad ordering", recording artifacts

This reverts commit 22307675d79b417371775a0558c39781f59423d6.
2025-04-17 22:42:31 +10:00
PJBot
7be3811413 Automatic changelog update 2025-04-17 12:34:38 +00:00
Centronias
f72604bf92 Make tank harness smaller in inventories and craftable at lathes (#35590)
* Make tank harness smaller in inventories and craftable at lathes

* pr comment
2025-04-17 22:33:31 +10:00
eoineoineoin
05ae563e29 Fix exception when telepad system plays beam animations (#33010)
Fix exception when order sent to telepad

Co-authored-by: Milon <milonpl.git@proton.me>
2025-04-17 21:52:38 +10:00
Nikolai Korolev
b1c1cb96b5 Fix auto-updates of RobustToolbox on Windows (#33323)
* Fix auto-updates of RobustToolbox on Windows

* Also fix hooks

* Upgrade version of hooks in git_helper script
2025-04-17 21:45:35 +10:00
Tayrtahn
db40bce58f SpawnAndDeleteEntityCountTest improvements (#34069)
* Minor improvements to SpawnAndDeleteEntityCountTest Assert messages

* * Now lists added/removed entities on test failure.
* Wrapped entity loop in MultipleAsync so all failing ents are reported.
* Removed Multiple wrappers on client/server pairs, as they made result formatting ugly.

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2025-04-17 21:43:28 +10:00
metalgearsloth
9b7af5dfcf Fix hunger + thirst mispredicts (#36549)
* Fix hunger + thirst mispredicts

* Review
2025-04-17 21:43:16 +10:00
slarticodefast
a85370cc81 minor MindShieldSystem cleanup (#35905)
clean up MindShieldSystem
2025-04-17 21:38:53 +10:00
Velken
d8281c7d2d New component: change alert level on trigger (#36581)
* adds component that lets change alert level on trigger

* oops, put stuff on wrong folder

* missclick, forgor a file

* slarti finds ways to improve code

* Apply suggestions from code review

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-04-17 21:35:27 +10:00
PJBot
a46ab100ff Automatic changelog update 2025-04-17 11:25:54 +00:00
Errant
9b1a7dea1d Geiger counters can now be heard by everyone nearby (#30463)
* haha geiger counter go brrrrrrr

* move hardcoded values to datafields

* syntax cleanup
2025-04-17 21:24:47 +10:00
Leon Friedrich
f46bb301fb Fix lathe arbitrage test (#34449)
* Fix lathe arbitrage test

* Add refinables

* nullable

* nullable2

* Fix merge

* Ignore failures
2025-04-17 21:07:51 +10:00
lzk
9b3f37f5af Improve solar panels descriptions a little (#34925)
* improve solar panels descriptions a little

* Apply suggestions from code review

Co-authored-by: Whatstone <166147148+whatston3@users.noreply.github.com>

---------

Co-authored-by: Whatstone <166147148+whatston3@users.noreply.github.com>
2025-04-17 20:42:39 +10:00
Ben Bryant
73e3e90198 Skip unnecessary MaterialStorageControl updates (#32662)
Remove unnecessary dictionary copying
2025-04-17 20:41:15 +10:00
lzk
0ad56dfddd Fix simple hostile (#32898) 2025-04-17 20:39:45 +10:00
PJBot
34ac758bf9 Automatic changelog update 2025-04-17 10:39:07 +00:00
Callmore
c979370d57 Make borgs require prying to open instead of screwing (#32796)
make borgs require prying to open instead of screwing...
2025-04-17 20:38:00 +10:00
PJBot
ab477606ab Automatic changelog update 2025-04-17 10:37:30 +00:00
beck-thompson
28b4fd9763 Fix trash bag visuals (#32386)
* First commit

* Dont even look what I did at first I'm silly

* more negative diff!!
2025-04-17 20:36:23 +10:00
Morb
4692d3ae48 Remove test maps from MapRender (#32649)
Remove test map prototypes from render list
2025-04-17 20:34:41 +10:00
eoineoineoin
2fc8cdff00 Fix UI issues with Camera Monitor (#31809)
* Fix jumpy camera monitor UI

Basically copy-pasted same solution from #30292

* Remove duplicate code; use shared ItemList method to sync items
2025-04-17 20:15:35 +10:00
PJBot
6c05477ca3 Automatic changelog update 2025-04-17 10:13:21 +00:00
Leon Friedrich
779fdefa7e Fix explosion visuals (#36644) 2025-04-17 20:12:13 +10:00
Tayrtahn
64327326fd Make AllComponentsOneToOneDeleteTest skip components with Required fields (#30582) 2025-04-17 20:10:23 +10:00
PJBot
26db5cbe3a Automatic changelog update 2025-04-17 10:09:17 +00:00
Kyle Tyo
7d64599d2d Action buttons are now usable in the action window. (#35642)
* Update ActionUIController.cs

* renamed some inconsistent arguments.

* removed a redundant check.

* revert some variable renames to reduce the diff.
2025-04-17 20:08:09 +10:00
TytosB
68a1e5156a loop minor pipe fix (#36646)
pipe
2025-04-16 22:48:48 -07:00
PJBot
b1a3c62b25 Automatic changelog update 2025-04-17 03:15:23 +00:00
Nemanja
cc7df12996 Fix artifact point extraction going into negatives (#36642) 2025-04-16 23:14:17 -04:00
Callmore
eed374ffee Fix assert when trying to get TEG circuit component (#33071)
* Fix crash that was happening while testing nukeops

* Update Content.Server/Power/Generation/Teg/TegSystem.cs

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

* Fix incorrect review

---------

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
Co-authored-by: Thomas <87614336+Aeshus@users.noreply.github.com>
Co-authored-by: EmoGarbage404 <retron404@gmail.com>
2025-04-16 21:36:20 -04:00
beck-thompson
b41ee53dbd Cleanup various admin buttons (#36312)
cleanup
2025-04-17 03:02:41 +02:00
Ed
5a69877fe7 storedOffset bugfix (#33606)
* Update ItemGridPiece.cs

* Update SharedItemSystem.cs

* Update ItemGridPiece.cs

* EmoGarbage Review

---------

Co-authored-by: EmoGarbage404 <retron404@gmail.com>
2025-04-16 20:42:22 -04:00
PJBot
54e7b762e3 Automatic changelog update 2025-04-16 23:52:07 +00:00
ScarKy0
bfe739e0af Hydroponic trays can now be bought (#36630) 2025-04-16 16:51:00 -07:00
PJBot
8f45639661 Automatic changelog update 2025-04-16 23:37:03 +00:00
SpaceRox1244
6ef5f8e2f1 Adds handheld artifact container to cargo orders (#33327)
* Adds handheld artifact container

* Adds inhands and missing details

* Reduces use delay on unlocking and opening hand arti container

* Adds handheld arti container to cargo orders

* Fixes build error i think

* Removes extra whitespace

* Adds static price to handheld arti container
2025-04-16 19:35:57 -04:00
PJBot
4c43e8263e Automatic changelog update 2025-04-16 23:15:34 +00:00
Mercer Bray
31185fbff3 Added Junkeys (#34121)
* Added Junkeys

Monkeys can now tote the syndicate Juggernaut suit! With a nifty little sprite.

Update meta.json

Update Equipped-HELMET-monkey.png

Delete Equipped-HELMET-monkey.png

Create equipped-HELMET-monkey.png

* Update meta.json

Credit attributed.

* Update meta.json

Credited edit.
2025-04-16 19:14:28 -04:00
PJBot
a0672a2ad7 Automatic changelog update 2025-04-16 23:00:43 +00:00
Errant
a23b5fb502 add subtype to admin notice (#36640) 2025-04-17 00:59:36 +02:00
PJBot
d318cc2663 Automatic changelog update 2025-04-16 22:16:44 +00:00
SeamLesss
557e5b3a10 Standardize In-hand Sprites for Gloves (#35997)
* guh???

* Merge branch 'master' of https://github.com/SeamLesss/space-station-14

* glove inhands

* wrong side

* attribution hell

* slight tweaks

---------

Co-authored-by: ScarKy0 <scarky0@onet.eu>
2025-04-17 00:15:37 +02:00
mubururu_
2b845c70c7 space adder sprite cleanup (#36584) 2025-04-16 15:14:48 -07:00
Tayrtahn
f4f9f7ea7b Cleanup warnings in ScreenshotHook (#36637) 2025-04-16 23:51:38 +02:00
Tayrtahn
aec8e7f8d9 Add self message variants for starting/finishing vending machine restocking (#36633)
* Add self message variants for starting/finishing restock

* Identity
2025-04-16 23:33:02 +02:00
PJBot
705cbe1541 Automatic changelog update 2025-04-16 21:15:24 +00:00
Ciarán Walsh
a16097fa33 Fix duplicate suit signals (#35918)
* Include the suit owner’s UID in suit sensor status updates.

* Show a single monitoring entry per crew member

* Rewrite sensor collection using a dictionary
2025-04-16 23:14:05 +02:00
github-actions[bot]
11f68df6f5 @Abiergo has signed the CLA in crystallpunk-14/crystall-punk-14#1196 2025-04-16 20:27:55 +00:00
PJBot
a28a12140e Automatic changelog update 2025-04-16 20:27:32 +00:00
Linkbro
0d70d6bfdf New Sprites for cables (#34955)
* initial textures

* Makes it have layers because Milon wanted it

* Makes it have layers because Milon wanted it

* in do NOT understand github

* tested, works

* Update Content.Client/Power/Visualizers/CableVisualizerComponent.cs

Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com>

* Update Content.Client/Power/Visualizers/CableVisualizerComponent.cs

Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com>

* remove extra newline

* EmoGarbage Review - Adjust MV cables to use orange stripes

---------

Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com>
Co-authored-by: Milon <milonpl.git@proton.me>
Co-authored-by: EmoGarbage404 <retron404@gmail.com>
2025-04-16 16:26:25 -04:00
Emisse
89526cfa01 Box but I finally fix the armory power (#36632) 2025-04-16 14:11:41 -06:00
Nox38
aec0edfd64 Miscounted by one 2025-04-16 12:50:27 -07:00
Nox38
4e60387bd1 Fixed armory power! 2025-04-16 12:49:01 -07:00
metalgearsloth
468d1424ec Vending machine popup prediction (#36622)
Title.
2025-04-16 15:39:14 -04:00
PJBot
0cbd7549b2 Automatic changelog update 2025-04-16 19:30:33 +00:00
pathetic meowmeow
5d38ae56de Add chatty lathes (#34959) 2025-04-16 21:29:25 +02:00
PJBot
be5bbd4dc3 Automatic changelog update 2025-04-16 19:21:45 +00:00
ScarKy0
56412d4b4e Basic Resources Crate (#36419)
* init

* 1660

* I never webedit

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

---------

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
2025-04-16 15:20:36 -04:00
Tayrtahn
a0d5d85019 Cleanup warnings in GunSystem (#36629)
* Cleanup warnings in GunSystem

* Remove _transform and use shared's TransformSystem instead

* Missed one
2025-04-16 21:01:54 +02:00
PJBot
c0aa3189c7 Automatic changelog update 2025-04-16 18:22:52 +00:00
UpAndLeaves
1c7e6592e9 Zombification resistance rework (#36485)
* initial commit

* Commit cuz beck said so 👍

* Implement balance changes, and revert some stuff

* fix yaml test real

* Added full stop, ensured display of infection chance, buffed biosuit speed

* Maint reviews, I commit

* Review completed, winter coats nerfed, CMO bio suit removed for future PR

* Final-final commit-REAL (2)-COPY
2025-04-16 14:21:45 -04:00
PJBot
c183231834 Automatic changelog update 2025-04-16 17:59:41 +00:00
ArtisticRoomba
a94f64d942 New Arsenal T3: Temperature Gun Revitalization (#35447)
* tempgun real

* fixin shit

* Warios Couch

* fix tests. i hope

* add to lathes

* tests begone

* RIP svalinn

* maintainer for the project btw

---------

Co-authored-by: Flareguy <woaj9999@outlook.com>
Co-authored-by: Flareguy <78941145+Flareguy@users.noreply.github.com>
2025-04-16 13:58:35 -04:00
PJBot
5dc012374e Automatic changelog update 2025-04-16 17:05:54 +00:00
Errant
fb388d2265 Role subtypes (#35359) 2025-04-16 19:04:48 +02:00
PJBot
7aa0c7562e Automatic changelog update 2025-04-16 14:13:37 +00:00
SlamBamActionman
cbf0f6fdd0 Remove fixture MachineLayer from pet carriers (#36627)
Initial commit
2025-04-16 16:12:30 +02:00
Nim
63993e221f skeleton ModifierSet (#1190) 2025-04-16 15:46:11 +03:00
PJBot
c9964a61b2 Automatic changelog update 2025-04-16 12:24:47 +00:00
metalgearsloth
a436032963 Fix tippy speech time (#36616) 2025-04-16 08:23:40 -04:00
PJBot
de33ed7f02 Automatic changelog update 2025-04-16 11:55:49 +00:00
SlamBamActionman
0da8984431 Fix certain foldable items not being possible to store in crates/lockers (#36625)
Remove OnStoreThisAttempt
2025-04-16 13:54:42 +02:00
J
b1c08582d5 Various system spring cleaning (#36206)
* Various systems warnings cleanup

* Last changes before submitting PR

* Add guard for transform component, fix failing test

* Small corrections

* Audio params to specifiers datafields

* Using audio params on components and configs
2025-04-16 13:08:22 +02:00
J
2a80540b70 Construction spring cleaning (#36163)
* Construction warnings cleanup

* More construction warnings cleanup

* Fix failing ITests - Remove unnecessary casts and dodgy anchroing implementation.

* Checking anchor status before setting

* Reusing shared system call

* inlining anchor setting
2025-04-16 13:02:41 +02:00
metalgearsloth
0a750fd6db Blindness networking (#36623)
* Blindness networking

Nothing actually sets this.

* Update Content.Shared/Traits/Assorted/PermanentBlindnessComponent.cs

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-04-16 12:27:25 +02:00
metalgearsloth
7e3f3a7ca3 Combat mode prediction thing (#36620)
Was written before predicted popups prolly
2025-04-16 12:27:10 +02:00
PJBot
14cc8f7a50 Automatic changelog update 2025-04-16 10:13:30 +00:00
RedBookcase
ca1e5e0942 Blueprint tweaks. (#36609)
* Blueprint tweaks.

* Inhand fixes.

---------

Co-authored-by: RedBookcase <Usualmoves@gmail.com>
2025-04-16 12:12:22 +02:00
Emisse
9cbcdabcfa Meta: Fix unintended wizard robes in dorm room (#36248) 2025-04-16 01:25:57 -06:00
Emisse
76fd2d0648 Elkridge - i forgot the funding allocation console (#36574) 2025-04-16 01:25:26 -06:00
PJBot
59327bdc61 Automatic changelog update 2025-04-16 02:27:26 +00:00
Samuka-C
cb7bb7623a Add bluespace flash effect (#36607) 2025-04-16 12:26:19 +10:00
PJBot
a77ecd0c36 Automatic changelog update 2025-04-16 01:34:46 +00:00
Flareguy
92b0f62500 New Experimental Science T3: Desynchronizer (#35752)
* desynchronizer real

* yaml stuff from slarti branch

* C# stuff

* oops

* review

* improve

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-04-16 11:33:39 +10:00
PJBot
68cfd1c798 Automatic changelog update 2025-04-15 22:51:05 +00:00
Nemanja
83c2fdb619 Restore Artifexium Effect (#36595)
* Restore Artifexium

* popup

* small tweaks
2025-04-16 00:49:58 +02:00
IProduceWidgets
a3b68f7181 Oasis update, request comps etc. (#36582) 2025-04-15 15:48:44 -07:00
PJBot
fe6f2235a2 Automatic changelog update 2025-04-15 22:39:33 +00:00
Nemanja
bbc0a09493 XenoArch Rebalancing (#36604)
* Miscellaneous XenoArch Rebalancing

* Miscellaneous XenoArch Rebalancing

* 1 durability anomaly node

* better version
2025-04-16 00:38:26 +02:00
PJBot
3ded6b537a Automatic changelog update 2025-04-15 22:26:05 +00:00
Nemanja
22468b4d40 Sentient Artifacts Can Self-Activate Again (#36598)
Sentient Artifacts
2025-04-16 08:24:58 +10:00
Fildrance
98d951008a fix: mode scanner footer now is not jumping up and down on scanning artifact (#36599)
fix: scanner footer now is not jumping up and down on scanning artifact

Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
2025-04-16 00:05:36 +02:00
PJBot
ecbbc41bcc Automatic changelog update 2025-04-15 21:40:26 +00:00
Minemoder5000
28e3660e37 Remove elite and juggernaut hardsuits from traitor uplink, add elite webvest (#36225) 2025-04-15 14:39:18 -07:00
Ed
b40cbfb5d7 Automatic Open tests (#1142)
* auto eng obt

* Update CP14RoundEndSystem.CBT.cs

* Update CP14EdSystem.cs

* cbt cbt!

* Update CP14RoundEndSystem.CBT.cs
2025-04-15 23:09:49 +03:00
Ed
c61a76fa69 Merge pull request #1004 from crystallpunk-14/ed-11-03-2025-discord-auth
Discord Auth expanse
2025-04-15 22:50:08 +03:00
Tayrtahn
e0870d0cd2 Cleanup: ExtensionCableSystem (#36052)
* Use Entity<T> and avoid Owner

* Use SharedMapSystem
2025-04-15 21:01:40 +02:00
PJBot
968fd94bce Automatic changelog update 2025-04-15 18:28:40 +00:00
Crazydave91920
10e37f7e50 Contraband Fix - ZooKeeper - Double barrel shotgun (#36583)
* Contraband Fix

* Update base_contraband.yml

---------

Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
2025-04-15 20:27:29 +02:00
ScarKy0
cfbc54d154 Box Dept Economy (#36587)
init
2025-04-15 10:06:32 -07:00
ScarKy0
c6c502d45d Fland Dept Economy (#36589)
init
2025-04-15 10:05:20 -07:00
ScarKy0
c0adeee9e2 Marathon Dept Economy (#36592)
init
2025-04-15 10:03:59 -07:00
Kirby
16617f0ec6 AgriChem kit "handing" typo fix (#36588)
Handing typo fix
2025-04-15 13:55:29 +02:00
ScarKy0
1d7ad04905 Omega Dept Economy (#36559)
init
2025-04-14 22:14:26 -07:00
ScarKy0
7f75645959 Bagel Dept Economy (#36556)
* init

* lockboxes
2025-04-14 22:13:41 -07:00
TheProNoob678
f611b6ea5e Inhand sprites for figurines (#36017)
* figurine sprite update

* Updated meta.json to credit inhand sprites

* Update meta.json to credit inhand sprites

* Updated meta.json because crlf check

* potentially fixing CRLF issues in meta.json + consistent spacing

* Fix CRLF, maybe?

* properly credited myself for all my amazing work in the community

* Reformat meta.json as per the newly merged "fix as you go" procedure.

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-04-14 21:15:49 -07:00
Spessmann
542ac16a14 Convex update (#36575)
conbex updoot
2025-04-14 21:15:18 -07:00
Nemanja
bf84924067 Fix shadow anomalies dropping stacks of artifact fragments (#36578) 2025-04-14 20:44:09 -07:00
PJBot
518e091e61 Automatic changelog update 2025-04-15 03:39:38 +00:00
Nemanja
07b7d839cb Fix skeletons not becoming skulls on gib (#36571) 2025-04-14 20:38:31 -07:00
TytosB
f73d721aa5 loop station dept request pcs (#36566)
* request pcs

* forgor lockboxes

* allocation pc
2025-04-14 18:47:02 -07:00
Deerstop
b0f2e4dc26 changed theatre doors back to theatre access, moved some wallmounts in engi locker 2025-04-15 11:05:28 +10:00
PJBot
3f35b0d296 Automatic changelog update 2025-04-15 00:36:00 +00:00
Fildrance
d38042a0c0 3mo xeno archeology (first phase) (#33370)
* DAG Adjacency Matrix & Tests

* Fix sandbox type errors

* First pass on procgen

* Procgen adjustments

* Networking

* Cruft and god and beauty and analysis console

* convert to data types that dont make me want to kill myself

* starting work on console UI

* drawing nodes n shit

* damn that ui FUCKS

* XAT

* Add a bunch of basic triggers

* Fix trigger gen

* Add node info into the analysis console UI

* Add node unlocking

* more trigger cuz thats pretty cool

* final triggers + incorporate gnostic faith

* some ui changes, mostly

* Fix orphaned procgen segments

* its not random dipshit

* yeah... this one will make pjb happy....

* we call it a day for the UI

* imagine... shared power code...

* extraction WIP but we gotta sidequest momentarily

* oh hey would you look at that its the actual functionality

* distrotrased

* Small departure for randomness.

* ok yep yep indeed that is an effect very cool.

* thanos snap oldcode

* fuck it we ball

* feat: node scanner now displays triggered nodes. Removed unused old artifact systems and related code (most of it). xml-doc and minor fixups.

* refactor: most of preparations, cleanup and groundwork. also segment-related tests

* feature: all basic effects returning

* feat: finished effects lits, created weight lists for struct and handheld artifacts, fixed throw trigger and music ApplyComponent artifact effects not working

* feat: prevent non-first-time-predicted calls in shared artifact effect systems

* fix: remove gun effect from artifact effects - as it interferes with 'activate artefact' action

* fix: foam reagent selection, neat ApplyComponents art effect scenarios, handheld art is RadiationReceiver again

* fix: moved spawn/ pry&throw effect systems back to server part of code - entity duplication bugs were not quite fun

* refactor: fix protos

* refactor: fix linter

* fix: fix old artifact component names in yml

* fix: no more throwing error on artifact spawn with empty XAEFoamComponent.Reagents

* fix: removed old component usage in maps

* fix: remove more deleted components from map

* fix: ContainerContainer is now part of initial artifact entity, it won't be affecting UninitializedSaveTest

* refactor: fix tests, add loc description to toolshed commands

* Changed node scanner to tell the whole story about current artifact state

* refactor: remove excessive get of EntityCoordinates in XAE systems, removed Value access in NodeScannerDisplay

* fix: turned off TriggerInteraction, removed XAESpawn usage and system, EmpSystem now can use EntityCoordinates,

* fix: moved SharedXenoArtifactSystem.CancelUnlockingOnGraphStructureChange into RebuildXenoArtifactMetaData to lessen code coupling

* fix: XenoArtifactEffectJunkSpawn moved invalid rolls declaration

* refactor: set default value for XenoArtifactComponent.EffectsTable for tests

* fix: now explosions XAE can be activated for effect

* refactor: added some usedelay so artifactuse would'nt be spammed

* refactor: artifact-related hints improvements

* fix: artifact no longer spawns fauna into itself

* refactor: xml-doc and minor refactoring

* refactor: xml-doc for Xeno Artifact systems, renaming of questionable XAT systems

* map for playtest, TODO REVERT THIS

* fix: magboots trigger art from a mile

* refactor: bind artifact animation to unlocking state

* feat: radiation dmg now have reference to source (and artifacts won't irradiate themselves)

* fix: random artifact node durability now is rolled for max and not current value

* refactor: gas effects are more rare, hand-held artifact effects are filtered properly now, rad dmg trigger now requires only 20 dmg for activation

* feat: animations and sound effects for artifact force-use and failed finish of unlocking phase

* use only 1 file with art use animation

* refactor: minor artifact dmg triggers tuning

* feat: now nodes that CAN be unlocked are displayed with specific color in console.

* feat: now unlocking stage time is dynamic and it depends on amount of triggers player activated correctly. Failed one stops incrementing

* feat: now non-active unlocked nodes return more points if durability was not wasted

* feat: now puddle/foam effects change description of node

* fix: fix test failure

* refactor: renamed phasing effect, fixed failing test for elkridge

* minor balance changes

* refactor: split rare materials into separate effects

* feat: unlocked nodes without successor wont listen to unlocks, node unlock is not activating node

* fix: removed OnIrradiatedEvent duplicate c-tor

* revert changes of reach for playtest

* revert last row empty line removal on reach.yml

* fix: fix PVS bug, born from attempt to relay event to art nodes that were not synced yet to the client

* fix: fix elkridge for tests (again)

* refactor: xml-doc, more stuff predicted, allocation optimization in XAE/XAT systems

* refactor: naming

* refactor: extract variable refactor for XAEApplyComponentsSystem.OnActivated insides

* fix: duplicate xeno artifact unlocking sound fixed

* feat: CreatePuddle xeno artifact effect now can have min and max borders for chamicals to be drafted, minor XAECreatePuddleSystem refactor

* feat: networking for shared XAE components + xml-doc leftovers

* refactor: more xml-doc, fix XAEApplyComponentsComponent.Components not being serializable but trying to be

* refactor: xml-docs and XAEThrowThingsAroundSystem now uses circle and not box for prying tiles

* refactor: xml-docs, minor refactors

* revert XenoArtifactCommand.ArtifactPrototype being PrototId

* refactor: simplify the way ExtractionResearchLabel works

---------

Co-authored-by: EmoGarbage404 <retron404@gmail.com>
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
2025-04-15 10:34:53 +10:00
Deerstop
264017a25e adds funding allocation console cos i forgot 2025-04-15 09:44:13 +10:00
PJBot
e9d13ea565 Automatic changelog update 2025-04-14 23:28:53 +00:00
Will-Oliver-Br
1a95418e94 Now you can see if there's a beaker in the chemmaster (#36472)
* fix

* fix

* Update Resources/Prototypes/Entities/Structures/Machines/chem_master.yml

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-04-14 16:27:46 -07:00
Nemanja
ed3e4c7d4e Fix station income instantly accumulating roundstart (#36572)
Fix station money accumulating roundstart
2025-04-15 01:00:34 +02:00
Token
ace3682de3 Item HeldPrefix and Clothing EquippedPrefix toggler (#33054)
* Item and clothes prefix toggler
Handles Item.HeldPrefix and ClothingComponent.EquippedPrefix respectively

* stunbaton and magboots sprites activations to Toggler yml

* review

---------

Co-authored-by: Milon <milonpl.git@proton.me>
2025-04-14 15:50:21 -07:00
Ed
61edcf69df Update Dev.toml 2025-04-15 01:45:15 +03:00
MilenVolf
fc12739df0 Fix the ability to kill clumsy mobs by force climbing (#33844)
* Make clumsy work only when dragged by owner entity & Check for reclaimer comp

* Revert "Make clumsy work only when dragged by owner entity & Check for reclaimer comp"

This reverts commit 7ff984bbc2e53f7070580a4cc4b1b43f8f0461d0.

* Remove check that passes if somebody forces us to climb
2025-04-15 00:04:56 +02:00
Ed
40daccc703 Upstream sync (#1187)
* Mob movement rewrite (#35931)

* Conveyor optimisations

- Optimise movement for moving stuff. Better flags + less resolves + slapped parallelrobustjob on it.
- Sleeping for entities getting conveyed into walls.

* Blocker version

* Finish

* Final

* Fix conveyor power mispredict

* Bagel save

* Revert "Bagel save"

This reverts commit 1b93fda81fb852d89b89b0beae0b80f8a61165f2.

* Conveyor resave

* Fix prediction

* Mob movement rewrite

* Bandaid

* Working version

* Tentatively working

* Friction to fix cornering

* More fixes

* Revert bagel

* Revert this

* a

* Reviewed

* Funky re-save

* Fix velocity

* Table fix

* Review

* a

* Automatic changelog update

* Unhardcode role type names and colors within localization text (#36096)

* localize role type names within localization text

* also unhardcode colors

* comment

* typo

* Fix gas pressure pump prediction (#35865)

* ACTUALLY predict gas pumps

* generic fake

* aaaaaaaaaaaaa

* Fix embedded projectile deletion not being tracked by container (#36123)

* Remove deleted projectiles from the container tracking them

* Gotta dirty the container

* Remove the container component when all embedded projectiles are gone

* Add test

* No clientside deletion of networked entities

* Move cleanup logic before deletion

* Make ContainerFillSystem print contents on failure (#36128)

* Make ContainerFill/EntityTableContainerFill print current contents when failing to spawn an entity

* List each entry on a new line; add fallback for empty

* convex update

* update emergency_courser

* update emergency_meta

* update man-o-war shuttle

* remove warden stamp mapped on meta

* me waiting

* update fland

* sure

* update box

* another one

* le heisentest au chocolat

* oops

* Death Nettle changes (#25253)

* Added ThornyComponent, ThornyImmuneComponent, and ThornySystem, as well as changed Botanists glove's to have the ThornyImmuneComponent, and for Death Nettle to have the ThornyComponent.

* Added heat damage to the player if they pickup nettle without gloves. Also displays a popup message .

* Revised OnHandPickUp method and reduced whitespace

* Touching death nettle without gloves now does damage split between heat and caustic, and does more damage.

* File-scoped namespace adherence

* Code revisions, and removal of old file.

* Removed thornyImmune key from botanist's gloves in gloves.yml for cleanup / yaml linter

* Adds new generic DamageOnPickup, still very WIP

* Starting on localization, removed _Notes.txt, adds immunity component

* Added OnPickupDamageImmune component to botanists gloves

* Removed botany specific components/system, moved to generic DamageOnPickup. Added code comments. Extra checks in component for whether to toss an item, damage an entity. Still WIP.

* changes to audio and popups

* Removes my system/component/ftl in favor of DamageOnInteract, tweaking values

* me stupid

* Death nettle will 'wilt' after 5 hits

* added interaction delay to stop spam clicking, added a 10% stun (paralyze) chance

* minor changes/cleanup

* more minor changes and cleanup

* Reduced maximum amatoxin within fly amanita spores.

* Readjusted to allow more than 5 amatoxin above 50 potency

* Remove Debug.Log statement from system

* Mark Death Nettle as major contraband.

* Automatic changelog update

* "I'm Weh-cellent" Cap (#28573)

* copy pasted fishcap.rsi

* added the sprites

* credited myself

* added it to the hats.yml list

* meh, make the spites look nicer

* hopefully this fixes that

* yeah that makes sense

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* that too

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* new courtroom, better signage, fixed uncleanable dirt, more

* Delete AccessReaderTest.TestTags (#36153)

* Sentry turrets - Part 4: The sentry turret and its primary systems (#35123)

* Initial commit

* Removed mention of StationAiTurretComponent (for now)

* Prep for moving out of draft

* Fixing merge conflict

* Re-added new net frequencies to AI turrets

* Removed turret control content

* Removed unintended change

* Final tweaks

* Fixed incorrect file name

* Improvement to fire mode handling

* Addressed review comments

* Updated how turret wire panel auto-closing is handled

* Ranged NPCs no longer waste shots on stunned targets

* Fixed bug in tracking broken state

* Addressed review comments

* Bug fix

* Removed unnecessary event call

* Automatic changelog update

* Shove down a person on uncuff if harm mode is on (#35193)

* stamdamage on uncuff while buckled

* pro tip

* 99 -> 100 stamdmg and don't count self-uncuffs

* review implementation

* tip update

* guidebook update

* merg

* Automatic changelog update

* Mapping warnings cleanup (#36168)

* Mapping warnings cleanup

* Redo

* Remove warnings from cargo system (#36159)

* Remove warnings from cargo system

* Guard statement early exit and cleaner object instantiation

* Whitespace

* Add AnimationPlayer as a component of telepads

* Fix some atmos warnings (#36157)

* Update Credits (#36172)

Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>

* Draw depth bug fix for sentry turrets (#36175)

Initial commit

* Update oasis

* Better jetpack emitter (#36093)

* Better jetpack emitter

Still need particles this just tilts me whenever I see it.

* Update Resources/Prototypes/Entities/Objects/Tools/jetpacks.yml

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

---------

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

* Automatic changelog update

* Implement field-deltas for melee (#33977)

* Implement field-deltas for melee

* Review

* One day Im gonna snap and fix a bug

* Fix LoadGameMap running MapInit sometimes (#35241)

The map loadpath keeps it as not being mapinit but the grid one does not so this standardises them slightly.

* More responsive votekick system (reduce timer and successive timeout) (#36044)

* reduce votekick timer from 60 to 20 seconds

* votekick timeout from 120 to 30 seconds

* votekick timer duration from 20 seconds to 45, successive votekick timeout from 30 to 60 seconds

* Examine warnings cleanup (#36162)

* Examine warnings cleanup

* Revert unnecessary change

* SpriteSystem naming conventions

* Chemistry warnings cleanup (#36160)

* Chemistry warnings cleanup

* Fixing failed ITest

* Better entity instantiation

* Caching spritesystem and entity instantiation improvement

* Correcting naming conventions

* Rearranging dependency caching

* Movement systems warning cleanup (#36161)

* Movement systems warning cleanup

* Revert unnecessary change

* Reverting variable removal and changing entity query

* Reverting VV removals

* LocalEntity does in fact exist

* Anomaly warnings cleanup (#36188)

* use manual component state for BaseEmitSoundComponent (#35030)

* why

* cursed

* Gameticking warnings cleanup (#36193)

* Cleanup and small update to the stethoscope! (#36210)

* First commit

* Address most of the review!

* Automatic changelog update

* refactor: simple radial menu for easier creation (#34639)

* it works! kinda

* so it works now

* minor cleanup

* central button now is useful too

* more cleanup

* minor cleanup

* more cleanup

* refactor: migrated code from toolbox (as it was rejected as too specific)

* feat: moved border drawing for radial menu into RadialMenuTextureButton. Radial menu position setting into was moved to OverrideArrange to not being called on every frame

* refactor: major reworks!

* renamed DrawBagleSector to DrawAnnulusSector

* Remove strange indexing

* Regularize math

* refactor: re-orienting segment elements to be Y-mirrored

* refactor: extracted radial menu radius multiplier property, changed color pallet for radial menu button

* refactor: removed icon backgrounds on textures used in current radial menu buttons with sectors, RadialContainer Radius renamed and now actually changed control radius.

* refactor: in RadialMenuTextureButtonWithSector all sector colors are converted to and from sRGB in property getter-setters

* refactor: renamed srgb to include Srgb suffix so devs gonna see that its srgb clearly

* fix: enabled any functional keys pressed when pushing radial menu buttons

* fix: radial menu sector now scales with UIScale

* fix: accept only one event when clicking on radial menu ContextualButton

* fix: now radial menu buttons accepts only click/alt-click, now clicks outside menu closes menu always

* feat: simple radial menu prototype for easier creation

* refactor: cleanup, restored emote filtering, button models now have class hierarchy

* refactor: remove usage of closure from 'outside code'

* refactor: remove non existing type from UiControlTest

* refactor: remove unused using

* refactor: revert ability to declare radial menu layers in xaml, scale 32px sprites using scale in radial menu

* refactor: whitespaces

* refactor: subscribe for dispose on existing radial menus

* feat: now simple radial menu button models can have custom color for each sector background (and hover background color). Also added OpenOverMouseScreenPosition inside SimpleRadialMenu

* fix: AI door menu now can be closed by verb if it gets unpowered

* refactor: simplify hiding border, extended xml-doc for simple radial menu settings

* refactor: remove linq

* fix: fix AI radial action serialization using invalid type

* refactor: fix duplicate ShowDeviceNotRespondingPopup for AI by properly checking if it can interact

* refactor: whitespaces, changed list to array in simple radial button preparing methods

---------

Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>

* delete PolymorphOnCollideComponent (#36227)

delete component

* Light warnings cleanup (#36195)

* Light warnings cleanup

* Using EntitySystem Proxy overrides

* New TryComp guards for light animations

* Reverting guards when not wanted

* Holoparasite injector fix (#36109)

* HoloParaTextFix

* PleaseSpeedMergeLmao

* ThankYouOrks

* Update Resources/Locale/en-US/guardian/guardian.ftl

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

* Update Content.Server/Guardian/GuardianSystem.cs

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

* Update Content.Server/Guardian/GuardianSystem.cs

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

---------

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

* Localize and colorize grill temperature settings (#36236)

* Make it easier to localize grill heat level settings

* Change examine text color based on setting

* Trailing periods

* Use Fluent terms to reduce duplication

* Rework the way held items scatter when holder is knocked down (#36232)

* Redo drop held items math

* Don't assume the holder has a PhysicsComponent

* Assume infinite mass for held items with no PhysicsComponent

* Switch to EntityQuery for PhysicsComponent

* The micro-est of optimizations

* use NextAngle

* Might as well do that outside the loop

* Automatic changelog update

* Undetermined thieving satchel (#36201)

* yippee!

* no toolboxes allowed

* sprite, descriptions

* Automatic changelog update

* more maints, new AI, xenobiology, etc, ect

* Add prediction to electric grills (#36241)

* Prediction for EntityHeaterSystem

* Switch to Entity<T>

* meh

* Move popup inside ChangeSetting

* Fix grill visually turning on when changing setting while power is off

* Add note about my failed quest

* Why isn't this an IDE warning?

* Move comment above switch expression in SettingPower

* Automatic changelog update

* Move medical locker fills to entityTables (#36249)

* Added tables + moved things to EntityTableContainerFill

* YAML convention

* Rotation warnings cleanup (#36197)

* Rotation warnings cleanup

* Naming convention fix

* Adding component that we already have

* New food recipe: World Peazza (#35191)

* added world peazza

* fixed a comma in the pizza sprite json

* changed attribution comment on ArtisticRoomba's suggestion

* restored accidentally deleted line, thanks Tayrtahn

* Automatic changelog update

* Fix KeyNotFoundException that sometimes happens on server shutdown (#36221)

* Fix "other player points at you" message formatting (#36253)

Fix "other player points at you" message's Fluent functions

* Light replacer description typo fix (#36256)

Replacer description typo fix

* fix: re-add missing RCD deconstruct action #36243 (#36255)

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

* Automatic changelog update

* add: Dragon rift color changes based on charge (#36216)

* use dragon rift sprite colours

* Entity<T>

* Automatic changelog update

* :3

This is so we can publish stable again

* Convert AgentIDCard message to use a Fluent selector (#36263)

Convert AgentIDCard message to use a selector

* NPC Warnings cleanup (#36189)

* NPC Warnings cleanup

* Reverting unnecessary changes

* Reverting unnecessary changes, missed

* Using entity GetGrid override instead

* Fix entities burning to ash not using identity, and bad formatting (#36268)

* Make burning to ash use identity

* CAPITALIZE(THE())

* Localize air alarm states (#36266)

* Fix a few loc bugs with magic mirror/scissors (#36269)

* Use identity for magic mirror popups

* THE()

* Use correct pronouns in blocked-by-hat message

* Add autocomplete to controlmob (#36234)

Expensive for what it is just really annoying in debug to not have it. Worst case I just make it debug only and we don't add it for release.

* Change the name and description of the templar helmet. (#36258)

Changed the name and description of the knight helmet.

Co-authored-by: Flesh <N/A>

* Diphenhydramine causes drowsiness (#36212)

* nap time in medbay

* suggested changes

* fake test fail

* Automatic changelog update

* Improve sprite fading behaviour (#35863)

* Click through faded sprites

* Count the mouse position for which sprites to fade

* Automatic changelog update

* Recipes for curtains and tables using carpets now respect stacks. (#33721)

* Carpet curtain/table recipes now respect stacks

* remove unused colour carpet tags

* Remove the tags outright

* Automatic changelog update

* Stop ghosts from being logged to Airlocks (#36261)

* stop ghosts from being logged

* thanks rider for the random import

* add new tag PreventAccessLogging

* once again removing random auto imports

* inverted if for code readability

* switch to ProtoId<> usage

* Automatic changelog update

* Fix loc issues with syringes (#36285)

Fix injector loc issues

* [Hotfix] Change ID card console admin log severity to Medium (#36283)

It's that simple

* Fix loc issues with suicide popup (#36284)

* Add PKA and PTK-800 shuttle gun recipes to sec techfab (#34566)

* add Magboots and PKA to sec lathe

* add kinetic shuttle gun to sec lathe

* use pack recipe

* remove magboot from prior commit

* Automatic changelog update

* Mob collisions (#34580)

* Conveyor optimisations

- Optimise movement for moving stuff. Better flags + less resolves + slapped parallelrobustjob on it.
- Sleeping for entities getting conveyed into walls.

* Blocker version

* Finish

* Final

* Mob collisions

* impulses

* Collision smoothing

* Locked in

* 30tps working

* r

* fixes

* Best

* Fixes + CVars

* CVars in place

* Pushies

* Opt attempt 1

* Revert "Opt attempt 1"

This reverts commit 5ccd72dcbea09261a992aa1f7f05df169a1ce676.

* Fix mispredicts

* Ready-ish

* better

* Cleanup

* Fix conveyor power mispredict

* Forgetting to actually do deltas

* Fix buckle pushes

* Bagel save

* Revert "Bagel save"

This reverts commit 1b93fda81fb852d89b89b0beae0b80f8a61165f2.

* Conveyor resave

* Fix prediction

* Mob movement rewrite

* Bandaid

* Working version

* Tentatively working

* Friction to fix cornering

* More fixes

* Revert bagel

* Revert this

* Bad parity

* Working

* Fixes

* Woops

* Doc comments

* Pen cap cvar

* StandingState cleanup and sub

* Fix downed mobs

* fish

* client

* Disable pushing on tests

* More variables

* Movement mods

* Mass diff

* 1 more tweak

* Cvar

* Mob collision tweaks (#36296)

* Mob collision tweaks

- Remove the dot product default so moving also pops it.
- Cleanup the cvars so admins can adjust

* Gas canister revert

* fix implanting borgs and bots (#36218)

* fix implanting borgs

* fix

* Automatic changelog update

* Rotate Adv Mineral Scanner in Inventory (#36294)

* Automatic changelog update

* Fix ninjas not being able to hack criminal records (#36299)

Index reason placeholders prototype as a LocalizedDataset

* Automatic changelog update

* Remove embed mispredict (#36297)

* Remove embed mispredict

I don't know why this is here but it doesn't seem to cause issues and transforms should be fully predicted so if there are bugs I will deal with them as they come up.

* a

* IPIntel now rounds to 2 decimal points (#36298)

* IPIntel now rounds to 2 decimal points

* Nvm i understood what pjb wanted now

* Antagonist roles now require 1h playtime. (#36276)

* init

* whitespace

* Automatic changelog update

* Extracts magic strings from Tag calls (#36305)

* Extracts magic strings from Tag calls

When #36281 gets merged, the `TagSystem` methods will all give warnings. Let's fix those warnings before they even happen!

* Adds missing libraries

* Remove not yet implemented TagSystem changes

* Fix tag spelling error

Genuinely surprised there was only 1!

* Styling and proper type changes

* Styling

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

---------

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

* Fix shutter construction ghost rotation (#36082)

* Fixed shutter construction frame not aligning with construction ghost

* removed metadata change that should be in a different PR

* Add 10u of plasma to SyndieJuice (#36280)

Gift for the agent

* Automatic changelog update

* maints insuls, more meteor shielding

* Typo fix in Syndicate agent locale resources (#36318)

* "discretely" corrected to "discreetly"

* how did it happen twice

* removed mapinit and mappaused components

* Remove "SHUTTLES" from the allergy list in ion_storm.yml (#36317)

with accordance pull 35751, removes the "SHUTTLES" as a possible allergy to prevent possible round stall

* Reduce storage implant to a 2x L shape/6 slots (#36272)

Change subdermal implant

* Automatic changelog update

* Add additional Biome Markers. (#36300)

* init

* slight value tweaks

* few more

* move DeviceLinking events to shared (#36307)

move events

* Displacement Map Visualizer update (#35952)

Update Displacement Map Visualizer.lua

* remove evil shitcode from randommetadata (#36324)

* remove evil

* fix non-localizeddataset uses

---------

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

* Centcomm death rattle implant (#36113)

* behold!

* minor name change 👍

* Remove fields 👍

* Changes it to parent off DeathRattleImplant

* Adds implants round start and fixes hypothetical bug

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

As per slarticodefast's suggestion

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

---------

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

* Remove toxins from the chemical synthesis kit description (#36323)

Alter the description of the chemical synthesis kit to no longer include any false hopes of toxins

* Automatic changelog update

* Fix blocked UI interaction on unpowered devices (#36319)

init

* Automatic changelog update

* Update Credits (#36337)

Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>

* Salvage melee weapon tweaks (#35914)

* Minor salvage melee tweaks.

* Minor salvage melee tweaks.

---------

Co-authored-by: RedBookcase <Usualmoves@gmail.com>

* Automatic changelog update

* Make Health Analyzer scan range nullable and adjust admin PDA (#36347)

* Modify .cs and admin pda

* enhance comment

* Automatic changelog update

* Allow Aghosts to load biomes. (#36325)

* init

* review

* Automatic changelog update

* Make `RandomMetadata` properly support localization (#36343)

* Make _outputSegments readonly

* Remove mystery character

* Use Fluent instead of string concatenation

* Adjust format

* Convert existing content

* Don't need these anymore

* Docs

* predict IgnitionSourceComponent (#36310)

* PREDICTION

* comment

* don't overwrite event args

* totally not a web edit

* intn't

* Make spam delivery headers easier to reuse (#36332)

Convert nanotrasen, syndicate, and alternate timeline nanotrasen headers into reusable terms

* Make FlammableTileReaction additive instead of multiplicative. (#36387)

Make FlammableTileReaction additive

* New security box fills, renamed and replaced sechud box icon (#35057)

* secglasses and sechud icons, new box fills

* sunglasses box

* fixes indentation

* Automatic changelog update

* Allow sound to play at the start of anomaly supercritical animation (#36260)

* Add datafield to AnomalyComponent to play a sound when an anomaly enters supercriticality

* use Entity<T> pattern

* use implicit default for nullable

* don't forget to resolve the AnomalyComponent...

* Add comment for StartSupercriticalEvent "ent" parameter

* use implicit casts from Entity<T> to EntityUid

* StartSupercriticalEvent requires AnomalyComponent to resolve

* Printable vials (#36380)

* add vial recipe

* adding vial to lathe recipes

* adjusted vial production cost

* Reduced glass cost for vials

* Automatic changelog update

* DocumentParsingManager: Ignore XML comments in guidebook pages (#35506)

* Parse XML comments

* Use var instead of typed for variable declaration

---------

Co-authored-by: Simon <63975668+Simyon264@users.noreply.github.com>

* fix rmobjective command and add completion options (#36396)

fix rmobjective command

* Automatic changelog update

* Fix `lsobjectives` target player logic (#36398)

* Fix lsobjectives target player logic

* Logic 3.0

* Fix matchstick prediction issues (#31418)

* First commit

* Minor fixes please ymal error begone

* If this fixes it

* Last chance

* How

* Forgot

* First fixes

* Added correct component tags

* Minor cleanup

* Address review!

* Namespace change

* Fix yaml yelling

* Changes

* Update namespace

* Removed the unneeded files

* Add inhands for Holoprojectors, labelers, cone, brb sign, fartbag (#36036)

* Add inhands for Holoprojectors, labelers, cone, brb sign, whoopie cushion

* Update Resources/Textures/Objects/Devices/Holoprojectors/atmos.rsi/meta.json

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* Automatic changelog update

* Replaced Sterile Swabs in NutriMax with a Swab Dispenser (#36399)

Replaced Sterile Swabs with Swab Dispenser in NutriMax

* Automatic changelog update

* convex fixes

* Mark the spider clan explosive as major contraband (#36421)

Even though it's an unsanctioned explosive device, it's currently
not considered contraband. This patch adds BaseMajorContraband to it.

* Automatic changelog update

* job counts for each map

* remove duplicate CE entry

* Predict inflatable barriers verb (#32420)

* First commit

* evil

* Made it not do weird things

* address review!

* Automatic changelog update

* Feature/shader radial menu (#35152)

* it works! kinda

* so it works now

* minor cleanup

* central button now is useful too

* more cleanup

* minor cleanup

* more cleanup

* refactor: migrated code from toolbox (as it was rejected as too specific)

* feat: moved border drawing for radial menu into RadialMenuTextureButton. Radial menu position setting into was moved to OverrideArrange to not being called on every frame

* refactor: major reworks!

* renamed DrawBagleSector to DrawAnnulusSector

* Remove strange indexing

* Regularize math

* refactor: re-orienting segment elements to be Y-mirrored

* refactor: extracted radial menu radius multiplier property, changed color pallet for radial menu button

* refactor: removed icon backgrounds on textures used in current radial menu buttons with sectors, RadialContainer Radius renamed and now actually changed control radius.

* refactor: in RadialMenuTextureButtonWithSector all sector colors are converted to and from sRGB in property getter-setters

* refactor: renamed srgb to include Srgb suffix so devs gonna see that its srgb clearly

* fix: enabled any functional keys pressed when pushing radial menu buttons

* fix: radial menu sector now scales with UIScale

* fix: accept only one event when clicking on radial menu ContextualButton

* fix: now radial menu buttons accepts only click/alt-click, now clicks outside menu closes menu always

* feat: simple radial menu prototype for easier creation

* refactor: cleanup, restored emote filtering, button models now have class hierarchy

* refactor: remove usage of closure from 'outside code'

* refactor: remove non existing type from UiControlTest

* refactor: remove unused using

* refactor: revert ability to declare radial menu layers in xaml, scale 32px sprites using scale in radial menu

* refactor: whitespaces

* refactor: subscribe for dispose on existing radial menus

* feat: now simple radial menu button models can have custom color for each sector background (and hover background color). Also added OpenOverMouseScreenPosition inside SimpleRadialMenu

* fix: AI door menu now can be closed by verb if it gets unpowered

* overlay and its registration

* radial menu shader but it requires wierd offset

* remove unused file

* smol cleanup

* remove unused code

* neat internal subsctors in radial menu shaders

* refactor finalize visual style

* comments, simplify, extract variable and other minor refactors on radial-menu shader

* refactor: extract more data from radial menu with sector to radial container for shader drawing

* replaced DrawSeparators for RadialMenuTextureButtonWithSector with DrawBorder (no reason to make them separate), also now colors are properly applied

* refactor: simplify hiding border, extended xml-doc for simple radial menu settings

* refactor: remove duplication of radial menu shaders, use ValueList to collect ClearExistingChildrenRadialButtons buttons to remove

* refactor: remove linq

* fix: fix AI radial action serialization using invalid type

* refactor: fix duplicate ShowDeviceNotRespondingPopup for AI by properly checking if it can interact

* refactor: removed *if* blocks from shader, replaced with branchless logic

* refactor: whitespaces, changed list to array in simple radial button preparing methods

* fix: merge duplicated code

---------

Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>

* Fixed the empty mass scanner still being a normal item, whoops. (#36340)

* Fixed the empty mass scanner still being a normal item, whoops.

* Fixed parenting duplication and issues with item state.

---------

Co-authored-by: RedBookcase <Usualmoves@gmail.com>

* remove mind roles from EntityWhitelist (#36089)

* remove mind roles from EntityWhitelist

* remove redundant dependency

* Automatic changelog update

* Various UI warnings cleanup (#36169)

* Various UI warnings cleanup

* Revert unnecessary change

* Redoing SpriteSystem as it's non-injectable

* Missed one

* Better entity instantiation

* General cleanup of warnings changes

* Wrong class name!

* Lower minimum size of absorbent item status (#35804)

80f2dc6dd3 fixed BoxContainer so that the actual specified MinimumSize gets used. This is a problem because for the absorbent item status it's way too high so it looks silly.

* Update submodule to 251.0.0 (#36435)

* Fix power cells/cages counting for laser weapon bounties (#36431)

fix cargo bounty bug

* Automatic changelog update

* Holopad fixtures bugfix (#36341)

Initial commit

* Automatic changelog update

* Add cooked dragon steak and cutlets (#36273)

* Add cooked dragon steak and cutlets

* If it's worse for you it's even more of a delicacy

* Attribution

* Automatic changelog update

* Disable mob pushing

Part of maint meeting

* Revert "Feature/shader radial menu" due to shader issue (#36470)

* Hotfix for water/fuel tank fixtures (#36527)

Sharing the same fixture layer as walls causes dragged water/fuel tanks to be blocked by things that they really shouldn't be, such as lights and holopads

Being PRed as a hotfix in order to fully finalize #36341

* [HOTFIX] Sprite fade review #36509 (#36552)

cherry-picked

* Clarify "purple text" characters in rules & readd Space Law non-restricted item seizure (#36414)

Initial commit

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@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: Milon <milonpl.git@proton.me>
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
Co-authored-by: Emisse <99158783+Emisse@users.noreply.github.com>
Co-authored-by: James <40279265+ViceEmargo@users.noreply.github.com>
Co-authored-by: UBlueberry <161545003+UBlueberry@users.noreply.github.com>
Co-authored-by: Deerstop <edainturner@gmail.com>
Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>
Co-authored-by: Killerqu00 <47712032+Killerqu00@users.noreply.github.com>
Co-authored-by: J <billsmith116@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Avery Dobbins <avery.dobbins@gmail.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: K-Dynamic <20566341+K-Dynamic@users.noreply.github.com>
Co-authored-by: Myra <vasilis@pikachu.systems>
Co-authored-by: beck-thompson <107373427+beck-thompson@users.noreply.github.com>
Co-authored-by: Fildrance <fildrance@gmail.com>
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
Co-authored-by: YoungThug <ramialanbagy@gmail.com>
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
Co-authored-by: Radezolid <snappednexus@gmail.com>
Co-authored-by: MisterImp <101299120+MisterImp@users.noreply.github.com>
Co-authored-by: Kirby <205904127+154942@users.noreply.github.com>
Co-authored-by: qwerltaz <msmarcinpl@gmail.com>
Co-authored-by: Polter <62557990+PolterTzi@users.noreply.github.com>
Co-authored-by: āda <ss.adasts@gmail.com>
Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
Co-authored-by: Whatstone <166147148+whatston3@users.noreply.github.com>
Co-authored-by: Luna "YuNii" Henrich <yuniivrc+github@proton.me>
Co-authored-by: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com>
Co-authored-by: TheBlueYowie <the.blue.yowie@hotmail.com>
Co-authored-by: BWTCK <193008538+BWTCK@users.noreply.github.com>
Co-authored-by: Super <84590915+SuperGDPWYL@users.noreply.github.com>
Co-authored-by: KamTheSythe <kamil.dolowiec01@gmail.com>
Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: UpAndLeaves <92269094+Alpha-Two@users.noreply.github.com>
Co-authored-by: Phil <91200802+PhilIngham@users.noreply.github.com>
Co-authored-by: RedBookcase <crazykid1590@gmail.com>
Co-authored-by: RedBookcase <Usualmoves@gmail.com>
Co-authored-by: Minemoder5000 <minemoder50000@gmail.com>
Co-authored-by: Quantum-cross <7065792+Quantum-cross@users.noreply.github.com>
Co-authored-by: Nyxilath <colton.malone@gmail.com>
Co-authored-by: Simon <63975668+Simyon264@users.noreply.github.com>
Co-authored-by: Tiniest Shark <head.rebel@yahoo.com>
Co-authored-by: Spessmann <156740760+Spessmann@users.noreply.github.com>
Co-authored-by: Alex Parrill <alex.parrill@col32.net>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2025-04-15 01:00:51 +03:00
Brassica Prime
05ee55fa3e Edited the elite hardsuit description to be more accurate (#33900) 2025-04-14 14:46:07 -07:00
Ed
5420469d62 Merge remote-tracking branch 'upstream/stable' into ed-upstream-sync
# Conflicts:
#	Content.Shared/Weapons/Melee/MeleeWeaponComponent.cs
2025-04-15 00:44:29 +03:00
PJBot
c753ec660c Automatic changelog update 2025-04-14 21:03:55 +00:00
ArtisticRoomba
6c2c5935ed fix RangeNumberSelector to actually be inclusive (#36155)
* fix RangeNumberSelector to actually be inclusive

* Convert all random number stuff to randomint and prune unused code

* another heisentest???

* another heisentest after a heisentest. im going to lose it.
2025-04-14 17:02:49 -04:00
PJBot
0de0ef6065 Automatic changelog update 2025-04-14 20:46:44 +00:00
SlamBamActionman
61fd345214 Increase chest rig explosive resistance (#35889)
Improve chest rig explosive resistance
2025-04-14 22:45:38 +02:00
PJBot
3301adf6e1 Automatic changelog update 2025-04-14 20:24:18 +00:00
SlamBamActionman
140963852a Remove deathrattle functionality from tracking implants (#35995)
De-rattle
2025-04-14 22:23:11 +02:00
metalgearsloth
3cc544705c Use approx NPC steering checks (#36110)
Much faster lookup and shouldn't affect final result.
2025-04-14 22:15:16 +02:00
J
22639a3cdf Ghost spring cleaning (#36194)
* Ghost warnings cleanup

* Undo incorrect changes

* Removing whitespace
2025-04-14 22:12:04 +02:00
PJBot
3be4322d1b Automatic changelog update 2025-04-14 19:11:17 +00:00
metalgearsloth
9d03081fda Predict DamagePopup (#36547)
* Predict DamagePopup

Pretty easy one.

* cleanup and localize

* oops

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-04-14 21:10:09 +02:00
ScarKy0
ec31847e9e Packed Dept Economy (#36560) 2025-04-14 12:06:16 -07:00
PJBot
04e5896345 Automatic changelog update 2025-04-14 18:58:56 +00:00
Southbridge
1947b47d92 Amber Station - Small Improvements (#36335) 2025-04-14 11:58:21 -07:00
Голубь
3dfaac808a Add the knock spell to the grimoire (#36562) 2025-04-14 14:57:47 -04:00
Emisse
d10a35df11 Elkridge - Department Request Consoles and Rebuilt AI Core (#36534) 2025-04-14 11:54:34 -06:00
Tayrtahn
110ed2736f Convert spam letters to a LocalizedDataset (#36393)
* Convert spam letters to a LocalizedDataset

* Error -> warning

* Comments

* Add migrations for old spam mail entities
2025-04-14 19:38:21 +02:00
Milon
e7dfb66def update editorconfig docstring indentation (#36511)
* Update .editorconfig

* webedit ops
2025-04-14 19:07:21 +02:00
PJBot
6350aef4f5 Automatic changelog update 2025-04-14 16:51:49 +00:00
SlamBamActionman
18bedfec0a Add implant names to implanters (#36555)
* Initial commit

* Add tips!
2025-04-14 18:50:42 +02:00
PJBot
4df6212b19 Automatic changelog update 2025-04-14 16:00:01 +00:00
SlamBamActionman
69f9d531f9 Add SolutionContainerVisuals to the hypospray (#30703)
* Hypovisuals

* Syndie hypo

* Include attribution
2025-04-14 08:58:55 -07:00
PJBot
b079af1192 Automatic changelog update 2025-04-14 15:57:20 +00:00
Ben
b01ca8e57e fix #31963: Stopped climbing movent while in containers (#32033)
* hack to resolve offset issues while in locker

* moved movment cancel from lerp to init

* Added DoAfter canceling for buckling and stowing

* changed container event & removed inventory check from climb initation

* resolved integration test fail

* style

---------

Co-authored-by: Milon <milonpl.git@proton.me>
2025-04-14 17:56:14 +02:00
PJBot
c4b4063cb9 Automatic changelog update 2025-04-14 15:39:05 +00:00
eoineoineoin
7c4b34c1de Command to open chatbox in a new window (#33548)
* Command to open chatbox in a new window

* Add command for users with AdminChat permission

* Add command button to admin tools window
2025-04-14 17:37:58 +02:00
PJBot
a1439c5637 Automatic changelog update 2025-04-14 15:28:32 +00:00
BramvanZijp
cf14cb3eb5 The long overdue downfall of stun meta - Stamina resists on Nukie & ERT Suits. (#35580)
* Add stamina damage resistance

* Probably starting a civil war within the community.

* Tweak some values, my chart was outdated.

* Tone down the values

* Allow a way to bypass the resistances, which forks downstream can use.

* Apply suggestions from code review

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

* Comment out the changes to non-deathsquad suits.

* minor text fix e

* review

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: SlamBamActionman <slambamactionman@gmail.com>
Co-authored-by: Milon <milonpl.git@proton.me>
2025-04-14 17:27:26 +02:00
slarticodefast
8700d10f98 Stable merge (#36557) 2025-04-14 17:06:45 +02:00
PJBot
58df742a64 Automatic changelog update 2025-04-14 15:03:33 +00:00
Alfred Baumann
5e74afc72c Fix IDs without station records not being able to have nonstandard contents (#34921)
* fix ID console resetting to passenger

* review

* whoopsie! whitespace

---------

Co-authored-by: Milon <milonpl.git@proton.me>
2025-04-14 17:02:27 +02:00
PJBot
3cc917f1a8 Automatic changelog update 2025-04-14 14:47:05 +00:00
slarticodefast
f1d938ceb6 fix inspect mind verb (#36558) 2025-04-14 16:45:57 +02:00
PJBot
69aa245428 Automatic changelog update 2025-04-14 14:35:27 +00:00
metalgearsloth
dfa5ccf625 Fix shuttle arrival visualizer (#35772)
* Fix shuttle arrival visualizer

It was at a fixed spot but if the target is rotating it wasn't handled.

* hew

* Fixes
2025-04-15 00:34:18 +10:00
Tornado Tech
52f31e4403 refactor: Magic system (#1138)
Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2025-04-14 17:32:41 +03:00
creamybag
e7cd69e383 Carcat sprites fix (#1176)
* CarcatSpritesFix

* fix
2025-04-14 17:16:08 +03:00
SlamBamActionman
961d2cfdef Clarify "purple text" characters in rules & readd Space Law non-restricted item seizure (#36414)
Initial commit
2025-04-14 16:12:03 +02:00
SlamBamActionman
3b04d5a66c [HOTFIX] Sprite fade review #36509 (#36552)
cherry-picked
2025-04-14 16:00:03 +02:00
Nim
b7e4fbb74a Amulets are jewellery (#1126)
* amulets are jewellery

* transfer textures
2025-04-14 14:50:07 +03:00
Nim
85204144fb magic modifier (#1103) 2025-04-14 14:45:36 +03:00
metalgearsloth
595b1f5073 Fix autosave path (#36352)
Asserts on debug due to non-standard path.
2025-04-14 13:41:41 +03:00
creamybag
f2520fd468 beards 2.0 (#1182) 2025-04-14 13:18:38 +03:00
Deerstop
e7d20275d3 fixed some cameras, removed apc from xenobio 2025-04-14 19:49:02 +10:00
PJBot
dc8120b02b Automatic changelog update 2025-04-14 09:01:54 +00:00
Pieter-Jan Briers
843d79be5f Fire extinguishers can now extinguish items, including when held/worn (#36267)
* Fire extinguishers now put out candles

This did not actually require any changes to flammable or extinguishers directly, the only necessary changes were to make the collision actually work.

Vapor entities (also used for fire extinguishers) now have a collision layer, so they can hit items.

Added a new FlammableSetCollisionWake component to actually enable collision on candles while they are lit, because otherwise CollisionWake on entities gets in the way too.

* Extinguishing items is now relayed to held/worn items

This means held candles get extinguished too.

Involved moving the core logic of ExtinguishReaction into an event so that it can be relayed via the existing hand/inventory relay logic.

* Add helper functions for subscribing to relayed events.

Use these in FlammableSystem

* Make extinguishers work on cigarettes too

A bunch of renaming to make the rest of my code work with SmokableComponent

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2025-04-14 19:00:47 +10:00
PJBot
d0b4f4744c Automatic changelog update 2025-04-14 08:59:48 +00:00
K-Dynamic
25902b5dd0 Change colour tone of blue and green crayons (#36532)
* change crayon lightblue to blue

* recolour both green and blue to match crayons
2025-04-14 18:58:41 +10:00
PJBot
b7a630f06d Automatic changelog update 2025-04-14 06:35:26 +00:00
YoungThug
dc41bd33f3 Binocular Neck Slots! (#35759)
* binoculartweaks

* WhoNeedsArtApprovalQuestionMark

* Roomba Can You Merge Now?
2025-04-13 23:34:20 -07:00
PJBot
e54f8c43df Automatic changelog update 2025-04-14 05:38:58 +00:00
K-Dynamic
ae3918c268 Adds 10% slowdown to syndicate commander hardsuit (#35805)
commander hardsuit slowdown
2025-04-13 22:37:51 -07:00
Deerstop
9ce1cac393 added department request consoles, rebuilt AI core 2025-04-14 15:24:33 +10:00
chromiumboy
87b6eb55e5 Hotfix for water/fuel tank fixtures (#36527)
Sharing the same fixture layer as walls causes dragged water/fuel tanks to be blocked by things that they really shouldn't be, such as lights and holopads

Being PRed as a hotfix in order to fully finalize #36341
2025-04-13 22:02:29 -07:00
Leon Friedrich
4f8f2de561 Remove invalid error logging in HideLayerClothingSystem (#36529) 2025-04-14 14:56:37 +10:00
metalgearsloth
ed9958d838 Update submodule to 253.0.0 (#36528) 2025-04-14 14:27:20 +10:00
J
7e4045d274 Admin spring cleaning (#36190)
* Cleanup warnings in administration

* Job command cleanup

* Reverting already implemented changes
2025-04-14 14:06:36 +10:00
J
2024a29c60 Changes ParallaxGenerator to use FastNoiseLite (#36214)
Instead of the NoiseGenerator we use FastNoiseLite
If I'm correct, after this we'll be able to remove NoiseGenerator and FastNoise from the codebase entirely!
2025-04-14 14:03:49 +10:00
J
8fea9cc30b Entity effects warnings cleanup (#36166) 2025-04-14 13:58:53 +10:00
J
afb0d7efca Worldgen spring cleaning (#36199)
* Worldgen warnings cleanup

* DebrisFeaturePlacerSystem general cleanup
2025-04-14 13:36:54 +10:00
PJBot
5cd38188bb Automatic changelog update 2025-04-14 01:34:11 +00:00
TeenSarlacc
1be56fedf2 Added a crate of shark plushies to cargo (#36338)
* shark time

* cargo

* unfucked a typo maybe

* unfucked a fuckup

---------

Co-authored-by: TeenSarlacc <baddiepro123@gmail.com>
2025-04-14 03:33:04 +02:00
PJBot
fe2c40f105 Automatic changelog update 2025-04-14 01:23:00 +00:00
Unisol
021ad0f8e0 New deathmatch map: DM01 Entryway (#31533)
* added plastitanium walls and windows

* Added DM01 Entryway to pool of deathmatch arenas

* replaced non-occluding walls with occluding ones

* added more details and fluff to empty rooms and hallways; added floor drains around the map

* Fixed failing integration test

* fixed YML syntax error causing test failures. What kind of retard thought that using whitespace as structural syntax is a good idea?

* minor map changes

---------

Co-authored-by: Unisol <pavelyakushevich@gmail.com>
2025-04-13 18:21:53 -07:00
Myra
b7a05d7c76 Stable merge (#36520) 2025-04-14 00:24:24 +02:00
metalgearsloth
16c78aa8ee Sprite fade review (#36509)
* Sprite fade review

* Skip non-hard fixtures

Probably fine.
2025-04-14 01:22:05 +03:00
Pieter-Jan Briers
7bb35889ce Revert "Feature/shader radial menu" due to shader issue (#36470) 2025-04-13 23:55:27 +02:00
Ed
5df9a526f0 new horns 2025-04-13 23:27:24 +03:00
Myra
c9d71a4e45 Disable mob pushing (Stable -> Master) (#36519) 2025-04-13 22:07:18 +02:00
Myra
1741f40f8a Disable mob pushing
Part of maint meeting
2025-04-13 22:04:52 +02:00
Ed
4a98d86330 wastelands (#1181) 2025-04-13 22:43:47 +03:00
Errant
8e911d96f9 antag role placeholder loc text (#36514) 2025-04-13 20:15:21 +02:00
Ed
aef6eb155e back to ru cbt 2025-04-13 21:06:44 +03:00
Ed
78c61c3094 ssss 2025-04-13 21:02:25 +03:00
PJBot
3a6085a10a Automatic changelog update 2025-04-13 17:24:41 +00:00
K-Dynamic
232ade99a9 Remove flash payload from stinger grenades (#36394)
Remove flash payload from stinger
2025-04-13 19:23:35 +02:00
Ed
5646e419bc Update Fear.yml 2025-04-13 19:51:20 +03:00
PJBot
66f1316616 Automatic changelog update 2025-04-13 16:11:02 +00:00
Leon Friedrich
6af4a4d9b8 Fix user interface interaction validation (#36480) 2025-04-14 02:09:56 +10:00
deltanedas
b619d4fae1 add some error logging to exped generation (#32867)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2025-04-13 18:03:13 +02:00
PJBot
7da4804ffb Automatic changelog update 2025-04-13 15:52:42 +00:00
beck-thompson
05f9e6d28e ID card computer bug fixed (And made it more fun!) (#32308)
* First commit

* More feature yay

* comments

* good

* silly me

* review

---------

Co-authored-by: Milon <milonpl.git@proton.me>
2025-04-13 17:51:35 +02:00
PJBot
022a383a58 Automatic changelog update 2025-04-13 15:30:19 +00:00
ArchRBX
d2bfa2fdda Examining now shows Coords on Handheld GPS, Coord readout update frequency increased (#31814)
* initial commit

* fixed LoadSaveTicksSaveBagel failure

* fixes issues raised in beck's review, yay!

* remove redundant variable

* removed delay on coordinate update, removed system update loop

* changed delay from 0.2s to 0.5s as travelling at high speeds would make it kinda illegible

* 0.35s seems to be the sweet-spot

* fixes merge conflicts

* remove unused dependencies

* review

---------

Co-authored-by: archrbx <punk.gear5260@fastmail.com>
Co-authored-by: Milon <milonpl.git@proton.me>
2025-04-13 11:29:13 -04:00
PJBot
7d1ab10da4 Automatic changelog update 2025-04-13 15:23:01 +00:00
ScarKy0
cfbf620e3f Condensed gases can now be metabolized. (#31648)
* Condensed gasses can now be metabolized.

* Made condensed frezon weaker

* Liquid frezon nerf
2025-04-13 17:21:55 +02:00
Verm
8084f48328 Fix sometimes still not dropping pulls after crit/death (#31637) 2025-04-13 16:52:25 +02:00
PJBot
cebc73fe0c Automatic changelog update 2025-04-13 14:25:18 +00:00
K-Dynamic
701f480051 Neutralised anomaly infections drop inert cores (#36503)
adds inert core prototypes
2025-04-13 17:24:11 +03:00
PJBot
bb09920174 Automatic changelog update 2025-04-13 13:23:44 +00:00
Nemanja
12b75beeab Departmental Economy (#36445)
* Cargo Accounts, Request Consoles, and lock boxes

* Funding Allocation Computer

* final changes

* test fix

* remove dumb code

* ScarKy0 review

* first cour

* second cour

* Update machines.yml

* review

---------

Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
Co-authored-by: Milon <milonpl.git@proton.me>
2025-04-13 15:22:36 +02:00
Ed
5f78b72763 ParallaxControl UI Dehardcode (#36071)
* Parallax Control Improve

* Update MainMenuControl.xaml

* PJBControl.cs
2025-04-13 22:44:44 +10:00
Ed
6f665266c4 s (#1179) 2025-04-13 15:37:00 +03:00
Ed
ac541b63ef new round leave system (#1178)
* round leave

* maps update
2025-04-13 15:36:41 +03:00
Viator-MV
0f37c24df0 fix (#1177) 2025-04-13 14:48:33 +03:00
ruddygreat
f61bbebb7f Fixes hitscan weapons not respecting reflectTypes (#34203)
* removes otherwise unused events that broke reflectType

* that last one broke everything. this actually fixes it

* minor cleanup

* move some stuff around for optimisation

---------

Co-authored-by: Ruddygreat <ruddygreat1@gmail.com>
2025-04-13 21:42:03 +10:00
PJBot
555c0d3437 Automatic changelog update 2025-04-13 10:36:37 +00:00
KingFroozy
736a51962e Skirt of Life resprite + white shoes to paramedic loadout (#32227)
* skirt rises

* white shoes

* remove from loadout
2025-04-13 12:35:28 +02:00
Ed
e968c7a9b8 wendigo tweak 2025-04-13 12:34:03 +03:00
PJBot
0940f58cc3 Automatic changelog update 2025-04-13 06:30:12 +00:00
metalgearsloth
83aaa73f0e Fix docks clipping on shuttle nav (#36348)
* Fix docks clipping on shuttle nav

UI scale casualty.

* review
2025-04-13 16:29:05 +10:00
github-actions[bot]
f7ad043239 Update Credits (#36499)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2025-04-13 03:52:03 +02:00
Super
38daa81754 Changed misleading line in the Traitors guidebook (#36416)
fym sec can access it it's against the rules to use an uplink as command/sec
2025-04-13 02:25:16 +02:00
PJBot
15fdb01895 Automatic changelog update 2025-04-12 23:28:06 +00:00
Quantum-cross
4d41e720bb Fix for anomaly double explosion sound and sprite scaling flicker before removal (#36489)
* Fix anomaly supercrit explosion sound playing twice.

* Fix so that the supercritical anomaly doesn't scale back to normal visually before removal.
2025-04-13 01:27:00 +02:00
Ed
26d81b684b Weather refill (#1175)
* refillable by weather

* fix
2025-04-13 01:01:22 +03:00
UpAndLeaves
fa09c540a2 Dehardcode zombie damage values (#36494)
* Quick, send it!

* no spaces, no fun

* Noooo I have to adhere to good code standards
2025-04-12 13:43:31 -07:00
PJBot
ba6995fa82 Automatic changelog update 2025-04-12 20:01:54 +00:00
Errant
0c6e21dec2 PlayerPanel Follow button (#36466)
* Follow button

* remove event stuff
2025-04-12 22:00:46 +02:00
Ed
51b3492cea Update wendigo.yml 2025-04-12 22:01:14 +03:00
Ed
517bc5418b Wendigo demiplane antag (#1174)
* wendigo

* ritual3

* Update sky_lightning.yml
2025-04-12 17:32:53 +03:00
Tayrtahn
76e72893c9 Add warnings when TagSystem methods are called with string literals (#36281)
Apply ForbidLiteralAttribute to all appropriate TagSystem methods
2025-04-12 16:18:31 +02:00
PJBot
a6a29e2554 Automatic changelog update 2025-04-12 13:38:15 +00:00
slarticodefast
fca83f9924 add debug verb for inspecting mind entities (#36474)
* mind verb

* new line
2025-04-12 15:37:07 +02:00
Viator-MV
ee30ae1341 frigid coast (#1173)
* frigid coast

* fix

* Update snow.yml

* Update default.yml

* Update Frigid_Coast.yml

---------

Co-authored-by: Ed <edwardxperia2000@gmail.com>
Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2025-04-12 16:35:41 +03:00
PJBot
4e5a73a447 Automatic changelog update 2025-04-12 09:06:22 +00:00
Pieter-Jan Briers
453e85a899 Lobby duration is now 5 minutes on wizden (#36476)
The default value is 2 minutes 30 seconds, which was set many years ago. The game is different now, people need time to stretch their legs or get some water.

This was prompted by an internal discussion about unhealthy playing habits in the game.
2025-04-12 11:05:13 +02:00
Ed
3c27e0ed99 Revert "Another Try" (#1170)
* Revert "Another Try (#1167)"

This reverts commit 355fc410a3.

* Update EntityTest.cs

* Revert "Update EntityTest.cs"

This reverts commit 1f75981e59.
2025-04-12 12:03:18 +03:00
Ed
e64c8f3d4f Dead tree (#1172)
* farming rebalance

* Update base.yml

* Update CP14FarmingSystem.Resourse.cs

* dead tree

* Update scattering_grenades.yml
2025-04-12 11:43:45 +03:00
Emisse
0b48cbe5e4 Increase Bagel's secoff job slots to 6 (#36434) 2025-04-12 01:37:50 -06:00
Pieter-Jan Briers
e6e60dead4 Revert "Feature/shader radial menu" due to shader issue (#36470) 2025-04-11 23:30:52 +02:00
PJBot
86620dbe6c Automatic changelog update 2025-04-11 21:05:44 +00:00
Errant
4ecdc17bb8 PlayerPanel username copy fix (#36468)
weh
2025-04-11 23:04:37 +02:00
Ed
da5190ae60 Farming rebalance (#1171)
* farming rebalance

* Update base.yml

* Update CP14FarmingSystem.Resourse.cs
2025-04-11 23:45:03 +03:00
Tayrtahn
f7850a3c0b Fix ninja battery drain debug assertion (#36461)
Fix ninja battery drain using wrong uid
2025-04-11 19:42:54 +02:00
Silicon14
054a58d199 Fixed phalanxamines guidebook entry. (#36458)
* fixed phalanxamines guidebook entry

* Update Resources/Locale/en-US/reagents/meta/medicine.ftl

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

---------

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
2025-04-11 19:02:53 +02:00
Ed
355fc410a3 Another Try (#1167)
* tick

* Update simple.yml

* revert deep

* revert straw

* revert surko

* revert fix

* revert beards

* Revert "revert surko"

This reverts commit 9ea597414a.

* Revert "revert fix"

This reverts commit 910da9d6e6.

* Revert "revert beards"

This reverts commit a941a41788.

* Revert "revert deep"

This reverts commit 8dd25a4b96.

* Reapply "revert deep"

This reverts commit cbde613021.
2025-04-11 19:53:00 +03:00
metalgearsloth
6b96fb45a6 Update submodule to 252.0.0 (#36462) 2025-04-12 02:10:54 +10:00
Milon
3a6441932e Directional BoundUserInterfaceMessageAttempt content edition (#36320) 2025-04-12 01:33:32 +10:00
TakoDragon
dc37ab7c6d RD Windoor (#36377)
rd-windoor
2025-04-11 15:13:17 +02:00
lunarcomets
fd7413f51a predict borg selection (#36430)
do the thing
2025-04-11 14:17:11 +02:00
Damn Feds
edb5dd0b30 fixes removed annotations 2025-04-11 22:43:11 +12:00
Damn Feds
d66c59d38d Merge branch 'master' into bagel-sec-count 2025-04-11 22:41:46 +12:00
Nemanja
1540880eb2 Predict Labels (#36406)
* Predict Labels

* nitpicks
2025-04-10 22:19:48 -07:00
PJBot
b812045d64 Automatic changelog update 2025-04-11 04:59:40 +00:00
Nox
680544a53a Descriptions for .45 magnum (#36383)
* Initial commit: added descriptions to revolvers, N1984, speedloaders, cartridges, and ammo boxes.

* Updated descriptions in accordance with Slarti and Roomba's suggestions.

* Oops, did a misclick!

* Updated Mateba description slightly

* Slightly updated pirate revolver description

* Updated Mateba description

* Updated Mateba description again

* Fixed a last occurence of restricted in AP bullets
2025-04-10 21:58:33 -07:00
PJBot
3a27de3f7e Automatic changelog update 2025-04-11 02:16:33 +00:00
Nox
4006914e35 Descriptions for .25 caseless (#36385)
* Initial commit: added descriptions to ammo boxes, cartridges, and magazines, and modified the cobra pistol's description.

* Updated magazine descriptions slightly

* Updated descriptions according to Roomba's feedback

* Minor updates

* Minor fixes

* Minor touch-up

* I should stop making tiny changes.

* Update Resources/Prototypes/Entities/Objects/Weapons/Guns/Pistols/pistols.yml

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-04-11 04:15:26 +02:00
PJBot
6d2f5a6844 Automatic changelog update 2025-04-11 02:11:10 +00:00
Dinner
3f0ca9b786 Fix gas mixers and pneumatic valves being hidden by floor tiles (#36428)
fix gas mixers and pneumatics valves being hidden by floor tiles
2025-04-11 04:10:03 +02:00
PJBot
b2c05b807d Automatic changelog update 2025-04-11 02:07:53 +00:00
YoungThug
97e8c4d506 Wizard added in all at once! (#36408)
SpeedMergePlease
2025-04-10 19:06:47 -07:00
Tobias Berger
812d47bb2d Choose correct state when rendering entities (#36409) 2025-04-11 03:56:02 +02:00
lzk
262e7ae904 fix cargo products (#36447) 2025-04-11 03:15:20 +02:00
PJBot
1100807944 Automatic changelog update 2025-04-11 01:13:20 +00:00
Ethan_k
0977b74294 Zombies can no longer Suicide take 2 (#36453)
* I did it right

* Update Content.Server/Zombies/ZombieSystem.Transform.cs

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

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-04-11 03:12:13 +02:00
PJBot
55bc0058f4 Automatic changelog update 2025-04-11 00:58:48 +00:00
RedBookcase
05785e7d45 Made the mosin major contraband, fixed uplink name. (#36446)
Co-authored-by: RedBookcase <Usualmoves@gmail.com>
2025-04-11 02:57:41 +02:00
PJBot
be6753a9c3 Automatic changelog update 2025-04-11 00:55:32 +00:00
Nemanja
2769de7b5d Add Aluminum Source (Cans) (#36449)
* aluminium cans

* shhhhh
2025-04-11 02:54:24 +02:00
Tiniest Shark
d50703d7a4 Hypospray Inhand Fix (#36452)
* fixed the cmo hypospray inhands

* whoops it was the gorlex one too
2025-04-11 02:53:31 +02:00
PJBot
3c5877edb6 Automatic changelog update 2025-04-10 22:23:24 +00:00
SlamBamActionman
5975853447 Decrease Syndicate raid suit size, add bundle backpack (#35890)
Decreased Syndicate raid suit size, add bundle backpack
2025-04-10 15:22:17 -07:00
Myra
a96fd7e08f New "PR made on master" message (#36441)
* New "PR made on master" message

* Update close-master-pr.yml

* Sponsored by languagetool

* Update close-master-pr.yml

* Update close-master-pr.yml
2025-04-10 13:10:26 -07:00
Silicon14
ddaa62c685 Change ambuzol plus guidebook entry to match recipe. (#36444)
change ambuzol plus guidebook entry to match recipe
2025-04-10 22:04:10 +02:00
Kirby
ee90926ccd Changes the name of the Detectives suitskirts from "... suit" to "... suitskirt" (#36436)
* Changes the name of the detectives skirts

* Whoops. Didn't mean to delete that
2025-04-10 12:34:48 -07:00
Ed
948d711336 Bunch of bugfixes (#1165)
* watcher fix

* fix #1162

* fix #1111

* make watcher move smoothly

* s

* Delete test_xeno.yml
2025-04-10 22:28:50 +03:00
Emisse
418b931ab8 Job count annotation for each map yml file (#36433) 2025-04-10 11:43:52 -06:00
PJBot
32e6203a9d Automatic changelog update 2025-04-10 16:00:25 +00:00
SlamBamActionman
7f6756135b Add cooked dragon steak and cutlets (#36273)
* Add cooked dragon steak and cutlets

* If it's worse for you it's even more of a delicacy

* Attribution
2025-04-10 08:59:18 -07:00
PJBot
08679be702 Automatic changelog update 2025-04-10 14:19:42 +00:00
chromiumboy
00ab7775d0 Holopad fixtures bugfix (#36341)
Initial commit
2025-04-10 16:18:36 +02:00
PJBot
4862f072c2 Automatic changelog update 2025-04-10 13:56:20 +00:00
ArtisticRoomba
c6581e655c Fix power cells/cages counting for laser weapon bounties (#36431)
fix cargo bounty bug
2025-04-10 15:55:13 +02:00
metalgearsloth
4b5b7a19a1 Update submodule to 251.0.0 (#36435) 2025-04-10 21:49:14 +10:00
Pieter-Jan Briers
25b620de23 Lower minimum size of absorbent item status (#35804)
80f2dc6dd3 fixed BoxContainer so that the actual specified MinimumSize gets used. This is a problem because for the absorbent item status it's way too high so it looks silly.
2025-04-10 20:48:13 +10:00
J
3c307f3b36 Various UI warnings cleanup (#36169)
* Various UI warnings cleanup

* Revert unnecessary change

* Redoing SpriteSystem as it's non-injectable

* Missed one

* Better entity instantiation

* General cleanup of warnings changes

* Wrong class name!
2025-04-10 20:47:05 +10:00
PJBot
48004bfad7 Automatic changelog update 2025-04-10 10:45:17 +00:00
slarticodefast
f6bfce38da remove mind roles from EntityWhitelist (#36089)
* remove mind roles from EntityWhitelist

* remove redundant dependency
2025-04-10 20:45:12 +10:00
RedBookcase
dc6ed30ec8 Fixed the empty mass scanner still being a normal item, whoops. (#36340)
* Fixed the empty mass scanner still being a normal item, whoops.

* Fixed parenting duplication and issues with item state.

---------

Co-authored-by: RedBookcase <Usualmoves@gmail.com>
2025-04-10 20:44:06 +10:00
Fildrance
56710697a9 Feature/shader radial menu (#35152)
* it works! kinda

* so it works now

* minor cleanup

* central button now is useful too

* more cleanup

* minor cleanup

* more cleanup

* refactor: migrated code from toolbox (as it was rejected as too specific)

* feat: moved border drawing for radial menu into RadialMenuTextureButton. Radial menu position setting into was moved to OverrideArrange to not being called on every frame

* refactor: major reworks!

* renamed DrawBagleSector to DrawAnnulusSector

* Remove strange indexing

* Regularize math

* refactor: re-orienting segment elements to be Y-mirrored

* refactor: extracted radial menu radius multiplier property, changed color pallet for radial menu button

* refactor: removed icon backgrounds on textures used in current radial menu buttons with sectors, RadialContainer Radius renamed and now actually changed control radius.

* refactor: in RadialMenuTextureButtonWithSector all sector colors are converted to and from sRGB in property getter-setters

* refactor: renamed srgb to include Srgb suffix so devs gonna see that its srgb clearly

* fix: enabled any functional keys pressed when pushing radial menu buttons

* fix: radial menu sector now scales with UIScale

* fix: accept only one event when clicking on radial menu ContextualButton

* fix: now radial menu buttons accepts only click/alt-click, now clicks outside menu closes menu always

* feat: simple radial menu prototype for easier creation

* refactor: cleanup, restored emote filtering, button models now have class hierarchy

* refactor: remove usage of closure from 'outside code'

* refactor: remove non existing type from UiControlTest

* refactor: remove unused using

* refactor: revert ability to declare radial menu layers in xaml, scale 32px sprites using scale in radial menu

* refactor: whitespaces

* refactor: subscribe for dispose on existing radial menus

* feat: now simple radial menu button models can have custom color for each sector background (and hover background color). Also added OpenOverMouseScreenPosition inside SimpleRadialMenu

* fix: AI door menu now can be closed by verb if it gets unpowered

* overlay and its registration

* radial menu shader but it requires wierd offset

* remove unused file

* smol cleanup

* remove unused code

* neat internal subsctors in radial menu shaders

* refactor finalize visual style

* comments, simplify, extract variable and other minor refactors on radial-menu shader

* refactor: extract more data from radial menu with sector to radial container for shader drawing

* replaced DrawSeparators for RadialMenuTextureButtonWithSector with DrawBorder (no reason to make them separate), also now colors are properly applied

* refactor: simplify hiding border, extended xml-doc for simple radial menu settings

* refactor: remove duplication of radial menu shaders, use ValueList to collect ClearExistingChildrenRadialButtons buttons to remove

* refactor: remove linq

* fix: fix AI radial action serialization using invalid type

* refactor: fix duplicate ShowDeviceNotRespondingPopup for AI by properly checking if it can interact

* refactor: removed *if* blocks from shader, replaced with branchless logic

* refactor: whitespaces, changed list to array in simple radial button preparing methods

* fix: merge duplicated code

---------

Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
2025-04-10 20:42:53 +10:00
PJBot
2172eaa492 Automatic changelog update 2025-04-10 10:40:21 +00:00
beck-thompson
149c42f385 Predict inflatable barriers verb (#32420)
* First commit

* evil

* Made it not do weird things

* address review!
2025-04-10 20:39:13 +10:00
Damn Feds
a8e347c606 increase sec count to 6 2025-04-10 22:17:38 +12:00
Damn Feds
e2296f6d58 remove duplicate CE entry 2025-04-10 22:06:10 +12:00
Damn Feds
829f8199e0 job counts for each map 2025-04-10 21:55:45 +12:00
github-actions[bot]
de5ec12791 @noverd has signed the CLA in crystallpunk-14/crystall-punk-14#1164 2025-04-10 08:40:55 +00:00
Ed
41b84f43eb Delete Factoria (#1156)
* bue

* Update PostMapInitTest.cs
2025-04-10 11:10:04 +03:00
PJBot
728603f714 Automatic changelog update 2025-04-09 22:34:06 +00:00
Alex Parrill
74ca51dac8 Mark the spider clan explosive as major contraband (#36421)
Even though it's an unsanctioned explosive device, it's currently
not considered contraband. This patch adds BaseMajorContraband to it.
2025-04-10 00:32:57 +02:00
Emisse
cc167b0c2f Convex update (#36401) 2025-04-08 17:51:41 -06:00
Spessmann
2d25c1266a convex fixes 2025-04-08 15:38:28 -07:00
PJBot
394affeb95 Automatic changelog update 2025-04-08 21:55:10 +00:00
TheBlueYowie
517aeb6486 Replaced Sterile Swabs in NutriMax with a Swab Dispenser (#36399)
Replaced Sterile Swabs with Swab Dispenser in NutriMax
2025-04-08 17:54:04 -04:00
PJBot
b4c460752f Automatic changelog update 2025-04-08 21:28:14 +00:00
Tiniest Shark
bfac77b53f Add inhands for Holoprojectors, labelers, cone, brb sign, fartbag (#36036)
* Add inhands for Holoprojectors, labelers, cone, brb sign, whoopie cushion

* Update Resources/Textures/Objects/Devices/Holoprojectors/atmos.rsi/meta.json

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-04-08 23:27:07 +02:00
beck-thompson
3135b2ab3e Fix matchstick prediction issues (#31418)
* First commit

* Minor fixes please ymal error begone

* If this fixes it

* Last chance

* How

* Forgot

* First fixes

* Added correct component tags

* Minor cleanup

* Address review!

* Namespace change

* Fix yaml yelling

* Changes

* Update namespace

* Removed the unneeded files
2025-04-08 23:00:57 +02:00
Tayrtahn
048dcd9eeb Fix lsobjectives target player logic (#36398)
* Fix lsobjectives target player logic

* Logic 3.0
2025-04-08 21:42:38 +02:00
PJBot
d9115f8bcc Automatic changelog update 2025-04-08 14:55:20 +00:00
slarticodefast
b276524468 fix rmobjective command and add completion options (#36396)
fix rmobjective command
2025-04-08 16:54:13 +02:00
Whatstone
e6ea77d21b DocumentParsingManager: Ignore XML comments in guidebook pages (#35506)
* Parse XML comments

* Use var instead of typed for variable declaration

---------

Co-authored-by: Simon <63975668+Simyon264@users.noreply.github.com>
2025-04-08 14:44:55 +02:00
PJBot
73863d3304 Automatic changelog update 2025-04-08 09:38:19 +00:00
Nyxilath
8d3b89ca9b Printable vials (#36380)
* add vial recipe

* adding vial to lathe recipes

* adjusted vial production cost

* Reduced glass cost for vials
2025-04-08 11:37:11 +02:00
Quantum-cross
716c0ef51f Allow sound to play at the start of anomaly supercritical animation (#36260)
* Add datafield to AnomalyComponent to play a sound when an anomaly enters supercriticality

* use Entity<T> pattern

* use implicit default for nullable

* don't forget to resolve the AnomalyComponent...

* Add comment for StartSupercriticalEvent "ent" parameter

* use implicit casts from Entity<T> to EntityUid

* StartSupercriticalEvent requires AnomalyComponent to resolve
2025-04-08 19:11:32 +10:00
PJBot
5cc8b01e64 Automatic changelog update 2025-04-08 08:24:22 +00:00
K-Dynamic
5b4e3b46a6 New security box fills, renamed and replaced sechud box icon (#35057)
* secglasses and sechud icons, new box fills

* sunglasses box

* fixes indentation
2025-04-08 10:23:12 +02:00
Radezolid
8da64c127a Make FlammableTileReaction additive instead of multiplicative. (#36387)
Make FlammableTileReaction additive
2025-04-08 09:44:52 +03:00
Tayrtahn
3e98f1699d Make spam delivery headers easier to reuse (#36332)
Convert nanotrasen, syndicate, and alternate timeline nanotrasen headers into reusable terms
2025-04-08 00:33:10 +02:00
slarticodefast
50bbb1c101 predict IgnitionSourceComponent (#36310)
* PREDICTION

* comment

* don't overwrite event args

* totally not a web edit

* intn't
2025-04-06 17:54:47 -07:00
Tayrtahn
8d8c1e4dae Make RandomMetadata properly support localization (#36343)
* Make _outputSegments readonly

* Remove mystery character

* Use Fluent instead of string concatenation

* Adjust format

* Convert existing content

* Don't need these anymore

* Docs
2025-04-06 11:12:39 -07:00
PJBot
e88371b23b Automatic changelog update 2025-04-06 12:11:24 +00:00
ScarKy0
9e299a1053 Allow Aghosts to load biomes. (#36325)
* init

* review
2025-04-06 14:10:17 +02:00
PJBot
92c9653801 Automatic changelog update 2025-04-06 08:32:13 +00:00
Minemoder5000
7c84ff1a93 Make Health Analyzer scan range nullable and adjust admin PDA (#36347)
* Modify .cs and admin pda

* enhance comment
2025-04-06 10:31:06 +02:00
PJBot
fe7814c94b Automatic changelog update 2025-04-06 06:49:26 +00:00
RedBookcase
b5616d22a9 Salvage melee weapon tweaks (#35914)
* Minor salvage melee tweaks.

* Minor salvage melee tweaks.

---------

Co-authored-by: RedBookcase <Usualmoves@gmail.com>
2025-04-05 23:48:18 -07:00
github-actions[bot]
87c7305c41 Update Credits (#36337)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2025-04-06 02:37:26 +02:00
PJBot
45c9e10d20 Automatic changelog update 2025-04-05 21:06:49 +00:00
ArtisticRoomba
9b86624d30 Fix blocked UI interaction on unpowered devices (#36319)
init
2025-04-05 23:05:42 +02:00
PJBot
7f96f82603 Automatic changelog update 2025-04-05 20:22:18 +00:00
Phil
f7b32d9226 Remove toxins from the chemical synthesis kit description (#36323)
Alter the description of the chemical synthesis kit to no longer include any false hopes of toxins
2025-04-05 22:21:10 +02:00
Emisse
0a8072db30 Elkridge - AI update and maints expansion + fixes (#36151) 2025-04-05 11:30:13 -06:00
UpAndLeaves
d083842f1f Centcomm death rattle implant (#36113)
* behold!

* minor name change 👍

* Remove fields 👍

* Changes it to parent off DeathRattleImplant

* Adds implants round start and fixes hypothetical bug

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

As per slarticodefast's suggestion

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

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-04-05 09:21:10 -07:00
deltanedas
67a9809a5e remove evil shitcode from randommetadata (#36324)
* remove evil

* fix non-localizeddataset uses

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2025-04-05 17:56:22 +02:00
Ed
e6180da35c Displacement Map Visualizer update (#35952)
Update Displacement Map Visualizer.lua
2025-04-05 15:51:59 +03:00
slarticodefast
aa24066450 move DeviceLinking events to shared (#36307)
move events
2025-04-05 14:20:14 +02:00
ScarKy0
890d4339d1 Add additional Biome Markers. (#36300)
* init

* slight value tweaks

* few more
2025-04-05 14:03:19 +02:00
PJBot
371e28f22f Automatic changelog update 2025-04-05 09:40:07 +00:00
SlamBamActionman
cb03ea3d0b Reduce storage implant to a 2x L shape/6 slots (#36272)
Change subdermal implant
2025-04-05 11:38:58 +02:00
KamTheSythe
0a229f5abf Remove "SHUTTLES" from the allergy list in ion_storm.yml (#36317)
with accordance pull 35751, removes the "SHUTTLES" as a possible allergy to prevent possible round stall
2025-04-05 11:00:19 +02:00
Deerstop
ccb884f141 removed mapinit and mappaused components 2025-04-05 18:59:19 +11:00
Super
033712e34b Typo fix in Syndicate agent locale resources (#36318)
* "discretely" corrected to "discreetly"

* how did it happen twice
2025-04-05 09:36:00 +02:00
Emisse
ce988bfe7c Update Oasis (#36178) 2025-04-05 01:24:54 -06:00
Deerstop
c2fc62e3b3 maints insuls, more meteor shielding 2025-04-05 17:35:21 +11:00
Deerstop
aa6cfa40a6 Merge branch 'space-wizards:master' into elk-new 2025-04-05 16:37:06 +11:00
PJBot
a4ba5ff408 Automatic changelog update 2025-04-05 03:23:21 +00:00
āda
f66fd152cf Add 10u of plasma to SyndieJuice (#36280)
Gift for the agent
2025-04-04 20:22:12 -07:00
BWTCK
6ed0644fc0 Fix shutter construction ghost rotation (#36082)
* Fixed shutter construction frame not aligning with construction ghost

* removed metadata change that should be in a different PR
2025-04-04 20:00:47 -07:00
J
af9526197a Extracts magic strings from Tag calls (#36305)
* Extracts magic strings from Tag calls

When #36281 gets merged, the `TagSystem` methods will all give warnings. Let's fix those warnings before they even happen!

* Adds missing libraries

* Remove not yet implemented TagSystem changes

* Fix tag spelling error

Genuinely surprised there was only 1!

* Styling and proper type changes

* Styling

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

---------

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
2025-04-04 20:20:19 -04:00
PJBot
e58ab56e42 Automatic changelog update 2025-04-04 20:25:11 +00:00
ScarKy0
9993cf8227 Antagonist roles now require 1h playtime. (#36276)
* init

* whitespace
2025-04-04 22:24:04 +02:00
Myra
fe1664b46d IPIntel now rounds to 2 decimal points (#36298)
* IPIntel now rounds to 2 decimal points

* Nvm i understood what pjb wanted now
2025-04-04 20:42:13 +02:00
metalgearsloth
d844ec250e Remove embed mispredict (#36297)
* Remove embed mispredict

I don't know why this is here but it doesn't seem to cause issues and transforms should be fully predicted so if there are bugs I will deal with them as they come up.

* a
2025-04-04 19:49:21 +02:00
PJBot
be809b9f65 Automatic changelog update 2025-04-04 17:48:06 +00:00
Tayrtahn
6000855bb2 Fix ninjas not being able to hack criminal records (#36299)
Index reason placeholders prototype as a LocalizedDataset
2025-04-04 19:46:59 +02:00
PJBot
b72674e738 Automatic changelog update 2025-04-04 15:57:37 +00:00
TheBlueYowie
21bad6ade1 Rotate Adv Mineral Scanner in Inventory (#36294) 2025-04-04 08:56:30 -07:00
PJBot
ed4d709c9e Automatic changelog update 2025-04-04 15:37:35 +00:00
lzk
4e33a288d2 fix implanting borgs and bots (#36218)
* fix implanting borgs

* fix
2025-04-04 17:36:28 +02:00
metalgearsloth
b501026dcd Mob collision tweaks (#36296)
* Mob collision tweaks

- Remove the dot product default so moving also pops it.
- Cleanup the cvars so admins can adjust

* Gas canister revert
2025-04-04 17:14:04 +02:00
metalgearsloth
593804b517 Mob collisions (#34580)
* Conveyor optimisations

- Optimise movement for moving stuff. Better flags + less resolves + slapped parallelrobustjob on it.
- Sleeping for entities getting conveyed into walls.

* Blocker version

* Finish

* Final

* Mob collisions

* impulses

* Collision smoothing

* Locked in

* 30tps working

* r

* fixes

* Best

* Fixes + CVars

* CVars in place

* Pushies

* Opt attempt 1

* Revert "Opt attempt 1"

This reverts commit 5ccd72dcbea09261a992aa1f7f05df169a1ce676.

* Fix mispredicts

* Ready-ish

* better

* Cleanup

* Fix conveyor power mispredict

* Forgetting to actually do deltas

* Fix buckle pushes

* Bagel save

* Revert "Bagel save"

This reverts commit 1b93fda81fb852d89b89b0beae0b80f8a61165f2.

* Conveyor resave

* Fix prediction

* Mob movement rewrite

* Bandaid

* Working version

* Tentatively working

* Friction to fix cornering

* More fixes

* Revert bagel

* Revert this

* Bad parity

* Working

* Fixes

* Woops

* Doc comments

* Pen cap cvar

* StandingState cleanup and sub

* Fix downed mobs

* fish

* client

* Disable pushing on tests

* More variables

* Movement mods

* Mass diff

* 1 more tweak

* Cvar
2025-04-05 00:33:52 +11:00
PJBot
ba2a89ecfc Automatic changelog update 2025-04-04 13:13:11 +00:00
K-Dynamic
dfbcfaf45d Add PKA and PTK-800 shuttle gun recipes to sec techfab (#34566)
* add Magboots and PKA to sec lathe

* add kinetic shuttle gun to sec lathe

* use pack recipe

* remove magboot from prior commit
2025-04-04 15:12:04 +02:00
Tayrtahn
d295aed791 Fix loc issues with suicide popup (#36284) 2025-04-04 11:41:21 +02:00
ScarKy0
14b9afff67 Stable merge (#36291) 2025-04-04 11:30:40 +02:00
SlamBamActionman
444ef029bc [Hotfix] Change ID card console admin log severity to Medium (#36283)
It's that simple
2025-04-04 11:18:02 +02:00
Tayrtahn
5a25ef08b1 Fix loc issues with syringes (#36285)
Fix injector loc issues
2025-04-03 18:28:26 -07:00
PJBot
5d8e0bf954 Automatic changelog update 2025-04-03 22:25:39 +00:00
Luna "YuNii" Henrich
db62336618 Stop ghosts from being logged to Airlocks (#36261)
* stop ghosts from being logged

* thanks rider for the random import

* add new tag PreventAccessLogging

* once again removing random auto imports

* inverted if for code readability

* switch to ProtoId<> usage
2025-04-04 00:24:30 +02:00
scrivoy
748e4719eb Merge branch 'master' into meta-remove-wizard-robes 2025-04-03 23:17:14 +02:00
PJBot
f2391cbcc9 Automatic changelog update 2025-04-03 14:46:11 +00:00
Whatstone
983cf150e0 Recipes for curtains and tables using carpets now respect stacks. (#33721)
* Carpet curtain/table recipes now respect stacks

* remove unused colour carpet tags

* Remove the tags outright
2025-04-03 17:45:04 +03:00
PJBot
c877941aba Automatic changelog update 2025-04-03 06:59:12 +00:00
pathetic meowmeow
e9b89a1c6b Improve sprite fading behaviour (#35863)
* Click through faded sprites

* Count the mouse position for which sprites to fade
2025-04-03 09:58:05 +03:00
scrivoy
5d62d60749 add two fake wizard hats 2025-04-03 08:35:22 +02:00
scrivoy
cea942db7f Merge branch 'master' into meta-remove-wizard-robes 2025-04-03 08:32:40 +02:00
PJBot
ce53629f1d Automatic changelog update 2025-04-03 06:31:00 +00:00
āda
4c73dcc2c8 Diphenhydramine causes drowsiness (#36212)
* nap time in medbay

* suggested changes

* fake test fail
2025-04-02 23:29:52 -07:00
Polter
b2f7196e26 Change the name and description of the templar helmet. (#36258)
Changed the name and description of the knight helmet.

Co-authored-by: Flesh <N/A>
2025-04-02 23:03:36 -07:00
metalgearsloth
8ad7c9c281 Add autocomplete to controlmob (#36234)
Expensive for what it is just really annoying in debug to not have it. Worst case I just make it debug only and we don't add it for release.
2025-04-03 05:32:14 +02:00
Tayrtahn
8007a4ebf7 Fix a few loc bugs with magic mirror/scissors (#36269)
* Use identity for magic mirror popups

* THE()

* Use correct pronouns in blocked-by-hat message
2025-04-03 05:30:30 +02:00
Tayrtahn
e4d7f164f6 Localize air alarm states (#36266) 2025-04-02 19:38:26 -07:00
Tayrtahn
bb864f2b56 Fix entities burning to ash not using identity, and bad formatting (#36268)
* Make burning to ash use identity

* CAPITALIZE(THE())
2025-04-03 04:02:09 +02:00
J
7e4cf87820 NPC Warnings cleanup (#36189)
* NPC Warnings cleanup

* Reverting unnecessary changes

* Reverting unnecessary changes, missed

* Using entity GetGrid override instead
2025-04-02 17:12:25 -07:00
Tayrtahn
7f781e7bda Convert AgentIDCard message to use a Fluent selector (#36263)
Convert AgentIDCard message to use a selector
2025-04-02 16:26:36 -07:00
Myra
5d37e77e57 [Stable merge] :3 (#36264) 2025-04-02 23:57:33 +02:00
Vasilis The Pikachu
933984fe6f :3
This is so we can publish stable again
2025-04-02 23:55:10 +02:00
PJBot
b72a9170b0 Automatic changelog update 2025-04-02 18:38:43 +00:00
qwerltaz
b204fd9b0e add: Dragon rift color changes based on charge (#36216)
* use dragon rift sprite colours

* Entity<T>
2025-04-02 14:37:34 -04:00
PJBot
e920558bb6 Automatic changelog update 2025-04-02 16:12:41 +00:00
Fildrance
3f8deb7aa4 fix: re-add missing RCD deconstruct action #36243 (#36255)
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
2025-04-02 18:11:34 +02:00
Kirby
8548e062ed Light replacer description typo fix (#36256)
Replacer description typo fix
2025-04-02 12:42:05 +02:00
Deerstop
c78b8a806a Merge branch 'space-wizards:master' into elk-new 2025-04-02 17:12:10 +11:00
Tayrtahn
93df56ac16 Fix "other player points at you" message formatting (#36253)
Fix "other player points at you" message's Fluent functions
2025-04-01 22:40:49 -07:00
Tayrtahn
593a8fe869 Fix KeyNotFoundException that sometimes happens on server shutdown (#36221) 2025-04-01 23:11:15 -04:00
PJBot
3dba0d2159 Automatic changelog update 2025-04-01 23:28:01 +00:00
MisterImp
899d318f01 New food recipe: World Peazza (#35191)
* added world peazza

* fixed a comma in the pizza sprite json

* changed attribution comment on ArtisticRoomba's suggestion

* restored accidentally deleted line, thanks Tayrtahn
2025-04-01 16:26:53 -07:00
J
3192a7fde5 Rotation warnings cleanup (#36197)
* Rotation warnings cleanup

* Naming convention fix

* Adding component that we already have
2025-04-01 23:56:37 +02:00
Radezolid
4cf14211f9 Move medical locker fills to entityTables (#36249)
* Added tables + moved things to EntityTableContainerFill

* YAML convention
2025-04-01 23:55:43 +02:00
scrivoy
be50544252 remove wizard robes 2025-04-01 22:30:38 +02:00
PJBot
2cc93e23e2 Automatic changelog update 2025-04-01 16:44:28 +00:00
Tayrtahn
c8fe3651e5 Add prediction to electric grills (#36241)
* Prediction for EntityHeaterSystem

* Switch to Entity<T>

* meh

* Move popup inside ChangeSetting

* Fix grill visually turning on when changing setting while power is off

* Add note about my failed quest

* Why isn't this an IDE warning?

* Move comment above switch expression in SettingPower
2025-04-01 09:43:19 -07:00
Deerstop
212cafcf14 more maints, new AI, xenobiology, etc, ect 2025-04-01 23:29:02 +11:00
PJBot
3c24f21607 Automatic changelog update 2025-03-31 22:33:39 +00:00
ScarKy0
115313dded Undetermined thieving satchel (#36201)
* yippee!

* no toolboxes allowed

* sprite, descriptions
2025-03-31 15:32:31 -07:00
PJBot
2688a867df Automatic changelog update 2025-03-31 22:01:13 +00:00
Tayrtahn
d2ad6cdcaa Rework the way held items scatter when holder is knocked down (#36232)
* Redo drop held items math

* Don't assume the holder has a PhysicsComponent

* Assume infinite mass for held items with no PhysicsComponent

* Switch to EntityQuery for PhysicsComponent

* The micro-est of optimizations

* use NextAngle

* Might as well do that outside the loop
2025-03-31 15:00:04 -07:00
Tayrtahn
d6dad24db8 Localize and colorize grill temperature settings (#36236)
* Make it easier to localize grill heat level settings

* Change examine text color based on setting

* Trailing periods

* Use Fluent terms to reduce duplication
2025-03-31 14:56:06 -07:00
YoungThug
f01c6e9b37 Holoparasite injector fix (#36109)
* HoloParaTextFix

* PleaseSpeedMergeLmao

* ThankYouOrks

* Update Resources/Locale/en-US/guardian/guardian.ftl

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

* Update Content.Server/Guardian/GuardianSystem.cs

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

* Update Content.Server/Guardian/GuardianSystem.cs

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

---------

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
2025-03-31 17:18:21 -04:00
J
3c3cf1d867 Light warnings cleanup (#36195)
* Light warnings cleanup

* Using EntitySystem Proxy overrides

* New TryComp guards for light animations

* Reverting guards when not wanted
2025-03-31 20:25:00 +02:00
slarticodefast
b980c509f9 delete PolymorphOnCollideComponent (#36227)
delete component
2025-03-31 17:45:18 +02:00
Fildrance
19f3497b35 refactor: simple radial menu for easier creation (#34639)
* it works! kinda

* so it works now

* minor cleanup

* central button now is useful too

* more cleanup

* minor cleanup

* more cleanup

* refactor: migrated code from toolbox (as it was rejected as too specific)

* feat: moved border drawing for radial menu into RadialMenuTextureButton. Radial menu position setting into was moved to OverrideArrange to not being called on every frame

* refactor: major reworks!

* renamed DrawBagleSector to DrawAnnulusSector

* Remove strange indexing

* Regularize math

* refactor: re-orienting segment elements to be Y-mirrored

* refactor: extracted radial menu radius multiplier property, changed color pallet for radial menu button

* refactor: removed icon backgrounds on textures used in current radial menu buttons with sectors, RadialContainer Radius renamed and now actually changed control radius.

* refactor: in RadialMenuTextureButtonWithSector all sector colors are converted to and from sRGB in property getter-setters

* refactor: renamed srgb to include Srgb suffix so devs gonna see that its srgb clearly

* fix: enabled any functional keys pressed when pushing radial menu buttons

* fix: radial menu sector now scales with UIScale

* fix: accept only one event when clicking on radial menu ContextualButton

* fix: now radial menu buttons accepts only click/alt-click, now clicks outside menu closes menu always

* feat: simple radial menu prototype for easier creation

* refactor: cleanup, restored emote filtering, button models now have class hierarchy

* refactor: remove usage of closure from 'outside code'

* refactor: remove non existing type from UiControlTest

* refactor: remove unused using

* refactor: revert ability to declare radial menu layers in xaml, scale 32px sprites using scale in radial menu

* refactor: whitespaces

* refactor: subscribe for dispose on existing radial menus

* feat: now simple radial menu button models can have custom color for each sector background (and hover background color). Also added OpenOverMouseScreenPosition inside SimpleRadialMenu

* fix: AI door menu now can be closed by verb if it gets unpowered

* refactor: simplify hiding border, extended xml-doc for simple radial menu settings

* refactor: remove linq

* fix: fix AI radial action serialization using invalid type

* refactor: fix duplicate ShowDeviceNotRespondingPopup for AI by properly checking if it can interact

* refactor: whitespaces, changed list to array in simple radial button preparing methods

---------

Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
2025-03-31 12:57:47 +03:00
PJBot
86e4365438 Automatic changelog update 2025-03-31 02:28:17 +00:00
beck-thompson
fc0a6dfdb3 Cleanup and small update to the stethoscope! (#36210)
* First commit

* Address most of the review!
2025-03-30 22:27:08 -04:00
J
66e2b0ab64 Gameticking warnings cleanup (#36193) 2025-03-30 18:29:32 +02:00
Myra
3fbc50f787 Stable merge (#36192) 2025-03-30 17:44:14 +02:00
Milon
89e59b391d use manual component state for BaseEmitSoundComponent (#35030)
* why

* cursed
2025-03-31 00:41:11 +11:00
J
47f8aefc25 Anomaly warnings cleanup (#36188) 2025-03-30 15:16:46 +02:00
J
4f848e814f Movement systems warning cleanup (#36161)
* Movement systems warning cleanup

* Revert unnecessary change

* Reverting variable removal and changing entity query

* Reverting VV removals

* LocalEntity does in fact exist
2025-03-30 15:06:20 +02:00
J
504e70be2b Chemistry warnings cleanup (#36160)
* Chemistry warnings cleanup

* Fixing failed ITest

* Better entity instantiation

* Caching spritesystem and entity instantiation improvement

* Correcting naming conventions

* Rearranging dependency caching
2025-03-30 14:07:34 +02:00
J
0180a9db50 Examine warnings cleanup (#36162)
* Examine warnings cleanup

* Revert unnecessary change

* SpriteSystem naming conventions
2025-03-30 14:06:43 +02:00
K-Dynamic
1f1cf06978 More responsive votekick system (reduce timer and successive timeout) (#36044)
* reduce votekick timer from 60 to 20 seconds

* votekick timeout from 120 to 30 seconds

* votekick timer duration from 20 seconds to 45, successive votekick timeout from 30 to 60 seconds
2025-03-30 14:00:43 +02:00
metalgearsloth
085e28dd00 Fix LoadGameMap running MapInit sometimes (#35241)
The map loadpath keeps it as not being mapinit but the grid one does not so this standardises them slightly.
2025-03-30 09:06:24 +02:00
Avery Dobbins
918e7c33f8 One day Im gonna snap and fix a bug 2025-03-30 02:39:46 -04:00
metalgearsloth
0ff70fdb40 Implement field-deltas for melee (#33977)
* Implement field-deltas for melee

* Review
2025-03-30 16:02:45 +11:00
PJBot
b1f542a54c Automatic changelog update 2025-03-30 04:07:08 +00:00
metalgearsloth
ef11f96344 Better jetpack emitter (#36093)
* Better jetpack emitter

Still need particles this just tilts me whenever I see it.

* Update Resources/Prototypes/Entities/Objects/Tools/jetpacks.yml

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

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-03-30 15:06:01 +11:00
Avery Dobbins
9d023c305f Update oasis 2025-03-29 23:59:11 -04:00
chromiumboy
d9b8c0a28f Draw depth bug fix for sentry turrets (#36175)
Initial commit
2025-03-30 14:58:05 +11:00
github-actions[bot]
0ea3792c56 Update Credits (#36172)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2025-03-30 03:29:30 +02:00
J
6a79c247e3 Fix some atmos warnings (#36157) 2025-03-29 18:12:14 -07:00
J
2f58fdf1e1 Remove warnings from cargo system (#36159)
* Remove warnings from cargo system

* Guard statement early exit and cleaner object instantiation

* Whitespace

* Add AnimationPlayer as a component of telepads
2025-03-30 03:11:04 +02:00
J
99e675c506 Mapping warnings cleanup (#36168)
* Mapping warnings cleanup

* Redo
2025-03-30 03:05:22 +02:00
PJBot
41f4d93a15 Automatic changelog update 2025-03-29 20:10:41 +00:00
Killerqu00
8d7b21988b Shove down a person on uncuff if harm mode is on (#35193)
* stamdamage on uncuff while buckled

* pro tip

* 99 -> 100 stamdmg and don't count self-uncuffs

* review implementation

* tip update

* guidebook update

* merg
2025-03-29 21:09:34 +01:00
PJBot
6102d3f0ed Automatic changelog update 2025-03-29 17:57:06 +00:00
chromiumboy
dfd3e36a0a Sentry turrets - Part 4: The sentry turret and its primary systems (#35123)
* Initial commit

* Removed mention of StationAiTurretComponent (for now)

* Prep for moving out of draft

* Fixing merge conflict

* Re-added new net frequencies to AI turrets

* Removed turret control content

* Removed unintended change

* Final tweaks

* Fixed incorrect file name

* Improvement to fire mode handling

* Addressed review comments

* Updated how turret wire panel auto-closing is handled

* Ranged NPCs no longer waste shots on stunned targets

* Fixed bug in tracking broken state

* Addressed review comments

* Bug fix

* Removed unnecessary event call
2025-03-29 12:55:58 -05:00
Tayrtahn
587afe7598 Delete AccessReaderTest.TestTags (#36153) 2025-03-29 15:45:37 +01:00
Deerstop
9e9fdc0b07 new courtroom, better signage, fixed uncleanable dirt, more 2025-03-30 00:28:06 +11:00
UBlueberry
489f91dafd "I'm Weh-cellent" Cap (#28573)
* copy pasted fishcap.rsi

* added the sprites

* credited myself

* added it to the hats.yml list

* meh, make the spites look nicer

* hopefully this fixes that

* yeah that makes sense

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* that too

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-03-29 12:59:43 +01:00
PJBot
73bae8408c Automatic changelog update 2025-03-29 09:36:27 +00:00
James
a8e99ff65c Death Nettle changes (#25253)
* Added ThornyComponent, ThornyImmuneComponent, and ThornySystem, as well as changed Botanists glove's to have the ThornyImmuneComponent, and for Death Nettle to have the ThornyComponent.

* Added heat damage to the player if they pickup nettle without gloves. Also displays a popup message .

* Revised OnHandPickUp method and reduced whitespace

* Touching death nettle without gloves now does damage split between heat and caustic, and does more damage.

* File-scoped namespace adherence

* Code revisions, and removal of old file.

* Removed thornyImmune key from botanist's gloves in gloves.yml for cleanup / yaml linter

* Adds new generic DamageOnPickup, still very WIP

* Starting on localization, removed _Notes.txt, adds immunity component

* Added OnPickupDamageImmune component to botanists gloves

* Removed botany specific components/system, moved to generic DamageOnPickup. Added code comments. Extra checks in component for whether to toss an item, damage an entity. Still WIP.

* changes to audio and popups

* Removes my system/component/ftl in favor of DamageOnInteract, tweaking values

* me stupid

* Death nettle will 'wilt' after 5 hits

* added interaction delay to stop spam clicking, added a 10% stun (paralyze) chance

* minor changes/cleanup

* more minor changes and cleanup

* Reduced maximum amatoxin within fly amanita spores.

* Readjusted to allow more than 5 amatoxin above 50 potency

* Remove Debug.Log statement from system

* Mark Death Nettle as major contraband.
2025-03-29 10:35:16 +01:00
Emisse
8f65144bb8 update box (#36144) 2025-03-29 01:20:13 -06:00
Emisse
d35259fe52 update fland (#36141) 2025-03-29 01:19:55 -06:00
Emisse
809dd07859 remove warden stamp mapped on meta (#36140) 2025-03-29 01:19:16 -06:00
Emisse
afdba66246 update man-o-war shuttle (#36139) 2025-03-29 01:18:33 -06:00
Emisse
2f7ec5c020 update emergency_meta (#36138) 2025-03-29 01:18:22 -06:00
Emisse
20a6027108 update emergency_courser (#36137) 2025-03-29 01:18:07 -06:00
Emisse
a036becc08 convex update (#36136) 2025-03-29 01:17:58 -06:00
ArtisticRoomba
9c110e1384 oops 2025-03-28 22:14:12 -07:00
ArtisticRoomba
903f502f23 le heisentest au chocolat 2025-03-28 22:02:26 -07:00
ArtisticRoomba
18e9859a73 another one 2025-03-28 22:00:42 -07:00
ArtisticRoomba
653aabe91a update box 2025-03-28 21:49:48 -07:00
ArtisticRoomba
feb3d599a7 sure 2025-03-28 21:11:27 -07:00
ArtisticRoomba
626832b11c update fland 2025-03-28 20:57:36 -07:00
ArtisticRoomba
1a4f6d43dd me waiting 2025-03-28 20:39:59 -07:00
ArtisticRoomba
8ab9ddf603 remove warden stamp mapped on meta 2025-03-28 20:28:09 -07:00
ArtisticRoomba
b9b48ec918 update man-o-war shuttle 2025-03-28 20:20:50 -07:00
ArtisticRoomba
16c426904e update emergency_meta 2025-03-28 20:10:37 -07:00
ArtisticRoomba
9617553f50 update emergency_courser 2025-03-28 20:04:09 -07:00
ArtisticRoomba
b5b30e4dbf convex update 2025-03-28 18:27:29 -07:00
Tayrtahn
99484ad744 Make ContainerFillSystem print contents on failure (#36128)
* Make ContainerFill/EntityTableContainerFill print current contents when failing to spawn an entity

* List each entry on a new line; add fallback for empty
2025-03-28 16:37:34 +01:00
Tayrtahn
b9517fcbe8 Fix embedded projectile deletion not being tracked by container (#36123)
* Remove deleted projectiles from the container tracking them

* Gotta dirty the container

* Remove the container component when all embedded projectiles are gone

* Add test

* No clientside deletion of networked entities

* Move cleanup logic before deletion
2025-03-28 11:43:13 +03:00
Milon
92a3fd99ca Fix gas pressure pump prediction (#35865)
* ACTUALLY predict gas pumps

* generic fake

* aaaaaaaaaaaaa
2025-03-28 10:42:16 +11:00
Errant
ea785da1b2 Unhardcode role type names and colors within localization text (#36096)
* localize role type names within localization text

* also unhardcode colors

* comment

* typo
2025-03-28 00:34:20 +01:00
PJBot
b38a341ac9 Automatic changelog update 2025-03-27 22:30:10 +00:00
metalgearsloth
948588399c Mob movement rewrite (#35931)
* Conveyor optimisations

- Optimise movement for moving stuff. Better flags + less resolves + slapped parallelrobustjob on it.
- Sleeping for entities getting conveyed into walls.

* Blocker version

* Finish

* Final

* Fix conveyor power mispredict

* Bagel save

* Revert "Bagel save"

This reverts commit 1b93fda81fb852d89b89b0beae0b80f8a61165f2.

* Conveyor resave

* Fix prediction

* Mob movement rewrite

* Bandaid

* Working version

* Tentatively working

* Friction to fix cornering

* More fixes

* Revert bagel

* Revert this

* a

* Reviewed

* Funky re-save

* Fix velocity

* Table fix

* Review

* a
2025-03-28 09:29:02 +11:00
14381 changed files with 1228327 additions and 1721219 deletions

View File

@@ -77,6 +77,8 @@ csharp_style_expression_bodied_methods = false:suggestion
#csharp_style_expression_bodied_operators = false:silent
csharp_style_expression_bodied_properties = true:suggestion
csharp_style_namespace_declarations = file_scoped:suggestion
# Pattern matching preferences
#csharp_style_pattern_matching_over_as_with_null_check = true:suggestion
#csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion
@@ -127,6 +129,7 @@ csharp_indent_braces = false
#csharp_indent_case_contents_when_block = true
#csharp_indent_labels = one_less_than_current
csharp_indent_switch_labels = true
xmldoc_indent_text = zeroindent
# Space preferences
csharp_space_after_cast = false

47
.github/CODEOWNERS vendored
View File

@@ -1,45 +1,2 @@
# Last match in file takes precedence.
# Sorting by path instead of by who added it one day :(
# this isn't how codeowners rules work pls read the first comment instead of trying to force a sorting order
/Resources/ConfigPresets/WizardsDen/ @nikthechampiongr @crazybrain23
/Content.*/Administration/ @DrSmugleaf @nikthechampiongr @crazybrain23
/Resources/ServerInfo/ @nikthechampiongr @crazybrain23
/Resources/ServerInfo/Guidebook/ServerRules/ @nikthechampiongr @crazybrain23
/Resources/Prototypes/Maps/** @Emisse
/Resources/Prototypes/Body/ @DrSmugleaf # suffering
/Resources/Prototypes/Entities/Mobs/Player/ @DrSmugleaf
/Resources/Prototypes/Entities/Mobs/Species/ @DrSmugleaf
/Resources/Prototypes/Guidebook/rules.yml @nikthechampiongr @crazybrain23
/Content.*/Body/ @DrSmugleaf
/Content.YAMLLinter @DrSmugleaf
/Content.Shared/Damage/ @DrSmugleaf
/Content.*/Anomaly/ @TheShuEd
/Resources/Prototypes/Entities/Structures/Specific/anomalies.yml @TheShuEd
/Content.*/Forensics/ @ficcialfaint
# SKREEEE
/Content.*.Database/ @PJB3005 @DrSmugleaf
/Content.Shared.Database/Log*.cs @PJB3005 @DrSmugleaf @nikthechampiongr @crazybrain23
/Pow3r/ @PJB3005
/Content.Server/Power/Pow3r/ @PJB3005
# notafet
/Content.*/Atmos/ @Partmedia
/Content.*/Botany/ @Partmedia
# Jezi
/Content.*/Medical @Jezithyr
/Content.*/Body @Jezithyr
# Sloth
/Content.*/Audio @metalgearsloth
/Content.*/Movement @metalgearsloth
/Content.*/NPC @metalgearsloth
/Content.*/Shuttles @metalgearsloth
/Content.*/Weapons @metalgearsloth
# TheShuEd
* @TheShuEd

View File

@@ -1,7 +0,0 @@
contact_links:
- name: Report a Security Vulnerability
url: https://github.com/space-wizards/space-station-14/blob/master/SECURITY.md
about: Please report security vulnerabilities privately so we can fix them before they are publicly disclosed.
- name: Request a Feature
url: https://discord.gg/rGvu9hKffJ
about: Submit feature requests on our Discord server (https://discord.gg/rGvu9hKffJ).

View File

@@ -0,0 +1,28 @@
name: "Request content or suggest an idea"
description: "Suggest content, mechanics, or other changes that you think would benefit the project."
labels: [suggestion]
type: Suggestion
body:
- type: textarea
id: concept
attributes:
label: Concept
placeholder: |
What is the nature of your proposal?
Example:
Add a new role ____ that performs tasks related to ____ and ____.
validations:
required: true
- type: textarea
id: motivation
attributes:
label: Why is this necessary?
placeholder: |
Explain how it would improve the game, or what problems it would fix. Suggestions without proper reasoning and reasons for the addition may be closed.
Example:
Currently, ____ often occurs in the round, which is why ____ is missing. This role could close this need by doing _____.
validations:
required: true

View File

@@ -0,0 +1,28 @@
name: "Запросить контент или предложить идею"
description: "Предложите контент, механику или другие изменения, которые вы считаете принесут пользу проекту."
labels: [suggestion]
type: Suggestion
body:
- type: textarea
id: concept
attributes:
label: Концепция
placeholder: |
В чем заключается ваше предложение?
Пример:
Добавить новую роль ____, которая выполняет задачи связанные с ____ и ____.
validations:
required: true
- type: textarea
id: motivation
attributes:
label: Зачем это нужно?
placeholder: |
Объясните, как это улучшит игру, или какие проблемы это исправит. Предложения без должной аргументации и причины добавления могут быть закрыты.
Пример:
На текущий момент, в раунде часто происходит ____, из за чего не хватает ____. Эта роль могла бы закрыть эту потребность, выполняя _____.
validations:
required: true

View File

@@ -1,20 +0,0 @@
---
name: Report an Issue
about: "..."
title: ''
labels: ''
assignees: ''
---
## Description
<!-- Explain your issue in detail. Issues without proper explanation are liable to be closed by maintainers. -->
**Reproduction**
<!-- Include the steps to reproduce if applicable. -->
**Screenshots**
<!-- If applicable, add screenshots to help explain your problem. -->
**Additional context**
<!-- Add any other context about the problem here. Anything you think is related to the issue. -->

View File

@@ -0,0 +1,49 @@
name: "Report an Issue"
description: "Report a bug or problem you have found"
type: Bug
body:
- type: textarea
id: description
attributes:
label: "📄 Description"
description: |
Explain your issue in detail. Include what you expected to happen.
placeholder: |
When I click the "Save" button, nothing happens.
validations:
required: true
- type: textarea
id: steps
attributes:
label: "🔁 Reproduction Steps"
description: |
What steps lead to the problem? Try to list them clearly and precisely.
placeholder: |
1. Open the app
2. Go to Settings
3. Click "Save"
validations:
required: false
- type: textarea
id: screenshots
attributes:
label: "🖼️ Screenshots"
description: |
If applicable, add screenshots to help explain your problem.
placeholder: |
You can paste images here.
validations:
required: false
- type: textarea
id: context
attributes:
label: " Additional Context"
description: |
Any other context about the problem. Logs, version numbers, configs, etc.
placeholder: |
Occurs only on Android 11, using version 1.2.3.
validations:
required: false

View File

@@ -0,0 +1,50 @@
name: "Сообщить об ошибке"
description: "Сообщите о найденной ошибке или проблеме"
type: Bug
body:
- type: textarea
id: description
attributes:
label: "📄 Описание"
description: |
Подробно опишите вашу проблему. Укажите, что должно было произойти.
placeholder: |
Когда я нажимаю на кнопку "Сохранить", ничего не происходит, и персонаж не сохраняется.
validations:
required: true
- type: textarea
id: steps
attributes:
label: "🔁 Шаги воспроизведения"
description: |
Какие шаги приводят к этой ошибке? Укажите их по порядку.
placeholder: |
1. Открыть приложение
2. Зайти в меню создания персонажа
3. Изменить цвет волос
4. Нажать "Сохранить"
validations:
required: false
- type: textarea
id: screenshots
attributes:
label: "🖼️ Скриншоты"
description: |
При наличии, добавьте скриншоты или изображения.
placeholder: |
Вы можете вставить изображения прямо сюда.
validations:
required: false
- type: textarea
id: context
attributes:
label: "ℹ️Дополнительная информация"
description: |
Дополнительные сведения: логи, версии, настройки и всё, что может быть связано.
placeholder: |
Возникает только на MacOS
validations:
required: false

View File

@@ -1,18 +0,0 @@
---
name: Toolshed feature request
about: Suggest a feature for Toolshed (for game admins/developers)
title: "[TOOLSHED REQUEST]"
labels: Toolshed
assignees: moonheart08
---
**Is your feature request related to a problem/bug? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the command you'd like**
A clear and concise description of what you want and what it should do.
If you're a technical user (i.e. programmer) including type signatures is helpful.
**Additional context**
Add any other context or screenshots about the feature request here.

View File

@@ -1,17 +1,23 @@
## About the PR
<!-- What did you change in this PR? -->
<!-- Что вы изменили в своем пулл реквесте? -->
## Why / Balance
<!-- Why was it changed? Link any discussions or issues here. Please discuss how this would affect game balance. -->
<!-- Зачем нужно это изменение? Прикрепите любые обсуждения или проблемы здесь. Опишите, как это повлияет на текущий баланс игры. -->
## Media
<!--
PRs which make ingame changes (adding clothing, items, new features, etc) are required to have media attached that showcase the changes.
Small fixes/refactors are exempt.
-->
<!--
Пулл реквесты, которые несут за собой игровые изменения (добавления одежды, предметов и так далее) требуют чтобы вы прикрепили скриншоты или видеоролики, демонстрирующие эти изменения.
Небольшие исправления не считаются.
**Changelog**
<!-- Add a Changelog entry to make players aware of new features or changes that could affect gameplay.
Make sure to read the guidelines and take this Changelog template out of the comment block in order for it to show up.
Changelog must have a :cl: symbol, so the bot recognizes the changes and adds them to the game's changelog.
:cl:
- add: Added fun!
- remove: Removed fun!
- tweak: Changed fun!
- fix: Fixed fun!
-->

20
.github/labeler.yml vendored
View File

@@ -1,26 +1,34 @@
"Changes: Sprites":
"Sprites":
- changed-files:
- any-glob-to-any-file: '**/*.rsi/*.png'
"Changes: Map":
"Mapping":
- changed-files:
- any-glob-to-any-file:
- 'Resources/Maps/**/*.yml'
- 'Resources/Prototypes/Maps/**/*.yml'
"Changes: UI":
"UI":
- changed-files:
- any-glob-to-any-file: '**/*.xaml*'
"Changes: Shaders":
"Shaders":
- changed-files:
- any-glob-to-any-file: '**/*.swsl'
"Changes: Audio":
"Audio":
- changed-files:
- any-glob-to-any-file: '**/*.ogg'
"Changes: No C#":
"C#":
- changed-files:
- any-glob-to-any-file: '**/*.cs'
"YML":
- changed-files:
- any-glob-to-any-file: '**/*.yml'
"No C#":
- changed-files:
# Equiv to any-glob-to-all as long as this has one matcher. If ALL changed files are not C# files, then apply label.
- all-globs-to-all-files: "!**/*.cs"

View File

@@ -1,4 +1,4 @@
name: Publish
name: Edge Publish
concurrency:
group: publish
@@ -10,6 +10,15 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install Python dependencies
run: sudo apt-get install -y python3-paramiko python3-lxml
- name: Send POST-request
uses: appleboy/ssh-action@master
with:
@@ -18,3 +27,10 @@ jobs:
password: ${{ secrets.BUILD_PASS }}
port: 22
script: sh update.sh &> /dev/null
- name: Publish changelog (Discord)
continue-on-error: true
run: Tools/actions_changelogs_since_last_run.py
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
DISCORD_WEBHOOK_URL: ${{ secrets.CHANGELOG_DISCORD_WEBHOOK }}

View File

@@ -27,7 +27,7 @@ jobs:
run: dotnet restore
- name: Build Project
run: dotnet build --no-restore /p:WarningsAsErrors=nullable
run: dotnet build --no-restore
- name: Build DocFX
uses: nikeee/docfx-action@v1.0.0

View File

@@ -42,7 +42,7 @@ jobs:
run: dotnet restore
- name: Build Project
run: dotnet build Content.MapRenderer --configuration Release --no-restore /p:WarningsAsErrors=nullable /m
run: dotnet build Content.MapRenderer --configuration Release --no-restore /m
- name: Run Map Renderer
run: dotnet run --project Content.MapRenderer Dev

View File

@@ -42,7 +42,7 @@ jobs:
run: dotnet restore
- name: Build Project
run: dotnet build --configuration DebugOpt --no-restore /p:WarningsAsErrors=nullable /m
run: dotnet build --configuration DebugOpt --no-restore /m
- name: Run Content.Tests
run: dotnet test --no-build --configuration DebugOpt Content.Tests/Content.Tests.csproj -- NUnit.ConsoleOut=0

View File

@@ -12,7 +12,7 @@ jobs:
steps:
- uses: superbrothers/close-pull-request@v3
with:
comment: "Thank you for contributing to the Space Station 14 repository. Unfortunately, it looks like you submitted your pull request from the master branch. We suggest you follow [our git usage documentation](https://docs.spacestation14.com/en/general-development/setup/git-for-the-ss14-developer.html) \n\n You can move your current work from the master branch to another branch by doing `git branch <branch_name` and resetting the master branch."
comment: "Thank you for your contribution! It appears you created a PR from your master branch, this is [something you should avoid doing](https://jmeridth.com/posts/do-not-issue-pull-requests-from-your-master-branch/), and thus this PR has been automatically closed. \n \n We suggest you follow [our git usage documentation](https://docs.spacestation14.com/en/general-development/setup/git-for-the-ss14-developer.html). \n \n You can move your current work from the master branch to another branch by following [these commands](https://ohshitgit.com/#accidental-commit-master). And then you may recreate your PR using the new branch."
# If you prefer to just comment on the pr and not close it, uncomment the bellow and comment the above

View File

@@ -2,7 +2,7 @@
on:
pull_request_target:
types: [review_requested]
types: [review_requested, opened]
jobs:
add_label:

View File

@@ -2,6 +2,7 @@
concurrency:
group: publish-testing
cancel-in-progress: true
on:
workflow_dispatch:
@@ -33,7 +34,7 @@ jobs:
run: dotnet build Content.Packaging --configuration Release --no-restore /m
- name: Package server
run: dotnet run --project Content.Packaging server --platform win-x64 --platform linux-x64 --platform osx-x64 --platform linux-arm64
run: dotnet run --project Content.Packaging server --platform win-x64 --platform win-arm64 --platform linux-x64 --platform linux-arm64 --platform osx-x64 --platform osx-arm64
- name: Package client
run: dotnet run --project Content.Packaging client --no-wipe-release

View File

@@ -2,6 +2,7 @@ name: Publish
concurrency:
group: publish
cancel-in-progress: true
on:
workflow_dispatch:
@@ -13,6 +14,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Fail if we are attempting to run on the master branch
if: ${{GITHUB.REF_NAME == 'master' && github.repository == 'space-wizards/space-station-14'}}
run: exit 1
- name: Install dependencies
run: sudo apt-get install -y python3-paramiko python3-lxml
@@ -36,7 +41,7 @@ jobs:
run: dotnet build Content.Packaging --configuration Release --no-restore /m
- name: Package server
run: dotnet run --project Content.Packaging server --platform win-x64 --platform linux-x64 --platform osx-x64 --platform linux-arm64
run: dotnet run --project Content.Packaging server --platform win-x64 --platform win-arm64 --platform linux-x64 --platform linux-arm64 --platform osx-x64 --platform osx-arm64
- name: Package client
run: dotnet run --project Content.Packaging client --no-wipe-release
@@ -48,12 +53,14 @@ jobs:
GITHUB_REPOSITORY: ${{ vars.GITHUB_REPOSITORY }}
- name: Publish changelog (Discord)
continue-on-error: true
run: Tools/actions_changelogs_since_last_run.py
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
DISCORD_WEBHOOK_URL: ${{ secrets.CHANGELOG_DISCORD_WEBHOOK }}
- name: Publish changelog (RSS)
continue-on-error: true
run: Tools/actions_changelog_rss.py
env:
CHANGELOG_RSS_KEY: ${{ secrets.CHANGELOG_RSS_KEY }}

View File

@@ -60,7 +60,7 @@ jobs:
run: dotnet build Content.Packaging --configuration Release --no-restore /m
- name: Package server
run: dotnet run --project Content.Packaging server --platform win-x64 --platform linux-x64 --platform osx-x64 --platform linux-arm64
run: dotnet run --project Content.Packaging server --platform win-x64 --platform win-arm64 --platform linux-x64 --platform linux-arm64 --platform osx-x64 --platform osx-arm64
- name: Package client
run: dotnet run --project Content.Packaging client --no-wipe-release

44
.vscode/tasks.json vendored
View File

@@ -32,6 +32,50 @@
"/consoleloggerparameters:'ForceNoAlign;NoSummary'"
],
"problemMatcher": "$msCompile"
},
{
"label": "test",
"command": "dotnet",
"type": "shell",
"args": [
"test",
"--no-build",
"--configuration",
"DebugOpt",
"Content.Tests/Content.Tests.csproj",
"--",
"NUnit.ConsoleOut=0"
],
"group": {
"kind": "test"
},
"presentation": {
"reveal": "silent"
},
"problemMatcher": "$msCompile"
},
{
"label": "integration-test",
"command": "dotnet",
"type": "shell",
"args": [
"test",
"--no-build",
"--configuration",
"DebugOpt",
"Content.IntegrationTests/Content.IntegrationTests.csproj",
"--",
"NUnit.ConsoleOut=0",
"NUnit.MapWarningTo=Failed.ConsoleOut=0",
"NUnit.MapWarningTo=Failed"
],
"group": {
"kind": "test"
},
"presentation": {
"reveal": "silent"
},
"problemMatcher": "$msCompile"
}
]
}

View File

@@ -1,16 +1,19 @@
#!/usr/bin/env python3
# Installs git hooks, updates them, updates submodules, that kind of thing.
"""
Installs git hooks, updates them, updates submodules, that kind of thing.
"""
import subprocess
import sys
import os
import shutil
import subprocess
import sys
import time
from pathlib import Path
from typing import List
SOLUTION_PATH = Path("..") / "SpaceStation14.sln"
# If this doesn't match the saved version we overwrite them all.
CURRENT_HOOKS_VERSION = "2"
CURRENT_HOOKS_VERSION = "3"
QUIET = len(sys.argv) == 2 and sys.argv[1] == "--quiet"
@@ -24,12 +27,10 @@ def run_command(command: List[str], capture: bool = False) -> subprocess.Complet
sys.stdout.flush()
completed = None
if capture:
completed = subprocess.run(command, cwd="..", stdout=subprocess.PIPE)
completed = subprocess.run(command, stdout=subprocess.PIPE, text=True)
else:
completed = subprocess.run(command, cwd="..")
completed = subprocess.run(command)
if completed.returncode != 0:
print("Error: command exited with code {}!".format(completed.returncode))
@@ -42,7 +43,7 @@ def update_submodules():
Updates all submodules.
"""
if ('GITHUB_ACTIONS' in os.environ):
if 'GITHUB_ACTIONS' in os.environ:
return
if os.path.isfile("DISABLE_SUBMODULE_AUTOUPDATE"):
@@ -75,22 +76,21 @@ def install_hooks():
print("No hooks change detected.")
return
with open("INSTALLED_HOOKS_VERSION", "w") as f:
f.write(CURRENT_HOOKS_VERSION)
print("Hooks need updating.")
hooks_target_dir = Path("..")/".git"/"hooks"
hooks_target_dir = Path(run_command(["git", "rev-parse", "--git-path", "hooks"], True).stdout.strip())
hooks_source_dir = Path("hooks")
# Clear entire tree since we need to kill deleted files too.
for filename in os.listdir(str(hooks_target_dir)):
os.remove(str(hooks_target_dir/filename))
for filename in os.listdir(hooks_target_dir):
os.remove(hooks_target_dir / filename)
for filename in os.listdir(str(hooks_source_dir)):
for filename in os.listdir(hooks_source_dir):
print("Copying hook {}".format(filename))
shutil.copy2(str(hooks_source_dir/filename),
str(hooks_target_dir/filename))
shutil.copy2(hooks_source_dir / filename, hooks_target_dir / filename)
with open("INSTALLED_HOOKS_VERSION", "w") as f:
f.write(CURRENT_HOOKS_VERSION)
def reset_solution():
@@ -104,7 +104,20 @@ def reset_solution():
with SOLUTION_PATH.open("w") as f:
f.write(content)
def check_for_zip_download():
# Check if .git exists,
if run_command(["git", "rev-parse"]).returncode != 0:
print("It appears that you downloaded this repository directly from GitHub. (Using the .zip download option) \n"
"When downloading straight from GitHub, it leaves out important information that git needs to function. "
"Such as information to download the engine or even the ability to even be able to create contributions. \n"
"Please read and follow https://docs.spacestation14.com/en/general-development/setup/setting-up-a-development-environment.html \n"
"If you just want a Sandbox Server, you are following the wrong guide! You can download a premade server following the instructions here:"
"https://docs.spacestation14.com/en/general-development/setup/server-hosting-tutorial.html \n"
"Closing automatically in 30 seconds.")
time.sleep(30)
exit(1)
if __name__ == '__main__':
check_for_zip_download()
install_hooks()
update_submodules()

View File

@@ -1,10 +1,10 @@
#!/bin/bash
gitroot=`git rev-parse --show-toplevel`
gitroot=$(git rev-parse --show-toplevel)
cd "$gitroot/BuildChecker"
cd "$gitroot/BuildChecker" || exit
if [[ `uname` == MINGW* || `uname` == CYGWIN* ]]; then
if [[ $(uname) == MINGW* || $(uname) == CYGWIN* ]]; then
# Windows
py -3 git_helper.py --quiet
else

View File

@@ -1,5 +1,5 @@
#!/bin/bash
# Just call post-checkout since it does the same thing.
gitroot=`git rev-parse --show-toplevel`
bash "$gitroot/.git/hooks/post-checkout"
gitroot=$(git rev-parse --git-path hooks)
bash "$gitroot/post-checkout"

40
CODE_OF_CONDUCT.md Normal file
View File

@@ -0,0 +1,40 @@
# Space Station 14 Code of Conduct
Space Station 14's staff and community is made up volunteers from all over the world, working on every aspect of the project - including development, teaching, and hosting integral tools.
Diversity is one of our huge strengths, but it can also lead to communication issues and unhappiness. To that end, we have a few ground rules that we ask people to adhere to. This code applies equally to all levels of the project, from commenters to contributors to staff.
This isnt an exhaustive list of things that you cant do. Rather, take it in the spirit in which its intended - a guide to make it easier to enrich all of us and the technical communities in which we participate.
This code of conduct applies specifically to the Github repositories and its spaces managed by the Space Station 14 project or Space Wizards Federation. Some spaces, such as the Space Station 14 Discord or the official Wizard's Den game servers, have their own rules but are in spirit equal to what may be found in here.
If you believe someone is violating the code of conduct, we ask that you report it by contacting a Maintainer, Project Manager or Wizard staff member through [Discord](https://discord.ss14.io/), [the forums](https://forum.spacestation14.com/), or emailing [telecommunications@spacestation14.com](mailto:telecommunications@spacestation14.com).
- **Be friendly and patient.**
- **Be welcoming.** We strive to be a community that welcomes and supports people of all backgrounds and identities. This includes, but is not limited to members of any race, ethnicity, culture, national origin, colour, immigration status, social and economic class, educational level, sex, sexual orientation, gender identity and expression, age, size, family status, political belief, religion, and mental and physical ability.
- **Be considerate.** Your work will be used by other people, and you in turn will depend on the work of others. Any decision you take will affect users and contributors, and you should take those consequences into account when making decisions. Remember that we're a world-wide community, so you might not be communicating in someone else's primary language. We have contributors of all skill levels, some even making their first foray into a new field with this project, so keep that in mind when discussing someone's work.
- **Be respectful.** Not all of us will agree all the time, but disagreement is no excuse for poor behavior and poor manners. We might all experience some frustration now and then, but we cannot allow that frustration to turn into a personal attack. Its important to remember that a community where people feel uncomfortable or threatened is not a productive one. Members of the Space Station 14 community should be respectful when dealing with other members as well as with people outside the Space Station 14 community. Assume contributions to the project, even those that do not end up being included, are made in good faith.
- **Be careful in the words that you choose.** We are a community of professionals, and we conduct ourselves professionally. Be kind to others. Do not insult or put down other participants. Harassment and other exclusionary behavior aren't acceptable. This includes, but is not limited to:
- Violent threats or language directed against another person.
- Discriminatory jokes and language.
- Posting sexually explicit or violent material.
- Posting (or threatening to post) other people's personally identifying information ("doxing").
- Personal insults, especially those using racist or sexist terms.
- Unwelcome sexual attention.
- Advocating for, or encouraging, any of the above behavior.
- Repeated harassment of others. In general, if someone asks you to stop, then stop.
- **When we disagree, try to understand why.** Disagreements, both social and technical, happen all the time and Space Station 14 is no exception. It is important that we resolve disagreements and differing views constructively. Remember that were different. The strength of Space Station 14 comes from its varied community, people from a wide range of backgrounds. Different people have different perspectives on issues. Being unable to understand why someone holds a viewpoint doesnt mean that theyre wrong. Dont forget that it is human to make mistakes and blaming each other doesnt get us anywhere. Instead, focus on helping to resolve issues and learning from mistakes.
Original text courtesy of the [Speak Up! project](http://web.archive.org/web/20141109123859/http://speakup.io/coc.html).
## On Community Moderation
Deviating from the Code of Conduct on the Github repository may result in moderative actions taken by project Maintainers. This can involve your content being edited or deleted, and may result in a temporary or permanent block from the repository.
This is to ensure Space Station 14 is a healthy community in which contributors feel encouraged and empowered to contribute, and to give you as a member of this community a chance to reflect on how you are interacting with it. While outright offensive and bigoted content will *always* be unacceptable on the repository, Maintainers are at liberty to take moderative actions against more ambiguous content that fail to provide constructive criticism, or that provides constructive criticism in a non-constructive manner. Examples of this include using hyperbole, bringing up PRs/changes unrelated to the discussion at hand, hostile tone, off-topic comments, creating PRs/Issues for the sole purpose of causing discussions, skirting the line of acceptable behavior, etc. Disagreeing with content or each other is fine and appreciated, but only as long as it's done with respect and in a constructive manner.
Maintainers are expected to adhere to the guidelines as listed in the [Github Moderation Guidelines](https://docs.spacestation14.com/en/general-development/github-moderation-guidelines.html), though may deviate should they feel it's in the best interest of the community. If you believe you had an action incorrectly applied against you, you are encouraged to contact staff via [Discord](https://discord.ss14.io/) or [the forums](https://forum.spacestation14.com/), [appeal your Github ban](https://forum.spacestation14.com/c/ban-appeals/appeals-github/38), or make a [staff complaint](https://forum.spacestation14.com/t/staff-complaint-instructions-and-info/31).
## Attribution
This Code of Conduct is an edited version of the [Django Code of Conduct](https://www.djangoproject.com/conduct/), licensed under CC BY 3.0, for the Space Station 14 Github repository.

View File

@@ -29,7 +29,7 @@ namespace Content.Benchmarks;
[CategoriesColumn]
public class ComponentQueryBenchmark
{
public const string Map = "Maps/atlas.yml";
public const string Map = "Maps/saltern.yml";
private TestPair _pair = default!;
private IEntityManager _entMan = default!;

View File

@@ -0,0 +1,174 @@
using System.Threading.Tasks;
using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Diagnosers;
using Content.IntegrationTests;
using Content.IntegrationTests.Pair;
using Content.Server.Atmos.Components;
using Content.Server.Atmos.EntitySystems;
using Content.Shared.Atmos.Components;
using Content.Shared.CCVar;
using Robust.Shared;
using Robust.Shared.Analyzers;
using Robust.Shared.Configuration;
using Robust.Shared.GameObjects;
using Robust.Shared.Map;
using Robust.Shared.Map.Components;
using Robust.Shared.Maths;
using Robust.Shared.Prototypes;
using Robust.Shared.Random;
namespace Content.Benchmarks;
/// <summary>
/// Spawns N number of entities with a <see cref="DeltaPressureComponent"/> and
/// simulates them for a number of ticks M.
/// </summary>
[Virtual]
[GcServer(true)]
//[MemoryDiagnoser]
//[ThreadingDiagnoser]
public class DeltaPressureBenchmark
{
/// <summary>
/// Number of entities (windows, really) to spawn with a <see cref="DeltaPressureComponent"/>.
/// </summary>
[Params(1, 10, 100, 1000, 5000, 10000, 50000, 100000)]
public int EntityCount;
/// <summary>
/// Number of entities that each parallel processing job will handle.
/// </summary>
// [Params(1, 10, 100, 1000, 5000, 10000)] For testing how multithreading parameters affect performance (THESE TESTS TAKE 16+ HOURS TO RUN)
[Params(10)]
public int BatchSize;
/// <summary>
/// Number of entities to process per iteration in the DeltaPressure
/// processing loop.
/// </summary>
// [Params(100, 1000, 5000, 10000, 50000)]
[Params(1000)]
public int EntitiesPerIteration;
private readonly EntProtoId _windowProtoId = "Window";
private readonly EntProtoId _wallProtoId = "WallPlastitaniumIndestructible";
private TestPair _pair = default!;
private IEntityManager _entMan = default!;
private SharedMapSystem _map = default!;
private IRobustRandom _random = default!;
private IConfigurationManager _cvar = default!;
private ITileDefinitionManager _tileDefMan = default!;
private AtmosphereSystem _atmospereSystem = default!;
private Entity<GridAtmosphereComponent, GasTileOverlayComponent, MapGridComponent, TransformComponent>
_testEnt;
[GlobalSetup]
public async Task SetupAsync()
{
ProgramShared.PathOffset = "../../../../";
PoolManager.Startup();
_pair = await PoolManager.GetServerClient();
var server = _pair.Server;
var mapdata = await _pair.CreateTestMap();
_entMan = server.ResolveDependency<IEntityManager>();
_map = _entMan.System<SharedMapSystem>();
_random = server.ResolveDependency<IRobustRandom>();
_cvar = server.ResolveDependency<IConfigurationManager>();
_tileDefMan = server.ResolveDependency<ITileDefinitionManager>();
_atmospereSystem = _entMan.System<AtmosphereSystem>();
_random.SetSeed(69420); // Randomness needs to be deterministic for benchmarking.
_cvar.SetCVar(CCVars.DeltaPressureParallelToProcessPerIteration, EntitiesPerIteration);
_cvar.SetCVar(CCVars.DeltaPressureParallelBatchSize, BatchSize);
var plating = _tileDefMan["Plating"].TileId;
/*
Basically, we want to have a 5-wide grid of tiles.
Edges are walled, and the length of the grid is determined by N + 2.
Windows should only touch the top and bottom walls, and each other.
*/
var length = EntityCount + 2; // ensures we can spawn exactly N windows between side walls
const int height = 5;
await server.WaitPost(() =>
{
// Fill required tiles (extend grid) with plating
for (var x = 0; x < length; x++)
{
for (var y = 0; y < height; y++)
{
_map.SetTile(mapdata.Grid, mapdata.Grid, new Vector2i(x, y), new Tile(plating));
}
}
// Spawn perimeter walls and windows row in the middle (y = 2)
const int midY = height / 2;
for (var x = 0; x < length; x++)
{
for (var y = 0; y < height; y++)
{
var coords = new EntityCoordinates(mapdata.Grid, x + 0.5f, y + 0.5f);
var isPerimeter = x == 0 || x == length - 1 || y == 0 || y == height - 1;
if (isPerimeter)
{
_entMan.SpawnEntity(_wallProtoId, coords);
continue;
}
// Spawn windows only on the middle row, spanning interior (excluding side walls)
if (y == midY)
{
_entMan.SpawnEntity(_windowProtoId, coords);
}
}
}
});
// Next we run the fixgridatmos command to ensure that we have some air on our grid.
// Wait a little bit as well.
// TODO: Unhardcode command magic string when fixgridatmos is an actual command we can ref and not just
// a stamp-on in AtmosphereSystem.
await _pair.WaitCommand("fixgridatmos " + mapdata.Grid.Owner, 1);
var uid = mapdata.Grid.Owner;
_testEnt = new Entity<GridAtmosphereComponent, GasTileOverlayComponent, MapGridComponent, TransformComponent>(
uid,
_entMan.GetComponent<GridAtmosphereComponent>(uid),
_entMan.GetComponent<GasTileOverlayComponent>(uid),
_entMan.GetComponent<MapGridComponent>(uid),
_entMan.GetComponent<TransformComponent>(uid));
}
[Benchmark]
public async Task PerformFullProcess()
{
await _pair.Server.WaitPost(() =>
{
while (!_atmospereSystem.RunProcessingStage(_testEnt, AtmosphereProcessingState.DeltaPressure)) { }
});
}
[Benchmark]
public async Task PerformSingleRunProcess()
{
await _pair.Server.WaitPost(() =>
{
_atmospereSystem.RunProcessingStage(_testEnt, AtmosphereProcessingState.DeltaPressure);
});
}
[GlobalCleanup]
public async Task CleanupAsync()
{
await _pair.DisposeAsync();
PoolManager.Shutdown();
}
}

View File

@@ -47,7 +47,7 @@ public class MapLoadBenchmark
PoolManager.Shutdown();
}
public static readonly string[] MapsSource = { "Empty", "Satlern", "Box", "Bagel", "Dev", "CentComm", "Core", "TestTeg", "Packed", "Omega", "Reach", "Meta", "Marathon", "MeteorArena", "Fland", "Oasis", "Convex"};
public static string[] MapsSource { get; } = { "Empty", "Saltern", "Box", "Bagel", "Dev", "CentComm", "Core", "TestTeg", "Packed", "Omega", "Reach", "Meta", "Marathon", "MeteorArena", "Fland", "Oasis", "Convex"};
[ParamsSource(nameof(MapsSource))]
public string Map;

View File

@@ -1,15 +1,7 @@
using System;
using System.Linq;
using System.Threading.Tasks;
using BenchmarkDotNet.Running;
using Content.IntegrationTests;
using Content.Server.Maps;
#if DEBUG
using BenchmarkDotNet.Configs;
#else
using Robust.Benchmarks.Configs;
#endif
using Robust.Shared.Prototypes;
namespace Content.Benchmarks
{
@@ -22,11 +14,15 @@ namespace Content.Benchmarks
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("\nWARNING: YOU ARE RUNNING A DEBUG BUILD, USE A RELEASE BUILD FOR AN ACCURATE BENCHMARK");
Console.WriteLine("THE DEBUG BUILD IS ONLY GOOD FOR FIXING A CRASHING BENCHMARK\n");
BenchmarkSwitcher.FromAssembly(typeof(Program).Assembly).Run(args, new DebugInProcessConfig());
var baseConfig = new DebugInProcessConfig();
#else
var config = Environment.GetEnvironmentVariable("ROBUST_BENCHMARKS_ENABLE_SQL") != null ? DefaultSQLConfig.Instance : null;
BenchmarkSwitcher.FromAssembly(typeof(Program).Assembly).Run(args, config);
var baseConfig = Environment.GetEnvironmentVariable("ROBUST_BENCHMARKS_ENABLE_SQL") != null
? DefaultSQLConfig.Instance
: DefaultConfig.Instance;
#endif
var config = ManualConfig.Create(baseConfig);
config.BuildTimeout = TimeSpan.FromMinutes(5);
BenchmarkSwitcher.FromAssembly(typeof(Program).Assembly).Run(args, config);
}
}
}

View File

@@ -6,7 +6,7 @@ using BenchmarkDotNet.Attributes;
using Content.IntegrationTests;
using Content.IntegrationTests.Pair;
using Content.Server.Mind;
using Content.Server.Warps;
using Content.Shared.Warps;
using Robust.Shared;
using Robust.Shared.Analyzers;
using Robust.Shared.EntitySerialization;

View File

@@ -0,0 +1,126 @@
#nullable enable
using System.Runtime.CompilerServices;
using System.Threading.Tasks;
using BenchmarkDotNet.Attributes;
using Content.IntegrationTests;
using Content.IntegrationTests.Pair;
using Robust.Shared;
using Robust.Shared.Analyzers;
using Robust.Shared.GameObjects;
namespace Content.Benchmarks;
[Virtual]
public class RaiseEventBenchmark
{
private TestPair _pair = default!;
private BenchSystem _sys = default!;
[GlobalSetup]
public void Setup()
{
ProgramShared.PathOffset = "../../../../";
PoolManager.Startup(typeof(BenchSystem).Assembly);
_pair = PoolManager.GetServerClient().GetAwaiter().GetResult();
var entMan = _pair.Server.EntMan;
_sys = entMan.System<BenchSystem>();
_pair.Server.WaitPost(() =>
{
var uid = entMan.Spawn();
_sys.Ent = new(uid, entMan.GetComponent<TransformComponent>(uid));
_sys.Ent2 = new(_sys.Ent.Owner, _sys.Ent.Comp);
})
.GetAwaiter()
.GetResult();
}
[GlobalCleanup]
public async Task Cleanup()
{
await _pair.DisposeAsync();
PoolManager.Shutdown();
}
[Benchmark(Baseline = true)]
public int RaiseEvent()
{
return _sys.RaiseEvent();
}
[Benchmark]
public int RaiseCompEvent()
{
return _sys.RaiseCompEvent();
}
[Benchmark]
public int RaiseICompEvent()
{
return _sys.RaiseICompEvent();
}
[Benchmark]
public int RaiseCSharpEvent()
{
return _sys.CSharpEvent();
}
public sealed class BenchSystem : EntitySystem
{
public Entity<TransformComponent> Ent;
public Entity<IComponent> Ent2;
public delegate void EntityEventHandler(EntityUid uid, TransformComponent comp, ref BenchEv ev);
public event EntityEventHandler? OnCSharpEvent;
public override void Initialize()
{
base.Initialize();
SubscribeLocalEvent<TransformComponent, BenchEv>(OnEvent);
OnCSharpEvent += OnEvent;
}
public int RaiseEvent()
{
var ev = new BenchEv();
RaiseLocalEvent(Ent.Owner, ref ev);
return ev.N;
}
public int RaiseCompEvent()
{
var ev = new BenchEv();
EntityManager.EventBus.RaiseComponentEvent(Ent.Owner, Ent.Comp, ref ev);
return ev.N;
}
public int RaiseICompEvent()
{
// Raise with an IComponent instead of concrete type
var ev = new BenchEv();
EntityManager.EventBus.RaiseComponentEvent(Ent2.Owner, Ent2.Comp, ref ev);
return ev.N;
}
public int CSharpEvent()
{
var ev = new BenchEv();
OnCSharpEvent?.Invoke(Ent.Owner, Ent.Comp, ref ev);
return ev.N;
}
[MethodImpl(MethodImplOptions.NoInlining)]
private void OnEvent(EntityUid uid, TransformComponent component, ref BenchEv args)
{
args.N += uid.Id;
}
[ByRefEvent]
public struct BenchEv
{
public int N;
}
}
}

View File

@@ -8,6 +8,7 @@ using Robust.Shared;
using Robust.Shared.Analyzers;
using Robust.Shared.GameObjects;
using Robust.Shared.Map;
using Robust.Shared.Prototypes;
namespace Content.Benchmarks;
@@ -18,9 +19,11 @@ namespace Content.Benchmarks;
[Virtual, MemoryDiagnoser]
public class SpawnEquipDeleteBenchmark
{
private static readonly EntProtoId Mob = "MobHuman";
private static readonly ProtoId<StartingGearPrototype> CaptainStartingGear = "CaptainGear";
private TestPair _pair = default!;
private StationSpawningSystem _spawnSys = default!;
private const string Mob = "MobHuman";
private StartingGearPrototype _gear = default!;
private EntityUid _entity;
private EntityCoordinates _coords;
@@ -39,7 +42,7 @@ public class SpawnEquipDeleteBenchmark
var mapData = await _pair.CreateTestMap();
_coords = mapData.GridCoords;
_spawnSys = server.System<StationSpawningSystem>();
_gear = server.ProtoMan.Index<StartingGearPrototype>("CaptainGear");
_gear = server.ProtoMan.Index(CaptainStartingGear);
}
[GlobalCleanup]

View File

@@ -4,39 +4,20 @@ using Robust.Shared.Console;
namespace Content.Client.Access.Commands;
public sealed class ShowAccessReadersCommand : IConsoleCommand
public sealed class ShowAccessReadersCommand : LocalizedEntityCommands
{
public string Command => "showaccessreaders";
[Dependency] private readonly IOverlayManager _overlay = default!;
[Dependency] private readonly IResourceCache _cache = default!;
[Dependency] private readonly SharedTransformSystem _xform = default!;
public string Description => "Toggles showing access reader permissions on the map";
public string Help => """
Overlay Info:
-Disabled | The access reader is disabled
+Unrestricted | The access reader has no restrictions
+Set [Index]: [Tag Name]| A tag in an access set (accessor needs all tags in the set to be allowed by the set)
+Key [StationUid]: [StationRecordKeyId] | A StationRecordKey that is allowed
-Tag [Tag Name] | A tag that is not allowed (takes priority over other allows)
""";
public void Execute(IConsoleShell shell, string argStr, string[] args)
public override string Command => "showaccessreaders";
public override void Execute(IConsoleShell shell, string argStr, string[] args)
{
var collection = IoCManager.Instance;
var existing = _overlay.RemoveOverlay<AccessOverlay>();
if (!existing)
_overlay.AddOverlay(new AccessOverlay(EntityManager, _cache, _xform));
if (collection == null)
return;
var overlay = collection.Resolve<IOverlayManager>();
if (overlay.RemoveOverlay<AccessOverlay>())
{
shell.WriteLine($"Set access reader debug overlay to false");
return;
}
var entManager = collection.Resolve<IEntityManager>();
var cache = collection.Resolve<IResourceCache>();
var xform = entManager.System<SharedTransformSystem>();
overlay.AddOverlay(new AccessOverlay(entManager, cache, xform));
shell.WriteLine($"Set access reader debug overlay to true");
shell.WriteLine(Loc.GetString($"cmd-showaccessreaders-status", ("status", !existing)));
}
}

View File

@@ -29,7 +29,7 @@ namespace Content.Client.Access.UI
foreach (var access in accessLevels)
{
if (!protoManager.TryIndex(access, out var accessLevel))
if (!protoManager.Resolve(access, out var accessLevel))
{
continue;
}

View File

@@ -0,0 +1,26 @@
<BoxContainer xmlns="https://spacestation14.io"
xmlns:gfx="clr-namespace:Robust.Client.Graphics;assembly=Robust.Client"
Orientation="Horizontal"
Margin="10 10 10 10"
VerticalExpand="True"
HorizontalExpand="True"
MinHeight="70">
<!-- Access groups -->
<BoxContainer Name="AccessGroupList" Access="Public" Orientation="Vertical" HorizontalExpand="True" SizeFlagsStretchRatio="0.5" Margin="0 0 10 0">
<!-- Populated with C# code -->
</BoxContainer>
<PanelContainer StyleClasses="LowDivider" VerticalExpand="True" Margin="0 0 0 0" SetWidth="2">
<PanelContainer.PanelOverride>
<gfx:StyleBoxFlat BackgroundColor="#FFFFFF" />
</PanelContainer.PanelOverride>
</PanelContainer>
<!-- Access levels -->
<ScrollContainer HorizontalExpand="True" VerticalExpand="True" Margin="10 0 0 0">
<BoxContainer Name="AccessLevelChecklist" Access="Public" Orientation="Vertical" HorizontalAlignment="Left">
<!-- Populated with C# code -->
</BoxContainer>
</ScrollContainer>
</BoxContainer>

View File

@@ -0,0 +1,451 @@
using Content.Client.Stylesheets;
using Content.Client.UserInterface.Controls;
using Content.Shared.Access;
using Robust.Client.AutoGenerated;
using Robust.Client.Graphics;
using Robust.Client.UserInterface;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.XAML;
using Robust.Shared.Prototypes;
using System.Linq;
using System.Numerics;
namespace Content.Client.Access.UI;
[GenerateTypedNameReferences]
public sealed partial class GroupedAccessLevelChecklist : BoxContainer
{
private static readonly ProtoId<AccessGroupPrototype> GeneralAccessGroup = "General";
[Dependency] private readonly IPrototypeManager _protoManager = default!;
private bool _isMonotone;
private string? _labelStyleClass;
// Access data
private HashSet<ProtoId<AccessGroupPrototype>> _accessGroups = new();
private HashSet<ProtoId<AccessLevelPrototype>> _accessLevels = new();
private HashSet<ProtoId<AccessLevelPrototype>> _activeAccessLevels = new();
// Button groups
private readonly ButtonGroup _accessGroupsButtons = new();
// Temp values
private int _accessGroupTabIndex = 0;
private bool _canInteract = false;
private List<AccessLevelPrototype> _accessLevelsForTab = new();
private readonly List<AccessLevelEntry> _accessLevelEntries = new();
private readonly Dictionary<AccessGroupPrototype, List<AccessLevelPrototype>> _groupedAccessLevels = new();
// Events
public event Action<HashSet<ProtoId<AccessLevelPrototype>>, bool>? OnAccessLevelsChangedEvent;
/// <summary>
/// Creates a UI control for changing access levels.
/// Access levels are organized under a list of tabs by their associated access group.
/// </summary>
public GroupedAccessLevelChecklist()
{
RobustXamlLoader.Load(this);
IoCManager.InjectDependencies(this);
}
private void ArrangeAccessControls()
{
// Create a list of known access groups with which to populate the UI
_groupedAccessLevels.Clear();
foreach (var accessGroup in _accessGroups)
{
if (!_protoManager.Resolve(accessGroup, out var accessGroupProto))
continue;
_groupedAccessLevels.Add(accessGroupProto, new());
}
// Ensure that the 'general' access group is added to handle
// misc. access levels that aren't associated with any group
if (_protoManager.Resolve(GeneralAccessGroup, out var generalAccessProto))
_groupedAccessLevels.TryAdd(generalAccessProto, new());
// Assign known access levels with their associated groups
foreach (var accessLevel in _accessLevels)
{
if (!_protoManager.Resolve(accessLevel, out var accessLevelProto))
continue;
var assigned = false;
foreach (var (accessGroup, accessLevels) in _groupedAccessLevels)
{
if (!accessGroup.Tags.Contains(accessLevelProto.ID))
continue;
assigned = true;
_groupedAccessLevels[accessGroup].Add(accessLevelProto);
}
if (!assigned && generalAccessProto != null)
_groupedAccessLevels[generalAccessProto].Add(accessLevelProto);
}
// Remove access groups that have no assigned access levels
foreach (var (group, accessLevels) in _groupedAccessLevels)
{
if (accessLevels.Count == 0)
_groupedAccessLevels.Remove(group);
}
}
private bool TryRebuildAccessGroupControls()
{
AccessGroupList.DisposeAllChildren();
AccessLevelChecklist.DisposeAllChildren();
// No access level prototypes were assigned to any of the access level groups.
// Either the turret controller has no assigned access levels or their names were invalid.
if (_groupedAccessLevels.Count == 0)
return false;
// Reorder the access groups alphabetically
var orderedAccessGroups = _groupedAccessLevels.Keys.OrderBy(x => x.GetAccessGroupName()).ToList();
// Add group access buttons to the UI
foreach (var accessGroup in orderedAccessGroups)
{
var accessGroupButton = CreateAccessGroupButton();
// Button styling
if (_groupedAccessLevels.Count > 1)
{
if (AccessGroupList.ChildCount == 0)
accessGroupButton.AddStyleClass(StyleBase.ButtonOpenLeft);
else if (_groupedAccessLevels.Count > 1 && AccessGroupList.ChildCount == (_groupedAccessLevels.Count - 1))
accessGroupButton.AddStyleClass(StyleBase.ButtonOpenRight);
else
accessGroupButton.AddStyleClass(StyleBase.ButtonOpenBoth);
}
accessGroupButton.Pressed = _accessGroupTabIndex == orderedAccessGroups.IndexOf(accessGroup);
// Label text and styling
if (_labelStyleClass != null)
accessGroupButton.Label.SetOnlyStyleClass(_labelStyleClass);
var accessLevelPrototypes = _groupedAccessLevels[accessGroup];
var prefix = accessLevelPrototypes.All(x => _activeAccessLevels.Contains(x))
? "»"
: accessLevelPrototypes.Any(x => _activeAccessLevels.Contains(x))
? ""
: " ";
var text = Loc.GetString(
"turret-controls-window-access-group-label",
("prefix", prefix),
("label", accessGroup.GetAccessGroupName())
);
accessGroupButton.Text = text;
// Button events
accessGroupButton.OnPressed += _ => OnAccessGroupChanged(accessGroupButton.GetPositionInParent());
AccessGroupList.AddChild(accessGroupButton);
}
// Adjust the current tab index so it remains in range
if (_accessGroupTabIndex >= _groupedAccessLevels.Count)
_accessGroupTabIndex = _groupedAccessLevels.Count - 1;
return true;
}
/// <summary>
/// Rebuilds the checkbox list for the access level controls.
/// </summary>
public void RebuildAccessLevelsControls()
{
AccessLevelChecklist.DisposeAllChildren();
_accessLevelEntries.Clear();
// No access level prototypes were assigned to any of the access level groups
// Either turret controller has no assigned access levels, or their names were invalid
if (_groupedAccessLevels.Count == 0)
return;
// Reorder the access groups alphabetically
var orderedAccessGroups = _groupedAccessLevels.Keys.OrderBy(x => x.GetAccessGroupName()).ToList();
// Get the access levels associated with the current tab
var selectedAccessGroupTabProto = orderedAccessGroups[_accessGroupTabIndex];
_accessLevelsForTab = _groupedAccessLevels[selectedAccessGroupTabProto];
_accessLevelsForTab = _accessLevelsForTab.OrderBy(x => x.GetAccessLevelName()).ToList();
// Add an 'all' checkbox as the first child of the list if it has more than one access level
// Toggling this checkbox on will mark all other boxes below it on/off
var allCheckBox = CreateAccessLevelCheckbox();
allCheckBox.Text = Loc.GetString("turret-controls-window-all-checkbox");
if (_labelStyleClass != null)
allCheckBox.Label.SetOnlyStyleClass(_labelStyleClass);
// Add the 'all' checkbox events
allCheckBox.OnPressed += args =>
{
SetCheckBoxPressedState(_accessLevelEntries, allCheckBox.Pressed);
var accessLevels = new HashSet<ProtoId<AccessLevelPrototype>>();
foreach (var accessLevel in _accessLevelsForTab)
{
accessLevels.Add(accessLevel);
}
OnAccessLevelsChangedEvent?.Invoke(accessLevels, allCheckBox.Pressed);
};
AccessLevelChecklist.AddChild(allCheckBox);
// Hide the 'all' checkbox if the tab has only one access level
var allCheckBoxVisible = _accessLevelsForTab.Count > 1;
allCheckBox.Visible = allCheckBoxVisible;
allCheckBox.Disabled = !_canInteract;
// Add any remaining missing access level buttons to the UI
foreach (var accessLevel in _accessLevelsForTab)
{
// Create the entry
var accessLevelEntry = new AccessLevelEntry(_isMonotone);
accessLevelEntry.AccessLevel = accessLevel;
accessLevelEntry.CheckBox.Text = accessLevel.GetAccessLevelName();
accessLevelEntry.CheckBox.Pressed = _activeAccessLevels.Contains(accessLevel);
accessLevelEntry.CheckBox.Disabled = !_canInteract;
if (_labelStyleClass != null)
accessLevelEntry.CheckBox.Label.SetOnlyStyleClass(_labelStyleClass);
// Set the checkbox linkage lines
var isEndOfList = _accessLevelsForTab.IndexOf(accessLevel) == (_accessLevelsForTab.Count - 1);
var lines = new List<(Vector2, Vector2)>
{
(new Vector2(0.5f, 0f), new Vector2(0.5f, isEndOfList ? 0.5f : 1f)),
(new Vector2(0.5f, 0.5f), new Vector2(1f, 0.5f)),
};
accessLevelEntry.UpdateCheckBoxLink(lines);
accessLevelEntry.CheckBoxLink.Visible = allCheckBoxVisible;
accessLevelEntry.CheckBoxLink.Modulate = !_canInteract ? Color.Gray : Color.White;
// Add checkbox events
accessLevelEntry.CheckBox.OnPressed += args =>
{
// If the checkbox and its siblings are checked, check the 'all' checkbox too
allCheckBox.Pressed = AreAllCheckBoxesPressed(_accessLevelEntries.Select(x => x.CheckBox));
OnAccessLevelsChangedEvent?.Invoke([accessLevelEntry.AccessLevel], accessLevelEntry.CheckBox.Pressed);
};
AccessLevelChecklist.AddChild(accessLevelEntry);
_accessLevelEntries.Add(accessLevelEntry);
}
// Press the 'all' checkbox if all others are pressed
allCheckBox.Pressed = AreAllCheckBoxesPressed(_accessLevelEntries.Select(x => x.CheckBox));
}
private bool AreAllCheckBoxesPressed(IEnumerable<CheckBox> checkBoxes)
{
foreach (var checkBox in checkBoxes)
{
if (!checkBox.Pressed)
return false;
}
return true;
}
private void SetCheckBoxPressedState(List<AccessLevelEntry> accessLevelEntries, bool pressed)
{
foreach (var accessLevelEntry in accessLevelEntries)
{
accessLevelEntry.CheckBox.Pressed = pressed;
}
}
/// <summary>
/// Provides the UI with a list of access groups using which list of tabs should be populated.
/// </summary>
public void SetAccessGroups(HashSet<ProtoId<AccessGroupPrototype>> accessGroups)
{
_accessGroups = accessGroups;
ArrangeAccessControls();
if (TryRebuildAccessGroupControls())
RebuildAccessLevelsControls();
}
/// <summary>
/// Provides the UI with a list of access levels with which it can populate the currently selected tab.
/// </summary>
public void SetAccessLevels(HashSet<ProtoId<AccessLevelPrototype>> accessLevels)
{
_accessLevels = accessLevels;
ArrangeAccessControls();
if (TryRebuildAccessGroupControls())
RebuildAccessLevelsControls();
}
/// <summary>
/// Sets which access level checkboxes should be marked on the UI.
/// </summary>
public void SetActiveAccessLevels(HashSet<ProtoId<AccessLevelPrototype>> activeAccessLevels)
{
_activeAccessLevels = activeAccessLevels;
if (TryRebuildAccessGroupControls())
RebuildAccessLevelsControls();
}
/// <summary>
/// Sets whether the local player can interact with the checkboxes.
/// </summary>
public void SetLocalPlayerAccessibility(bool canInteract)
{
_canInteract = canInteract;
if (TryRebuildAccessGroupControls())
RebuildAccessLevelsControls();
}
/// <summary>
/// Sets whether the UI should use monotone buttons and checkboxes.
/// </summary>
public void SetMonotone(bool monotone)
{
_isMonotone = monotone;
if (TryRebuildAccessGroupControls())
RebuildAccessLevelsControls();
}
/// <summary>
/// Applies the specified style to the labels on the UI buttons and checkboxes.
/// </summary>
public void SetLabelStyleClass(string? styleClass)
{
_labelStyleClass = styleClass;
if (TryRebuildAccessGroupControls())
RebuildAccessLevelsControls();
}
private void OnAccessGroupChanged(int newTabIndex)
{
if (newTabIndex == _accessGroupTabIndex)
return;
_accessGroupTabIndex = newTabIndex;
if (TryRebuildAccessGroupControls())
RebuildAccessLevelsControls();
}
private Button CreateAccessGroupButton()
{
var button = _isMonotone ? new MonotoneButton() : new Button();
button.ToggleMode = true;
button.Group = _accessGroupsButtons;
button.Label.HorizontalAlignment = HAlignment.Left;
return button;
}
private CheckBox CreateAccessLevelCheckbox()
{
var checkbox = _isMonotone ? new MonotoneCheckBox() : new CheckBox();
checkbox.Margin = new Thickness(0, 0, 0, 3);
checkbox.ToggleMode = true;
checkbox.ReservesSpace = false;
return checkbox;
}
private sealed class AccessLevelEntry : BoxContainer
{
public ProtoId<AccessLevelPrototype> AccessLevel;
public readonly CheckBox CheckBox;
public readonly LineRenderer CheckBoxLink;
public AccessLevelEntry(bool monotone)
{
HorizontalExpand = true;
CheckBoxLink = new LineRenderer
{
SetWidth = 22,
VerticalExpand = true,
Margin = new Thickness(0, -1),
ReservesSpace = false,
};
AddChild(CheckBoxLink);
CheckBox = monotone ? new MonotoneCheckBox() : new CheckBox();
CheckBox.ToggleMode = true;
CheckBox.Margin = new Thickness(0f, 0f, 0f, 3f);
AddChild(CheckBox);
}
public void UpdateCheckBoxLink(List<(Vector2, Vector2)> lines)
{
CheckBoxLink.Lines = lines;
}
}
private sealed class LineRenderer : Control
{
/// <summary>
/// List of lines to render (their start and end x-y coordinates).
/// Position (0,0) is the top left corner of the control and
/// position (1,1) is the bottom right corner.
/// </summary>
/// <remarks>
/// The color of the lines is inherited from the control.
/// </remarks>
public List<(Vector2, Vector2)> Lines;
public LineRenderer()
{
Lines = new List<(Vector2, Vector2)>();
}
public LineRenderer(List<(Vector2, Vector2)> lines)
{
Lines = lines;
}
protected override void Draw(DrawingHandleScreen handle)
{
foreach (var line in Lines)
{
var start = PixelPosition +
new Vector2(PixelWidth * line.Item1.X, PixelHeight * line.Item1.Y);
var end = PixelPosition +
new Vector2(PixelWidth * line.Item2.X, PixelHeight * line.Item2.Y);
handle.DrawLine(start, end, ActualModulateSelf);
}
}
}
}

View File

@@ -1,8 +1,11 @@
using Content.Shared.Access;
using Content.Shared.Access.Components;
using Content.Shared.Access.Systems;
using Content.Shared.CCVar;
using Content.Shared.Containers.ItemSlots;
using Content.Shared.CrewManifest;
using Content.Shared.Roles;
using Robust.Shared.Configuration;
using Robust.Shared.Prototypes;
using static Content.Shared.Access.Components.IdCardConsoleComponent;
@@ -11,13 +14,21 @@ namespace Content.Client.Access.UI
public sealed class IdCardConsoleBoundUserInterface : BoundUserInterface
{
[Dependency] private readonly IPrototypeManager _prototypeManager = default!;
[Dependency] private readonly IConfigurationManager _cfgManager = default!;
private readonly SharedIdCardConsoleSystem _idCardConsoleSystem = default!;
private IdCardConsoleWindow? _window;
// CCVar.
private int _maxNameLength;
private int _maxIdJobLength;
public IdCardConsoleBoundUserInterface(EntityUid owner, Enum uiKey) : base(owner, uiKey)
{
_idCardConsoleSystem = EntMan.System<SharedIdCardConsoleSystem>();
_maxNameLength =_cfgManager.GetCVar(CCVars.MaxNameLength);
_maxIdJobLength = _cfgManager.GetCVar(CCVars.MaxIdJobLength);
}
protected override void Open()
@@ -64,13 +75,13 @@ namespace Content.Client.Access.UI
_window?.UpdateState(castState);
}
public void SubmitData(string newFullName, string newJobTitle, List<ProtoId<AccessLevelPrototype>> newAccessList, string newJobPrototype)
public void SubmitData(string newFullName, string newJobTitle, List<ProtoId<AccessLevelPrototype>> newAccessList, ProtoId<JobPrototype> newJobPrototype)
{
if (newFullName.Length > MaxFullNameLength)
newFullName = newFullName[..MaxFullNameLength];
if (newFullName.Length > _maxNameLength)
newFullName = newFullName[.._maxNameLength];
if (newJobTitle.Length > MaxJobTitleLength)
newJobTitle = newJobTitle[..MaxJobTitleLength];
if (newJobTitle.Length > _maxIdJobLength)
newJobTitle = newJobTitle[.._maxIdJobLength];
SendMessage(new WriteToTargetIdMessage(
newFullName,

View File

@@ -1,11 +1,13 @@
using System.Linq;
using Content.Shared.Access;
using Content.Shared.Access.Systems;
using Content.Shared.CCVar;
using Content.Shared.Roles;
using Robust.Client.AutoGenerated;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.CustomControls;
using Robust.Client.UserInterface.XAML;
using Robust.Shared.Configuration;
using Robust.Shared.Prototypes;
using static Content.Shared.Access.Components.IdCardConsoleComponent;
@@ -14,12 +16,17 @@ namespace Content.Client.Access.UI
[GenerateTypedNameReferences]
public sealed partial class IdCardConsoleWindow : DefaultWindow
{
[Dependency] private readonly IConfigurationManager _cfgManager = default!;
[Dependency] private readonly IPrototypeManager _prototypeManager = default!;
[Dependency] private readonly ILogManager _logManager = default!;
private readonly ISawmill _logMill = default!;
private readonly IdCardConsoleBoundUserInterface _owner;
// CCVar.
private int _maxNameLength;
private int _maxIdJobLength;
private AccessLevelControl _accessButtons = new();
private readonly List<string> _jobPrototypeIds = new();
@@ -39,7 +46,11 @@ namespace Content.Client.Access.UI
_owner = owner;
_maxNameLength = _cfgManager.GetCVar(CCVars.MaxNameLength);
_maxIdJobLength = _cfgManager.GetCVar(CCVars.MaxIdJobLength);
FullNameLineEdit.OnTextEntered += _ => SubmitData();
FullNameLineEdit.IsValid = s => s.Length <= _maxNameLength;
FullNameLineEdit.OnTextChanged += _ =>
{
FullNameSaveButton.Disabled = FullNameSaveButton.Text == _lastFullName;
@@ -47,6 +58,7 @@ namespace Content.Client.Access.UI
FullNameSaveButton.OnPressed += _ => SubmitData();
JobTitleLineEdit.OnTextEntered += _ => SubmitData();
JobTitleLineEdit.IsValid = s => s.Length <= _maxIdJobLength;
JobTitleLineEdit.OnTextChanged += _ =>
{
JobTitleSaveButton.Disabled = JobTitleLineEdit.Text == _lastJobTitle;
@@ -111,7 +123,7 @@ namespace Content.Client.Access.UI
foreach (var group in job.AccessGroups)
{
if (!_prototypeManager.TryIndex(group, out AccessGroupPrototype? groupPrototype))
if (!_prototypeManager.Resolve(group, out AccessGroupPrototype? groupPrototype))
{
continue;
}
@@ -174,7 +186,8 @@ namespace Content.Client.Access.UI
new List<ProtoId<AccessLevelPrototype>>());
var jobIndex = _jobPrototypeIds.IndexOf(state.TargetIdJobPrototype);
// If the job index is < 0 that means they don't have a job registered in the station records.
// If the job index is < 0 that means they don't have a job registered in the station records
// or the IdCardComponent's JobPrototype field.
// For example, a new ID from a box would have no job index.
if (jobIndex < 0)
{

View File

@@ -1,3 +1,6 @@
using Content.Shared.Actions.Components;
using static Robust.Shared.Input.Binding.PointerInputCmdHandler;
namespace Content.Client.Actions;
/// <summary>
@@ -7,3 +10,17 @@ public sealed class FillActionSlotEvent : EntityEventArgs
{
public EntityUid? Action;
}
/// <summary>
/// Client-side event used to attempt to trigger a targeted action.
/// This only gets raised if the has <see cref="TargetActionComponent">.
/// Handlers must set <c>Handled</c> to true, then if the action has been performed,
/// i.e. a target is found, then FoundTarget must be set to true.
/// </summary>
[ByRefEvent]
public record struct ActionTargetAttemptEvent(
PointerInputCmdArgs Input,
Entity<ActionsComponent> User,
ActionComponent Action,
bool Handled = false,
bool FoundTarget = false);

View File

@@ -1,17 +1,23 @@
using System.IO;
using System.Linq;
using Content.Shared.Actions;
using Content.Shared.Actions.Components;
using Content.Shared.Charges.Systems;
using Content.Shared.Mapping;
using Content.Shared.Maps;
using JetBrains.Annotations;
using Robust.Client.Player;
using Robust.Shared.ContentPack;
using Robust.Shared.GameStates;
using Robust.Shared.Input.Binding;
using Robust.Shared.Player;
using Robust.Shared.Prototypes;
using Robust.Shared.Serialization.Manager;
using Robust.Shared.Serialization.Markdown;
using Robust.Shared.Serialization.Markdown.Mapping;
using Robust.Shared.Serialization.Markdown.Sequence;
using Robust.Shared.Serialization.Markdown.Value;
using Robust.Shared.Timing;
using Robust.Shared.Utility;
using YamlDotNet.RepresentationModel;
@@ -22,9 +28,10 @@ namespace Content.Client.Actions
{
public delegate void OnActionReplaced(EntityUid actionId);
[Dependency] private readonly SharedChargesSystem _sharedCharges = default!;
[Dependency] private readonly IPlayerManager _playerManager = default!;
[Dependency] private readonly IPrototypeManager _proto = default!;
[Dependency] private readonly IResourceManager _resources = default!;
[Dependency] private readonly ISerializationManager _serialization = default!;
[Dependency] private readonly MetaDataSystem _metaData = default!;
public event Action<EntityUid>? OnActionAdded;
@@ -36,156 +43,67 @@ namespace Content.Client.Actions
public event Action<List<SlotAssignment>>? AssignSlot;
private readonly List<EntityUid> _removed = new();
private readonly List<(EntityUid, BaseActionComponent?)> _added = new();
private readonly List<Entity<ActionComponent>> _added = new();
public static readonly EntProtoId MappingEntityAction = "BaseMappingEntityAction";
public override void Initialize()
{
base.Initialize();
SubscribeLocalEvent<ActionsComponent, LocalPlayerAttachedEvent>(OnPlayerAttached);
SubscribeLocalEvent<ActionsComponent, LocalPlayerDetachedEvent>(OnPlayerDetached);
SubscribeLocalEvent<ActionsComponent, ComponentHandleState>(HandleComponentState);
SubscribeLocalEvent<ActionsComponent, ComponentHandleState>(OnHandleState);
SubscribeLocalEvent<InstantActionComponent, ComponentHandleState>(OnInstantHandleState);
SubscribeLocalEvent<EntityTargetActionComponent, ComponentHandleState>(OnEntityTargetHandleState);
SubscribeLocalEvent<WorldTargetActionComponent, ComponentHandleState>(OnWorldTargetHandleState);
SubscribeLocalEvent<EntityWorldTargetActionComponent, ComponentHandleState>(OnEntityWorldTargetHandleState);
SubscribeLocalEvent<ActionComponent, AfterAutoHandleStateEvent>(OnActionAutoHandleState);
SubscribeLocalEvent<EntityTargetActionComponent, ActionTargetAttemptEvent>(OnEntityTargetAttempt);
SubscribeLocalEvent<WorldTargetActionComponent, ActionTargetAttemptEvent>(OnWorldTargetAttempt);
}
public override void FrameUpdate(float frameTime)
private void OnActionAutoHandleState(Entity<ActionComponent> ent, ref AfterAutoHandleStateEvent args)
{
base.FrameUpdate(frameTime);
var worldActionQuery = EntityQueryEnumerator<WorldTargetActionComponent>();
while (worldActionQuery.MoveNext(out var uid, out var action))
{
UpdateAction(uid, action);
}
var instantActionQuery = EntityQueryEnumerator<InstantActionComponent>();
while (instantActionQuery.MoveNext(out var uid, out var action))
{
UpdateAction(uid, action);
}
var entityActionQuery = EntityQueryEnumerator<EntityTargetActionComponent>();
while (entityActionQuery.MoveNext(out var uid, out var action))
{
UpdateAction(uid, action);
}
UpdateAction(ent);
}
private void OnInstantHandleState(EntityUid uid, InstantActionComponent component, ref ComponentHandleState args)
public override void UpdateAction(Entity<ActionComponent> ent)
{
if (args.Current is not InstantActionComponentState state)
return;
BaseHandleState<InstantActionComponent>(uid, component, state);
}
private void OnEntityTargetHandleState(EntityUid uid, EntityTargetActionComponent component, ref ComponentHandleState args)
{
if (args.Current is not EntityTargetActionComponentState state)
return;
component.Whitelist = state.Whitelist;
component.Blacklist = state.Blacklist;
component.CanTargetSelf = state.CanTargetSelf;
BaseHandleState<EntityTargetActionComponent>(uid, component, state);
}
private void OnWorldTargetHandleState(EntityUid uid, WorldTargetActionComponent component, ref ComponentHandleState args)
{
if (args.Current is not WorldTargetActionComponentState state)
return;
BaseHandleState<WorldTargetActionComponent>(uid, component, state);
}
private void OnEntityWorldTargetHandleState(EntityUid uid,
EntityWorldTargetActionComponent component,
ref ComponentHandleState args)
{
if (args.Current is not EntityWorldTargetActionComponentState state)
return;
component.Whitelist = state.Whitelist;
component.CanTargetSelf = state.CanTargetSelf;
BaseHandleState<EntityWorldTargetActionComponent>(uid, component, state);
}
private void BaseHandleState<T>(EntityUid uid, BaseActionComponent component, BaseActionComponentState state) where T : BaseActionComponent
{
// TODO ACTIONS use auto comp states
component.Icon = state.Icon;
component.IconOn = state.IconOn;
component.IconColor = state.IconColor;
component.OriginalIconColor = state.OriginalIconColor;
component.DisabledIconColor = state.DisabledIconColor;
component.Keywords.Clear();
component.Keywords.UnionWith(state.Keywords);
component.Enabled = state.Enabled;
component.Toggled = state.Toggled;
component.Cooldown = state.Cooldown;
component.UseDelay = state.UseDelay;
component.Charges = state.Charges;
component.MaxCharges = state.MaxCharges;
component.RenewCharges = state.RenewCharges;
component.Container = EnsureEntity<T>(state.Container, uid);
component.EntityIcon = EnsureEntity<T>(state.EntityIcon, uid);
component.CheckCanInteract = state.CheckCanInteract;
component.CheckConsciousness = state.CheckConsciousness;
component.ClientExclusive = state.ClientExclusive;
component.Priority = state.Priority;
component.AttachedEntity = EnsureEntity<T>(state.AttachedEntity, uid);
component.RaiseOnUser = state.RaiseOnUser;
component.RaiseOnAction = state.RaiseOnAction;
component.AutoPopulate = state.AutoPopulate;
component.Temporary = state.Temporary;
component.ItemIconStyle = state.ItemIconStyle;
component.Sound = state.Sound;
UpdateAction(uid, component);
}
public override void UpdateAction(EntityUid? actionId, BaseActionComponent? action = null)
{
if (!ResolveActionData(actionId, ref action))
return;
action.IconColor = action.Charges < 1 ? action.DisabledIconColor : action.OriginalIconColor;
base.UpdateAction(actionId, action);
if (_playerManager.LocalEntity != action.AttachedEntity)
// TODO: Decouple this.
ent.Comp.IconColor = _sharedCharges.GetCurrentCharges(ent.Owner) == 0 ? ent.Comp.DisabledIconColor : ent.Comp.OriginalIconColor;
base.UpdateAction(ent);
if (_playerManager.LocalEntity != ent.Comp.AttachedEntity)
return;
ActionsUpdated?.Invoke();
}
private void HandleComponentState(EntityUid uid, ActionsComponent component, ref ComponentHandleState args)
private void OnHandleState(Entity<ActionsComponent> ent, ref ComponentHandleState args)
{
if (args.Current is not ActionsComponentState state)
return;
var (uid, comp) = ent;
_added.Clear();
_removed.Clear();
var stateEnts = EnsureEntitySet<ActionsComponent>(state.Actions, uid);
foreach (var act in component.Actions)
foreach (var act in comp.Actions)
{
if (!stateEnts.Contains(act) && !IsClientSide(act))
_removed.Add(act);
}
component.Actions.ExceptWith(_removed);
comp.Actions.ExceptWith(_removed);
foreach (var actionId in stateEnts)
{
if (!actionId.IsValid())
continue;
if (!component.Actions.Add(actionId))
if (!comp.Actions.Add(actionId))
continue;
TryGetActionData(actionId, out var action);
_added.Add((actionId, action));
if (GetAction(actionId) is {} action)
_added.Add(action);
}
if (_playerManager.LocalEntity != uid)
@@ -200,45 +118,46 @@ namespace Content.Client.Actions
foreach (var action in _added)
{
OnActionAdded?.Invoke(action.Item1);
OnActionAdded?.Invoke(action);
}
ActionsUpdated?.Invoke();
}
public static int ActionComparer((EntityUid, BaseActionComponent?) a, (EntityUid, BaseActionComponent?) b)
public static int ActionComparer(Entity<ActionComponent> a, Entity<ActionComponent> b)
{
var priorityA = a.Item2?.Priority ?? 0;
var priorityB = b.Item2?.Priority ?? 0;
var priorityA = a.Comp?.Priority ?? 0;
var priorityB = b.Comp?.Priority ?? 0;
if (priorityA != priorityB)
return priorityA - priorityB;
priorityA = a.Item2?.Container?.Id ?? 0;
priorityB = b.Item2?.Container?.Id ?? 0;
priorityA = a.Comp?.Container?.Id ?? 0;
priorityB = b.Comp?.Container?.Id ?? 0;
return priorityA - priorityB;
}
protected override void ActionAdded(EntityUid performer, EntityUid actionId, ActionsComponent comp,
BaseActionComponent action)
protected override void ActionAdded(Entity<ActionsComponent> performer, Entity<ActionComponent> action)
{
if (_playerManager.LocalEntity != performer)
if (_playerManager.LocalEntity != performer.Owner)
return;
OnActionAdded?.Invoke(actionId);
OnActionAdded?.Invoke(action);
ActionsUpdated?.Invoke();
}
protected override void ActionRemoved(EntityUid performer, EntityUid actionId, ActionsComponent comp, BaseActionComponent action)
protected override void ActionRemoved(Entity<ActionsComponent> performer, Entity<ActionComponent> action)
{
if (_playerManager.LocalEntity != performer)
if (_playerManager.LocalEntity != performer.Owner)
return;
OnActionRemoved?.Invoke(actionId);
OnActionRemoved?.Invoke(action);
ActionsUpdated?.Invoke();
}
public IEnumerable<(EntityUid Id, BaseActionComponent Comp)> GetClientActions()
public IEnumerable<Entity<ActionComponent>> GetClientActions()
{
if (_playerManager.LocalEntity is not { } user)
return Enumerable.Empty<(EntityUid, BaseActionComponent)>();
return Enumerable.Empty<Entity<ActionComponent>>();
return GetActions(user);
}
@@ -275,25 +194,24 @@ namespace Content.Client.Actions
CommandBinds.Unregister<ActionsSystem>();
}
public void TriggerAction(EntityUid actionId, BaseActionComponent action)
public void TriggerAction(Entity<ActionComponent> action)
{
if (_playerManager.LocalEntity is not { } user ||
!TryComp(user, out ActionsComponent? actions))
{
return;
}
if (action is not InstantActionComponent instantAction)
if (_playerManager.LocalEntity is not { } user)
return;
if (action.ClientExclusive)
// TODO: unhardcode this somehow
if (!HasComp<InstantActionComponent>(action))
return;
if (action.Comp.ClientExclusive)
{
PerformAction(user, actions, actionId, instantAction, instantAction.Event, GameTiming.CurTime);
PerformAction(user, action);
}
else
{
var request = new RequestPerformActionEvent(GetNetEntity(actionId));
EntityManager.RaisePredictiveEvent(request);
var request = new RequestPerformActionEvent(GetNetEntity(action));
RaisePredictiveEvent(request);
}
}
@@ -316,39 +234,140 @@ namespace Content.Client.Actions
if (yamlStream.Documents[0].RootNode.ToDataNode() is not SequenceDataNode sequence)
return;
var actions = EnsureComp<ActionsComponent>(user);
ClearAssignments?.Invoke();
var assignments = new List<SlotAssignment>();
foreach (var entry in sequence.Sequence)
{
if (entry is not MappingDataNode map)
continue;
if (!map.TryGet("action", out var actionNode))
continue;
var action = _serialization.Read<BaseActionComponent>(actionNode, notNullableOverride: true);
var actionId = Spawn();
AddComp(actionId, action);
AddActionDirect(user, actionId);
if (map.TryGet<ValueDataNode>("name", out var nameNode))
_metaData.SetEntityName(actionId, nameNode.Value);
if (!map.TryGet("assignments", out var assignmentNode))
continue;
var nodeAssignments = _serialization.Read<List<(byte Hotbar, byte Slot)>>(assignmentNode, notNullableOverride: true);
foreach (var index in nodeAssignments)
var actionId = EntityUid.Invalid;
if (map.TryGet<ValueDataNode>("action", out var actionNode))
{
var assignment = new SlotAssignment(index.Hotbar, index.Slot, actionId);
assignments.Add(assignment);
var id = new EntProtoId(actionNode.Value);
actionId = Spawn(id);
}
else if (map.TryGet<ValueDataNode>("entity", out var entityNode))
{
var id = new EntProtoId(entityNode.Value);
var proto = _proto.Index(id);
actionId = Spawn(MappingEntityAction);
SetIcon(actionId, new SpriteSpecifier.EntityPrototype(id));
SetEvent(actionId, new StartPlacementActionEvent()
{
PlacementOption = "SnapgridCenter",
EntityType = id
});
_metaData.SetEntityName(actionId, proto.Name);
}
else if (map.TryGet<ValueDataNode>("tileId", out var tileNode))
{
var id = new ProtoId<ContentTileDefinition>(tileNode.Value);
var proto = _proto.Index(id);
actionId = Spawn(MappingEntityAction);
if (proto.Sprite is {} sprite)
SetIcon(actionId, new SpriteSpecifier.Texture(sprite));
SetEvent(actionId, new StartPlacementActionEvent()
{
PlacementOption = "AlignTileAny",
TileId = id
});
_metaData.SetEntityName(actionId, Loc.GetString(proto.Name));
}
else
{
Log.Error($"Mapping actions from {path} had unknown action data!");
continue;
}
AddActionDirect((user, actions), actionId);
}
}
private void OnWorldTargetAttempt(Entity<WorldTargetActionComponent> ent, ref ActionTargetAttemptEvent args)
{
if (args.Handled)
return;
args.Handled = true;
var (uid, comp) = ent;
var action = args.Action;
var coords = args.Input.Coordinates;
var user = args.User;
if (!ValidateWorldTarget(user, coords, ent))
return;
// optionally send the clicked entity too, if it matches its whitelist etc
// this is the actual entity-world targeting magic
EntityUid? targetEnt = null;
if (TryComp<EntityTargetActionComponent>(ent, out var entity) &&
args.Input.EntityUid != null &&
ValidateEntityTarget(user, args.Input.EntityUid, (uid, entity)))
{
targetEnt = args.Input.EntityUid;
}
AssignSlot?.Invoke(assignments);
if (action.ClientExclusive)
{
// TODO: abstract away from single event or maybe just RaiseLocalEvent?
if (comp.Event is {} ev)
{
ev.Target = coords;
ev.Entity = targetEnt;
}
PerformAction((user, user.Comp), (uid, action));
}
else
RaisePredictiveEvent(new RequestPerformActionEvent(GetNetEntity(uid), GetNetEntity(targetEnt), GetNetCoordinates(coords)));
args.FoundTarget = true;
}
private void OnEntityTargetAttempt(Entity<EntityTargetActionComponent> ent, ref ActionTargetAttemptEvent args)
{
if (args.Handled)
return;
args.Handled = true;
if (args.Input.EntityUid is not { Valid: true } entity)
return;
// let world target component handle it
var (uid, comp) = ent;
if (comp.Event is not {} ev)
{
DebugTools.Assert(HasComp<WorldTargetActionComponent>(ent), $"Action {ToPrettyString(ent)} requir45es WorldTargetActionComponent for entity-world targeting");
return;
}
var action = args.Action;
var user = args.User;
if (!ValidateEntityTarget(user, entity, ent))
return;
if (action.ClientExclusive)
{
ev.Target = entity;
PerformAction((user, user.Comp), (uid, action));
}
else
{
RaisePredictiveEvent(new RequestPerformActionEvent(GetNetEntity(uid), GetNetEntity(entity)));
}
args.FoundTarget = true;
}
public record struct SlotAssignment(byte Hotbar, byte Slot, EntityUid ActionId);

View File

@@ -21,7 +21,7 @@ namespace Content.Client.Actions.UI
/// </summary>
public (TimeSpan Start, TimeSpan End)? Cooldown { get; set; }
public ActionAlertTooltip(FormattedMessage name, FormattedMessage? desc, string? requires = null, FormattedMessage? charges = null)
public ActionAlertTooltip(FormattedMessage name, FormattedMessage? desc, string? requires = null)
{
_gameTiming = IoCManager.Resolve<IGameTiming>();
@@ -52,17 +52,6 @@ namespace Content.Client.Actions.UI
vbox.AddChild(description);
}
if (charges != null && !string.IsNullOrWhiteSpace(charges.ToString()))
{
var chargesLabel = new RichTextLabel
{
MaxWidth = TooltipTextMaxWidth,
StyleClasses = { StyleNano.StyleClassTooltipActionCharges }
};
chargesLabel.SetMessage(charges);
vbox.AddChild(chargesLabel);
}
vbox.AddChild(_cooldownLabel = new RichTextLabel
{
MaxWidth = TooltipTextMaxWidth,

View File

@@ -1,3 +1,4 @@
using System.Collections.Frozen;
using System.Linq;
using System.Numerics;
using Content.Client.Administration.Systems;
@@ -6,6 +7,7 @@ using Content.Shared.Administration;
using Content.Shared.CCVar;
using Content.Shared.Ghost;
using Content.Shared.Mind;
using Content.Shared.Roles;
using Robust.Client.Graphics;
using Robust.Client.ResourceManagement;
using Robust.Client.UserInterface;
@@ -22,10 +24,12 @@ internal sealed class AdminNameOverlay : Overlay
private readonly IEyeManager _eyeManager;
private readonly EntityLookupSystem _entityLookup;
private readonly IUserInterfaceManager _userInterfaceManager;
private readonly SharedRoleSystem _roles;
private readonly IPrototypeManager _prototypeManager;
private readonly Font _font;
private readonly Font _fontBold;
private bool _overlayClassic;
private bool _overlaySymbols;
private AdminOverlayAntagFormat _overlayFormat;
private AdminOverlayAntagSymbolStyle _overlaySymbolStyle;
private bool _overlayPlaytime;
private bool _overlayStartingJob;
private float _ghostFadeDistance;
@@ -33,9 +37,11 @@ internal sealed class AdminNameOverlay : Overlay
private int _overlayStackMax;
private float _overlayMergeDistance;
//TODO make this adjustable via GUI
private readonly ProtoId<RoleTypePrototype>[] _filter =
["SoloAntagonist", "TeamAntagonist", "SiliconAntagonist", "FreeAgent"];
//TODO make this adjustable via GUI?
private static readonly FrozenSet<ProtoId<RoleTypePrototype>> Filter =
new ProtoId<RoleTypePrototype>[] {"SoloAntagonist", "TeamAntagonist", "SiliconAntagonist", "FreeAgent"}
.ToFrozenSet();
private readonly string _antagLabelClassic = Loc.GetString("admin-overlay-antag-classic");
public AdminNameOverlay(
@@ -45,20 +51,24 @@ internal sealed class AdminNameOverlay : Overlay
IResourceCache resourceCache,
EntityLookupSystem entityLookup,
IUserInterfaceManager userInterfaceManager,
IConfigurationManager config)
IConfigurationManager config,
SharedRoleSystem roles,
IPrototypeManager prototypeManager)
{
_system = system;
_entityManager = entityManager;
_eyeManager = eyeManager;
_entityLookup = entityLookup;
_userInterfaceManager = userInterfaceManager;
_roles = roles;
_prototypeManager = prototypeManager;
ZIndex = 200;
// Setting these to a specific ttf would break the antag symbols
_font = resourceCache.NotoStack();
_fontBold = resourceCache.NotoStack(variation: "Bold");
config.OnValueChanged(CCVars.AdminOverlayClassic, (show) => { _overlayClassic = show; }, true);
config.OnValueChanged(CCVars.AdminOverlaySymbols, (show) => { _overlaySymbols = show; }, true);
config.OnValueChanged(CCVars.AdminOverlayAntagFormat, (show) => { _overlayFormat = UpdateOverlayFormat(show); }, true);
config.OnValueChanged(CCVars.AdminOverlaySymbolStyle, (show) => { _overlaySymbolStyle = UpdateOverlaySymbolStyle(show); }, true);
config.OnValueChanged(CCVars.AdminOverlayPlaytime, (show) => { _overlayPlaytime = show; }, true);
config.OnValueChanged(CCVars.AdminOverlayStartingJob, (show) => { _overlayStartingJob = show; }, true);
config.OnValueChanged(CCVars.AdminOverlayGhostHideDistance, (f) => { _ghostHideDistance = f; }, true);
@@ -67,6 +77,22 @@ internal sealed class AdminNameOverlay : Overlay
config.OnValueChanged(CCVars.AdminOverlayMergeDistance, (f) => { _overlayMergeDistance = f; }, true);
}
private AdminOverlayAntagFormat UpdateOverlayFormat(string formatString)
{
if (!Enum.TryParse<AdminOverlayAntagFormat>(formatString, out var format))
format = AdminOverlayAntagFormat.Binary;
return format;
}
private AdminOverlayAntagSymbolStyle UpdateOverlaySymbolStyle(string symbolString)
{
if (!Enum.TryParse<AdminOverlayAntagSymbolStyle>(symbolString, out var symbolStyle))
symbolStyle = AdminOverlayAntagSymbolStyle.Off;
return symbolStyle;
}
public override OverlaySpace Space => OverlaySpace.ScreenSpace;
protected override void Draw(in OverlayDrawArgs args)
@@ -104,6 +130,14 @@ internal sealed class AdminNameOverlay : Overlay
foreach (var info in sortable.OrderBy(s => s.Item4.Y).ToList())
{
var playerInfo = info.Item1;
var rolePrototype = playerInfo.RoleProto == null
? null
: _prototypeManager.Index(playerInfo.RoleProto.Value);
var roleName = Loc.GetString(rolePrototype?.Name ?? RoleTypePrototype.FallbackName);
var roleColor = rolePrototype?.Color ?? RoleTypePrototype.FallbackColor;
var roleSymbol = rolePrototype?.Symbol ?? RoleTypePrototype.FallbackSymbol;
var aabb = info.Item2;
var entity = info.Item3;
var screenCoordinatesCenter = info.Item4;
@@ -183,36 +217,66 @@ internal sealed class AdminNameOverlay : Overlay
currentOffset += lineoffset;
}
// Classic Antag Label
if (_overlayClassic && playerInfo.Antag)
// Determine antag symbol
string? symbol;
switch (_overlaySymbolStyle)
{
var symbol = _overlaySymbols ? Loc.GetString("player-tab-antag-prefix") : string.Empty;
var label = _overlaySymbols
? Loc.GetString("player-tab-character-name-antag-symbol",
("symbol", symbol),
("name", _antagLabelClassic))
: _antagLabelClassic;
color = Color.OrangeRed;
color.A = alpha;
args.ScreenHandle.DrawString(_fontBold, screenCoordinates + currentOffset, label, uiScale, color);
currentOffset += lineoffset;
case AdminOverlayAntagSymbolStyle.Specific:
symbol = roleSymbol;
break;
case AdminOverlayAntagSymbolStyle.Basic:
symbol = Loc.GetString("player-tab-antag-prefix");
break;
default:
case AdminOverlayAntagSymbolStyle.Off:
symbol = string.Empty;
break;
}
// Role Type
else if (!_overlayClassic && _filter.Contains(playerInfo.RoleProto))
// Determine antag/role type name
string? text;
switch (_overlayFormat)
{
var symbol = _overlaySymbols && playerInfo.Antag ? playerInfo.RoleProto.Symbol : string.Empty;
var role = Loc.GetString(playerInfo.RoleProto.Name).ToUpper();
var label = _overlaySymbols
? Loc.GetString("player-tab-character-name-antag-symbol", ("symbol", symbol), ("name", role))
: role;
color = playerInfo.RoleProto.Color;
color.A = alpha;
args.ScreenHandle.DrawString(_fontBold, screenCoordinates + currentOffset, label, uiScale, color);
currentOffset += lineoffset;
case AdminOverlayAntagFormat.Roletype:
color = roleColor;
symbol = IsFiltered(playerInfo.RoleProto) ? symbol : string.Empty;
text = IsFiltered(playerInfo.RoleProto)
? roleName.ToUpper()
: string.Empty;
break;
case AdminOverlayAntagFormat.Subtype:
color = roleColor;
symbol = IsFiltered(playerInfo.RoleProto) ? symbol : string.Empty;
text = IsFiltered(playerInfo.RoleProto)
? _roles.GetRoleSubtypeLabel(roleName, playerInfo.Subtype).ToUpper()
: string.Empty;
break;
default:
case AdminOverlayAntagFormat.Binary:
color = Color.OrangeRed;
symbol = playerInfo.Antag ? symbol : string.Empty;
text = playerInfo.Antag ? _antagLabelClassic : string.Empty;
break;
}
// Draw antag label
color.A = alpha;
var label = !string.IsNullOrEmpty(symbol)
? Loc.GetString("player-tab-character-name-antag-symbol", ("symbol", symbol), ("name", text))
: text;
args.ScreenHandle.DrawString(_fontBold, screenCoordinates + currentOffset, label, uiScale, color);
currentOffset += lineoffset;
//Save the coordinates and size of the text block, for stack merge check
drawnOverlays.Add((screenCoordinatesCenter, currentOffset));
}
}
private static bool IsFiltered(ProtoId<RoleTypePrototype>? roleProtoId)
{
if (roleProtoId == null)
return false;
return Filter.Contains(roleProtoId.Value);
}
}

View File

@@ -1,10 +0,0 @@
using Content.Shared.Administration.Components;
using Robust.Shared.GameStates;
namespace Content.Client.Administration.Components;
[RegisterComponent]
public sealed partial class HeadstandComponent : SharedHeadstandComponent
{
}

View File

@@ -15,6 +15,7 @@ namespace Content.Client.Administration.Managers
[Dependency] private readonly IPlayerManager _player = default!;
[Dependency] private readonly IClientNetManager _netMgr = default!;
[Dependency] private readonly IClientConGroupController _conGroup = default!;
[Dependency] private readonly IClientConsoleHost _host = default!;
[Dependency] private readonly IResourceManager _res = default!;
[Dependency] private readonly ILogManager _logManager = default!;
[Dependency] private readonly IUserInterfaceManager _userInterface = default!;
@@ -86,12 +87,12 @@ namespace Content.Client.Administration.Managers
private void UpdateMessageRx(MsgUpdateAdminStatus message)
{
_availableCommands.Clear();
var host = IoCManager.Resolve<IClientConsoleHost>();
// Anything marked as Any we'll just add even if the server doesn't know about it.
foreach (var (command, instance) in host.AvailableCommands)
foreach (var (command, instance) in _host.AvailableCommands)
{
if (Attribute.GetCustomAttribute(instance.GetType(), typeof(AnyCommandAttribute)) == null) continue;
if (Attribute.GetCustomAttribute(instance.GetType(), typeof(AnyCommandAttribute)) == null)
continue;
_availableCommands.Add(command);
}

View File

@@ -0,0 +1,15 @@
namespace Content.Client.Administration;
public enum AdminOverlayAntagFormat
{
Binary,
Roletype,
Subtype
}
public enum AdminOverlayAntagSymbolStyle
{
Off,
Basic,
Specific
}

View File

@@ -1,7 +0,0 @@
using Content.Shared.Administration;
namespace Content.Client.Administration.Systems;
public sealed class AdminFrozenSystem : SharedAdminFrozenSystem
{
}

View File

@@ -1,8 +1,10 @@
using Content.Client.Administration.Managers;
using Content.Shared.Roles;
using Robust.Client.Graphics;
using Robust.Client.ResourceManagement;
using Robust.Client.UserInterface;
using Robust.Shared.Configuration;
using Robust.Shared.Prototypes;
namespace Content.Client.Administration.Systems
{
@@ -15,6 +17,8 @@ namespace Content.Client.Administration.Systems
[Dependency] private readonly EntityLookupSystem _entityLookup = default!;
[Dependency] private readonly IUserInterfaceManager _userInterfaceManager = default!;
[Dependency] private readonly IConfigurationManager _configurationManager = default!;
[Dependency] private readonly SharedRoleSystem _roles = default!;
[Dependency] private readonly IPrototypeManager _proto = default!;
private AdminNameOverlay _adminNameOverlay = default!;
@@ -30,7 +34,9 @@ namespace Content.Client.Administration.Systems
_resourceCache,
_entityLookup,
_userInterfaceManager,
_configurationManager);
_configurationManager,
_roles,
_proto);
_adminManager.AdminStatusUpdated += OnAdminStatusUpdated;
}
@@ -46,7 +52,8 @@ namespace Content.Client.Administration.Systems
public void AdminOverlayOn()
{
if (_overlayManager.HasOverlay<AdminNameOverlay>()) return;
if (_overlayManager.HasOverlay<AdminNameOverlay>())
return;
_overlayManager.AddOverlay(_adminNameOverlay);
OverlayEnabled?.Invoke();
}

View File

@@ -32,7 +32,7 @@ namespace Content.Client.Administration.Systems
var verb = new VvVerb()
{
Text = Loc.GetString("view-variables"),
Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/vv.svg.192dpi.png")),
Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/VerbIcons/vv.svg.192dpi.png")),
Act = () => _clientConsoleHost.ExecuteCommand($"vv {GetNetEntity(args.Target)}"),
ClientExclusive = true // opening VV window is client-side. Don't ask server to run this verb.
};

View File

@@ -1,4 +1,4 @@
using Content.Client.Administration.Components;
using Content.Shared.Administration.Components;
using Robust.Client.GameObjects;
namespace Content.Client.Administration.Systems;

View File

@@ -7,6 +7,8 @@ namespace Content.Client.Administration.Systems;
public sealed class KillSignSystem : EntitySystem
{
[Dependency] private readonly SpriteSystem _sprite = default!;
public override void Initialize()
{
SubscribeLocalEvent<KillSignComponent, ComponentStartup>(KillSignAdded);
@@ -18,10 +20,10 @@ public sealed class KillSignSystem : EntitySystem
if (!TryComp<SpriteComponent>(uid, out var sprite))
return;
if (!sprite.LayerMapTryGet(KillSignKey.Key, out var layer))
if (!_sprite.LayerMapTryGet((uid, sprite), KillSignKey.Key, out var layer, false))
return;
sprite.RemoveLayer(layer);
_sprite.RemoveLayer((uid, sprite), layer);
}
private void KillSignAdded(EntityUid uid, KillSignComponent component, ComponentStartup args)
@@ -29,15 +31,15 @@ public sealed class KillSignSystem : EntitySystem
if (!TryComp<SpriteComponent>(uid, out var sprite))
return;
if (sprite.LayerMapTryGet(KillSignKey.Key, out var _))
if (_sprite.LayerMapTryGet((uid, sprite), KillSignKey.Key, out var _, false))
return;
var adj = sprite.Bounds.Height / 2 + ((1.0f/32) * 6.0f);
var adj = _sprite.GetLocalBounds((uid, sprite)).Height / 2 + ((1.0f / 32) * 6.0f);
var layer = sprite.AddLayer(new SpriteSpecifier.Rsi(new ResPath("Objects/Misc/killsign.rsi"), "sign"));
sprite.LayerMapSet(KillSignKey.Key, layer);
var layer = _sprite.AddLayer((uid, sprite), new SpriteSpecifier.Rsi(new ResPath("Objects/Misc/killsign.rsi"), "sign"));
_sprite.LayerMapSet((uid, sprite), KillSignKey.Key, layer);
sprite.LayerSetOffset(layer, new Vector2(0.0f, adj));
_sprite.LayerSetOffset((uid, sprite), layer, new Vector2(0.0f, adj));
sprite.LayerSetShader(layer, "unshaded");
}

View File

@@ -0,0 +1,20 @@
<Control
xmlns="https://spacestation14.io"
xmlns:viewport="clr-namespace:Content.Client.Viewport"
MouseFilter="Stop">
<PanelContainer StyleClasses="BackgroundDark" Name="AdminCameraWindowRoot" Access="Public">
<BoxContainer Orientation="Vertical" Access="Public">
<!-- Camera -->
<Control VerticalExpand="True" Name="CameraViewBox">
<viewport:ScalingViewport Name="CameraView"
MinSize="100 100"
MouseFilter="Ignore" />
</Control>
<!-- Controller buttons -->
<BoxContainer Orientation="Horizontal" Margin="5 5 5 5">
<Button StyleClasses="OpenRight" Name="FollowButton" HorizontalExpand="True" Access="Public" Text="{Loc 'admin-camera-window-follow'}" />
<Button StyleClasses="OpenLeft" Name="PopControl" HorizontalExpand="True" Access="Public" Text="{Loc 'admin-camera-window-pop-out'}" />
</BoxContainer>
</BoxContainer>
</PanelContainer>
</Control>

View File

@@ -0,0 +1,101 @@
using System.Numerics;
using Content.Client.Eye;
using Content.Shared.Administration;
using Robust.Client.AutoGenerated;
using Robust.Client.Graphics;
using Robust.Client.Timing;
using Robust.Client.UserInterface;
using Robust.Client.UserInterface.XAML;
using Robust.Shared.Timing;
namespace Content.Client.Administration.UI.AdminCamera;
[GenerateTypedNameReferences]
public sealed partial class AdminCameraControl : Control
{
[Dependency] private readonly IEntityManager _entManager = default!;
[Dependency] private readonly IClientGameTiming _timing = default!;
public event Action? OnFollow;
public event Action? OnPopoutControl;
private readonly EyeLerpingSystem _eyeLerpingSystem;
private readonly FixedEye _defaultEye = new();
private AdminCameraEuiState? _nextState;
private const float MinimumZoom = 0.1f;
private const float MaximumZoom = 2.0f;
public EntityUid? CurrentCamera;
public float Zoom = 1.0f;
public bool IsPoppedOut;
public AdminCameraControl()
{
RobustXamlLoader.Load(this);
IoCManager.InjectDependencies(this);
_eyeLerpingSystem = _entManager.System<EyeLerpingSystem>();
CameraView.Eye = _defaultEye;
FollowButton.OnPressed += _ => OnFollow?.Invoke();
PopControl.OnPressed += _ => OnPopoutControl?.Invoke();
CameraView.OnResized += OnResized;
}
private new void OnResized()
{
var width = Math.Max(CameraView.PixelWidth, (int)Math.Floor(CameraView.MinWidth));
var height = Math.Max(CameraView.PixelHeight, (int)Math.Floor(CameraView.MinHeight));
CameraView.ViewportSize = new Vector2i(width, height);
}
protected override void MouseWheel(GUIMouseWheelEventArgs args)
{
base.MouseWheel(args);
if (CameraView.Eye == null)
return;
Zoom = Math.Clamp(Zoom - args.Delta.Y * 0.15f * Zoom, MinimumZoom, MaximumZoom);
CameraView.Eye.Zoom = new Vector2(Zoom, Zoom);
args.Handle();
}
public void SetState(AdminCameraEuiState state)
{
_nextState = state;
}
// I know that this is awful, but I copied this from the solution editor anyways.
// This is needed because EUIs update before the gamestate is applied, which means it will fail to get the uid from the net entity.
// The suggestion from the comment in the solution editor saying to use a BUI is not ideal either:
// - We would need to bind the UI to an entity, but with how BUIs currently work we cannot open it in the same tick as we spawn that entity on the server.
// - We want the UI opened by the user session, not by their currently attached entity. Otherwise it would close in cases where admins move from one entity to another, for example when ghosting.
protected override void FrameUpdate(FrameEventArgs args)
{
if (_nextState == null || _timing.LastRealTick < _nextState.Tick) // make sure the last gamestate has been applied
return;
if (!_entManager.TryGetEntity(_nextState.Camera, out var cameraUid))
return;
if (CurrentCamera == null)
{
_eyeLerpingSystem.AddEye(cameraUid.Value);
CurrentCamera = cameraUid;
}
else if (CurrentCamera != cameraUid)
{
_eyeLerpingSystem.RemoveEye(CurrentCamera.Value);
_eyeLerpingSystem.AddEye(cameraUid.Value);
CurrentCamera = cameraUid;
}
if (_entManager.TryGetComponent<EyeComponent>(CurrentCamera, out var eye))
CameraView.Eye = eye.Eye ?? _defaultEye;
}
}

View File

@@ -0,0 +1,117 @@
using System.Numerics;
using Content.Client.Eui;
using Content.Shared.Administration;
using Content.Shared.Eui;
using JetBrains.Annotations;
using Robust.Client.UserInterface.Controls;
namespace Content.Client.Administration.UI.AdminCamera;
/// <summary>
/// Admin Eui for opening a viewport window to observe entities.
/// Use the "Open Camera" admin verb or the "camera" command to open.
/// </summary>
[UsedImplicitly]
public sealed partial class AdminCameraEui : BaseEui
{
private readonly AdminCameraWindow _window;
private readonly AdminCameraControl _control;
// If not null the camera is in "popped out" mode and is in an external window.
private OSWindow? _OSWindow;
// The last location the window was located at in game.
// Is used for getting knowing where to "pop in" external windows.
private Vector2 _lastLocation;
public AdminCameraEui()
{
_window = new AdminCameraWindow();
_control = new AdminCameraControl();
_window.Contents.AddChild(_control);
_control.OnFollow += () => SendMessage(new AdminCameraFollowMessage());
_window.OnClose += () =>
{
if (!_control.IsPoppedOut)
SendMessage(new CloseEuiMessage());
};
_control.OnPopoutControl += () =>
{
if (_control.IsPoppedOut)
PopIn();
else
PopOut();
};
}
// Pop the window out into an external OS window
private void PopOut()
{
_lastLocation = _window.Position;
// TODO: When there is a way to have a minimum window size, enforce something!
_OSWindow = new OSWindow
{
SetSize = _window.Size,
Title = _window.Title ?? Loc.GetString("admin-camera-window-title-placeholder"),
};
_OSWindow.Show();
if (_OSWindow.Root == null)
return;
_control.Orphan();
_OSWindow.Root.AddChild(_control);
_OSWindow.Closed += () =>
{
if (_control.IsPoppedOut)
SendMessage(new CloseEuiMessage());
};
_control.IsPoppedOut = true;
_control.PopControl.Text = Loc.GetString("admin-camera-window-pop-in");
_window.Close();
}
// Pop the window back into the in game window.
private void PopIn()
{
_control.Orphan();
_window.Contents.AddChild(_control);
_window.Open(_lastLocation);
_control.IsPoppedOut = false;
_control.PopControl.Text = Loc.GetString("admin-camera-window-pop-out");
_OSWindow?.Close();
_OSWindow = null;
}
public override void Opened()
{
base.Opened();
_window.OpenCentered();
}
public override void Closed()
{
base.Closed();
_window.Close();
}
public override void HandleState(EuiStateBase baseState)
{
if (baseState is not AdminCameraEuiState state)
return;
_window.SetState(state);
_control.SetState(state);
}
}

View File

@@ -0,0 +1,6 @@
<DefaultWindow xmlns="https://spacestation14.io"
Title="{Loc admin-camera-window-title-placeholder}"
SetSize="425 550"
MinSize="200 225"
Name="Window">
</DefaultWindow>

View File

@@ -0,0 +1,23 @@
using Content.Shared.Administration;
using Robust.Client.AutoGenerated;
using Robust.Client.UserInterface.CustomControls;
using Robust.Client.UserInterface.XAML;
namespace Content.Client.Administration.UI.AdminCamera;
[GenerateTypedNameReferences]
public sealed partial class AdminCameraWindow : DefaultWindow
{
public AdminCameraWindow()
{
RobustXamlLoader.Load(this);
IoCManager.InjectDependencies(this);
ContentsContainer.Margin = new Thickness(5, 0, 5, 0);
}
public void SetState(AdminCameraEuiState state)
{
Title = Loc.GetString("admin-camera-window-title", ("name", state.Name));
}
}

View File

@@ -1,59 +0,0 @@
using System.Threading;
using Content.Client.Stylesheets;
using Robust.Client.UserInterface.Controls;
using Timer = Robust.Shared.Timing.Timer;
namespace Content.Client.Administration.UI;
public static class AdminUIHelpers
{
private static void ResetButton(Button button, ConfirmationData data)
{
data.Cancellation.Cancel();
button.ModulateSelfOverride = null;
button.Text = data.OriginalText;
}
public static bool RemoveConfirm(Button button, Dictionary<Button, ConfirmationData> confirmations)
{
if (confirmations.Remove(button, out var data))
{
ResetButton(button, data);
return true;
}
return false;
}
public static void RemoveAllConfirms(Dictionary<Button, ConfirmationData> confirmations)
{
foreach (var (button, confirmation) in confirmations)
{
ResetButton(button, confirmation);
}
confirmations.Clear();
}
public static bool TryConfirm(Button button, Dictionary<Button, ConfirmationData> confirmations)
{
if (RemoveConfirm(button, confirmations))
return true;
var data = new ConfirmationData(new CancellationTokenSource(), button.Text);
confirmations[button] = data;
Timer.Spawn(TimeSpan.FromSeconds(5), () =>
{
confirmations.Remove(button);
button.ModulateSelfOverride = null;
button.Text = data.OriginalText;
}, data.Cancellation.Token);
button.ModulateSelfOverride = StyleNano.ButtonColorCautionDefault;
button.Text = Loc.GetString("admin-player-actions-confirm");
return false;
}
}
public readonly record struct ConfirmationData(CancellationTokenSource Cancellation, string? OriginalText);

View File

@@ -1,7 +1,7 @@
<DefaultWindow
xmlns="https://spacestation14.io"
xmlns:cc="clr-namespace:Content.Client.Administration.UI.CustomControls"
Title="{Loc ban-panel-title}" MinSize="350 500">
Title="{Loc ban-panel-title}" MinSize="410 500">
<BoxContainer Orientation="Vertical">
<TabContainer Name="Tabs" VerticalExpand="True">
<!-- Basic info -->

View File

@@ -1,12 +1,14 @@
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Numerics;
using Content.Client.Administration.UI.CustomControls;
using Content.Shared.Administration;
using Content.Shared.CCVar;
using Content.Shared.Database;
using Content.Shared.Roles;
using Robust.Client.AutoGenerated;
using Robust.Client.GameObjects;
using Robust.Client.Graphics;
using Robust.Client.UserInterface;
using Robust.Client.UserInterface.Controls;
@@ -31,14 +33,21 @@ public sealed partial class BanPanel : DefaultWindow
private uint Multiplier { get; set; }
private bool HasBanFlag { get; set; }
private TimeSpan? ButtonResetOn { get; set; }
// This is less efficient than just holding a reference to the root control and enumerating children, but you
// have to know how the controls are nested, which makes the code more complicated.
private readonly List<CheckBox> _roleCheckboxes = new();
// Role group name -> the role buttons themselves.
private readonly Dictionary<string, List<Button>> _roleCheckboxes = new();
private readonly ISawmill _banpanelSawmill;
[Dependency] private readonly IGameTiming _gameTiming = default!;
[Dependency] private readonly IConfigurationManager _cfg = default!;
[Dependency] private readonly ILogManager _logManager = default!;
[Dependency] private readonly IEntityManager _entMan = default!;
[Dependency] private readonly IPrototypeManager _protoMan = default!;
private const string ExpandedArrow = "▼";
private const string ContractedArrow = "▶";
private enum TabNumbers
{
@@ -144,47 +153,90 @@ public sealed partial class BanPanel : DefaultWindow
ReasonTextEdit.Placeholder = new Rope.Leaf(Loc.GetString("ban-panel-reason"));
var prototypeManager = IoCManager.Resolve<IPrototypeManager>();
foreach (var proto in prototypeManager.EnumeratePrototypes<DepartmentPrototype>())
var departmentJobs = _protoMan.EnumeratePrototypes<DepartmentPrototype>()
.OrderBy(x => x.Weight);
foreach (var proto in departmentJobs)
{
CreateRoleGroup(proto.ID, proto.Roles.Select(p => p.Id), proto.Color);
var roles = proto.Roles.Select(x => _protoMan.Index(x))
.OrderBy(x => x.ID);
CreateRoleGroup(proto.ID, proto.Color, roles);
}
CreateRoleGroup("Antagonist", prototypeManager.EnumeratePrototypes<AntagPrototype>().Select(p => p.ID), Color.Red);
var antagRoles = _protoMan.EnumeratePrototypes<AntagPrototype>()
.OrderBy(x => x.ID);
CreateRoleGroup("Antagonist", Color.Red, antagRoles);
}
private void CreateRoleGroup(string roleName, IEnumerable<string> roleList, Color color)
/// <summary>
/// Creates a "Role group" which stores information and logic for one "group" of roll bans.
/// For example, all antags are one group, logi is a group, medical is a group, etc...
/// </summary>
private void CreateRoleGroup<T>(string groupName, Color color, IEnumerable<T> roles) where T : class, IPrototype
{
var outerContainer = new BoxContainer
{
Name = $"{roleName}GroupOuterBox",
Name = $"{groupName}GroupOuterBox",
HorizontalExpand = true,
VerticalExpand = true,
Orientation = BoxContainer.LayoutOrientation.Vertical,
Margin = new Thickness(4)
Margin = new Thickness(4),
};
var departmentCheckbox = new CheckBox
// Stores stuff like ban all and expand buttons.
var roleGroupHeader = new BoxContainer
{
Name = $"{roleName}GroupCheckbox",
Text = roleName,
Modulate = color,
HorizontalAlignment = HAlignment.Left
Orientation = BoxContainer.LayoutOrientation.Horizontal,
};
outerContainer.AddChild(departmentCheckbox);
var innerContainer = new BoxContainer
// Stores the role checkboxes themselves.
var innerContainer = new GridContainer
{
Name = $"{roleName}GroupInnerBox",
Name = $"{groupName}GroupInnerBox",
HorizontalExpand = true,
Orientation = BoxContainer.LayoutOrientation.Horizontal
Columns = 2,
Visible = false,
Margin = new Thickness(15, 5, 0, 5),
};
departmentCheckbox.OnToggled += args =>
var roleGroupCheckbox = CreateRoleGroupHeader(groupName, roleGroupHeader, color, innerContainer);
outerContainer.AddChild(roleGroupHeader);
// Add the roles themselves
foreach (var role in roles)
{
foreach (var child in innerContainer.Children)
AddRoleCheckbox(groupName, role.ID, innerContainer, roleGroupCheckbox);
}
outerContainer.AddChild(innerContainer);
RolesContainer.AddChild(new PanelContainer
{
PanelOverride = new StyleBoxFlat
{
if (child is CheckBox c)
{
c.Pressed = args.Pressed;
}
BackgroundColor = color
}
});
RolesContainer.AddChild(outerContainer);
RolesContainer.AddChild(new HSeparator());
}
private Button CreateRoleGroupHeader(string groupName, BoxContainer header, Color color, GridContainer innerContainer)
{
var roleGroupCheckbox = new Button
{
Name = $"{groupName}GroupCheckbox",
Text = "Ban all",
Margin = new Thickness(0, 0, 5, 0),
ToggleMode = true,
};
// When this is toggled, toggle all buttons in this group so they match.
roleGroupCheckbox.OnToggled += args =>
{
foreach (var role in _roleCheckboxes[groupName])
{
role.Pressed = args.Pressed;
}
if (args.Pressed)
@@ -199,15 +251,12 @@ public sealed partial class BanPanel : DefaultWindow
}
else
{
foreach (var childContainer in RolesContainer.Children)
foreach (var roleButtons in _roleCheckboxes.Values)
{
if (childContainer is Container)
foreach (var button in roleButtons)
{
foreach (var child in childContainer.Children)
{
if (child is CheckBox { Pressed: true })
return;
}
if (button.Pressed)
return;
}
}
@@ -220,38 +269,73 @@ public sealed partial class BanPanel : DefaultWindow
SeverityOption.SelectId((int) newSeverity);
}
};
outerContainer.AddChild(innerContainer);
foreach (var role in roleList)
var hideButton = new Button
{
AddRoleCheckbox(role, innerContainer, departmentCheckbox);
}
RolesContainer.AddChild(new PanelContainer
Text = Loc.GetString("role-bans-expand-roles") + " " + ContractedArrow,
ToggleMode = true,
};
hideButton.OnPressed += args =>
{
PanelOverride = new StyleBoxFlat
{
BackgroundColor = color
}
innerContainer.Visible = args.Button.Pressed;
((Button)args.Button).Text = args.Button.Pressed
? Loc.GetString("role-bans-contract-roles") + " " + ExpandedArrow
: Loc.GetString("role-bans-expand-roles") + " " + ContractedArrow;
};
header.AddChild(new Label
{
Text = groupName,
Modulate = color,
Margin = new Thickness(0, 0, 5, 0),
});
RolesContainer.AddChild(outerContainer);
RolesContainer.AddChild(new HSeparator());
header.AddChild(roleGroupCheckbox);
header.AddChild(hideButton);
return roleGroupCheckbox;
}
private void AddRoleCheckbox(string role, Control container, CheckBox header)
/// <summary>
/// Adds a checkbutton specifically for one "role" in a "group"
/// E.g. it would add the Chief Medical Officer "role" into the "Medical" group.
/// </summary>
private void AddRoleCheckbox(string group, string role, GridContainer roleGroupInnerContainer, Button roleGroupCheckbox)
{
var roleCheckbox = new CheckBox
var roleCheckboxContainer = new BoxContainer();
var roleCheckButton = new Button
{
Name = $"{role}RoleCheckbox",
Text = role
Text = role,
ToggleMode = true,
};
roleCheckbox.OnToggled += args =>
roleCheckButton.OnToggled += args =>
{
if (args is { Pressed: true, Button.Parent: { } } && args.Button.Parent.Children.Where(e => e is CheckBox).All(e => ((CheckBox) e).Pressed))
header.Pressed = args.Pressed;
// Checks the role group checkbox if all the children are pressed
if (args.Pressed && _roleCheckboxes[group].All(e => e.Pressed))
roleGroupCheckbox.Pressed = args.Pressed;
else
header.Pressed = false;
roleGroupCheckbox.Pressed = false;
};
container.AddChild(roleCheckbox);
_roleCheckboxes.Add(roleCheckbox);
// This is adding the icon before the role name
// TODO: This should not be using raw strings for prototypes as it means it won't be validated at all.
// I know the ban manager is doing the same thing, but that should not leak into UI code.
if (_protoMan.TryIndex<JobPrototype>(role, out var jobPrototype) && _protoMan.Resolve(jobPrototype.Icon, out var iconProto))
{
var jobIconTexture = new TextureRect
{
Texture = _entMan.System<SpriteSystem>().Frame0(iconProto.Icon),
TextureScale = new Vector2(2.5f, 2.5f),
Stretch = TextureRect.StretchMode.KeepCentered,
Margin = new Thickness(5, 0, 0, 0),
};
roleCheckboxContainer.AddChild(jobIconTexture);
}
roleCheckboxContainer.AddChild(roleCheckButton);
roleGroupInnerContainer.AddChild(roleCheckboxContainer);
_roleCheckboxes.TryAdd(group, []);
_roleCheckboxes[group].Add(roleCheckButton);
}
public void UpdateBanFlag(bool newFlag)
@@ -469,7 +553,13 @@ public sealed partial class BanPanel : DefaultWindow
if (_roleCheckboxes.Count == 0)
throw new DebugAssertException("RoleCheckboxes was empty");
rolesList.AddRange(_roleCheckboxes.Where(c => c is { Pressed: true, Text: { } }).Select(c => c.Text!));
foreach (var button in _roleCheckboxes.Values.SelectMany(departmentButtons => departmentButtons))
{
if (button is { Pressed: true, Text: not null })
{
rolesList.Add(button.Text);
}
}
if (rolesList.Count == 0)
{

View File

@@ -1,6 +1,7 @@
<Control
xmlns="https://spacestation14.io"
xmlns:cc="clr-namespace:Content.Client.Administration.UI.CustomControls">
xmlns:cc="clr-namespace:Content.Client.Administration.UI.CustomControls"
xmlns:controls="clr-namespace:Content.Client.UserInterface.Controls">
<PanelContainer StyleClasses="BackgroundDark">
<SplitContainer Orientation="Vertical" ResizeMode="NotResizable">
<SplitContainer Orientation="Horizontal" VerticalExpand="True">
@@ -18,9 +19,9 @@
<Control HorizontalExpand="True" />
<Button Visible="False" Name="Bans" Text="{Loc 'admin-player-actions-bans'}" StyleClasses="OpenRight" />
<Button Visible="False" Name="Notes" Text="{Loc 'admin-player-actions-notes'}" StyleClasses="OpenBoth" />
<Button Visible="False" Name="Kick" Text="{Loc 'admin-player-actions-kick'}" StyleClasses="OpenBoth" />
<controls:ConfirmButton Visible="False" Name="Kick" Text="{Loc 'admin-player-actions-kick'}" ConfirmationText="{Loc 'admin-player-actions-confirm'}" StyleClasses="OpenBoth" />
<Button Visible="False" Name="Ban" Text="{Loc 'admin-player-actions-ban'}" StyleClasses="OpenBoth" />
<Button Visible="False" Name="Respawn" Text="{Loc 'admin-player-actions-respawn'}" StyleClasses="OpenBoth" />
<controls:ConfirmButton Visible="False" Name="Respawn" Text="{Loc 'admin-player-actions-respawn'}" ConfirmationText="{Loc 'admin-player-actions-confirm'}" StyleClasses="OpenBoth" />
<Button Visible="False" Name="Follow" Text="{Loc 'admin-player-actions-follow'}" StyleClasses="OpenLeft" />
</BoxContainer>
</SplitContainer>

View File

@@ -29,7 +29,6 @@ namespace Content.Client.Administration.UI.Bwoink
public AdminAHelpUIHandler AHelpHelper = default!;
private PlayerInfo? _currentPlayer;
private readonly Dictionary<Button, ConfirmationData> _confirmations = new();
public BwoinkControl()
{
@@ -178,11 +177,6 @@ namespace Content.Client.Administration.UI.Bwoink
Kick.OnPressed += _ =>
{
if (!AdminUIHelpers.TryConfirm(Kick, _confirmations))
{
return;
}
// TODO: Reason field
if (_currentPlayer is not null)
_console.ExecuteCommand($"kick \"{_currentPlayer.Username}\"");
@@ -196,11 +190,6 @@ namespace Content.Client.Administration.UI.Bwoink
Respawn.OnPressed += _ =>
{
if (!AdminUIHelpers.TryConfirm(Respawn, _confirmations))
{
return;
}
if (_currentPlayer is not null)
_console.ExecuteCommand($"respawn \"{_currentPlayer.Username}\"");
};

View File

@@ -49,6 +49,7 @@
<Control HorizontalExpand="True"/>
<Label Name="Count" Access="Public"/>
<Control HorizontalExpand="True"/>
<Button Name="ExportLogs" Access="Public" Text="{Loc admin-logs-export}"/>
<Button Name="PopOutButton" Access="Public" Text="{Loc admin-logs-pop-out}"/>
</BoxContainer>
<BoxContainer Orientation="Horizontal">

View File

@@ -1,4 +1,6 @@
using System.Linq;
using System.IO;
using System.Linq;
using Content.Client.Administration.UI.CustomControls;
using Content.Client.Eui;
using Content.Shared.Administration.Logs;
using Content.Shared.Eui;
@@ -15,6 +17,16 @@ public sealed class AdminLogsEui : BaseEui
{
[Dependency] private readonly IClyde _clyde = default!;
[Dependency] private readonly IUserInterfaceManager _uiManager = default!;
[Dependency] private readonly IFileDialogManager _dialogManager = default!;
[Dependency] private readonly ILogManager _log = default!;
private const char CsvSeparator = ',';
private const string CsvQuote = "\"";
private const string CsvHeader = "Date,ID,PlayerID,Severity,Type,Message";
private ISawmill _sawmill;
private bool _currentlyExportingLogs = false;
public AdminLogsEui()
{
@@ -26,6 +38,9 @@ public sealed class AdminLogsEui : BaseEui
LogsControl.RefreshButton.OnPressed += _ => RequestLogs();
LogsControl.NextButton.OnPressed += _ => NextLogs();
LogsControl.PopOutButton.OnPressed += _ => PopOut();
LogsControl.ExportLogs.OnPressed += _ => ExportLogs();
_sawmill = _log.GetSawmill("admin.logs.ui");
}
private WindowRoot? Root { get; set; }
@@ -74,6 +89,71 @@ public sealed class AdminLogsEui : BaseEui
SendMessage(request);
}
private async void ExportLogs()
{
if (_currentlyExportingLogs)
return;
_currentlyExportingLogs = true;
LogsControl.ExportLogs.Disabled = true;
var file = await _dialogManager.SaveFile(new FileDialogFilters(new FileDialogFilters.Group("csv")));
if (file == null)
return;
try
{
// Buffer is set to 4KB for performance reasons. As the average export of 1000 logs is ~200KB
await using var writer = new StreamWriter(file.Value.fileStream, bufferSize: 4096);
await writer.WriteLineAsync(CsvHeader);
foreach (var child in LogsControl.LogsContainer.Children)
{
if (child is not AdminLogLabel logLabel || !child.Visible)
continue;
var log = logLabel.Log;
// Date
// I swear to god if someone adds ,s or "s to the other fields...
await writer.WriteAsync(log.Date.ToString("s", System.Globalization.CultureInfo.InvariantCulture));
await writer.WriteAsync(CsvSeparator);
// ID
await writer.WriteAsync(log.Id.ToString());
await writer.WriteAsync(CsvSeparator);
// PlayerID
var players = log.Players;
for (var i = 0; i < players.Length; i++)
{
await writer.WriteAsync(players[i] + (i == players.Length - 1 ? "" : " "));
}
await writer.WriteAsync(CsvSeparator);
// Severity
await writer.WriteAsync(log.Impact.ToString());
await writer.WriteAsync(CsvSeparator);
// Type
await writer.WriteAsync(log.Type.ToString());
await writer.WriteAsync(CsvSeparator);
// Message
await writer.WriteAsync(CsvQuote);
await writer.WriteAsync(log.Message.Replace(CsvQuote, CsvQuote + CsvQuote));
await writer.WriteAsync(CsvQuote);
await writer.WriteLineAsync();
}
}
catch (Exception exc)
{
_sawmill.Error($"Error when exporting admin log:\n{exc.StackTrace}");
}
finally
{
await file.Value.fileStream.DisposeAsync();
_currentlyExportingLogs = false;
LogsControl.ExportLogs.Disabled = false;
}
}
private void PopOut()
{
if (LogsWindow == null)

View File

@@ -8,6 +8,21 @@
<OptionButton Name="SolutionOption" HorizontalExpand="True"/>
</BoxContainer>
<BoxContainer Orientation="Horizontal" HorizontalExpand="True" Margin="0 4">
<Button Name="VVButton"
Text="{Loc 'admin-solutions-window-vv-button'}"
ToolTip="{Loc 'admin-solutions-window-vv-button-tooltip'}"
Disabled="True"
HorizontalExpand="True"
StyleClasses="OpenRight"/>
<Button Name="SolutionButton"
Text="{Loc 'admin-solutions-window-solution-button'}"
ToolTip="{Loc 'admin-solutions-window-solution-button-tooltip'}"
Disabled="True"
HorizontalExpand="True"
StyleClasses="OpenLeft"/>
</BoxContainer>
<!-- The total volume / capacity of the solution -->
<BoxContainer Name="VolumeBox" Orientation="Vertical" HorizontalExpand="True" Margin="0 4"/>

View File

@@ -1,3 +1,4 @@
using Content.Client.Administration.Managers;
using Content.Shared.Administration;
using Content.Shared.Chemistry.Components;
using Content.Shared.Chemistry.Reagent;
@@ -20,6 +21,7 @@ namespace Content.Client.Administration.UI.ManageSolutions
[Dependency] private readonly IClientConsoleHost _consoleHost = default!;
[Dependency] private readonly IEntityManager _entityManager = default!;
[Dependency] private readonly IClientGameTiming _timing = default!;
[Dependency] private readonly IClientAdminManager _admin = default!;
private NetEntity _target = NetEntity.Invalid;
private string? _selectedSolution;
@@ -34,6 +36,11 @@ namespace Content.Client.Administration.UI.ManageSolutions
SolutionOption.OnItemSelected += SolutionSelected;
AddButton.OnPressed += OpenAddReagentWindow;
VVButton.OnPressed += OpenVVWindow;
SolutionButton.OnPressed += OpenSolutionWindow;
VVButton.Disabled = !_admin.CanViewVar();
SolutionButton.Disabled = !_admin.CanViewVar();
}
public override void Close()
@@ -271,6 +278,32 @@ namespace Content.Client.Administration.UI.ManageSolutions
_addReagentWindow.OpenCentered();
}
/// <summary>
/// Open the corresponding solution entity in a ViewVariables window.
/// </summary>
private void OpenVVWindow(BaseButton.ButtonEventArgs obj)
{
if (_solutions == null
|| _selectedSolution == null
|| !_solutions.TryGetValue(_selectedSolution, out var uid)
|| !_entityManager.TryGetNetEntity(uid, out var netEntity))
return;
_consoleHost.ExecuteCommand($"vv {netEntity}");
}
/// <summary>
/// Open the corresponding Solution instance in a ViewVariables window.
/// </summary>
private void OpenSolutionWindow(BaseButton.ButtonEventArgs obj)
{
if (_solutions == null
|| _selectedSolution == null
|| !_solutions.TryGetValue(_selectedSolution, out var uid)
|| !_entityManager.TryGetNetEntity(uid, out var netEntity))
return;
_consoleHost.ExecuteCommand($"vv /entity/{netEntity}/Solution/Solution");
}
/// <summary>
/// When a new solution is selected, set _selectedSolution and update the reagent list.
/// </summary>

View File

@@ -1,5 +1,6 @@
<Popup xmlns="https://spacestation14.io"
xmlns:gfx="clr-namespace:Robust.Client.Graphics;assembly=Robust.Client">
xmlns:gfx="clr-namespace:Robust.Client.Graphics;assembly=Robust.Client"
xmlns:controls="clr-namespace:Content.Client.UserInterface.Controls">
<PanelContainer>
<PanelContainer.PanelOverride>
<gfx:StyleBoxFlat BorderThickness="2" BorderColor="#18181B" BackgroundColor="#25252a"/>
@@ -19,7 +20,7 @@
<BoxContainer Orientation="Horizontal">
<Button Name="EditButton" Text="{Loc admin-notes-edit}"/>
<Control HorizontalExpand="True"/>
<Button Name="DeleteButton" Text="{Loc admin-notes-delete}" HorizontalAlignment="Right"/>
<controls:ConfirmButton Name="DeleteButton" Text="{Loc admin-notes-delete}" ConfirmationText="{Loc 'admin-player-actions-confirm'}" HorizontalAlignment="Right"/>
</BoxContainer>
</BoxContainer>
</PanelContainer>

View File

@@ -19,17 +19,19 @@
<Label Name="SharedConnections"/>
<BoxContainer Align="Center">
<GridContainer Rows="5">
<GridContainer Rows="6">
<Button Name="NotesButton" Text="{Loc player-panel-show-notes}" SetWidth="136" Disabled="True"/>
<Button Name="AhelpButton" Text="{Loc player-panel-help}" Disabled="True"/>
<Button Name="FreezeButton" Text = "{Loc player-panel-freeze}" Disabled="True"/>
<controls:ConfirmButton Name="KickButton" Text="{Loc player-panel-kick}" Disabled="True"/>
<controls:ConfirmButton Name="DeleteButton" Text="{Loc player-panel-delete}" Disabled="True"/>
<Button Name="FollowButton" Text="{Loc player-panel-follow}"/>
<Button Name="ShowBansButton" Text="{Loc player-panel-show-bans}" SetWidth="136" Disabled="True"/>
<Button Name="LogsButton" Text="{Loc player-panel-logs}" Disabled="True"/>
<Button Name="FreezeAndMuteToggleButton" Text="{Loc player-panel-freeze-and-mute}" Disabled="True"/>
<Button Name="BanButton" Text="{Loc player-panel-ban}" Disabled="True"/>
<controls:ConfirmButton Name="RejuvenateButton" Text="{Loc player-panel-rejuvenate}" Disabled="True"/>
<Button Name="CameraButton" Text="{Loc player-panel-camera}" Disabled="True"/>
</GridContainer>
</BoxContainer>
</BoxContainer>

View File

@@ -2,7 +2,6 @@ using Content.Client.Administration.Managers;
using Content.Client.UserInterface.Controls;
using Content.Shared.Administration;
using Robust.Client.AutoGenerated;
using Robust.Client.UserInterface;
using Robust.Client.UserInterface.XAML;
using Robust.Shared.Network;
using Robust.Shared.Utility;
@@ -19,8 +18,10 @@ public sealed partial class PlayerPanel : FancyWindow
public event Action<NetUserId?>? OnOpenBans;
public event Action<NetUserId?>? OnAhelp;
public event Action<string?>? OnKick;
public event Action<string?>? OnCamera;
public event Action<NetUserId?>? OnOpenBanPanel;
public event Action<NetUserId?, bool>? OnWhitelistToggle;
public event Action? OnFollow;
public event Action? OnFreezeAndMuteToggle;
public event Action? OnFreeze;
public event Action? OnLogs;
@@ -33,25 +34,27 @@ public sealed partial class PlayerPanel : FancyWindow
public PlayerPanel(IClientAdminManager adminManager)
{
RobustXamlLoader.Load(this);
_adminManager = adminManager;
RobustXamlLoader.Load(this);
_adminManager = adminManager;
UsernameCopyButton.OnPressed += _ => OnUsernameCopy?.Invoke(PlayerName.Text ?? "");
BanButton.OnPressed += _ => OnOpenBanPanel?.Invoke(TargetPlayer);
KickButton.OnPressed += _ => OnKick?.Invoke(TargetUsername);
NotesButton.OnPressed += _ => OnOpenNotes?.Invoke(TargetPlayer);
ShowBansButton.OnPressed += _ => OnOpenBans?.Invoke(TargetPlayer);
AhelpButton.OnPressed += _ => OnAhelp?.Invoke(TargetPlayer);
WhitelistToggle.OnPressed += _ =>
{
OnWhitelistToggle?.Invoke(TargetPlayer, _isWhitelisted);
SetWhitelisted(!_isWhitelisted);
};
FreezeButton.OnPressed += _ => OnFreeze?.Invoke();
FreezeAndMuteToggleButton.OnPressed += _ => OnFreezeAndMuteToggle?.Invoke();
LogsButton.OnPressed += _ => OnLogs?.Invoke();
DeleteButton.OnPressed += _ => OnDelete?.Invoke();
RejuvenateButton.OnPressed += _ => OnRejuvenate?.Invoke();
UsernameCopyButton.OnPressed += _ => OnUsernameCopy?.Invoke(TargetUsername ?? "");
BanButton.OnPressed += _ => OnOpenBanPanel?.Invoke(TargetPlayer);
KickButton.OnPressed += _ => OnKick?.Invoke(TargetUsername);
CameraButton.OnPressed += _ => OnCamera?.Invoke(TargetUsername);
NotesButton.OnPressed += _ => OnOpenNotes?.Invoke(TargetPlayer);
ShowBansButton.OnPressed += _ => OnOpenBans?.Invoke(TargetPlayer);
AhelpButton.OnPressed += _ => OnAhelp?.Invoke(TargetPlayer);
WhitelistToggle.OnPressed += _ =>
{
OnWhitelistToggle?.Invoke(TargetPlayer, _isWhitelisted);
SetWhitelisted(!_isWhitelisted);
};
FollowButton.OnPressed += _ => OnFollow?.Invoke();
FreezeButton.OnPressed += _ => OnFreeze?.Invoke();
FreezeAndMuteToggleButton.OnPressed += _ => OnFreezeAndMuteToggle?.Invoke();
LogsButton.OnPressed += _ => OnLogs?.Invoke();
DeleteButton.OnPressed += _ => OnDelete?.Invoke();
RejuvenateButton.OnPressed += _ => OnRejuvenate?.Invoke();
}
public void SetUsername(string player)
@@ -121,6 +124,7 @@ public sealed partial class PlayerPanel : FancyWindow
{
BanButton.Disabled = !_adminManager.CanCommand("banpanel");
KickButton.Disabled = !_adminManager.CanCommand("kick");
CameraButton.Disabled = !_adminManager.CanCommand("camera");
NotesButton.Disabled = !_adminManager.CanCommand("adminnotes");
ShowBansButton.Disabled = !_adminManager.CanCommand("banlist");
WhitelistToggle.Disabled =

View File

@@ -15,7 +15,7 @@ public sealed class PlayerPanelEui : BaseEui
[Dependency] private readonly IClientAdminManager _admin = default!;
[Dependency] private readonly IClipboardManager _clipboard = default!;
private PlayerPanel PlayerPanel { get; }
private PlayerPanel PlayerPanel { get; }
public PlayerPanelEui()
{
@@ -25,6 +25,7 @@ public sealed class PlayerPanelEui : BaseEui
PlayerPanel.OnOpenNotes += id => _console.ExecuteCommand($"adminnotes \"{id}\"");
// Kick command does not support GUIDs
PlayerPanel.OnKick += username => _console.ExecuteCommand($"kick \"{username}\"");
PlayerPanel.OnCamera += username => _console.ExecuteCommand($"camera \"{username}\"");
PlayerPanel.OnOpenBanPanel += id => _console.ExecuteCommand($"banpanel \"{id}\"");
PlayerPanel.OnOpenBans += id => _console.ExecuteCommand($"banlist \"{id}\"");
PlayerPanel.OnAhelp += id => _console.ExecuteCommand($"openahelp \"{id}\"");
@@ -37,7 +38,8 @@ public sealed class PlayerPanelEui : BaseEui
PlayerPanel.OnFreeze += () => SendMessage(new PlayerPanelFreezeMessage());
PlayerPanel.OnLogs += () => SendMessage(new PlayerPanelLogsMessage());
PlayerPanel.OnRejuvenate += () => SendMessage(new PlayerPanelRejuvenationMessage());
PlayerPanel.OnDelete+= () => SendMessage(new PlayerPanelDeleteMessage());
PlayerPanel.OnDelete += () => SendMessage(new PlayerPanelDeleteMessage());
PlayerPanel.OnFollow += () => SendMessage(new PlayerPanelFollowMessage());
PlayerPanel.OnClose += () => SendMessage(new CloseEuiMessage());
}

View File

@@ -19,10 +19,10 @@ namespace Content.Client.Administration.UI.SpawnExplosion;
public sealed partial class SpawnExplosionWindow : DefaultWindow
{
[Dependency] private readonly IClientConsoleHost _conHost = default!;
[Dependency] private readonly IMapManager _mapManager = default!;
[Dependency] private readonly IPlayerManager _playerManager = default!;
[Dependency] private readonly IPrototypeManager _prototypeManager = default!;
[Dependency] private readonly IEntityManager _entMan = default!;
private readonly SharedMapSystem _mapSystem;
private readonly SharedTransformSystem _transform = default!;
private readonly SpawnExplosionEui _eui;
@@ -38,6 +38,7 @@ public sealed partial class SpawnExplosionWindow : DefaultWindow
{
RobustXamlLoader.Load(this);
IoCManager.InjectDependencies(this);
_mapSystem = _entMan.System<SharedMapSystem>();
_transform = _entMan.System<TransformSystem>();
_eui = eui;
@@ -87,7 +88,7 @@ public sealed partial class SpawnExplosionWindow : DefaultWindow
{
_mapData.Clear();
MapOptions.Clear();
foreach (var map in _mapManager.GetAllMapIds())
foreach (var map in _mapSystem.GetAllMapIds())
{
_mapData.Add(map);
MapOptions.AddItem(map.ToString());

View File

@@ -16,6 +16,7 @@
<cc:UICommandButton Command="callshuttle" Text="{Loc admin-player-actions-window-shuttle}" WindowType="{x:Type at:AdminShuttleWindow}"/>
<cc:CommandButton Command="adminlogs" Text="{Loc admin-player-actions-window-admin-logs}"/>
<cc:CommandButton Command="faxui" Text="{Loc admin-player-actions-window-admin-fax}"/>
<cc:CommandButton Command="achatwindow" Text="{Loc admin-player-actions-window-admin-chat}"/>
</GridContainer>
</BoxContainer>
</Control>

View File

@@ -1,6 +1,7 @@
<DefaultWindow
xmlns="https://spacestation14.io"
xmlns:cc="clr-namespace:Content.Client.Administration.UI.CustomControls"
xmlns:controls="clr-namespace:Content.Client.UserInterface.Controls"
Title="{Loc admin-player-actions-window-title}" MinSize="425 272">
<BoxContainer Orientation="Vertical">
<BoxContainer Orientation="Horizontal">
@@ -10,9 +11,9 @@
</BoxContainer>
<cc:PlayerListControl Name="PlayerList" VerticalExpand="True" />
<BoxContainer Orientation="Horizontal">
<Button Name="SubmitKickButton" Text="{Loc admin-player-actions-kick}" Disabled="True"/>
<controls:ConfirmButton Name="SubmitKickButton" Text="{Loc admin-player-actions-kick}" ConfirmationText="{Loc 'admin-player-actions-confirm'}" Disabled="True"/>
<Button Name="SubmitAHelpButton" Text="{Loc admin-player-actions-ahelp}" Disabled="True"/>
<Button Name="SubmitRespawnButton" Text="{Loc admin-player-actions-respawn}" Disabled="True"/>
<controls:ConfirmButton Name="SubmitRespawnButton" Text="{Loc admin-player-actions-respawn}" ConfirmationText="{Loc 'admin-player-actions-confirm'}" Disabled="True"/>
</BoxContainer>
</BoxContainer>
</DefaultWindow>

View File

@@ -14,7 +14,6 @@ namespace Content.Client.Administration.UI.Tabs.AdminTab
public sealed partial class PlayerActionsWindow : DefaultWindow
{
private PlayerInfo? _selectedPlayer;
private readonly Dictionary<Button, ConfirmationData> _confirmations = new();
public PlayerActionsWindow()
{
@@ -28,9 +27,6 @@ namespace Content.Client.Administration.UI.Tabs.AdminTab
private void OnListOnOnSelectionChanged(PlayerInfo? obj)
{
if (_selectedPlayer != obj)
AdminUIHelpers.RemoveAllConfirms(_confirmations);
_selectedPlayer = obj;
var disableButtons = _selectedPlayer == null;
SubmitKickButton.Disabled = disableButtons;
@@ -43,9 +39,6 @@ namespace Content.Client.Administration.UI.Tabs.AdminTab
if (_selectedPlayer == null)
return;
if (!AdminUIHelpers.TryConfirm(SubmitKickButton, _confirmations))
return;
IoCManager.Resolve<IClientConsoleHost>().ExecuteCommand(
$"kick \"{_selectedPlayer.Username}\" \"{CommandParsing.Escape(ReasonLine.Text)}\"");
}
@@ -64,9 +57,6 @@ namespace Content.Client.Administration.UI.Tabs.AdminTab
if (_selectedPlayer == null)
return;
if (!AdminUIHelpers.TryConfirm(SubmitRespawnButton, _confirmations))
return;
IoCManager.Resolve<IClientConsoleHost>().ExecuteCommand(
$"respawn \"{_selectedPlayer.Username}\"");
}

View File

@@ -14,6 +14,9 @@ namespace Content.Client.Administration.UI.Tabs.AdminbusTab
[UsedImplicitly]
public sealed partial class LoadBlueprintsWindow : DefaultWindow
{
[Dependency] private readonly IEntityManager _entityManager = default!;
[Dependency] private readonly IPlayerManager _playerManager = default!;
public LoadBlueprintsWindow()
{
RobustXamlLoader.Load(this);
@@ -21,9 +24,9 @@ namespace Content.Client.Administration.UI.Tabs.AdminbusTab
protected override void EnteredTree()
{
var mapManager = IoCManager.Resolve<IMapManager>();
var mapSystem = _entityManager.System<SharedMapSystem>();
foreach (var mapId in mapManager.GetAllMapIds())
foreach (var mapId in mapSystem.GetAllMapIds())
{
MapOptions.AddItem(mapId.ToString(), (int) mapId);
}
@@ -39,21 +42,19 @@ namespace Content.Client.Administration.UI.Tabs.AdminbusTab
private void Reset()
{
var entManager = IoCManager.Resolve<IEntityManager>();
var xformSystem = entManager.System<SharedTransformSystem>();
var playerManager = IoCManager.Resolve<IPlayerManager>();
var player = playerManager.LocalEntity;
var xformSystem = _entityManager.System<SharedTransformSystem>();
var player = _playerManager.LocalEntity;
var currentMap = MapId.Nullspace;
var position = Vector2.Zero;
var rotation = Angle.Zero;
if (entManager.TryGetComponent<TransformComponent>(player, out var xform))
if (_entityManager.TryGetComponent<TransformComponent>(player, out var xform))
{
currentMap = xform.MapID;
position = xformSystem.GetWorldPosition(xform);
if (entManager.TryGetComponent<TransformComponent>(xform.GridUid, out var gridXform))
if (_entityManager.TryGetComponent<TransformComponent>(xform.GridUid, out var gridXform))
{
rotation = xformSystem.GetWorldRotation(gridXform);
}

View File

@@ -57,12 +57,43 @@ public sealed partial class ObjectsTab : Control
private void TeleportTo(NetEntity nent)
{
_console.ExecuteCommand($"tpto {nent}");
var selection = _selections[ObjectTypeOptions.SelectedId];
switch (selection)
{
case ObjectsTabSelection.Grids:
{
// directly teleport to the entity
_console.ExecuteCommand($"tpto {nent}");
}
break;
case ObjectsTabSelection.Maps:
{
// teleport to the map, not to the map entity (which is in nullspace)
if (!_entityManager.TryGetEntity(nent, out var map) || !_entityManager.TryGetComponent<MapComponent>(map, out var mapComp))
break;
_console.ExecuteCommand($"tp 0 0 {mapComp.MapId}");
break;
}
case ObjectsTabSelection.Stations:
{
// teleport to the station's largest grid, not to the station entity (which is in nullspace)
if (!_entityManager.TryGetEntity(nent, out var station))
break;
var largestGrid = _entityManager.EntitySysManager.GetEntitySystem<StationSystem>().GetLargestGrid(station.Value);
if (largestGrid == null)
break;
_console.ExecuteCommand($"tpto {largestGrid.Value}");
break;
}
default:
throw new NotImplementedException();
}
}
private void Delete(NetEntity nent)
{
_console.ExecuteCommand($"delete {nent}");
RefreshObjectList();
}
public void RefreshObjectList()
@@ -76,28 +107,24 @@ public sealed partial class ObjectsTab : Control
switch (selection)
{
case ObjectsTabSelection.Stations:
entities.AddRange(_entityManager.EntitySysManager.GetEntitySystem<StationSystem>().Stations);
entities.AddRange(_entityManager.EntitySysManager.GetEntitySystem<StationSystem>().GetStationNames());
break;
case ObjectsTabSelection.Grids:
{
var query = _entityManager.AllEntityQueryEnumerator<MapGridComponent, MetaDataComponent>();
while (query.MoveNext(out var uid, out _, out var metadata))
{
entities.Add((metadata.EntityName, _entityManager.GetNetEntity(uid)));
}
var query = _entityManager.AllEntityQueryEnumerator<MapGridComponent, MetaDataComponent>();
while (query.MoveNext(out var uid, out _, out var metadata))
entities.Add((metadata.EntityName, _entityManager.GetNetEntity(uid)));
break;
}
break;
}
case ObjectsTabSelection.Maps:
{
var query = _entityManager.AllEntityQueryEnumerator<MapComponent, MetaDataComponent>();
while (query.MoveNext(out var uid, out _, out var metadata))
{
entities.Add((metadata.EntityName, _entityManager.GetNetEntity(uid)));
}
var query = _entityManager.AllEntityQueryEnumerator<MapComponent, MetaDataComponent>();
while (query.MoveNext(out var uid, out _, out var metadata))
entities.Add((metadata.EntityName, _entityManager.GetNetEntity(uid)));
break;
}
break;
}
default:
throw new ArgumentOutOfRangeException(nameof(selection), selection, null);
}
@@ -132,8 +159,8 @@ public sealed partial class ObjectsTab : Control
entry.OnTeleport += TeleportTo;
entry.OnDelete += Delete;
button.ToolTip = $"{info.Name}, {info.Entity}";
button.AddChild(entry);
button.StyleClasses.Clear();
}
private bool DataFilterCondition(string filter, ListData listData)

View File

@@ -1,5 +1,6 @@
<PanelContainer xmlns="https://spacestation14.io"
xmlns:customControls="clr-namespace:Content.Client.Administration.UI.CustomControls"
xmlns:controls="clr-namespace:Content.Client.UserInterface.Controls"
Name="BackgroundColorPanel">
<BoxContainer Orientation="Horizontal"
HorizontalExpand="True"
@@ -20,7 +21,7 @@
HorizontalExpand="True"
ClipText="True"/>
<customControls:VSeparator/>
<Button Name="DeleteButton"
<controls:ConfirmButton Name="DeleteButton"
Text="{Loc object-tab-entity-delete}"
SizeFlagsStretchRatio="3"
HorizontalExpand="True"

View File

@@ -13,7 +13,6 @@ public sealed partial class ObjectsTabEntry : PanelContainer
public Action<NetEntity>? OnTeleport;
public Action<NetEntity>? OnDelete;
private readonly Dictionary<Button, ConfirmationData> _confirmations = new();
public ObjectsTabEntry(IClientAdminManager manager, string name, NetEntity nent, StyleBox styleBox)
{
@@ -28,13 +27,6 @@ public sealed partial class ObjectsTabEntry : PanelContainer
DeleteButton.Disabled = !manager.CanCommand("delete");
TeleportButton.OnPressed += _ => OnTeleport?.Invoke(nent);
DeleteButton.OnPressed += _ =>
{
if (!AdminUIHelpers.TryConfirm(DeleteButton, _confirmations))
{
return;
}
OnDelete?.Invoke(nent);
};
DeleteButton.OnPressed += _ => OnDelete?.Invoke(nent);
}
}

View File

@@ -32,6 +32,10 @@ public sealed partial class PlayerTab : Control
private bool _ascending = true;
private bool _showDisconnected;
private AdminPlayerTabColorOption _playerTabColorSetting;
private AdminPlayerTabRoleTypeOption _playerTabRoleSetting;
private AdminPlayerTabSymbolOption _playerTabSymbolSetting;
public event Action<GUIBoundKeyEventArgs, ListData>? OnEntryKeyBindDown;
public PlayerTab()
@@ -44,9 +48,10 @@ public sealed partial class PlayerTab : Control
_adminSystem.OverlayEnabled += OverlayEnabled;
_adminSystem.OverlayDisabled += OverlayDisabled;
_config.OnValueChanged(CCVars.AdminPlayerlistSeparateSymbols, PlayerListSettingsChanged);
_config.OnValueChanged(CCVars.AdminPlayerlistHighlightedCharacterColor, PlayerListSettingsChanged);
_config.OnValueChanged(CCVars.AdminPlayerlistRoleTypeColor, PlayerListSettingsChanged);
_config.OnValueChanged(CCVars.AdminPlayerTabRoleSetting, RoleSettingChanged, true);
_config.OnValueChanged(CCVars.AdminPlayerTabColorSetting, ColorSettingChanged, true);
_config.OnValueChanged(CCVars.AdminPlayerTabSymbolSetting, SymbolSettingChanged, true);
OverlayButton.OnPressed += OverlayButtonPressed;
ShowDisconnectedButton.OnPressed += ShowDisconnectedPressed;
@@ -113,8 +118,27 @@ public sealed partial class PlayerTab : Control
#region ListContainer
private void PlayerListSettingsChanged(bool _)
private void RoleSettingChanged(string s)
{
if (!Enum.TryParse<AdminPlayerTabRoleTypeOption>(s, out var format))
format = AdminPlayerTabRoleTypeOption.Subtype;
_playerTabRoleSetting = format;
RefreshPlayerList(_adminSystem.PlayerList);
}
private void ColorSettingChanged(string s)
{
if (!Enum.TryParse<AdminPlayerTabColorOption>(s, out var format))
format = AdminPlayerTabColorOption.Both;
_playerTabColorSetting = format;
RefreshPlayerList(_adminSystem.PlayerList);
}
private void SymbolSettingChanged(string s)
{
if (!Enum.TryParse<AdminPlayerTabSymbolOption>(s, out var format))
format = AdminPlayerTabSymbolOption.Specific;
_playerTabSymbolSetting = format;
RefreshPlayerList(_adminSystem.PlayerList);
}
@@ -140,9 +164,15 @@ public sealed partial class PlayerTab : Control
if (data is not PlayerListData { Info: var player})
return;
var entry = new PlayerTabEntry(player, new StyleBoxFlat(button.Index % 2 == 0 ? _altColor : _defaultColor));
var entry = new PlayerTabEntry(
player,
new StyleBoxFlat(button.Index % 2 == 0 ? _altColor : _defaultColor),
_playerTabColorSetting,
_playerTabRoleSetting,
_playerTabSymbolSetting);
button.AddChild(entry);
button.ToolTip = $"{player.Username}, {player.CharacterName}, {player.IdentityName}, {player.StartingJob}";
button.StyleClasses.Clear();
}
/// <summary>

View File

@@ -1,42 +1,104 @@
using Content.Shared.Administration;
using Content.Shared.CCVar;
using Content.Shared.Mind;
using Content.Shared.Roles;
using Robust.Client.AutoGenerated;
using Robust.Client.Graphics;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.XAML;
using Robust.Shared.Configuration;
using Robust.Shared.Prototypes;
namespace Content.Client.Administration.UI.Tabs.PlayerTab;
[GenerateTypedNameReferences]
public sealed partial class PlayerTabEntry : PanelContainer
{
public NetEntity? PlayerEntity;
[Dependency] private readonly IEntityManager _entMan = default!;
[Dependency] private readonly IPrototypeManager _prototype = default!;
public PlayerTabEntry(PlayerInfo player, StyleBoxFlat styleBoxFlat)
public PlayerTabEntry(
PlayerInfo player,
StyleBoxFlat styleBoxFlat,
AdminPlayerTabColorOption colorOption,
AdminPlayerTabRoleTypeOption roleSetting,
AdminPlayerTabSymbolOption symbolSetting)
{
IoCManager.InjectDependencies(this);
RobustXamlLoader.Load(this);
var config = IoCManager.Resolve<IConfigurationManager>();
var roles = _entMan.System<SharedRoleSystem>();
var rolePrototype = player.RoleProto == null ? null : _prototype.Index(player.RoleProto.Value);
UsernameLabel.Text = player.Username;
if (!player.Connected)
UsernameLabel.StyleClasses.Add("Disabled");
JobLabel.Text = player.StartingJob;
var separateAntagSymbols = config.GetCVar(CCVars.AdminPlayerlistSeparateSymbols);
var genericAntagSymbol = player.Antag ? Loc.GetString("player-tab-antag-prefix") : string.Empty;
var roleSymbol = player.Antag ? player.RoleProto.Symbol : string.Empty;
var symbol = separateAntagSymbols ? roleSymbol : genericAntagSymbol;
var colorAntags = false;
var colorRoles = false;
switch (colorOption)
{
case AdminPlayerTabColorOption.Off:
break;
case AdminPlayerTabColorOption.Character:
colorAntags = true;
break;
case AdminPlayerTabColorOption.Roletype:
colorRoles = true;
break;
default:
case AdminPlayerTabColorOption.Both:
colorAntags = true;
colorRoles = true;
break;
}
var symbol = string.Empty;
switch (symbolSetting)
{
case AdminPlayerTabSymbolOption.Off:
break;
case AdminPlayerTabSymbolOption.Basic:
symbol = player.Antag ? Loc.GetString("player-tab-antag-prefix") : string.Empty;
break;
default:
case AdminPlayerTabSymbolOption.Specific:
symbol = player.Antag ? rolePrototype?.Symbol ?? RoleTypePrototype.FallbackSymbol : string.Empty;
break;
}
CharacterLabel.Text = Loc.GetString("player-tab-character-name-antag-symbol", ("symbol", symbol), ("name", player.CharacterName));
if (player.Antag && config.GetCVar(CCVars.AdminPlayerlistHighlightedCharacterColor))
CharacterLabel.FontColorOverride = player.RoleProto.Color;
if (player.Antag && colorAntags)
CharacterLabel.FontColorOverride = rolePrototype?.Color ?? RoleTypePrototype.FallbackColor;
if (player.IdentityName != player.CharacterName)
CharacterLabel.Text += $" [{player.IdentityName}]";
RoleTypeLabel.Text = Loc.GetString(player.RoleProto.Name);
if (config.GetCVar(CCVars.AdminPlayerlistRoleTypeColor))
RoleTypeLabel.FontColorOverride = player.RoleProto.Color;
var roletype = RoleTypeLabel.Text = Loc.GetString(rolePrototype?.Name ?? RoleTypePrototype.FallbackName);
var subtype = roles.GetRoleSubtypeLabel(rolePrototype?.Name ?? RoleTypePrototype.FallbackName, player.Subtype);
switch (roleSetting)
{
case AdminPlayerTabRoleTypeOption.RoleTypeSubtype:
RoleTypeLabel.Text = roletype != subtype
? roletype + " - " +subtype
: roletype;
break;
case AdminPlayerTabRoleTypeOption.SubtypeRoleType:
RoleTypeLabel.Text = roletype != subtype
? subtype + " - " + roletype
: roletype;
break;
case AdminPlayerTabRoleTypeOption.RoleType:
RoleTypeLabel.Text = roletype;
break;
default:
case AdminPlayerTabRoleTypeOption.Subtype:
RoleTypeLabel.Text = subtype;
break;
}
if (colorRoles)
RoleTypeLabel.FontColorOverride = rolePrototype?.Color ?? RoleTypePrototype.FallbackColor;
BackgroundColorPanel.PanelOverride = styleBoxFlat;
OverallPlaytimeLabel.Text = player.PlaytimeString;
PlayerEntity = player.NetEntity;
}
}

View File

@@ -0,0 +1,24 @@
namespace Content.Client.Administration.UI.Tabs.PlayerTab;
public enum AdminPlayerTabColorOption
{
Off,
Character,
Roletype,
Both
}
public enum AdminPlayerTabRoleTypeOption
{
RoleType,
Subtype,
RoleTypeSubtype,
SubtypeRoleType
}
public enum AdminPlayerTabSymbolOption
{
Off,
Basic,
Specific
}

View File

@@ -1,13 +1,13 @@
<Control
xmlns="https://spacestation14.io"
xmlns:cc="clr-namespace:Content.Client.Administration.UI.CustomControls"
xmlns:controls="clr-namespace:Content.Client.UserInterface.Controls"
Margin="4"
MinSize="50 50">
<GridContainer
Columns="3">
<cc:CommandButton Command="startround" Text="{Loc administration-ui-round-tab-start-round}" />
<cc:CommandButton Command="endround" Text="{Loc administration-ui-round-tab-end-round}" />
<cc:CommandButton Command="restartround" Text="{Loc administration-ui-round-tab-restart-round}" />
<cc:CommandButton Command="restartroundnow" Text="{Loc administration-ui-round-tab-restart-round-now}" />
<controls:ConfirmButton Name="StartRound" Text="{Loc administration-ui-round-tab-start-round}" />
<controls:ConfirmButton Name="EndRound" Text="{Loc administration-ui-round-tab-end-round}" />
<controls:ConfirmButton Name="RestartRound" Text="{Loc administration-ui-round-tab-restart-round}" />
<controls:ConfirmButton Name="RestartRoundNow" Text="{Loc administration-ui-round-tab-restart-round-now}" />
</GridContainer>
</Control>

View File

@@ -1,10 +1,24 @@
using Robust.Client.AutoGenerated;
using Robust.Client.Console;
using Robust.Client.UserInterface;
using Robust.Client.UserInterface.XAML;
namespace Content.Client.Administration.UI.Tabs
{
[GenerateTypedNameReferences]
public sealed partial class RoundTab : Control
{
[Dependency] private readonly IClientConsoleHost _console = default!;
public RoundTab()
{
RobustXamlLoader.Load(this);
IoCManager.InjectDependencies(this);
StartRound.OnPressed += _ => _console.ExecuteCommand("startround");
EndRound.OnPressed += _ => _console.ExecuteCommand("endround");
RestartRound.OnPressed += _ => _console.ExecuteCommand("restartround");
RestartRoundNow.OnPressed += _ => _console.ExecuteCommand("restartroundnow");
}
}
}

View File

@@ -1,11 +1,12 @@
<Control
xmlns="https://spacestation14.io"
xmlns:cc="clr-namespace:Content.Client.Administration.UI.CustomControls"
xmlns:controls="clr-namespace:Content.Client.UserInterface.Controls"
Margin="4"
MinSize="50 50">
<GridContainer
Columns="4" >
<cc:CommandButton Command="shutdown" Text="{Loc server-shutdown}" />
<controls:ConfirmButton Name="ServerShutdownButton" Text="{Loc server-shutdown}" />
<cc:CommandButton Name="SetOocButton" Command="setooc" Text="{Loc server-ooc-toggle}" ToggleMode="True" />
<cc:CommandButton Name="SetLoocButton" Command="setlooc" Text="{Loc server-looc-toggle}" ToggleMode="True" />
</GridContainer>

View File

@@ -1,5 +1,6 @@
using Content.Shared.CCVar;
using Robust.Client.AutoGenerated;
using Robust.Client.Console;
using Robust.Client.UserInterface;
using Robust.Client.UserInterface.XAML;
using Robust.Shared.Configuration;
@@ -10,6 +11,7 @@ namespace Content.Client.Administration.UI.Tabs
public sealed partial class ServerTab : Control
{
[Dependency] private readonly IConfigurationManager _config = default!;
[Dependency] private readonly IClientConsoleHost _console = default!;
public ServerTab()
{
@@ -18,6 +20,8 @@ namespace Content.Client.Administration.UI.Tabs
_config.OnValueChanged(CCVars.OocEnabled, OocEnabledChanged, true);
_config.OnValueChanged(CCVars.LoocEnabled, LoocEnabledChanged, true);
ServerShutdownButton.OnPressed += _ => _console.ExecuteCommand("shutdown");
}
private void OocEnabledChanged(bool value)

View File

@@ -8,6 +8,8 @@ namespace Content.Client.AlertLevel;
public sealed class AlertLevelDisplaySystem : EntitySystem
{
[Dependency] private readonly SpriteSystem _sprite = default!;
public override void Initialize()
{
base.Initialize();
@@ -21,26 +23,26 @@ public sealed class AlertLevelDisplaySystem : EntitySystem
{
return;
}
var layer = args.Sprite.LayerMapReserveBlank(AlertLevelDisplay.Layer);
var layer = _sprite.LayerMapReserve((uid, args.Sprite), AlertLevelDisplay.Layer);
if (args.AppearanceData.TryGetValue(AlertLevelDisplay.Powered, out var poweredObject))
{
args.Sprite.LayerSetVisible(layer, poweredObject is true);
_sprite.LayerSetVisible((uid, args.Sprite), layer, poweredObject is true);
}
if (!args.AppearanceData.TryGetValue(AlertLevelDisplay.CurrentLevel, out var level))
{
args.Sprite.LayerSetState(layer, alertLevelDisplay.AlertVisuals.Values.First());
_sprite.LayerSetRsiState((uid, args.Sprite), layer, alertLevelDisplay.AlertVisuals.Values.First());
return;
}
if (alertLevelDisplay.AlertVisuals.TryGetValue((string) level, out var visual))
if (alertLevelDisplay.AlertVisuals.TryGetValue((string)level, out var visual))
{
args.Sprite.LayerSetState(layer, visual);
_sprite.LayerSetRsiState((uid, args.Sprite), layer, visual);
}
else
{
args.Sprite.LayerSetState(layer, alertLevelDisplay.AlertVisuals.Values.First());
_sprite.LayerSetRsiState((uid, args.Sprite), layer, alertLevelDisplay.AlertVisuals.Values.First());
}
}
}

View File

@@ -2,6 +2,7 @@ using System.Linq;
using Content.Shared.Alert;
using JetBrains.Annotations;
using Robust.Client.Player;
using Robust.Client.UserInterface;
using Robust.Shared.GameStates;
using Robust.Shared.Player;
using Robust.Shared.Prototypes;
@@ -15,6 +16,7 @@ public sealed class ClientAlertsSystem : AlertsSystem
[Dependency] private readonly IPlayerManager _playerManager = default!;
[Dependency] private readonly IPrototypeManager _prototypeManager = default!;
[Dependency] private readonly IUserInterfaceManager _ui = default!;
public event EventHandler? ClearAlerts;
public event EventHandler<IReadOnlyDictionary<AlertKey, AlertState>>? SyncAlerts;
@@ -27,6 +29,12 @@ public sealed class ClientAlertsSystem : AlertsSystem
SubscribeLocalEvent<AlertsComponent, LocalPlayerDetachedEvent>(OnPlayerDetached);
SubscribeLocalEvent<AlertsComponent, ComponentHandleState>(OnHandleState);
}
protected override void HandledAlert()
{
_ui.ClickSound();
}
protected override void LoadPrototypes()
{
base.LoadPrototypes();
@@ -52,8 +60,24 @@ public sealed class ClientAlertsSystem : AlertsSystem
if (args.Current is not AlertComponentState cast)
return;
// Save all client-sided alerts to later put back in
var clientAlerts = new Dictionary<AlertKey, AlertState>();
foreach (var alert in alerts.Comp.Alerts)
{
if (alert.Key.AlertType != null && TryGet(alert.Key.AlertType.Value, out var alertProto))
{
if (alertProto.ClientHandled)
clientAlerts[alert.Key] = alert.Value;
}
}
alerts.Comp.Alerts = new(cast.Alerts);
foreach (var alert in clientAlerts)
{
alerts.Comp.Alerts[alert.Key] = alert.Value;
}
UpdateHud(alerts);
}

View File

@@ -0,0 +1,90 @@
using System.Numerics;
using Content.Shared.Alert.Components;
using Robust.Client.GameObjects;
using Robust.Client.Graphics;
namespace Content.Client.Alerts;
/// <summary>
/// This handles <see cref="GenericCounterAlertComponent"/>
/// </summary>
public sealed class GenericCounterAlertSystem : EntitySystem
{
[Dependency] private readonly SpriteSystem _sprite = default!;
/// <inheritdoc/>
public override void Initialize()
{
SubscribeLocalEvent<GenericCounterAlertComponent, UpdateAlertSpriteEvent>(OnUpdateAlertSprite);
}
private void OnUpdateAlertSprite(Entity<GenericCounterAlertComponent> ent, ref UpdateAlertSpriteEvent args)
{
var sprite = args.SpriteViewEnt.Comp;
var ev = new GetGenericAlertCounterAmountEvent(args.Alert);
RaiseLocalEvent(args.ViewerEnt, ref ev);
if (!ev.Handled)
return;
// It cannot be null if its handled, but good to check to avoid ugly null ignores.
if (ev.Amount == null)
return;
// How many digits can we display
var maxDigitCount = GetMaxDigitCount((ent, ent, sprite));
// Clamp it to a positive number that we can actually display in full (no rollover to 0)
var amount = (int) Math.Clamp(ev.Amount.Value, 0, Math.Pow(10, maxDigitCount) - 1);
// This is super wack but ig it works?
var digitCount = ent.Comp.HideLeadingZeroes
? amount.ToString().Length
: maxDigitCount;
if (ent.Comp.HideLeadingZeroes)
{
for (var i = 0; i < ent.Comp.DigitKeys.Count; i++)
{
if (!_sprite.LayerMapTryGet(ent.Owner, ent.Comp.DigitKeys[i], out var layer, false))
continue;
_sprite.LayerSetVisible(ent.Owner, layer, i <= digitCount - 1);
}
}
// ReSharper disable once PossibleLossOfFraction
var baseOffset = (ent.Comp.AlertSize.X - digitCount * ent.Comp.GlyphWidth) / 2 * (1f / EyeManager.PixelsPerMeter);
for (var i = 0; i < ent.Comp.DigitKeys.Count; i++)
{
if (!_sprite.LayerMapTryGet(ent.Owner, ent.Comp.DigitKeys[i], out var layer, false))
continue;
var result = amount / (int) Math.Pow(10, i) % 10;
_sprite.LayerSetRsiState(ent.Owner, layer, result.ToString());
if (ent.Comp.CenterGlyph)
{
var offset = baseOffset + (digitCount - 1 - i) * ent.Comp.GlyphWidth * (1f / EyeManager.PixelsPerMeter);
_sprite.LayerSetOffset(ent.Owner, layer, new Vector2(offset, 0));
}
}
}
/// <summary>
/// Gets the number of digits that we can display.
/// </summary>
/// <returns>The number of digits.</returns>
private int GetMaxDigitCount(Entity<GenericCounterAlertComponent, SpriteComponent> ent)
{
for (var i = ent.Comp1.DigitKeys.Count - 1; i >= 0; i--)
{
if (_sprite.LayerExists((ent.Owner, ent.Comp2), ent.Comp1.DigitKeys[i]))
return i + 1;
}
return 0;
}
}

View File

@@ -11,11 +11,14 @@ public record struct UpdateAlertSpriteEvent
{
public Entity<SpriteComponent> SpriteViewEnt;
public EntityUid ViewerEnt;
public AlertPrototype Alert;
public UpdateAlertSpriteEvent(Entity<SpriteComponent> spriteViewEnt, AlertPrototype alert)
public UpdateAlertSpriteEvent(Entity<SpriteComponent> spriteViewEnt, EntityUid viewerEnt, AlertPrototype alert)
{
SpriteViewEnt = spriteViewEnt;
ViewerEnt = viewerEnt;
Alert = alert;
}
}

View File

@@ -0,0 +1,5 @@
using Content.Shared.Animals.Systems;
namespace Content.Client.Animals.Systems;
public sealed class ParrotMemorySystem : SharedParrotMemorySystem;

View File

@@ -15,6 +15,7 @@ public sealed class EntityPickupAnimationSystem : EntitySystem
{
[Dependency] private readonly AnimationPlayerSystem _animations = default!;
[Dependency] private readonly MetaDataSystem _metaData = default!;
[Dependency] private readonly SpriteSystem _sprite = default!;
[Dependency] private readonly TransformSystem _transform = default!;
public override void Initialize()
@@ -56,8 +57,8 @@ public sealed class EntityPickupAnimationSystem : EntitySystem
}
var sprite = Comp<SpriteComponent>(animatableClone);
sprite.CopyFrom(sprite0);
sprite.Visible = true;
_sprite.CopySprite((uid, sprite0), (animatableClone, sprite));
_sprite.SetVisible((animatableClone, sprite), true);
var animations = Comp<AnimationPlayerComponent>(animatableClone);

View File

@@ -0,0 +1,40 @@
using Robust.Client.Graphics;
using SixLabors.ImageSharp.PixelFormats;
namespace Content.Client.Anomaly;
/// <summary>
/// This component creates and handles the drawing of a ScreenTexture to be used on the Anomaly Scanner
/// for an indicator of Anomaly Severity.
/// </summary>
/// <remarks>
/// In the future I would like to make this a more generic "DynamicTextureComponent" that can contain a dictionary
/// of texture components like "Bar(offset, size, minimumValue, maximumValue, AppearanceKey, LayerMapKey)" that can
/// just draw a bar or other basic drawn element that will show up on a texture layer.
/// </remarks>
[RegisterComponent]
[Access(typeof(AnomalyScannerSystem))]
public sealed partial class AnomalyScannerScreenComponent : Component
{
/// <summary>
/// This is the texture drawn as a layer on the Anomaly Scanner device.
/// </summary>
public OwnedTexture? ScreenTexture;
/// <summary>
/// A small buffer that we can reuse to draw the severity bar.
/// </summary>
public Rgba32[]? BarBuf;
/// <summary>
/// The position of the top-left of the severity bar in pixels.
/// </summary>
[DataField(readOnly: true)]
public Vector2i Offset = new Vector2i(12, 17);
/// <summary>
/// The width and height of the severity bar in pixels.
/// </summary>
[DataField(readOnly: true)]
public Vector2i Size = new Vector2i(10, 3);
}

View File

@@ -0,0 +1,110 @@
using System.Numerics;
using Content.Shared.Anomaly;
using Robust.Client.GameObjects;
using Robust.Client.Graphics;
using Robust.Shared.Utility;
using SixLabors.ImageSharp.PixelFormats;
namespace Content.Client.Anomaly;
/// <inheritdoc cref="SharedAnomalyScannerSystem"/>
public sealed class AnomalyScannerSystem : SharedAnomalyScannerSystem
{
[Dependency] private readonly IClyde _clyde = default!;
[Dependency] private readonly SpriteSystem _sprite = default!;
private const float MaxHueDegrees = 360f;
private const float GreenHueDegrees = 110f;
private const float RedHueDegrees = 0f;
private const float GreenHue = GreenHueDegrees / MaxHueDegrees;
private const float RedHue = RedHueDegrees / MaxHueDegrees;
// Just an array to initialize the pixels of a new OwnedTexture
private static readonly Rgba32[] EmptyTexture = new Rgba32[32*32];
public override void Initialize()
{
base.Initialize();
SubscribeLocalEvent<AnomalyScannerScreenComponent, ComponentInit>(OnComponentInit);
SubscribeLocalEvent<AnomalyScannerScreenComponent, ComponentStartup>(OnComponentStartup);
SubscribeLocalEvent<AnomalyScannerScreenComponent, AppearanceChangeEvent>(OnScannerAppearanceChanged);
}
private void OnComponentInit(Entity<AnomalyScannerScreenComponent> ent, ref ComponentInit args)
{
if(!_sprite.TryGetLayer(ent.Owner, AnomalyScannerVisualLayers.Base, out var layer, true))
return;
// Allocate the OwnedTexture
ent.Comp.ScreenTexture = _clyde.CreateBlankTexture<Rgba32>(layer.PixelSize);
if (layer.PixelSize.X < ent.Comp.Offset.X + ent.Comp.Size.X ||
layer.PixelSize.Y < ent.Comp.Offset.Y + ent.Comp.Size.Y)
{
// If the bar doesn't fit, just bail here, ScreenTexture and BarBuf will remain null, and appearance updates
// will do nothing.
DebugTools.Assert(false, "AnomalyScannerScreenComponent: Bar does not fit within sprite");
return;
}
// Initialize the texture
ent.Comp.ScreenTexture.SetSubImage((0, 0), layer.PixelSize, new ReadOnlySpan<Rgba32>(EmptyTexture));
// Initialize bar drawing buffer
ent.Comp.BarBuf = new Rgba32[ent.Comp.Size.X * ent.Comp.Size.Y];
}
private void OnComponentStartup(Entity<AnomalyScannerScreenComponent> ent, ref ComponentStartup args)
{
if (!TryComp<SpriteComponent>(ent, out var sprite))
return;
_sprite.LayerSetTexture((ent, sprite), AnomalyScannerVisualLayers.Screen, ent.Comp.ScreenTexture);
}
private void OnScannerAppearanceChanged(Entity<AnomalyScannerScreenComponent> ent, ref AppearanceChangeEvent args)
{
if (args.Sprite is null || ent.Comp.ScreenTexture is null || ent.Comp.BarBuf is null)
return;
args.AppearanceData.TryGetValue(AnomalyScannerVisuals.AnomalySeverity, out var severityObj);
if (severityObj is not float severity)
severity = 0;
// Get the bar length
var barLength = (int)(severity * ent.Comp.Size.X);
// Calculate the bar color
// Hue "angle" of two colors to interpolate between depending on severity
// Just a lerp from Green hue at severity = 0.5 to Red hue at 1.0
var hue = Math.Clamp(2*GreenHue * (1 - severity), RedHue, GreenHue);
var color = new Rgba32(Color.FromHsv(new Vector4(hue, 1f, 1f, 1f)).RGBA);
var transparent = new Rgba32(0, 0, 0, 255);
for(var y = 0; y < ent.Comp.Size.Y; y++)
{
for (var x = 0; x < ent.Comp.Size.X; x++)
{
ent.Comp.BarBuf[y*ent.Comp.Size.X + x] = x < barLength ? color : transparent;
}
}
// Copy the buffer to the texture
try
{
ent.Comp.ScreenTexture.SetSubImage(
ent.Comp.Offset,
ent.Comp.Size,
new ReadOnlySpan<Rgba32>(ent.Comp.BarBuf)
);
}
catch (IndexOutOfRangeException)
{
Log.Warning($"Bar dimensions out of bounds with the texture on entity {ent.Owner}");
}
}
}

View File

@@ -7,10 +7,11 @@ using Robust.Shared.Timing;
namespace Content.Client.Anomaly;
public sealed class AnomalySystem : SharedAnomalySystem
public sealed partial class AnomalySystem : SharedAnomalySystem
{
[Dependency] private readonly IGameTiming _timing = default!;
[Dependency] private readonly FloatingVisualizerSystem _floating = default!;
[Dependency] private readonly SpriteSystem _sprite = default!;
/// <inheritdoc/>
public override void Initialize()
@@ -23,6 +24,7 @@ public sealed class AnomalySystem : SharedAnomalySystem
SubscribeLocalEvent<AnomalySupercriticalComponent, ComponentShutdown>(OnShutdown);
}
private void OnStartup(EntityUid uid, AnomalyComponent component, ComponentStartup args)
{
_floating.FloatAnimation(uid, component.FloatingOffset, component.AnimationKey, component.AnimationTime);
@@ -49,30 +51,30 @@ public sealed class AnomalySystem : SharedAnomalySystem
if (HasComp<AnomalySupercriticalComponent>(uid))
pulsing = true;
if (!sprite.LayerMapTryGet(AnomalyVisualLayers.Base, out var layer) ||
!sprite.LayerMapTryGet(AnomalyVisualLayers.Animated, out var animatedLayer))
if (!_sprite.LayerMapTryGet((uid, sprite), AnomalyVisualLayers.Base, out var layer, false) ||
!_sprite.LayerMapTryGet((uid, sprite), AnomalyVisualLayers.Animated, out var animatedLayer, false))
return;
sprite.LayerSetVisible(layer, !pulsing);
sprite.LayerSetVisible(animatedLayer, pulsing);
_sprite.LayerSetVisible((uid, sprite), layer, !pulsing);
_sprite.LayerSetVisible((uid, sprite), animatedLayer, pulsing);
}
public override void Update(float frameTime)
{
base.Update(frameTime);
var query = EntityQueryEnumerator<AnomalySupercriticalComponent, SpriteComponent>();
var query = EntityQueryEnumerator<AnomalyComponent, AnomalySupercriticalComponent, SpriteComponent>();
while (query.MoveNext(out var super, out var sprite))
while (query.MoveNext(out var uid, out var anomaly, out var super, out var sprite))
{
var completion = 1f - (float) ((super.EndTime - _timing.CurTime) / super.SupercriticalDuration);
var completion = 1f - (float) ((super.EndTime - _timing.CurTime) / anomaly.SupercriticalDuration);
var scale = completion * (super.MaxScaleAmount - 1f) + 1f;
sprite.Scale = new Vector2(scale, scale);
_sprite.SetScale((uid, sprite), new Vector2(scale, scale));
var transparency = (byte) (65 * (1f - completion) + 190);
var transparency = (byte)(65 * (1f - completion) + 190);
if (transparency < sprite.Color.AByte)
{
sprite.Color = sprite.Color.WithAlpha(transparency);
_sprite.SetColor((uid, sprite), sprite.Color.WithAlpha(transparency));
}
}
}
@@ -82,7 +84,7 @@ public sealed class AnomalySystem : SharedAnomalySystem
if (!TryComp<SpriteComponent>(ent, out var sprite))
return;
sprite.Scale = Vector2.One;
sprite.Color = sprite.Color.WithAlpha(1f);
_sprite.SetScale((ent.Owner, sprite), Vector2.One);
_sprite.SetColor((ent.Owner, sprite), sprite.Color.WithAlpha(1f));
}
}

View File

@@ -1,12 +1,14 @@
using Content.Shared.Anomaly.Components;
using Content.Shared.Anomaly.Effects;
using Content.Shared.Body.Components;
using Content.Shared.Humanoid;
using Robust.Client.GameObjects;
namespace Content.Client.Anomaly.Effects;
public sealed class ClientInnerBodyAnomalySystem : SharedInnerBodyAnomalySystem
{
[Dependency] private readonly SpriteSystem _sprite = default!;
public override void Initialize()
{
SubscribeLocalEvent<InnerBodyAnomalyComponent, AfterAutoHandleStateEvent>(OnAfterHandleState);
@@ -21,21 +23,19 @@ public sealed class ClientInnerBodyAnomalySystem : SharedInnerBodyAnomalySystem
if (ent.Comp.FallbackSprite is null)
return;
if (!sprite.LayerMapTryGet(ent.Comp.LayerMap, out var index))
index = sprite.LayerMapReserveBlank(ent.Comp.LayerMap);
var index = _sprite.LayerMapReserve((ent.Owner, sprite), ent.Comp.LayerMap);
if (TryComp<BodyComponent>(ent, out var body) &&
body.Prototype is not null &&
ent.Comp.SpeciesSprites.TryGetValue(body.Prototype.Value, out var speciesSprite))
if (TryComp<HumanoidAppearanceComponent>(ent, out var humanoidAppearance) &&
ent.Comp.SpeciesSprites.TryGetValue(humanoidAppearance.Species, out var speciesSprite))
{
sprite.LayerSetSprite(index, speciesSprite);
_sprite.LayerSetSprite((ent.Owner, sprite), index, speciesSprite);
}
else
{
sprite.LayerSetSprite(index, ent.Comp.FallbackSprite);
_sprite.LayerSetSprite((ent.Owner, sprite), index, ent.Comp.FallbackSprite);
}
sprite.LayerSetVisible(index, true);
_sprite.LayerSetVisible((ent.Owner, sprite), index, true);
sprite.LayerSetShader(index, "unshaded");
}
@@ -44,7 +44,7 @@ public sealed class ClientInnerBodyAnomalySystem : SharedInnerBodyAnomalySystem
if (!TryComp<SpriteComponent>(ent, out var sprite))
return;
var index = sprite.LayerMapGet(ent.Comp.LayerMap);
sprite.LayerSetVisible(index, false);
var index = _sprite.LayerMapGet((ent.Owner, sprite), ent.Comp.LayerMap);
_sprite.LayerSetVisible((ent.Owner, sprite), index, false);
}
}

View File

@@ -20,6 +20,7 @@ public sealed class AnomalyScannerBoundUserInterface : BoundUserInterface
_menu = new AnomalyScannerMenu();
_menu.OpenCentered();
_menu.OnClose += Close;
}
protected override void UpdateState(BoundUserInterfaceState state)

View File

@@ -0,0 +1,203 @@
using Content.Client.Construction;
using Content.Shared.Atmos.Components;
using Content.Shared.Atmos.EntitySystems;
using Content.Shared.Construction.Prototypes;
using Robust.Client.GameObjects;
using Robust.Client.Graphics;
using Robust.Client.Placement;
using Robust.Client.Placement.Modes;
using Robust.Client.Utility;
using Robust.Shared.Enums;
using Robust.Shared.Map;
using Robust.Shared.Map.Components;
using Robust.Shared.Prototypes;
using Robust.Shared.Utility;
using System.Numerics;
using static Robust.Client.Placement.PlacementManager;
namespace Content.Client.Atmos;
/// <summary>
/// Allows users to place atmos pipes on different layers depending on how the mouse cursor is positioned within a grid tile.
/// </summary>
/// <remarks>
/// This placement mode is not on the engine because it is content specific.
/// </remarks>
public sealed class AlignAtmosPipeLayers : SnapgridCenter
{
[Dependency] private readonly IEntityManager _entityManager = default!;
[Dependency] private readonly IPrototypeManager _protoManager = default!;
[Dependency] private readonly IMapManager _mapManager = default!;
[Dependency] private readonly IEyeManager _eyeManager = default!;
private readonly SharedMapSystem _mapSystem;
private readonly SharedTransformSystem _transformSystem;
private readonly SharedAtmosPipeLayersSystem _pipeLayersSystem;
private readonly SpriteSystem _spriteSystem;
private const float SearchBoxSize = 2f;
private EntityCoordinates _unalignedMouseCoords = default;
private const float MouseDeadzoneRadius = 0.25f;
private Color _guideColor = new Color(0, 0, 0.5785f);
private const float GuideRadius = 0.1f;
private const float GuideOffset = 0.21875f;
public AlignAtmosPipeLayers(PlacementManager pMan) : base(pMan)
{
IoCManager.InjectDependencies(this);
_mapSystem = _entityManager.System<SharedMapSystem>();
_transformSystem = _entityManager.System<SharedTransformSystem>();
_pipeLayersSystem = _entityManager.System<SharedAtmosPipeLayersSystem>();
_spriteSystem = _entityManager.System<SpriteSystem>();
}
/// <inheritdoc/>
public override void Render(in OverlayDrawArgs args)
{
var gridUid = _entityManager.System<SharedTransformSystem>().GetGrid(MouseCoords);
if (gridUid == null || Grid == null)
return;
// Draw guide circles for each pipe layer if we are not in line/grid placing mode
if (pManager.PlacementType == PlacementTypes.None)
{
var gridRotation = _transformSystem.GetWorldRotation(gridUid.Value);
var worldPosition = _mapSystem.LocalToWorld(gridUid.Value, Grid, MouseCoords.Position);
var direction = (_eyeManager.CurrentEye.Rotation + gridRotation + Math.PI / 2).GetCardinalDir();
var multi = (direction == Direction.North || direction == Direction.South) ? -1f : 1f;
args.WorldHandle.DrawCircle(worldPosition, GuideRadius, _guideColor);
args.WorldHandle.DrawCircle(worldPosition + gridRotation.RotateVec(new Vector2(multi * GuideOffset, GuideOffset)), GuideRadius, _guideColor);
args.WorldHandle.DrawCircle(worldPosition - gridRotation.RotateVec(new Vector2(multi * GuideOffset, GuideOffset)), GuideRadius, _guideColor);
}
base.Render(args);
}
/// <inheritdoc/>
public override void AlignPlacementMode(ScreenCoordinates mouseScreen)
{
_unalignedMouseCoords = ScreenToCursorGrid(mouseScreen);
base.AlignPlacementMode(mouseScreen);
// Exit early if we are in line/grid placing mode
if (pManager.PlacementType != PlacementTypes.None)
return;
MouseCoords = _unalignedMouseCoords.AlignWithClosestGridTile(SearchBoxSize, _entityManager, _mapManager);
var gridId = _transformSystem.GetGrid(MouseCoords);
if (!_entityManager.TryGetComponent<MapGridComponent>(gridId, out var mapGrid))
return;
var gridRotation = _transformSystem.GetWorldRotation(gridId.Value);
CurrentTile = _mapSystem.GetTileRef(gridId.Value, mapGrid, MouseCoords);
float tileSize = mapGrid.TileSize;
GridDistancing = tileSize;
MouseCoords = new EntityCoordinates(MouseCoords.EntityId, new Vector2(CurrentTile.X + tileSize / 2 + pManager.PlacementOffset.X,
CurrentTile.Y + tileSize / 2 + pManager.PlacementOffset.Y));
// Calculate the position of the mouse cursor with respect to the center of the tile to determine which layer to use
var mouseCoordsDiff = _unalignedMouseCoords.Position - MouseCoords.Position;
var layer = AtmosPipeLayer.Primary;
if (mouseCoordsDiff.Length() > MouseDeadzoneRadius)
{
// Determine the direction of the mouse is relative to the center of the tile, adjusting for the player eye and grid rotation
var direction = (new Angle(mouseCoordsDiff) + _eyeManager.CurrentEye.Rotation + gridRotation + Math.PI / 2).GetCardinalDir();
layer = (direction == Direction.North || direction == Direction.East) ? AtmosPipeLayer.Secondary : AtmosPipeLayer.Tertiary;
}
// Update the construction menu placer
if (pManager.Hijack != null)
UpdateHijackedPlacer(layer, mouseScreen);
// Otherwise update the debug placer
else
UpdatePlacer(layer);
}
private void UpdateHijackedPlacer(AtmosPipeLayer layer, ScreenCoordinates mouseScreen)
{
// Try to get alternative prototypes from the construction prototype
var constructionSystem = (pManager.Hijack as ConstructionPlacementHijack)?.CurrentConstructionSystem;
var altPrototypes = (pManager.Hijack as ConstructionPlacementHijack)?.CurrentPrototype?.AlternativePrototypes;
if (constructionSystem == null || altPrototypes == null || (int)layer >= altPrototypes.Length)
return;
var newProtoId = altPrototypes[(int)layer];
if (!_protoManager.Resolve(newProtoId, out var newProto))
return;
if (newProto.Type != ConstructionType.Structure)
{
pManager.Clear();
return;
}
if (newProto.ID == (pManager.Hijack as ConstructionPlacementHijack)?.CurrentPrototype?.ID)
return;
// Start placing
pManager.BeginPlacing(new PlacementInformation()
{
IsTile = false,
PlacementOption = newProto.PlacementMode,
}, new ConstructionPlacementHijack(constructionSystem, newProto));
if (pManager.CurrentMode is AlignAtmosPipeLayers { } newMode)
newMode.RefreshGrid(mouseScreen);
// Update construction guide
constructionSystem.GetGuide(newProto);
}
private void UpdatePlacer(AtmosPipeLayer layer)
{
// Try to get alternative prototypes from the entity atmos pipe layer component
if (pManager.CurrentPermission?.EntityType == null)
return;
if (!_protoManager.TryIndex<EntityPrototype>(pManager.CurrentPermission.EntityType, out var currentProto))
return;
if (!currentProto.TryGetComponent<AtmosPipeLayersComponent>(out var atmosPipeLayers, _entityManager.ComponentFactory))
return;
if (!_pipeLayersSystem.TryGetAlternativePrototype(atmosPipeLayers, layer, out var newProtoId))
return;
if (_protoManager.TryIndex<EntityPrototype>(newProtoId, out var newProto))
{
// Update the placed prototype
pManager.CurrentPermission.EntityType = newProtoId;
// Update the appearance of the ghost sprite
if (newProto.TryGetComponent<SpriteComponent>(out var sprite, _entityManager.ComponentFactory))
{
var textures = new List<IDirectionalTextureProvider>();
foreach (var spriteLayer in sprite.AllLayers)
{
if (spriteLayer.ActualRsi?.Path != null && spriteLayer.RsiState.Name != null)
textures.Add(_spriteSystem.RsiStateLike(new SpriteSpecifier.Rsi(spriteLayer.ActualRsi.Path, spriteLayer.RsiState.Name)));
}
pManager.CurrentTextures = textures;
}
}
}
private void RefreshGrid(ScreenCoordinates mouseScreen)
{
base.AlignPlacementMode(mouseScreen);
}
}

View File

@@ -17,6 +17,10 @@ public sealed partial class AtmosMonitoringConsoleNavMapControl : NavMapControl
public int? FocusNetId = null;
private const int ChunkSize = 4;
private const float ScaleModifier = 4f;
private readonly float[] _layerFraction = { 0.5f, 0.75f, 0.25f };
private const float LineThickness = 0.05f;
private readonly Color _basePipeNetColor = Color.LightGray;
private readonly Color _unfocusedPipeNetColor = Color.DimGray;
@@ -95,23 +99,23 @@ public sealed partial class AtmosMonitoringConsoleNavMapControl : NavMapControl
foreach (var chunkedLine in atmosPipeNetwork)
{
var leftTop = ScalePosition(new Vector2
(Math.Min(chunkedLine.Origin.X, chunkedLine.Terminus.X) - 0.1f,
Math.Min(chunkedLine.Origin.Y, chunkedLine.Terminus.Y) - 0.1f)
(Math.Min(chunkedLine.Origin.X, chunkedLine.Terminus.X) - LineThickness,
Math.Min(chunkedLine.Origin.Y, chunkedLine.Terminus.Y) - LineThickness)
- offset);
var rightTop = ScalePosition(new Vector2
(Math.Max(chunkedLine.Origin.X, chunkedLine.Terminus.X) + 0.1f,
Math.Min(chunkedLine.Origin.Y, chunkedLine.Terminus.Y) - 0.1f)
(Math.Max(chunkedLine.Origin.X, chunkedLine.Terminus.X) + LineThickness,
Math.Min(chunkedLine.Origin.Y, chunkedLine.Terminus.Y) - LineThickness)
- offset);
var leftBottom = ScalePosition(new Vector2
(Math.Min(chunkedLine.Origin.X, chunkedLine.Terminus.X) - 0.1f,
Math.Max(chunkedLine.Origin.Y, chunkedLine.Terminus.Y) + 0.1f)
(Math.Min(chunkedLine.Origin.X, chunkedLine.Terminus.X) - LineThickness,
Math.Max(chunkedLine.Origin.Y, chunkedLine.Terminus.Y) + LineThickness)
- offset);
var rightBottom = ScalePosition(new Vector2
(Math.Max(chunkedLine.Origin.X, chunkedLine.Terminus.X) + 0.1f,
Math.Max(chunkedLine.Origin.Y, chunkedLine.Terminus.Y) + 0.1f)
(Math.Max(chunkedLine.Origin.X, chunkedLine.Terminus.X) + LineThickness,
Math.Max(chunkedLine.Origin.Y, chunkedLine.Terminus.Y) + LineThickness)
- offset);
if (!pipeVertexUVs.TryGetValue(chunkedLine.Color, out var pipeVertexUV))
@@ -142,7 +146,7 @@ public sealed partial class AtmosMonitoringConsoleNavMapControl : NavMapControl
if (chunks == null || grid == null)
return decodedOutput;
// Clear stale look up table values
// Clear stale look up table values
_horizLines.Clear();
_horizLinesReversed.Clear();
_vertLines.Clear();
@@ -158,10 +162,10 @@ public sealed partial class AtmosMonitoringConsoleNavMapControl : NavMapControl
{
var list = new List<AtmosMonitoringConsoleLine>();
foreach (var ((netId, hexColor), atmosPipeData) in chunk.AtmosPipeData)
foreach (var ((netId, layer, pipeColor), atmosPipeData) in chunk.AtmosPipeData)
{
// Determine the correct coloration for the pipe
var color = Color.FromHex(hexColor) * _basePipeNetColor;
var color = pipeColor * _basePipeNetColor;
if (FocusNetId != null && FocusNetId != netId)
color *= _unfocusedPipeNetColor;
@@ -191,6 +195,9 @@ public sealed partial class AtmosMonitoringConsoleNavMapControl : NavMapControl
_vertLinesReversed[color] = vertLinesReversed;
}
var layerFraction = _layerFraction[(int)layer];
var origin = new Vector2(grid.TileSize * layerFraction, -grid.TileSize * layerFraction);
// Loop over the chunk
for (var tileIdx = 0; tileIdx < ChunkSize * ChunkSize; tileIdx++)
{
@@ -208,21 +215,22 @@ public sealed partial class AtmosMonitoringConsoleNavMapControl : NavMapControl
// Calculate the draw point offsets
var vertLineOrigin = (atmosPipeData & northMask << tileIdx * SharedNavMapSystem.Directions) > 0 ?
new Vector2(grid.TileSize * 0.5f, -grid.TileSize * 1f) : new Vector2(grid.TileSize * 0.5f, -grid.TileSize * 0.5f);
new Vector2(grid.TileSize * layerFraction, -grid.TileSize * 1f) : origin;
var vertLineTerminus = (atmosPipeData & southMask << tileIdx * SharedNavMapSystem.Directions) > 0 ?
new Vector2(grid.TileSize * 0.5f, -grid.TileSize * 0f) : new Vector2(grid.TileSize * 0.5f, -grid.TileSize * 0.5f);
new Vector2(grid.TileSize * layerFraction, -grid.TileSize * 0f) : origin;
var horizLineOrigin = (atmosPipeData & eastMask << tileIdx * SharedNavMapSystem.Directions) > 0 ?
new Vector2(grid.TileSize * 1f, -grid.TileSize * 0.5f) : new Vector2(grid.TileSize * 0.5f, -grid.TileSize * 0.5f);
new Vector2(grid.TileSize * 1f, -grid.TileSize * layerFraction) : origin;
var horizLineTerminus = (atmosPipeData & westMask << tileIdx * SharedNavMapSystem.Directions) > 0 ?
new Vector2(grid.TileSize * 0f, -grid.TileSize * 0.5f) : new Vector2(grid.TileSize * 0.5f, -grid.TileSize * 0.5f);
new Vector2(grid.TileSize * 0f, -grid.TileSize * layerFraction) : origin;
// Since we can have pipe lines that have a length of a half tile,
// double the vectors and convert to vector2i so we can merge them
AddOrUpdateNavMapLine(ConvertVector2ToVector2i(tile + horizLineOrigin, 2), ConvertVector2ToVector2i(tile + horizLineTerminus, 2), horizLines, horizLinesReversed);
AddOrUpdateNavMapLine(ConvertVector2ToVector2i(tile + vertLineOrigin, 2), ConvertVector2ToVector2i(tile + vertLineTerminus, 2), vertLines, vertLinesReversed);
// Scale up the vectors and convert to vector2i so we can merge them
AddOrUpdateNavMapLine(ConvertVector2ToVector2i(tile + horizLineOrigin, ScaleModifier),
ConvertVector2ToVector2i(tile + horizLineTerminus, ScaleModifier), horizLines, horizLinesReversed);
AddOrUpdateNavMapLine(ConvertVector2ToVector2i(tile + vertLineOrigin, ScaleModifier),
ConvertVector2ToVector2i(tile + vertLineTerminus, ScaleModifier), vertLines, vertLinesReversed);
}
}
}
@@ -235,7 +243,7 @@ public sealed partial class AtmosMonitoringConsoleNavMapControl : NavMapControl
foreach (var (origin, terminal) in horizLines)
decodedOutput.Add(new AtmosMonitoringConsoleLine
(ConvertVector2iToVector2(origin, 0.5f), ConvertVector2iToVector2(terminal, 0.5f), sRGB));
(ConvertVector2iToVector2(origin, 1f / ScaleModifier), ConvertVector2iToVector2(terminal, 1f / ScaleModifier), sRGB));
}
foreach (var (color, vertLines) in _vertLines)
@@ -245,7 +253,7 @@ public sealed partial class AtmosMonitoringConsoleNavMapControl : NavMapControl
foreach (var (origin, terminal) in vertLines)
decodedOutput.Add(new AtmosMonitoringConsoleLine
(ConvertVector2iToVector2(origin, 0.5f), ConvertVector2iToVector2(terminal, 0.5f), sRGB));
(ConvertVector2iToVector2(origin, 1f / ScaleModifier), ConvertVector2iToVector2(terminal, 1f / ScaleModifier), sRGB));
}
return decodedOutput;

View File

@@ -15,7 +15,7 @@ public sealed class AtmosMonitoringConsoleSystem : SharedAtmosMonitoringConsoleS
private void OnHandleState(EntityUid uid, AtmosMonitoringConsoleComponent component, ref ComponentHandleState args)
{
Dictionary<Vector2i, Dictionary<(int, string), ulong>> modifiedChunks;
Dictionary<Vector2i, Dictionary<AtmosMonitoringConsoleSubnet, ulong>> modifiedChunks;
Dictionary<NetEntity, AtmosDeviceNavMapData> atmosDevices;
switch (args.Current)
@@ -54,7 +54,7 @@ public sealed class AtmosMonitoringConsoleSystem : SharedAtmosMonitoringConsoleS
foreach (var (origin, chunk) in modifiedChunks)
{
var newChunk = new AtmosPipeChunk(origin);
newChunk.AtmosPipeData = new Dictionary<(int, string), ulong>(chunk);
newChunk.AtmosPipeData = new Dictionary<AtmosMonitoringConsoleSubnet, ulong>(chunk);
component.AtmosPipeChunks[origin] = newChunk;
}

View File

@@ -13,6 +13,7 @@ using Robust.Shared.Timing;
using Robust.Shared.Utility;
using System.Diagnostics.CodeAnalysis;
using System.Linq;
using System.Numerics;
namespace Content.Client.Atmos.Consoles;
@@ -33,6 +34,8 @@ public sealed partial class AtmosMonitoringConsoleWindow : FancyWindow
private ProtoId<NavMapBlipPrototype> _navMapConsoleProtoId = "NavMapConsole";
private ProtoId<NavMapBlipPrototype> _gasPipeSensorProtoId = "GasPipeSensor";
private readonly Vector2[] _pipeLayerOffsets = { new Vector2(0f, 0f), new Vector2(0.25f, 0.25f), new Vector2(-0.25f, -0.25f) };
public AtmosMonitoringConsoleWindow(AtmosMonitoringConsoleBoundUserInterface userInterface, EntityUid? owner)
{
RobustXamlLoader.Load(this);
@@ -53,7 +56,7 @@ public sealed partial class AtmosMonitoringConsoleWindow : FancyWindow
consoleCoords = xform.Coordinates;
NavMap.MapUid = xform.GridUid;
// Assign station name
// Assign station name
if (_entManager.TryGetComponent<MetaDataComponent>(xform.GridUid, out var stationMetaData))
stationName = stationMetaData.EntityName;
@@ -238,6 +241,10 @@ public sealed partial class AtmosMonitoringConsoleWindow : FancyWindow
var blinks = proto.Blinks || _focusEntity == metaData.NetEntity;
var coords = _entManager.GetCoordinates(metaData.NetCoordinates);
if (proto.Placement == NavMapBlipPlacement.Offset && metaData.PipeLayer > 0)
coords = coords.Offset(_pipeLayerOffsets[(int)metaData.PipeLayer]);
var blip = new NavMapBlip(coords, _spriteSystem.Frame0(new SpriteSpecifier.Texture(texture)), color, blinks, proto.Selectable, proto.Scale);
NavMap.TrackedEntities[metaData.NetEntity] = blip;
}

View File

@@ -1,6 +1,7 @@
using Content.Client.SubFloor;
using Content.Shared.Atmos;
using Content.Shared.Atmos.Components;
using Content.Shared.Atmos.EntitySystems;
using Content.Shared.Atmos.Piping;
using JetBrains.Annotations;
using Robust.Client.GameObjects;
@@ -8,9 +9,10 @@ using Robust.Client.GameObjects;
namespace Content.Client.Atmos.EntitySystems;
[UsedImplicitly]
public sealed class AtmosPipeAppearanceSystem : EntitySystem
public sealed partial class AtmosPipeAppearanceSystem : SharedAtmosPipeAppearanceSystem
{
[Dependency] private readonly SharedAppearanceSystem _appearance = default!;
[Dependency] private readonly SpriteSystem _sprite = default!;
public override void Initialize()
{
@@ -25,25 +27,37 @@ public sealed class AtmosPipeAppearanceSystem : EntitySystem
if (!TryComp(uid, out SpriteComponent? sprite))
return;
foreach (PipeConnectionLayer layerKey in Enum.GetValues(typeof(PipeConnectionLayer)))
var numberOfPipeLayers = GetNumberOfPipeLayers(uid, out _);
foreach (var layerKey in Enum.GetValues<PipeConnectionLayer>())
{
sprite.LayerMapReserveBlank(layerKey);
var layer = sprite.LayerMapGet(layerKey);
sprite.LayerSetRSI(layer, component.Sprite.RsiPath);
sprite.LayerSetState(layer, component.Sprite.RsiState);
sprite.LayerSetDirOffset(layer, ToOffset(layerKey));
for (byte i = 0; i < numberOfPipeLayers; i++)
{
var layerName = layerKey.ToString() + i.ToString();
var layer = _sprite.LayerMapReserve((uid, sprite), layerName);
_sprite.LayerSetRsi((uid, sprite), layer, component.Sprite[i].RsiPath);
_sprite.LayerSetRsiState((uid, sprite), layer, component.Sprite[i].RsiState);
_sprite.LayerSetDirOffset((uid, sprite), layer, ToOffset(layerKey));
}
}
}
private void HideAllPipeConnection(SpriteComponent sprite)
private void HideAllPipeConnection(Entity<SpriteComponent> entity, AtmosPipeLayersComponent? atmosPipeLayers, int numberOfPipeLayers)
{
foreach (PipeConnectionLayer layerKey in Enum.GetValues(typeof(PipeConnectionLayer)))
{
if (!sprite.LayerMapTryGet(layerKey, out var key))
continue;
var sprite = entity.Comp;
var layer = sprite[key];
layer.Visible = false;
foreach (var layerKey in Enum.GetValues<PipeConnectionLayer>())
{
for (byte i = 0; i < numberOfPipeLayers; i++)
{
var layerName = layerKey.ToString() + i.ToString();
if (!_sprite.LayerMapTryGet(entity.AsNullable(), layerName, out var key, false))
continue;
var layer = sprite[key];
layer.Visible = false;
}
}
}
@@ -59,33 +73,45 @@ public sealed class AtmosPipeAppearanceSystem : EntitySystem
return;
}
if (!_appearance.TryGetData<PipeDirection>(uid, PipeVisuals.VisualState, out var worldConnectedDirections, args.Component))
var numberOfPipeLayers = GetNumberOfPipeLayers(uid, out var atmosPipeLayers);
if (!_appearance.TryGetData<int>(uid, PipeVisuals.VisualState, out var worldConnectedDirections, args.Component))
{
HideAllPipeConnection(args.Sprite);
HideAllPipeConnection((uid, args.Sprite), atmosPipeLayers, numberOfPipeLayers);
return;
}
if (!_appearance.TryGetData<Color>(uid, PipeColorVisuals.Color, out var color, args.Component))
color = Color.White;
// transform connected directions to local-coordinates
var connectedDirections = worldConnectedDirections.RotatePipeDirection(-Transform(uid).LocalRotation);
foreach (PipeConnectionLayer layerKey in Enum.GetValues(typeof(PipeConnectionLayer)))
for (byte i = 0; i < numberOfPipeLayers; i++)
{
if (!args.Sprite.LayerMapTryGet(layerKey, out var key))
continue;
// Extract the cardinal pipe orientations for the current pipe layer
// '15' is the four bit mask that is used to extract the pipe orientations of interest from 'worldConnectedDirections'
// Fun fact: a collection of four bits is called a 'nibble'! They aren't natively supported :(
var pipeLayerConnectedDirections = (PipeDirection)(15 & (worldConnectedDirections >> (PipeDirectionHelpers.PipeDirections * i)));
var layer = args.Sprite[key];
var dir = (PipeDirection) layerKey;
var visible = connectedDirections.HasDirection(dir);
// Transform the connected directions to local-coordinates
var connectedDirections = pipeLayerConnectedDirections.RotatePipeDirection(-Transform(uid).LocalRotation);
layer.Visible &= visible;
foreach (var layerKey in Enum.GetValues<PipeConnectionLayer>())
{
var layerName = layerKey.ToString() + i.ToString();
if (!visible)
continue;
if (!_sprite.LayerMapTryGet((uid, args.Sprite), layerName, out var key, false))
continue;
layer.Color = color;
var layer = args.Sprite[key];
var dir = (PipeDirection)layerKey;
var visible = connectedDirections.HasDirection(dir);
layer.Visible &= visible;
if (!visible)
continue;
layer.Color = color;
}
}
}

View File

@@ -0,0 +1,56 @@
using Content.Shared.Atmos.Components;
using Content.Shared.Atmos.EntitySystems;
using Robust.Client.GameObjects;
using Robust.Client.ResourceManagement;
using Robust.Shared.Reflection;
using Robust.Shared.Serialization.TypeSerializers.Implementations;
using Robust.Shared.Utility;
using System.Diagnostics.CodeAnalysis;
namespace Content.Client.Atmos.EntitySystems;
/// <summary>
/// The system responsible for updating the appearance of layered gas pipe
/// </summary>
public sealed partial class AtmosPipeLayersSystem : SharedAtmosPipeLayersSystem
{
[Dependency] private readonly SharedAppearanceSystem _appearance = default!;
[Dependency] private readonly IReflectionManager _reflection = default!;
[Dependency] private readonly IResourceCache _resourceCache = default!;
[Dependency] private readonly SpriteSystem _sprite = default!;
public override void Initialize()
{
base.Initialize();
SubscribeLocalEvent<AtmosPipeLayersComponent, AppearanceChangeEvent>(OnAppearanceChange);
}
private void OnAppearanceChange(Entity<AtmosPipeLayersComponent> ent, ref AppearanceChangeEvent ev)
{
if (!TryComp<SpriteComponent>(ent, out var sprite))
return;
if (_appearance.TryGetData<string>(ent, AtmosPipeLayerVisuals.Sprite, out var spriteRsi) &&
_resourceCache.TryGetResource(SpriteSpecifierSerializer.TextureRoot / spriteRsi, out RSIResource? resource))
{
_sprite.SetBaseRsi((ent, sprite), resource.RSI);
}
if (_appearance.TryGetData<Dictionary<string, string>>(ent, AtmosPipeLayerVisuals.SpriteLayers, out var pipeState))
{
foreach (var (layerKey, rsiPath) in pipeState)
{
if (TryParseKey(layerKey, out var @enum))
_sprite.LayerSetRsi((ent, sprite), @enum, new ResPath(rsiPath));
else
_sprite.LayerSetRsi((ent, sprite), layerKey, new ResPath(rsiPath));
}
}
}
private bool TryParseKey(string keyString, [NotNullWhen(true)] out Enum? @enum)
{
return _reflection.TryParseEnumReference(keyString, out @enum);
}
}

Some files were not shown because too many files have changed in this diff Show More