Compare commits

..

3279 Commits

Author SHA1 Message Date
Ed
98d904d75f Merge branch 'master' into ed-cla-test2 2025-01-26 16:14:54 +03:00
Ed
00eedea77e Update cla.yml 2025-01-26 16:14:12 +03:00
Ed
13a6bc2920 Update ContentLocalizationManager.cs 2025-01-26 16:12:50 +03:00
Ed
58bb5ce26f Merge branch 'ed-cla-test2' of https://github.com/crystallpunk-14/crystall-punk-14 into ed-cla-test2 2025-01-26 16:11:30 +03:00
Ed
cf24ec8375 Revert "touch c#"
This reverts commit ca288f1288.
2025-01-26 16:10:44 +03:00
Ed
1d1133c6d4 Merge branch 'master' into ed-cla-test2 2025-01-26 16:10:12 +03:00
Ed
a9a2372ba8 Update cla.json 2025-01-26 16:09:39 +03:00
Ed
ca288f1288 touch c# 2025-01-26 16:08:10 +03:00
Ed
0afd87163c Update guildmaster.yml 2025-01-26 16:06:21 +03:00
Ed
14930094d7 Merge branch 'master' of https://github.com/crystallpunk-14/crystall-punk-14 2025-01-26 16:05:23 +03:00
Ed
b0189002e8 Update cla.yml 2025-01-26 16:04:48 +03:00
Ed
c670b79fd0 Update guildmaster.yml (#810) 2025-01-26 15:57:44 +03:00
github-actions[bot]
d43b67c6d4 @TheShuEd has signed the CLA in crystallpunk-14/crystall-punk-14#810 2025-01-26 12:54:43 +00:00
github-actions[bot]
58db8c4699 Creating file for storing CLA Signatures 2025-01-26 12:53:32 +00:00
Ed
12edd8f023 Create cla.yml 2025-01-26 15:49:12 +03:00
Ed
852e19601a license part 2 2025-01-26 15:34:52 +03:00
Ed
e5c8256cfa license part 1 2025-01-26 15:33:18 +03:00
Ed
2201bb70dd end OBT 2025-01-26 00:10:08 +03:00
Ed
72279cee6b english OBT 2025-01-25 19:51:24 +03:00
Ed
f2bfeefcae Guildmaster + Comoss update (#808)
* setup guildmaster job

* divide artisans and adventurer departments

* comoss tavern update

* Update comoss.yml
2025-01-25 17:47:17 +03:00
Nim
918c7d1e3b Pies (#794)
* pie

* qwe

* recipe

* Solution

* dough

* some tweaks

* fix crafting bugs

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: Ed <edwardxperia2000@gmail.com>
2025-01-25 14:40:16 +03:00
Ed
65faa9ae63 fix ice wall sprite 2025-01-25 02:43:16 +03:00
Ed
62658f5017 ice block window 2025-01-25 01:40:05 +03:00
Ed
2de94ea8b2 Update SharedProjectileSystem.cs 2025-01-24 23:18:26 +03:00
Ed
2ee1716a85 fix role restriction 2025-01-24 22:43:04 +03:00
Ed
fb604d1e08 fix CLA licensing 2025-01-24 22:02:46 +03:00
Ed
403344fd46 Ice spectre mob + jobs playtime requirement increase (#806)
* increase roles playtime requirements

* ice spectre
2025-01-24 21:56:30 +03:00
Ed
fdca66be06 update species guidebook 2025-01-24 09:58:16 +03:00
Ed
cc924a2478 Fix some bugs (#805)
* fix buckling from fences

* fix #804
2025-01-23 22:47:49 +03:00
Ed
3f84a19ff0 Elf mana spell rework + magic damage popups (#802)
* fix #793

* safe elf mana. Fix #728
2025-01-23 17:20:03 +03:00
Ed
a91f3c8793 safe zones 2025-01-23 12:17:17 +03:00
Ed
86811a93b2 healing staff remove from loadouts 2025-01-23 00:10:30 +03:00
Ed
cc7fadf45f fix 2025-01-23 00:05:21 +03:00
Ed
2962085b9a Modular hammers (#792)
* modular hammer

* QoL modular assemble

* remove gattle big hammer

* crossbow crafting
2025-01-22 23:53:36 +03:00
Ed
fc14c111aa Update demiplane.yml 2025-01-22 17:53:47 +03:00
Ed
e08705535f Update iron_grille.yml 2025-01-22 16:44:39 +03:00
Ed
12225eb37b comoss update, quiver in loadouts 2025-01-22 16:34:35 +03:00
Ed
1bffc4b6aa Merge pull request #784 from Nimfar11/bow-and-quiver
Bow and sprite quiver
2025-01-22 14:31:42 +03:00
Nimfar11
19d23e26ba craft 2025-01-22 13:21:52 +02:00
Ed
4e62349c0d Update anvil.yml 2025-01-22 13:54:52 +03:00
Ed
4aebd6ff98 Merge pull request #789 from crystallpunk-14/ed-22-01-2025-workbench-many
Workbench support multiple result
2025-01-22 13:53:03 +03:00
Ed
37ad1ee518 Merge pull request #790 from crystallpunk-14/ed-22-01-2025-double-upstream
Fix upstream
2025-01-22 13:52:46 +03:00
Ed
7d26a26547 Merge remote-tracking branch 'upstream/stable' into ed-22-01-2025-double-upstream
# Conflicts:
#	Content.IntegrationTests/Tests/PostMapInitTest.cs
#	Content.Server/Administration/Systems/AdminSystem.cs
#	Content.Server/GameTicking/GameTicker.Spawning.cs
#	Content.Shared/Preferences/HumanoidCharacterProfile.cs
#	LICENSE.TXT
#	Resources/Locale/ru-RU/administration/commands/babyjail.ftl
#	Resources/Maps/Shuttles/emergency_elkridge.yml
#	Resources/Prototypes/Entities/Mobs/Customization/Markings/human_hair.yml
#	Resources/Prototypes/Maps/Pools/default.yml
2025-01-22 13:46:46 +03:00
Ed
32e00d38a1 Update workbenchs.yml 2025-01-22 13:22:56 +03:00
Ed
84edd8ea03 multiple workbench results 2025-01-22 13:14:47 +03:00
Errant
ae213066b1 HOTFIX Admin playerlist character update fix (#34560)
fix IdentityChangedEvent subscription
2025-01-21 23:48:07 +01:00
Nim
988ab82208 Apple (#787)
* bread

* apple

* sprite

* no bread

* eee
2025-01-22 00:06:31 +03:00
Ed
ca1281fcb3 Merge branch 'master' into bow-and-quiver 2025-01-22 00:01:44 +03:00
Ed
f298396fe4 Upstream sync (#786)
* Box Station - Dechristmassified (#34135)

* dechrismassified

* removed camera from shower

* Marathon Station - Dechristmassified (#34136)

* dechristmassified

* further dechristmassified

* Loop Station Decal and maints additions (#34103)

* many changes

* contentingregrationtests

* serialized invalid removed

* blank

* "Changes and fixes as suggested"

* blank

* blank

* added desk bells

* engi rework rework rework

* added gate to content integration

* tweaks

* aaa

* bbb

* added holopads

* ccc

* Update default.yml

* hotfix

* aaa

* bbb

* many many tweaks and fixes

* aaa

* decals and maints

* aaa

* bbb

* ccc

---------

Co-authored-by: Emisse <99158783+Emisse@users.noreply.github.com>

* Rename cryobed yml file (#34134)

renamed cryopod.yml to cryogenic_sleep_unit.yml

* Cog update (not very merry) (#34144)

removed christmas merry

* bagel update (#34145)

* Add hair pulato (#34117)

* add sprite pulato

* update

* add pulato hair

* add pulato hair

* add pulato hair

* update meta "pulato"

* Automatic changelog update

* Holopad UI tweak for incoming calls (#34137)

* Initial commit

* Update

* Comment correction

* Minor margin increase

* Holopads no longer log broadcasted speech and emotes in the chat (#34114)

Initial commit

* Automatic changelog update

* Fixes borgs not being able to check their laws in crit (#34133)

* fix

* fix2

* Add contraband parent to laser gun safe (#34132)

* Automatic changelog update

* Add Holopad Circuit Board to A/V Communication Technology (#34150)

Added the holopad circuit board to the AV Communication technology and circuit imprinter lathe.

* Automatic changelog update

* Fix disposal signal routers sprites (#34139)

* Fix disposal signal routers sprites

* Remove old shitcode

* Automatic changelog update

* Meta station overhaul (#33506)

* added mail, moved some things around, and fixed a lot of APCs

* fixed my mistakes

* Fixed a few mistakes and AI camera names

* Redid south medbay and more wiring

* Finished sci overhaul, and fixed all issues that I could find.

* rebuilt botany, removed vox box, fixed all known issues.

* Overhauled security

* Minor commit as I prepare to update my copy

* Rebalanced role counts

* Final changes, ready for review!

* Emisse and other people fixed issues with the station

* Finalized changes (for real this time)!

* Standardize shotgun ammo in storagefills (#34156)

shotgun ammo changes

* Automatic changelog update

* meta update (#34158)

* Amber Station Adjustments (#34126)

* Made a couple fixes to various decals, cleaned up some entities, gave the clown their bag and the bartender a handlabeler

* Several changes, more cameras, lighting fixes, adjusted hydro a bit, gave sec a bunch of shutters

* Added new random spawners for science and added them to Amber

* fixed the science spawners and modified amber slightly

* Fixed the random instrument entry

* Fix friendly vent spiders (#34153)

Swapped order of parents for MobGiantSpiderAngry

* Removed UseDelay component from RCD (#34149)

* Automatic changelog update

* Decrease hp for rusted walls (#34043)

* Automatic changelog update

* FIX: Thief beacon doubled steal targets (#33750)

* Automatic changelog update

* remove nukemass song (#34066)

* Automatic changelog update

* Corrected all ghost role names to title case. (#34155)

* Corrected all ghost role names to title case.

* Removes full stop from Hamlet's title.

* Updated ghost role names not in the main ghost roles .ftl

* Two capitals corrections

* Packed Update (Remove Christmas & New Evac) (#34168)

* Packed update (remove christmas, new shuttle)

* Fix invalid

* the voices

* Omega Update (Remove Christmas) (#34174)

omega soap

* Renamed "Irish Car Bomb" drink to "Irish Slammer" (#34107)

* Renamed "Irish Car Bomb" drink to "Irish Slammer", due to concerns over insensitivity.

* Fixing some missed references

* Added prototype id changes to migration.yml. Removed any reference to the troubles (and corrected ale to stout for flavour text).

* Corrected description back to "Irish Cream"

* Removed non-entities from migration.yml

* Automatic changelog update

* Bugfix for the AI player's eye getting stuck when their broadcast is interrupted (#34093)

Initial commit

* Speech is relayed by holopad holograms (#33978)

* Initial commit

* Corrected a field attribute

* Make JPEG a PNG (#34176)

Make 3.png a PNG

* Removed Undesirable Ion Storm Verbs (#34175)

* Remove Undesirable Laws

* empty

* added basic admin logs for PDA notekeeper notes (#34118)

* added basic admin logs for PDA notekeeper notes

* formatting

* added new LogType 'PdaInteract' and changed PDA notekeeper logs to it

---------

Co-authored-by: dylanhunter <dylan2.whittingham@live.uwe.ac.uk>

* Automatic changelog update

* Sprites defined for all non-generic computer boards. Added new syndicate computer board sprite. (#34104)

* Defined sprites for non-generic computer boards. Added new syndicate computer board sprite.

* Added new sprite to meta.json and updated attribution.

* Reformatted module.rsi meta.json to match other meta file styles.

* Syndicate board sprite made less yellow/gold, changed outer chips to black. Using grey/silver for CPU centre, akin to syndie agent PDA theme, and to keep distinctive from security board.

* Corrected indentation spacing for currently edited entities.

* Update Resources/Prototypes/Entities/Objects/Devices/Circuitboards/computer.yml

* add pr link to attribution

---------

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

* Added pricegun sound (#34119)

added pricegun sound

Co-authored-by: dylanhunter <dylan2.whittingham@live.uwe.ac.uk>

* Automatic changelog update

* Separate Tables n' Counters  (#32673)

* Update tables.yml

* Remove Extra base: state_

* Update tables.yml

* Automatic changelog update

* Add Chameleon PDA (#30514)

* V1 commit

* Remove PDA name and unnecessary pda state

* Adds PDA to Chameleon backpack & thief toolbox

* Change to use AppearanceDataInit

* Add basic PDA state to ensure there's always a sprite before AppearanceData can be applied

* Revert PDA name (this will be changed to another way later)

* Update PDA name updating to new system

* Fix yaml, and fix Agent ID chameleon

* Updated based on review

* Automatic changelog update

* Add some ion storm actions to replace removed ones (#34180)

* Add some ion storm actions to replace removed ones

* Remove other country references, replace

* Some more tuning of the storm values, removing real-world countries

* boldy basics

* Automatic changelog update

* Amber Station and Science Spawner Tweaks (#34187)

* Modified science spawners a bit since I realized including maints loot was undesireable

* Linked Medical doors to buttons, redesigned the floor of the dining area a bit, placed more science spawners

* Somehow I overlooked that I was importing the maints loot table instead of the sci loot table

* Gave sci an EOD closet

* named the evac shuttle

* Core update (#34201)

add

* Elkridge Depot (The station formerly known as Cell) (#34085)

* named apcs, doors, air alarms, cameras, fire alarms, substations, SMESs

* updated PostMapInitTest.cs to include Cell

* added psychologist spawn

* fixed scanner console link, fixed disposals conveyors, and more

* added janitor service lights, maints firelocks, and more

* added more fun maint rooms

* improved head offices, kitchen, psych. added maints between science and arrivals

* fixed spawners placed over solid objects

* added unique evac shuttle, the Cilium

* evac shuttle is now orientated correctly

* added unique cargo shuttle

* updated kitchen area

* renamed Cell Station to Elkridge Depot, removed most main hall airlocks for smoother travel

* general last-minute touch-ups around the bridge and sec

* changed station name in PostMapInitTest.cs

* Add Elkridge Depot into Map Rotation (#34206)

* named apcs, doors, air alarms, cameras, fire alarms, substations, SMESs

* updated PostMapInitTest.cs to include Cell

* added psychologist spawn

* fixed scanner console link, fixed disposals conveyors, and more

* added janitor service lights, maints firelocks, and more

* added more fun maint rooms

* improved head offices, kitchen, psych. added maints between science and arrivals

* fixed spawners placed over solid objects

* added unique evac shuttle, the Cilium

* evac shuttle is now orientated correctly

* added unique cargo shuttle

* updated kitchen area

* renamed Cell Station to Elkridge Depot, removed most main hall airlocks for smoother travel

* general last-minute touch-ups around the bridge and sec

* changed station name in PostMapInitTest.cs

* added Elkridge to default map pool

* added myself to map_attribution.yml credits

* Automatic changelog update

* Packed Update (#34208)

Packed Update (decals mostly)

* Apply forensics when loading with an ammo box (#32280)

* Automatic changelog update

* Update Credits (#34220)

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

* Fix rainbow lizard plushie inhands (#34128)

* fix rainbow plushie inhands

* address requested changes

* attribute sprites

* wielding refactor/fixes (#32188)

* refactor wieldable events

* fix inconsitency with wielding and use updated events

* wieldable cosmetic refactoring

* Update Content.Shared/Wieldable/Events.cs

Co-authored-by: Centronias <charlie.t.santos@gmail.com>

* real

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

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: Centronias <charlie.t.santos@gmail.com>
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>

* Automatic changelog update

* Lobby chat width and custom lobby titles (#33783)

* lobby name cvar

* panel width

* skrek

* server name localization fix

* comment format fix

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

* remove redundant newline

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

* string.empty

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

* use SetWidth

* Update Resources/Locale/en-US/lobby/lobby-gui.ftl

---------

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

* Automatic changelog update

* Adds bullet collision to station lights (#34070)

Adds collision with bullets to lights

* Automatic changelog update

* Oasis Update (#34245)

santa is keel.

* Amber Station - Minor Fixes (#34246)

* Moved the stand clear decal in front of the janitor's shutters up two pixels

* added tech maints under most maints doors, fixed power issues in cargo, and fixed a couple minor issues

* Make station anchor hitbox less insufferable (#34217)

* Automatic changelog update

* Remove kessler and zombeteors gamemodes from the secret pool (#34051)

* Remove kessler, zombeteors gameodes

* Probably should keep the protos in case an admin wants to torture players secretly

* address slart review

* Automatic changelog update

* Added distinct ad and bye chatter to Dr. Gibb vending (#34182)

* Added distinct ad and bye chatter to Dr. Gibb vending

* Correcting revert mistake

* Changed ad pack names to better match naming convention

* Implement approved rule changes (#34233)

* Special reagents now appear in the guidebook (#34265)

* Special reagents now appear in the guidebook

* Improved guidebook wording for reagent category

* Automatic changelog update

* Implement approved rule changes (#34233)

* Fix compilation errors in tests from update (#34272)

Required for https://github.com/space-wizards/RobustToolbox/pull/5590 to not cause compile fails, but can be merged on its own

* Fix portable scrubber appearing powered on spawn (#34274)

* [HOTFIX] Fix chameleon PDAs renaming IDs (#34249)

Fix chameleon PDA

* [HOTFIX] Fix Meta station power (#34256)

* hotfix meta power

* fixed AME

* add missing cargo shuttle pilot console to cargo

* Update vessel_warning.ogg (#34263)

* Update vessel_warning.ogg

Remove DC offset and apply short fade out.

* Update attributions.yml

* Update attributions.yml

* Add bleating accent to goats (#34273)

* Automatic changelog update

* Happy New Year (#34288)

happy new year

* Amber Station - Balance Improvements (#34294)

changed the center area in med bay to a garden, weakened meteor shielding in some areas, also general touch ups around the station

* Fixed Loop Station's southern solar array unlinked airlocks  (#34296)

Fixed Southern solar external airlock door bolts

* Fix empty lines in adminwho with stealthmins. (#34122)

Don't print newline if admin is hidden.

* Automatic changelog update

* Added missing cameras to Loop Station (#34308)

* Added missing cameras

* Added missing cameras

* Amber Station - Fixes and Warm Lights (#34324)

* Added warm lights, placed them around the map, also fixed an issue with the MV wire in the cafeteria

* Fixed lv wiring in caf, and adjusted a couple things

* Empty commit to force checks to rerun

* Automatic changelog update

* change locking to use ComplexInteraction (#34326)

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

* Automatic changelog update

* Drink titles and soda vendor consistency (#34178)

* Made capitalisation of proper names consistent.

* Roy Rogers is presumably a proper name.

* Second pass at distinguishing proper names only.

* Two nitpicking/minor changes

* Fixed some overlooked can brand names. Matched case with descriptions.

* Switched generic sodas with brands for SodaInventory

* Removed commonly available branded cans

* Matched case consistency used elsewhere. Minor SPAG corrections.

* Added "nothing" and some missing alcohol bottles to RandomSpawner

* Added distinct ad and bye chatter to Dr. Gibb machines.

* Revert "Added distinct ad and bye chatter to Dr. Gibb machines."

This reverts commit f90b8a470556de05aca81255db8b6b03596ae944.

* Revert "Removed commonly available branded cans"

This reverts commit 43b82168dac1f73b187b7677f34ecdd33b6bb81a.

* Revert "Switched generic sodas with brands for SodaInventory"

This reverts commit f1790f0ce61ef135c79068de6a741e8bb50d85d3.

* Lowercased DrinkGlass suffix. Moved alcoholic drinks from drinks to alcohol.

* Renamed energy drink to Red Bool. Corrected and added some jug descriptions.

* Added reagent names for all bottles except poison-wine

* Revision of title case for cocktails

* SPAG and fixed the only brand reagen with unbranded name.

* Possibly controversial, shortened some bran names to better fit the UI.

* Fixed some inconsistencies in naming

* Matched brand localisation change

* Two name style edits

* Fixed Smite bottle name

* Minor, punctuation

* Blank line to end of file

* Upgraded descriptive names to title case

* Banana Mama

* reverts change, moved to another PR to avoid conflict.

* Removed caffeine reference.

* Minor, corrected some more inconsistencies

* Removed Bottle of Nothing from random spawner.

* Automatic changelog update

* Fix access configurator debug assert (#34330)

* fix

* greytide fix

* fix admin log

* Dirty

* Renamed water melon juice to watermelon juice (#34341)

* Fix battery charging stopping just short of being full (#34028)

* Add copy threshold button to air alarms (#34346)

* Automatic changelog update

* Oasis updoot the dimmining (#34347)

updooty

* Fland Station - Dirt Fix (#34352)

Fland

* Omega Station - Dirt Fix (#34353)

omega

* Marathon Station - Dirt Fix (#34354)

* Marathon

* Rerunning tests

* Cog Station - Dirt Fix (#34355)

Cog

* Box Station - Dirt Fix (#34356)

Box

* Bagel Station - Dirt Fix (#34357)

Bagel

* Packed Station - Dirt Fix (#34351)

* packed

* Rerunning tests

* Replace some sound PlayEntity with PlayPvs (#34317)

* Fixed Forensic Gloves to be Security Contraband  (#34193)

* added BaseRestrictedContraband to forensic gloves

* moved from id to parent

* Automatic changelog update

* add large instruments to the cargo request computer (#34240)

* added the church organ to the cargo console (will add more in this PR, assuming i did this right (HOW DO YOU BUY CARGO ORDERS IN DEV ENVIROMENT???? *sobs))

* added other structure instruments to cargo Catalog

* fixed an epic copy/paste fail

* changed prices

* fixed epic copy/paste fail #2

---------

Co-authored-by: TeenSarlacc <baddiepro123@gmail.com>

* Automatic changelog update

* Fix crayon losing durability on stamped paper (#34202)

* Automatic changelog update

* Adds a border to Oppenhopper poster (#34219)

* border

* Update meta.json

* Update Resources/Textures/Structures/Wallmounts/posters.rsi/meta.json

---------

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

* Trim trailing newlines from examine messages (#33381)

* Trim trailing newlines from examine messages

* TrimTrailingNewlines -> TrimEnd

* Add a popup message when ghost Boo action does nothing (#34369)

* fix ghost_component.ftl locale grammar (#34372)

fix ghost component locale grammar

* Let ghosts sometimes make certain devices say creepy things (#34368)

* Add SpookySpeaker component/system

* Shuffle Boo action targets before trying to activate them

* Add SpookySpeaker to vending machines

* Fix chatcode eating messages starting with "..."

* Add SpookySpeaker to recycler

* Oops

* Decrease speak probability for vending machines

* Add spooky speaker to arcade machines

* Automatic changelog update

* Add directional escape pod sign (#34367)

* Make indestructible tiles not breakable by explosions (#34339)

* No more Ai Spacing

* Move guard into earlier guard statement

* Automatic changelog update

* Arachnid stomach organ yaml fix (#34298)

Arachnid stomach yaml fix

Arachnids had their stomach `updateInterval` set to 1.5, 50% slower than
normal. But this doesn't actually slow down the speed that the stomach
digests things, only the rate at which it updates to check if enough
time has passed. (See 23f0b304f2/Content.Server/Body/Systems/StomachSystem.cs (L57) )

This PR changes arachnid stomachs to have a `digestionDelay` of 30 (20
is default) to achive the desired effect.

Stasis beds are also bugged in a similar manner. They are intended to
slow down the digestion speed, but similarly all they do is change the
update rate. But fixing that requires actual code changes and is out of
scope for this commit.

* Automatic changelog update

* Bended radiator (#34251)

* Automatic changelog update

* Remove Entity<T> data-fields (#34083)

* Update submodule, .NET 9 (#34320)

* Role Types (#33420)

* mindcomponent namespace

* wip MindRole stuff

* admin player tab

* mindroletype comment

* mindRolePrototype redesign

* broken param

* wip RoleType implementation

* basic role type switching for antags

* traitor fix

* fix AdminPanel update

* the renameningTM

* cleanup

* feature uncreeping

* roletypes on mind roles

* update MindComponent.RoleType when MindRoles change

* ghostrole configuration

* ghostrole config improvements

* live update of roleType on the character window

* logging stuff and notes

* remove thing no one asked for

* weh

* Mind Role Entities wip

* headrev count fix

* silicon stuff, cleanup

* exclusive antag config, cleanup

* jobroleadd overwerite

* logging stuff

* MindHasRole cleanup, admin log stuff

* last second cleanup

* ocd

* move roletypeprototype to its own file, minor note stuff

* remove Roletype.Created

* log stuff

* roletype setup for ghostroles and autotraitor reinforcements

* ghostrole type configs

* adjustable admin overlay

* cleanup

* fix this in its own PR

* silicon antagonist

* borg stuff

* mmi roletype handling

* spawnable borg roletype handling

* weh

* ghost role cleanup

* weh

* RoleEvent update

* polish

* log stuff

* admin overlay config

* ghostrolecomponent cleanup

* weh

* admin overlay code cleanup

* minor cleanup

* Obsolete MindRoleAddedEvent

* comment

* minor code cleanup

* MindOnDoGreeting fix

* Role update message

* fix duplicate job greeting for cyborgs

* fix emag job message dupe

* nicer-looking role type update

* crew aligned

* syndicate assault borg role fix

* fix test fail

* fix a merge mistake

* fix LoneOp role type

* Update Content.Client/Administration/AdminNameOverlay.cs

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

* Update Content.Shared/Roles/SharedRoleSystem.cs

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

* comment formatting

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

* change logging category

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

* fix a space

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

* use MindAddRoles

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

* get MindComponent from TryGetMind

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

* move var declaration outside loop

* remove TryComp

* take RoleEnum behind the barn

* don't use ensurecomp unnecessarily

* cvar comments

* toggleableghostrolecomponent documentation

* skrek

* use EntProtoId

* mindrole config

* merge baserolecomponent into basemindrolecomponent

* ai and borg silicon role tweaks

* formatting

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

* I will end you (the color)

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

* use LocId type for a locale id

* update RoleEvent documentation

* update RoleEvent documentation

* remove obsolete MindRoleAddedEvent

* refine MindRolesUpdate()

* use dependency

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

* inject dependency

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

* roleType.Name no longer required

* reformatted draw code logic

* GhostRoleMarkerRoleComponent comment

* minor SharedRoleSystem cleanup

* StartingMindRoleComponent, unhardcode roundstart silicon

* Update Content.Shared/Roles/SharedRoleSystem.cs

* remove a whitespace

---------

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

* Automatic changelog update

* Update Credits (#34389)

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

* Elkridge Depot Improvements (#34377)

* updates decals

* more decal work, more dinginess in certain areas

* added decals under doors

* Fix force-feeding Loc strings not using target's gender (#34276)

* HOTFIX Tweaked air alarm default settings for nitrogen breathing crew (#34198)

air alarm default settings modified for anaerobic crew

* #33571 Bomb defusal lockers always should have tools (#34394)

* Automatic changelog update

* [HOTFIX] fix holopads with multiple ai cores dying (#34289)

change return to continue

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

* Reduce Panic Bunker Minimum Playtime to 2 hours (#34401)

* Add IPIntel API support. (#33339)

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

* Automatic changelog update

* Fland Reporters Room (#34408)

changed the command checkpoint to a reporters room.

* Automatic changelog update

* Add a high-capacity water tank to the janitor's closet of Oasis (#34366)

added high capacity water tank

* Darkened Service job interface icons for better contrast (#34270)

* Darkened Service job interface icons for better contrast

* Fixed Botanist job interface icon dark handle hole

* Change to new, darker, service color in all resource yml files

* Revert Map file service color changes

* Use new darker service color on id cards

* Revert Service color change in mapping_actions.yml

* Revert salvage difficulties service color

* Redo service ID and job colors to match advanced palette

* Revert all service color yml file changes

* Switch icons to use existing service pallete colors from advanced pallete

* Update meta.json for darkened service icons

---------

Co-authored-by: Erskin Cherry <frobnic8@gmail.com>

* Amber Station - Moved Vents Around (#34410)

* Moved all vents around, made some small changes

* Finished work

* Removed insuls spawner since they're not merged yet

* Insuls Spawner (#34407)

* Added insuls spawner, time to test

* adjusted whitespace since that was causing issues

* Update Resources/Prototypes/Entities/Markers/Spawners/Random/maintenance.yml

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

---------

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

* Manual Valves Resprite (#34378)

* resprited manual valves to be colourblind friendly

* Update Resources/Textures/Structures/Piping/Atmospherics/pump.rsi/meta.json

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

---------

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

* Automatic changelog update

* loop station door access fixes and air sink (#34414)

small fixes

* Raise syndicate kobold reinforcement HP crit threshold from 75 to 100 to match monkey. (#34409)

kobold ops have 100 health

* Anomaly dragging exploit fix and QOL changes (#34280)

* Wood wall is now built from barricade congraph and on top of a barricade instead of using rods

* APE dragging exploit fix

* Fixed doors being blocked with mousetraps, and other Collidable items (#34045)

* Changed SharedDoorSystem.GetColliding() to allow non-LowImpassible mask entities to stay in the door while it closes

* Update Content.Shared/Doors/Systems/SharedDoorSystem.cs

Clarifies comment of how the mask is used

Co-authored-by: Centronias <charlie.t.santos@gmail.com>

---------

Co-authored-by: Centronias <charlie.t.santos@gmail.com>

* Fixed Jazz Instrument for Electric Guitars (#33363)

* fixed jazz midi program byte

* swapped around jazz and clean in instrumentList

* Automatic changelog update

* Porting Pride-O-Mat to Upstream (#34412)

* Pride-O-Mat (#1322)

* Added Pride-O-Mat

* Yep

* Updated license to the correct one

* Added more lines, reconfigured settings a bit, also added cloaks to inventory, set coder socks to emag inventory

* Removed bunny ears, fixed typo

* Made requested changes 

Webedit lmao

---------

Co-authored-by: Dorragon <101672978+Dorragon@users.noreply.github.com>

* Automatic changelog update

* Oasis Power Rebalance + Misc fixes (#34425)

* balance oasis power as a stopgap

* change waste color to proper waste color

* Fix IPIntel causing frequent errors with the cleanup job. (#34428)

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

* craftable pet carrier (#34431)

* craftable pet carrier

* epic integration test fail

* Update Resources/Prototypes/Recipes/Crafting/improvised.yml

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

* Update Resources/Prototypes/Recipes/Crafting/Graphs/storage/pet_carrier.yml

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

* Update Resources/Prototypes/Recipes/Crafting/Graphs/storage/pet_carrier.yml

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

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

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

* extra tab begone

* epic linter fail

* how did linter not see this???

---------

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

* Automatic changelog update

* Adds omnisexual pin (#34439)

* Make important change (#7)

This is to help julian test his bot

* Omnibus

* Remove random test file from testing a gh bot

* Add pin to vendor, spawners and loadout

---------

Co-authored-by: nikthechampiongr <32041239+nikthechampiongr@users.noreply.github.com>

* Fix bad Rider analysis error in AccessOverriderWindow.xaml.cs (#34213)

* Disable meta-atlas for big rare RSIs (#33643)

* Persist deadmin to database, add admin suspension system (#34048)

* Automatic changelog update

* STAThread client content start (#34212)

* Minor client packaging changes (#33787)

* Fix muzzle accent (#34419)

* Automatic changelog update

* Add Discord webhook on watchlist connection (#33483)

* Automatic changelog update

* Fixed Thief starting gear failing on specific bag inventories. (#34430)

Fixed it yayyy

* Added missing details from worn capes to head of department beadsheets (#34396)

* Added key and missing details from worn cape to HOP bedsheet

* Corrected canvas size for sprite

* Subtle tweak to shading to reduce color blurring at pillow edge

* Matched Hue and tone to cape

* Tweak chekered pattern marks for gold trim

* Removed accidental palette inclusion

* Clearer wording and corrected attribution name.

* Tweaked shading on key image to fit in better with bed aesthetics

* Added CE cape icon to bedsheet

* Added cape image to HOP bedsheet. Made gold trim better match cape visuals

* RD cape icon added. Colour tweaked to better match cape.

* Updates json

* Tweaks to gold trim shading to match bed aesthetics

* Added better shading for HOP sheet side. Halved file size.

* Optimised HOS RD and CE sheet sprites

* Corrected sprite title in attribution

* Replace ERT Medic's Advanced Medkits with 2 Combat Medkits (#34380)

Replaced Adv kits with 2 combat kits

* Fix nonsensical RegEx for name restriction (#34375)

* Fixed nonsense RegEx

"-" character is a range, caused an error.
No need for "," to repeat so much, it's not a separator.
"\\" - just why?

* Further optimized RegEx structure

Added:
"@" delimiter for consistency
"/" to escape "-" for good and to avoid further problems

* Remove the ability to print the station anchor circuit board (#34358)

remove the ability to print the station anchor circuit board

* Automatic changelog update

* Meta hotfix (#34306)

* Fixed major issues with power, cargo shuttle docking, etc.

* remove serialized invalids

* Finished fixing the critical issues, ready for merge?

* Empty commit

* Added new break room to sci (they deserve it)

* Fixed up other minor issues

* if this map isnt PERFECT Emisse has permission to gib me and turn me into a cyborg

* added Roomba's changes

---------

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

* Make Mime PDA interactions silent (#34426)

* make insert and eject datafields in ItemSlotsComponent.cs nullable, make mime PDA silent

* make it so that you can't fit wirecutters into the slots, among other various things

* Automatic changelog update

* Smite vending machine (#34420)

* Added smite machine to YAML

* Added smite ads and inventory

* Added smite vendor sprites

* Changed the description of the machine to not repeat and ad line.

* Added newline to end of inventory .yml

* Corrected erroneous edit.

* Tweaked all sprites

* Added tesla toy to contraband. Reduced number of drinks available

* Reduced soda varieties but increased can numbers.

* Removed tesla toy from contraband inventory

* Removed speech component from vending machines that already inherit it

* Moved Sprite component to top of list

* Added Smite vendors to random spanwers

* Alphabetised spawn prototypes, commented where name is unclear

* Automatic changelog update

* Printable bedsheets (#34034)

* Bedsheets

* that one fixes yellow bedsheet and delete american bedsheet

* Automatic changelog update

* Update RT to v239.0.1 (#34454)

* Remove christmas anomaly spawn (#34053)

Update anomaly.yml

* Automatic changelog update

* Remove baby jail (#34443)

* Remove baby jail

Closes #33893

* Test fail fix.

* Add a CCVar to allow from hiding admins in the reported player count. (#34406)

Good for:
- Keeping admins hidden
- Not confuse players seeing 84/80 players

Nicely pairs up with the ``admin.admins_count_for_max_players`` ccvar

* Automatic changelog update

* Fix Mixed puddles not updating slips when evap (#34303)

* Fix Mixed puddles not updating slips when evap

* Remove Comment that isn't needed

Co-authored-by: Centronias <charlie.t.santos@gmail.com>

* CR - use SolutionContainerSystem.UpdateChemicals

* CR - cleanup unused imports

---------

Co-authored-by: Centronias <charlie.t.santos@gmail.com>

* Automatic changelog update

* WizDen config update for IPIntel (#34457)

* Fix DNA scrambler updating station record (#34091)

* Fix DNA scrambler updating station record

* Update Content.Server/Implants/SubdermalImplantSystem.cs

---------

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

* Automatic changelog update

* New and Modified Map Spawners (#34424)

* Added spanwers and modified others

* adjusted values to be more in line with what I want

* this comment may have caused that test fail

* oh my god another typo

* Modified door crate to be engineering flavored

* reduced the pride vendor odds

Webedit lmao

* Elkridge Depot Fixes Again (#34461)

fixes evac shuttle, fix north solars, fix vents and scrubbers

* Space Ruins Variant (#34445)

* Space Ruins Variant

* Updated File

* Added Goliaths/Removed some mobs

* Plasma Station (#33991)

* Plasma Station initial commit

* Map fixes 1

Expanded science's SMES array
Added advanced SMES
Redone stamped documents with custom stamps
Expanded atmospherics with more storage tanks
Added status displays
Add missing beacons to solars
Replaced the passive gates in science with valves
Removed protolathe in engineering
Added guitar to CE office
Replaced throngler plushie with weh cloak
Add a lattice tile outside the atmos burn chamber and storange tanks
Added atmos network monitor in bridge

* Add cargo and emergency shuttle

* Updated maps

* Add plasma to map testing list

* Map fixes 2

Reworked pipenets to not go under walls
Redid salvage and disposals
Reworked the bar to include a new bar extension facing the pool
Replaced arrivals cryo with an arcade
Replaced the toilets in the service plaza with cryo
Removed the cryo in dorms
Added more details to hallways
Redid tools room to include a front desk for the janitor closet
Reconnected sci to power roundstart
Removed some unideal spawns
Expanded the TEG airlock to be 2x3 instead of 1x3
Reduced the size of the SMES bank from 10 to 6
Disabled the plasma miners (downstreams or admins can re-enable them)
Replaced illegal maint items

* Fixes a 6 pack destroying the universe

Ok maybe cracking a cold one with the boys wasn't a great idea.

* Map fixes 3

* Quick research assistant fix

* Map fixes 4

* Map fixes 5

* webedit go brrrt

* Map fixes 6

* Map fixes 7

* Map fixes 8

* Fixes non-existent object

It's amazing this game runs at all

* Map fixes 9

* update pools

* Map fixes 10

* forgot to clear my multitool

I love mapping I love mapping I love mapping I love mapping I love mapping

---------

Co-authored-by: Emisse <99158783+Emisse@users.noreply.github.com>

* Automatic changelog update

* Plasma station population tweak (#34462)

* Plasma Station initial commit

* Map fixes 1

Expanded science's SMES array
Added advanced SMES
Redone stamped documents with custom stamps
Expanded atmospherics with more storage tanks
Added status displays
Add missing beacons to solars
Replaced the passive gates in science with valves
Removed protolathe in engineering
Added guitar to CE office
Replaced throngler plushie with weh cloak
Add a lattice tile outside the atmos burn chamber and storange tanks
Added atmos network monitor in bridge

* Add cargo and emergency shuttle

* Updated maps

* Add plasma to map testing list

* Map fixes 2

Reworked pipenets to not go under walls
Redid salvage and disposals
Reworked the bar to include a new bar extension facing the pool
Replaced arrivals cryo with an arcade
Replaced the toilets in the service plaza with cryo
Removed the cryo in dorms
Added more details to hallways
Redid tools room to include a front desk for the janitor closet
Reconnected sci to power roundstart
Removed some unideal spawns
Expanded the TEG airlock to be 2x3 instead of 1x3
Reduced the size of the SMES bank from 10 to 6
Disabled the plasma miners (downstreams or admins can re-enable them)
Replaced illegal maint items

* Fixes a 6 pack destroying the universe

Ok maybe cracking a cold one with the boys wasn't a great idea.

* Map fixes 3

* Quick research assistant fix

* Map fixes 4

* Map fixes 5

* webedit go brrrt

* Map fixes 6

* Map fixes 7

* Map fixes 8

* Fixes non-existent object

It's amazing this game runs at all

* Map fixes 9

* update pools

* Map fixes 10

* forgot to clear my multitool

I love mapping I love mapping I love mapping I love mapping I love mapping

* Tweaked player counts

---------

Co-authored-by: Emisse <99158783+Emisse@users.noreply.github.com>

* Automatic changelog update

* Fix inconsistent borg flashlight state (#33027)

* Fix borg light being stuck on if no cell is inserted

* Fix HandheldLightComponent.Activted becoming out of sync with SharedPointLightComponent.Enabled

* Fix for entities which don't have a handheld light component

* FIX: Uranium, Cak, and BreadDog are not garbage! (#34192)

* FIX: Uranium, Cak, and BreadDog are not garbage!

* Fixed bread typo for spacegarbage change.

* Style: moved ediblebase

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

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

---------

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

* Automatic changelog update

* Fix the HoS mantle metashield break (#33831)

Changes 'nukies' to 'syndicate agents' in the HoS mantle's description.

* fix for climbable pianos (#33690)

fix for climable pianos

Co-authored-by: aa5g21 <aa5g21@soton.ac.uk>

* Automatic changelog update

* BorgChassis transfer their mind to a dropped BorgBrain fix (#34464)

Fix

* Staging: Add taped logo back for 10th anniversary (#34486)

* Update engine to v240.0.1 (#34497)

* mind roles

* partial ritual serialization fix

* Update CP14RoundEndSystem.cs

* delete worldEdge system

* Delete StencilOverlay.WorldEdge.cs

* Update CP14MagicEffectComponent.cs

* delete rituals system

* fix demiplane serialization

* mapdamage fix serialization

* common objectives fix

* remove failed personal goals endscreen

* fix special selling, fix serialization

* more fixes

* more fixes x2

* final bruh

* fix

---------

Co-authored-by: Southbridge <7013162+southbridge-fur@users.noreply.github.com>
Co-authored-by: TytosB <54259736+TytosB@users.noreply.github.com>
Co-authored-by: Emisse <99158783+Emisse@users.noreply.github.com>
Co-authored-by: Booblesnoot42 <108703193+Booblesnoot42@users.noreply.github.com>
Co-authored-by: Spessmann <156740760+Spessmann@users.noreply.github.com>
Co-authored-by: ~DreamlyJack~ <148849095+DreamlyJack@users.noreply.github.com>
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>
Co-authored-by: PopGamer46 <yt1popgamer@gmail.com>
Co-authored-by: crazybrain23 <44417085+crazybrain23@users.noreply.github.com>
Co-authored-by: amatwiedle <amatwiedle@gmail.com>
Co-authored-by: justdie12 <125140938+justdie12@users.noreply.github.com>
Co-authored-by: Nox <nebulousnox38@gmail.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com>
Co-authored-by: ReeZer2 <63300653+ReeZer2@users.noreply.github.com>
Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>
Co-authored-by: Alpaccalypse <21291379+Alpaccalypse@users.noreply.github.com>
Co-authored-by: Spanky <scott@wearejacob.com>
Co-authored-by: Thomas <87614336+Aeshus@users.noreply.github.com>
Co-authored-by: Dylan Hunter Whittingham <45404433+DylanWhittingham@users.noreply.github.com>
Co-authored-by: dylanhunter <dylan2.whittingham@live.uwe.ac.uk>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: Ps3Moira <113228053+ps3moira@users.noreply.github.com>
Co-authored-by: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
Co-authored-by: Hannah Giovanna Dawson <karakkaraz@gmail.com>
Co-authored-by: Ubaser <134914314+UbaserB@users.noreply.github.com>
Co-authored-by: Deerstop <edainturner@gmail.com>
Co-authored-by: themias <89101928+themias@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: Centronias <charlie.t.santos@gmail.com>
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
Co-authored-by: SpaceRox1244 <138547931+SpaceRox1244@users.noreply.github.com>
Co-authored-by: IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com>
Co-authored-by: nikthechampiongr <32041239+nikthechampiongr@users.noreply.github.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
Co-authored-by: Pancake <Pangogie@users.noreply.github.com>
Co-authored-by: Piras314 <p1r4s@proton.me>
Co-authored-by: flymo5678 <86871317+flymo5678@users.noreply.github.com>
Co-authored-by: c4llv07e <igor@c4llv07e.xyz>
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
Co-authored-by: Coolsurf6 <coolsurf24@yahoo.com.au>
Co-authored-by: TeenSarlacc <46608342+TeenSarlacc@users.noreply.github.com>
Co-authored-by: TeenSarlacc <baddiepro123@gmail.com>
Co-authored-by: SpaceManiac <tad@platymuus.com>
Co-authored-by: War Pigeon <54217755+minus1over12@users.noreply.github.com>
Co-authored-by: Zachary Higgs <compgeek223@gmail.com>
Co-authored-by: 0x6273 <0x40@keemail.me>
Co-authored-by: Floxington <florian.decker@mailbox.org>
Co-authored-by: Myra <vasilis@pikachu.systems>
Co-authored-by: SlimSlam <73899110+Stewie523@users.noreply.github.com>
Co-authored-by: frobnic8 <erskin@eldritch.org>
Co-authored-by: Erskin Cherry <frobnic8@gmail.com>
Co-authored-by: hyperDelegate <zachary1064@gmail.com>
Co-authored-by: JustinWinningham <justinmwinningham@gmail.com>
Co-authored-by: zHonys <69396539+zHonys@users.noreply.github.com>
Co-authored-by: Dorragon <101672978+Dorragon@users.noreply.github.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
Co-authored-by: Killerqu00 <47712032+Killerqu00@users.noreply.github.com>
Co-authored-by: Julian Giebel <juliangiebel@live.de>
Co-authored-by: Palladinium <patrick.chieppe@hotmail.com>
Co-authored-by: Alpha-Two <92269094+Alpha-Two@users.noreply.github.com>
Co-authored-by: Hyper B <137433177+HyperB1@users.noreply.github.com>
Co-authored-by: kosticia <kosticia46@gmail.com>
Co-authored-by: compilatron <40789662+jbox144@users.noreply.github.com>
Co-authored-by: eoineoineoin <github@eoinrul.es>
Co-authored-by: Patrik Caes-Sayrs <heartofgoldfish@gmail.com>
Co-authored-by: ApolloVector <149586366+ApolloVector@users.noreply.github.com>
Co-authored-by: Gansu <68031780+GansuLalan@users.noreply.github.com>
Co-authored-by: aa5g21 <aa5g21@soton.ac.uk>
2025-01-21 23:57:12 +03:00
Ed
312f2ae14c Великая жарка мяса (#788)
* temperature transform

* Update CP14TemperatureSystem.cs

* fix heating entities

* cooking!

* fix cooking

* aaa

* foodsequence remove

* fix

* fix
2025-01-21 23:03:50 +03:00
Nimfar11
258cb7bd4e fix sprite 2025-01-21 18:08:37 +02:00
ArtisticRoomba
9950648bba [HOTFIX] Fix MRP whitelist auto denying people with any medium severity notes in 14 days (#34532)
* fix mrp whitelist auto denying people with warning

* make headmin requested changes

* godo
2025-01-21 11:24:50 +01:00
Errant
671ab10be2 [HOTFIX] Admin Menu player jobs (#34545)
update job info on spawn
2025-01-20 23:30:00 +01:00
Errant
60ed142c3c Cherry-pick to stable: Fix emergency_elkridge being saved as a map (#34496) (#34526) 2025-01-20 21:35:30 +01:00
Ed
5aeae56092 Update T1_resurrection.yml 2025-01-20 21:07:45 +03:00
Ed
8699a6843b Update CP14RoundEndSystem.cs 2025-01-20 20:24:03 +03:00
Ed
9615798d7b Update CP14RoundEndSystem.cs 2025-01-20 16:48:30 +03:00
Ed
d7733cab56 fix round end 2025-01-20 16:36:42 +03:00
Nimfar11
b19b5c9bb6 bow and quiver 2025-01-20 03:45:37 +02:00
Leon Friedrich
64689b4cc8 Fix emergency_elkridge being saved as a map (#34496)
Save `emergency_elkridge` as a grid

(cherry picked from commit ef50219455)
2025-01-19 16:51:19 -08:00
Ed
9ef68fccf9 Update Dev.toml 2025-01-19 21:07:44 +03:00
Ed
6a82d72e0c eeee 2025-01-19 21:05:49 +03:00
Ed
2544315427 Update Dev.toml 2025-01-19 14:29:01 +03:00
Ed
94ab0fc94b Bugfixes (#783)
* fix force evaporation

* knowledge book in bank

* music in loadouts

* Update general.yml

* localization sync

* fix round leave and manifest

* ship sound replacement

* fix traveling ship gravity

* forgot this role knowledge
2025-01-19 14:23:53 +03:00
Ed
090c4d5eb0 Update demiplane.yml 2025-01-19 11:28:23 +03:00
Ed
6bef560e85 Merge branch 'master' of https://github.com/crystallpunk-14/crystall-punk-14 2025-01-19 00:43:07 +03:00
Ed
4e59cff88e Update ContentLocalizationManager.cs 2025-01-19 00:41:26 +03:00
Ed
3221056384 fix eng loc 2025-01-19 00:40:54 +03:00
Nim
f7c7c54a7e More harvest and other little things (#780)
* harvest

* fix potato
2025-01-19 00:12:13 +03:00
Nim
2dd5c48c75 cut clothes (#781)
Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2025-01-19 00:10:56 +03:00
Ed
85793e181e Bank Special sell positions (bounty system?) (#782)
* fix round end

* remove closet skeleton event

* special positions
2025-01-19 00:09:30 +03:00
Leon Friedrich
f3324b458c Update engine to v240.0.1 (#34497) 2025-01-18 16:11:53 +01:00
Ed
4979b0a5d0 Simple round end redesign (#723)
* round end monolith system

* disable default evac

* auto close demiplanes, and block its opening when no monolith mana

* Update CP14RoundEndSystem.cs

* enable default evac code (its disabled viaa cvar)

* apply brainstorm monolith changes

* comoss update
2025-01-18 17:55:41 +03:00
Ed
68ab77d4d4 Knowledge UI (#779)
* knowledge button in HUD

* ui controller

* bugfixes

* finish

* all-knowing ghosts

* Create knowledge-ui.ftl
2025-01-18 14:43:11 +03:00
Ed
734d12cfac Slots separate (#778)
* fix #67

* more all armor to new slot

* smart skeletons
2025-01-17 22:15:54 +03:00
Pieter-Jan Briers
b07fe8ee10 Staging: Add taped logo back for 10th anniversary (#34486) 2025-01-17 18:22:42 +01:00
Ed
bccd4c19be Water lilies, Air lily alchemy reagent (#771)
* water lilies

* air lily

* air lily achemy expand

* Update air_lily.yml

* water spawners

* swamp biome

* add air lilies into demiplanes, nerf mobs, remove xeno

* fix

* t1 swamps
2025-01-17 17:41:49 +03:00
Nim
ca23fddd8a Lyre and flute (#759)
* music

* fix desc

* Update T1_fire_rune.yml

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: Ed <edwardxperia2000@gmail.com>
2025-01-17 01:26:39 +03:00
Ed
50c502f598 AOE Spells (#758)
* AoE gameplay

* Update T1_fire_rune.yml

* test

* add cool AoE visual
2025-01-17 01:01:44 +03:00
Ed
0783eb1380 Knowledge system (#770)
* remove all requirements

* clean up and renaming to knowledge

* update code

* add admin knowledge verbs

* move shoes under pants

* knowledge based recipes

* clean up

* sewing knowledges

* knowledge dependencies

* knowledge learning objects

* more knowledge

* metallforging skill

* knowledge books

* start knowledges, T1 and T2 books in demiplanes

* remove coins from demiplanes

* roundstart knowledge
2025-01-17 00:08:13 +03:00
ScarKy0
cec5816acf BorgChassis transfer their mind to a dropped BorgBrain fix (#34464)
Fix
2025-01-16 15:08:08 +01:00
PJBot
4e7c21fba3 Automatic changelog update 2025-01-16 12:26:14 +00:00
Gansu
3b39439945 fix for climbable pianos (#33690)
fix for climable pianos

Co-authored-by: aa5g21 <aa5g21@soton.ac.uk>
2025-01-16 13:25:07 +01:00
ApolloVector
1e35cfb11e Fix the HoS mantle metashield break (#33831)
Changes 'nukies' to 'syndicate agents' in the HoS mantle's description.
2025-01-16 13:04:22 +01:00
PJBot
b32c07c5d8 Automatic changelog update 2025-01-16 11:41:28 +00:00
Patrik Caes-Sayrs
de8a2775ec FIX: Uranium, Cak, and BreadDog are not garbage! (#34192)
* FIX: Uranium, Cak, and BreadDog are not garbage!

* Fixed bread typo for spacegarbage change.

* Style: moved ediblebase

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

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

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-01-16 12:40:21 +01:00
eoineoineoin
820517eb38 Fix inconsistent borg flashlight state (#33027)
* Fix borg light being stuck on if no cell is inserted

* Fix HandheldLightComponent.Activted becoming out of sync with SharedPointLightComponent.Enabled

* Fix for entities which don't have a handheld light component
2025-01-16 11:34:11 +01:00
PJBot
85b9f919af Automatic changelog update 2025-01-16 08:52:23 +00:00
compilatron
83eb5dc34b Plasma station population tweak (#34462)
* Plasma Station initial commit

* Map fixes 1

Expanded science's SMES array
Added advanced SMES
Redone stamped documents with custom stamps
Expanded atmospherics with more storage tanks
Added status displays
Add missing beacons to solars
Replaced the passive gates in science with valves
Removed protolathe in engineering
Added guitar to CE office
Replaced throngler plushie with weh cloak
Add a lattice tile outside the atmos burn chamber and storange tanks
Added atmos network monitor in bridge

* Add cargo and emergency shuttle

* Updated maps

* Add plasma to map testing list

* Map fixes 2

Reworked pipenets to not go under walls
Redid salvage and disposals
Reworked the bar to include a new bar extension facing the pool
Replaced arrivals cryo with an arcade
Replaced the toilets in the service plaza with cryo
Removed the cryo in dorms
Added more details to hallways
Redid tools room to include a front desk for the janitor closet
Reconnected sci to power roundstart
Removed some unideal spawns
Expanded the TEG airlock to be 2x3 instead of 1x3
Reduced the size of the SMES bank from 10 to 6
Disabled the plasma miners (downstreams or admins can re-enable them)
Replaced illegal maint items

* Fixes a 6 pack destroying the universe

Ok maybe cracking a cold one with the boys wasn't a great idea.

* Map fixes 3

* Quick research assistant fix

* Map fixes 4

* Map fixes 5

* webedit go brrrt

* Map fixes 6

* Map fixes 7

* Map fixes 8

* Fixes non-existent object

It's amazing this game runs at all

* Map fixes 9

* update pools

* Map fixes 10

* forgot to clear my multitool

I love mapping I love mapping I love mapping I love mapping I love mapping

* Tweaked player counts

---------

Co-authored-by: Emisse <99158783+Emisse@users.noreply.github.com>
2025-01-16 01:51:17 -07:00
PJBot
37bde33691 Automatic changelog update 2025-01-16 07:03:21 +00:00
compilatron
d0b2e46c7c Plasma Station (#33991)
* Plasma Station initial commit

* Map fixes 1

Expanded science's SMES array
Added advanced SMES
Redone stamped documents with custom stamps
Expanded atmospherics with more storage tanks
Added status displays
Add missing beacons to solars
Replaced the passive gates in science with valves
Removed protolathe in engineering
Added guitar to CE office
Replaced throngler plushie with weh cloak
Add a lattice tile outside the atmos burn chamber and storange tanks
Added atmos network monitor in bridge

* Add cargo and emergency shuttle

* Updated maps

* Add plasma to map testing list

* Map fixes 2

Reworked pipenets to not go under walls
Redid salvage and disposals
Reworked the bar to include a new bar extension facing the pool
Replaced arrivals cryo with an arcade
Replaced the toilets in the service plaza with cryo
Removed the cryo in dorms
Added more details to hallways
Redid tools room to include a front desk for the janitor closet
Reconnected sci to power roundstart
Removed some unideal spawns
Expanded the TEG airlock to be 2x3 instead of 1x3
Reduced the size of the SMES bank from 10 to 6
Disabled the plasma miners (downstreams or admins can re-enable them)
Replaced illegal maint items

* Fixes a 6 pack destroying the universe

Ok maybe cracking a cold one with the boys wasn't a great idea.

* Map fixes 3

* Quick research assistant fix

* Map fixes 4

* Map fixes 5

* webedit go brrrt

* Map fixes 6

* Map fixes 7

* Map fixes 8

* Fixes non-existent object

It's amazing this game runs at all

* Map fixes 9

* update pools

* Map fixes 10

* forgot to clear my multitool

I love mapping I love mapping I love mapping I love mapping I love mapping

---------

Co-authored-by: Emisse <99158783+Emisse@users.noreply.github.com>
2025-01-16 00:02:14 -07:00
SlimSlam
0c1608d2f0 Space Ruins Variant (#34445)
* Space Ruins Variant

* Updated File

* Added Goliaths/Removed some mobs
2025-01-15 23:14:40 -07:00
Deerstop
d0a2d7b232 Elkridge Depot Fixes Again (#34461)
fixes evac shuttle, fix north solars, fix vents and scrubbers
2025-01-15 21:48:54 -07:00
Southbridge
87ff3a2421 New and Modified Map Spawners (#34424)
* Added spanwers and modified others

* adjusted values to be more in line with what I want

* this comment may have caused that test fail

* oh my god another typo

* Modified door crate to be engineering flavored

* reduced the pride vendor odds

Webedit lmao
2025-01-16 01:56:12 +01:00
PJBot
e094b79ee4 Automatic changelog update 2025-01-15 22:50:59 +00:00
themias
6d218f2ad5 Fix DNA scrambler updating station record (#34091)
* Fix DNA scrambler updating station record

* Update Content.Server/Implants/SubdermalImplantSystem.cs

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-01-15 23:49:51 +01:00
Nim
5af56d4655 fiiiiiix (#766) 2025-01-16 01:42:20 +03:00
Pieter-Jan Briers
59a14b5329 WizDen config update for IPIntel (#34457) 2025-01-15 23:14:27 +01:00
PJBot
f01db3f276 Automatic changelog update 2025-01-15 21:22:27 +00:00
Zachary Higgs
c92c52fded Fix Mixed puddles not updating slips when evap (#34303)
* Fix Mixed puddles not updating slips when evap

* Remove Comment that isn't needed

Co-authored-by: Centronias <charlie.t.santos@gmail.com>

* CR - use SolutionContainerSystem.UpdateChemicals

* CR - cleanup unused imports

---------

Co-authored-by: Centronias <charlie.t.santos@gmail.com>
2025-01-15 22:21:20 +01:00
PJBot
a7d5c8ff43 Automatic changelog update 2025-01-15 21:12:01 +00:00
Myra
40fc4992e5 Add a CCVar to allow from hiding admins in the reported player count. (#34406)
Good for:
- Keeping admins hidden
- Not confuse players seeing 84/80 players

Nicely pairs up with the ``admin.admins_count_for_max_players`` ccvar
2025-01-15 22:10:54 +01:00
Myra
6041c828de Remove baby jail (#34443)
* Remove baby jail

Closes #33893

* Test fail fix.
2025-01-15 22:08:15 +01:00
PJBot
c6dbdc921a Automatic changelog update 2025-01-15 20:23:38 +00:00
Ed
484af256cd Remove christmas anomaly spawn (#34053)
Update anomaly.yml
2025-01-15 21:22:31 +01:00
Pieter-Jan Briers
fdb2f16701 Update RT to v239.0.1 (#34454) 2025-01-15 20:51:36 +01:00
PJBot
9ede1f3278 Automatic changelog update 2025-01-15 19:37:05 +00:00
kosticia
3dd9307cb7 Printable bedsheets (#34034)
* Bedsheets

* that one fixes yellow bedsheet and delete american bedsheet
2025-01-15 20:35:58 +01:00
PJBot
26910719f1 Automatic changelog update 2025-01-15 18:21:07 +00:00
Alpaccalypse
3cac75f117 Smite vending machine (#34420)
* Added smite machine to YAML

* Added smite ads and inventory

* Added smite vendor sprites

* Changed the description of the machine to not repeat and ad line.

* Added newline to end of inventory .yml

* Corrected erroneous edit.

* Tweaked all sprites

* Added tesla toy to contraband. Reduced number of drinks available

* Reduced soda varieties but increased can numbers.

* Removed tesla toy from contraband inventory

* Removed speech component from vending machines that already inherit it

* Moved Sprite component to top of list

* Added Smite vendors to random spanwers

* Alphabetised spawn prototypes, commented where name is unclear
2025-01-15 19:20:01 +01:00
PJBot
c4c00cdc7c Automatic changelog update 2025-01-15 18:04:57 +00:00
ArtisticRoomba
d6e55edb4a Make Mime PDA interactions silent (#34426)
* make insert and eject datafields in ItemSlotsComponent.cs nullable, make mime PDA silent

* make it so that you can't fit wirecutters into the slots, among other various things
2025-01-15 19:03:49 +01:00
ScarKy0
33c421bd6b Merge Meta hotfix (#34306) into master (#34451) 2025-01-15 18:43:57 +01:00
Nox
d86bf0652a Meta hotfix (#34306)
* Fixed major issues with power, cargo shuttle docking, etc.

* remove serialized invalids

* Finished fixing the critical issues, ready for merge?

* Empty commit

* Added new break room to sci (they deserve it)

* Fixed up other minor issues

* if this map isnt PERFECT Emisse has permission to gib me and turn me into a cyborg

* added Roomba's changes

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-01-15 18:24:34 +01:00
MetalSage
6e77b82da7 fix (#763)
Co-authored-by: MetalSage <metalsage.official@gmail.com>
2025-01-15 20:14:50 +03:00
PJBot
4d1581d377 Automatic changelog update 2025-01-15 16:27:26 +00:00
ArtisticRoomba
922251ad66 Remove the ability to print the station anchor circuit board (#34358)
remove the ability to print the station anchor circuit board
2025-01-15 17:26:19 +01:00
Hyper B
e752561d20 Fix nonsensical RegEx for name restriction (#34375)
* Fixed nonsense RegEx

"-" character is a range, caused an error.
No need for "," to repeat so much, it's not a separator.
"\\" - just why?

* Further optimized RegEx structure

Added:
"@" delimiter for consistency
"/" to escape "-" for good and to avoid further problems
2025-01-15 16:59:04 +01:00
Alpha-Two
d83b5acb22 Replace ERT Medic's Advanced Medkits with 2 Combat Medkits (#34380)
Replaced Adv kits with 2 combat kits
2025-01-15 16:49:55 +01:00
Alpaccalypse
e446889315 Added missing details from worn capes to head of department beadsheets (#34396)
* Added key and missing details from worn cape to HOP bedsheet

* Corrected canvas size for sprite

* Subtle tweak to shading to reduce color blurring at pillow edge

* Matched Hue and tone to cape

* Tweak chekered pattern marks for gold trim

* Removed accidental palette inclusion

* Clearer wording and corrected attribution name.

* Tweaked shading on key image to fit in better with bed aesthetics

* Added CE cape icon to bedsheet

* Added cape image to HOP bedsheet. Made gold trim better match cape visuals

* RD cape icon added. Colour tweaked to better match cape.

* Updates json

* Tweaks to gold trim shading to match bed aesthetics

* Added better shading for HOP sheet side. Halved file size.

* Optimised HOS RD and CE sheet sprites

* Corrected sprite title in attribution
2025-01-15 16:15:56 +01:00
Nim
02cfcd620c Inter-Monster tolerance (#761)
* Insects ai

* monster
2025-01-15 17:34:38 +03:00
Alpha-Two
332fc18aa5 Fixed Thief starting gear failing on specific bag inventories. (#34430)
Fixed it yayyy
2025-01-14 22:51:08 -08:00
PJBot
9d5ef57df8 Automatic changelog update 2025-01-15 00:33:30 +00:00
Palladinium
87779250ee Add Discord webhook on watchlist connection (#33483) 2025-01-15 01:32:24 +01:00
PJBot
bb1a3c42ed Automatic changelog update 2025-01-15 00:11:46 +00:00
themias
771278df54 Fix muzzle accent (#34419) 2025-01-15 01:10:39 +01:00
Pieter-Jan Briers
e885a8f1ce Minor client packaging changes (#33787) 2025-01-15 01:08:06 +01:00
Pieter-Jan Briers
2dead48280 STAThread client content start (#34212) 2025-01-15 01:07:24 +01:00
PJBot
99580e0118 Automatic changelog update 2025-01-14 23:47:51 +00:00
Pieter-Jan Briers
c2e050ced0 Persist deadmin to database, add admin suspension system (#34048) 2025-01-15 00:46:45 +01:00
Pieter-Jan Briers
47042cc8dd Disable meta-atlas for big rare RSIs (#33643) 2025-01-15 00:43:48 +01:00
Pieter-Jan Briers
ca96aeb0ec Fix bad Rider analysis error in AccessOverriderWindow.xaml.cs (#34213) 2025-01-15 00:31:50 +01:00
Julian Giebel
a967fc7486 Adds omnisexual pin (#34439)
* Make important change (#7)

This is to help julian test his bot

* Omnibus

* Remove random test file from testing a gh bot

* Add pin to vendor, spawners and loadout

---------

Co-authored-by: nikthechampiongr <32041239+nikthechampiongr@users.noreply.github.com>
2025-01-14 23:41:04 +01:00
PJBot
198dd820f1 Automatic changelog update 2025-01-14 22:35:12 +00:00
Killerqu00
786d4d5557 craftable pet carrier (#34431)
* craftable pet carrier

* epic integration test fail

* Update Resources/Prototypes/Recipes/Crafting/improvised.yml

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

* Update Resources/Prototypes/Recipes/Crafting/Graphs/storage/pet_carrier.yml

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

* Update Resources/Prototypes/Recipes/Crafting/Graphs/storage/pet_carrier.yml

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

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

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

* extra tab begone

* epic linter fail

* how did linter not see this???

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-01-14 23:34:04 +01:00
Ed
e6097da7cc Update CP14MagicEnergyPhotosynthesisComponent.cs 2025-01-15 01:05:28 +03:00
Ed
925738afc2 Workbench update (#760)
* fix workbench icons

* workbench search

* fix 1

* UI finalize

* fix material localization

* restore shard sprite

* Update sewing_table.yml
2025-01-15 00:34:08 +03:00
Myra
13edd308bf Fix IPIntel causing frequent errors with the cleanup job. (#34428)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2025-01-14 21:38:26 +01:00
Ed
cf41cabcea Remove OP (#757)
* remove outdated content

* Update migration.yml

* Update twoHandedStaffs.yml
2025-01-14 14:36:10 +03:00
Ed
87d57df0e6 Omsoyk epic clothing pack (#756)
* new shirts

* pants and dresses

* blue cloak
2025-01-14 12:03:10 +03:00
ArtisticRoomba
8e7f440243 Oasis Power Rebalance + Misc fixes (#34425)
* balance oasis power as a stopgap

* change waste color to proper waste color
2025-01-14 00:59:15 -07:00
Ed
51a47eaffc Bunch of gameplay issues (#754)
* fix demiplane contetn filtering

* fix day demiplanes

* remove filled crystals from demiplanes

* remove armored zombies

* added candles in town crates

* remove 20% unefficient of mana moving spells

* fix #622

* revert random Viator commit

* Update demiplane_rifts.yml
2025-01-14 01:41:11 +03:00
Nim
c7c5b4dc4c bench fix (#755) 2025-01-13 23:24:33 +03:00
Nim
2644fe26ea Ashes and Russian translation edits with a couple of minor fixes (#735)
* ash++++

* fix

* по запросу
2025-01-13 23:01:34 +03:00
Nim
732bc267f7 Bench (#751)
* bench

* anchored
2025-01-13 22:59:57 +03:00
PJBot
2bebaa753a Automatic changelog update 2025-01-13 18:50:09 +00:00
Southbridge
6c41d967e5 Porting Pride-O-Mat to Upstream (#34412)
* Pride-O-Mat (#1322)

* Added Pride-O-Mat

* Yep

* Updated license to the correct one

* Added more lines, reconfigured settings a bit, also added cloaks to inventory, set coder socks to emag inventory

* Removed bunny ears, fixed typo

* Made requested changes 

Webedit lmao

---------

Co-authored-by: Dorragon <101672978+Dorragon@users.noreply.github.com>
2025-01-13 19:49:02 +01:00
Viator-MV
ddd61df7b8 изменение текстуры книги законов
текстура книги законов изменена на подходящую к новым книгам
2025-01-13 21:37:30 +03:00
Ed
025753e689 revert 2025-01-13 18:09:40 +03:00
PJBot
b308589428 Automatic changelog update 2025-01-13 10:08:40 +00:00
Coolsurf6
de78bedc5f Fixed Jazz Instrument for Electric Guitars (#33363)
* fixed jazz midi program byte

* swapped around jazz and clean in instrumentList
2025-01-13 13:07:33 +03:00
zHonys
25a01b00b6 Fixed doors being blocked with mousetraps, and other Collidable items (#34045)
* Changed SharedDoorSystem.GetColliding() to allow non-LowImpassible mask entities to stay in the door while it closes

* Update Content.Shared/Doors/Systems/SharedDoorSystem.cs

Clarifies comment of how the mask is used

Co-authored-by: Centronias <charlie.t.santos@gmail.com>

---------

Co-authored-by: Centronias <charlie.t.santos@gmail.com>
2025-01-13 13:07:18 +03:00
JustinWinningham
423e48a9f2 Anomaly dragging exploit fix and QOL changes (#34280)
* Wood wall is now built from barricade congraph and on top of a barricade instead of using rods

* APE dragging exploit fix
2025-01-13 13:06:57 +03:00
hyperDelegate
182f0c0bce Raise syndicate kobold reinforcement HP crit threshold from 75 to 100 to match monkey. (#34409)
kobold ops have 100 health
2025-01-13 13:06:30 +03:00
Ed
368839dd68 Bugixes (#750)
* fix #746

* fix #745

* fix #747

* fix #744

* fix #743

* fix #741

* fix #722
2025-01-13 12:54:46 +03:00
TytosB
9cf4cba346 loop station door access fixes and air sink (#34414)
small fixes
2025-01-13 00:17:08 -07:00
PJBot
f2cd615512 Automatic changelog update 2025-01-13 07:08:37 +00:00
Deerstop
ac0a8d1f60 Manual Valves Resprite (#34378)
* resprited manual valves to be colourblind friendly

* Update Resources/Textures/Structures/Piping/Atmospherics/pump.rsi/meta.json

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

---------

Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>
2025-01-13 08:07:29 +01:00
Southbridge
b00bf40e64 Insuls Spawner (#34407)
* Added insuls spawner, time to test

* adjusted whitespace since that was causing issues

* Update Resources/Prototypes/Entities/Markers/Spawners/Random/maintenance.yml

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

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-01-13 05:28:20 +01:00
Southbridge
5fff6bb1d2 Amber Station - Moved Vents Around (#34410)
* Moved all vents around, made some small changes

* Finished work

* Removed insuls spawner since they're not merged yet
2025-01-12 17:49:44 -07:00
frobnic8
91bc1f8cac Darkened Service job interface icons for better contrast (#34270)
* Darkened Service job interface icons for better contrast

* Fixed Botanist job interface icon dark handle hole

* Change to new, darker, service color in all resource yml files

* Revert Map file service color changes

* Use new darker service color on id cards

* Revert Service color change in mapping_actions.yml

* Revert salvage difficulties service color

* Redo service ID and job colors to match advanced palette

* Revert all service color yml file changes

* Switch icons to use existing service pallete colors from advanced pallete

* Update meta.json for darkened service icons

---------

Co-authored-by: Erskin Cherry <frobnic8@gmail.com>
2025-01-13 01:24:58 +01:00
Booblesnoot42
606e452433 Add a high-capacity water tank to the janitor's closet of Oasis (#34366)
added high capacity water tank
2025-01-12 16:40:22 -07:00
PJBot
8bc4c35aae Automatic changelog update 2025-01-12 23:33:58 +00:00
SlimSlam
72ddc50142 Fland Reporters Room (#34408)
changed the command checkpoint to a reporters room.
2025-01-12 16:32:50 -07:00
vladimir.s
f5edf03bf6 double hp and mana alerts (#749)
* double hp and mana alerts

* Update alerts.yml

---------

Co-authored-by: Ed <edwardxperia2000@gmail.com>
2025-01-12 23:05:19 +03:00
PJBot
9cc76d93bf Automatic changelog update 2025-01-12 19:42:35 +00:00
Myra
96d913b147 Add IPIntel API support. (#33339)
Co-authored-by: PJB3005 <pieterjan.briers+git@gmail.com>
2025-01-12 20:41:26 +01:00
Ed
b5f70616c3 New lobby art (#748)
* lobby

* back to rus
2025-01-12 22:39:33 +03:00
Myra
57442fc336 (Stable -> Master) Reduce Panic Bunker Minimum Playtime to 2 hours (#34401) (#34402) 2025-01-12 19:53:10 +01:00
crazybrain23
f85f80e093 Reduce Panic Bunker Minimum Playtime to 2 hours (#34401) 2025-01-12 19:51:25 +01:00
slarticodefast
e830ccebe5 merge stable into master (#34398) 2025-01-12 18:49:02 +01:00
deltanedas
ccff52a72f [HOTFIX] fix holopads with multiple ai cores dying (#34289)
change return to continue

Co-authored-by: deltanedas <@deltanedas:kde.org>
2025-01-12 11:19:58 -06:00
PJBot
7b8d51ceb4 Automatic changelog update 2025-01-12 16:39:49 +00:00
Floxington
83ce982f04 #33571 Bomb defusal lockers always should have tools (#34394) 2025-01-12 11:38:41 -05:00
Errant
8f4c49a41a HOTFIX Tweaked air alarm default settings for nitrogen breathing crew (#34198)
air alarm default settings modified for anaerobic crew
2025-01-12 16:46:36 +01:00
Tayrtahn
924f64e979 Fix force-feeding Loc strings not using target's gender (#34276) 2025-01-12 15:33:53 +01:00
Nim
e11d8a1c1a fix (#736) 2025-01-12 17:22:19 +03:00
Ed
3cce07be5a switch to eng 2025-01-12 17:10:27 +03:00
Nim
93c4e6068f Balance and fixes (#733)
* issue

* mosquitoes

* 👽
2025-01-12 17:00:35 +03:00
MetalSage
89b9a5c1fe Additive lighting (#685)
* Additive lighting

* adds options for all your optional needs

* one last tiny adjustment before we hit the create pr button

* spaghetti condensing

* add ccvar

* overlight correction

* fix requested changes

* cvar fix

* last fix

* nice

---------

Co-authored-by: deathride58 <deathride58@users.noreply.github.com>
Co-authored-by: MetalSage <metalsage.official@gmail.com>
Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: Ed <edwardxperia2000@gmail.com>
2025-01-12 13:33:06 +03:00
MetalSage
a6847c08e8 Add "Mana Wasting" trait (#732)
* add trait

* Update Resources/Locale/ru-RU/_CP14/magicEnergy/magic-spells.ftl

* fix magic item using

---------

Co-authored-by: MetalSage <metalsage.official@gmail.com>
Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: Ed <edwardxperia2000@gmail.com>
2025-01-12 13:10:45 +03:00
Deerstop
d9e4ed2056 Elkridge Depot Improvements (#34377)
* updates decals

* more decal work, more dinginess in certain areas

* added decals under doors
2025-01-11 23:34:52 -07:00
github-actions[bot]
ea0b04a663 Update Credits (#34389)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2025-01-12 01:57:36 +01:00
Ed
485ddaa739 map fix 2025-01-12 03:06:51 +03:00
Ed
f2ef46d90e New apprentice role / Новая роль подмастерья (#731)
* new role

* Update role_loadouts.yml

* Update jobs.yml

* Delete g.png
2025-01-12 03:05:47 +03:00
Nim
61897eae4f target (#730) 2025-01-12 02:01:53 +03:00
PJBot
e271a5a598 Automatic changelog update 2025-01-11 21:18:33 +00:00
Errant
46d58bf22a Role Types (#33420)
* mindcomponent namespace

* wip MindRole stuff

* admin player tab

* mindroletype comment

* mindRolePrototype redesign

* broken param

* wip RoleType implementation

* basic role type switching for antags

* traitor fix

* fix AdminPanel update

* the renameningTM

* cleanup

* feature uncreeping

* roletypes on mind roles

* update MindComponent.RoleType when MindRoles change

* ghostrole configuration

* ghostrole config improvements

* live update of roleType on the character window

* logging stuff and notes

* remove thing no one asked for

* weh

* Mind Role Entities wip

* headrev count fix

* silicon stuff, cleanup

* exclusive antag config, cleanup

* jobroleadd overwerite

* logging stuff

* MindHasRole cleanup, admin log stuff

* last second cleanup

* ocd

* move roletypeprototype to its own file, minor note stuff

* remove Roletype.Created

* log stuff

* roletype setup for ghostroles and autotraitor reinforcements

* ghostrole type configs

* adjustable admin overlay

* cleanup

* fix this in its own PR

* silicon antagonist

* borg stuff

* mmi roletype handling

* spawnable borg roletype handling

* weh

* ghost role cleanup

* weh

* RoleEvent update

* polish

* log stuff

* admin overlay config

* ghostrolecomponent cleanup

* weh

* admin overlay code cleanup

* minor cleanup

* Obsolete MindRoleAddedEvent

* comment

* minor code cleanup

* MindOnDoGreeting fix

* Role update message

* fix duplicate job greeting for cyborgs

* fix emag job message dupe

* nicer-looking role type update

* crew aligned

* syndicate assault borg role fix

* fix test fail

* fix a merge mistake

* fix LoneOp role type

* Update Content.Client/Administration/AdminNameOverlay.cs

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

* Update Content.Shared/Roles/SharedRoleSystem.cs

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

* comment formatting

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

* change logging category

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

* fix a space

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

* use MindAddRoles

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

* get MindComponent from TryGetMind

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

* move var declaration outside loop

* remove TryComp

* take RoleEnum behind the barn

* don't use ensurecomp unnecessarily

* cvar comments

* toggleableghostrolecomponent documentation

* skrek

* use EntProtoId

* mindrole config

* merge baserolecomponent into basemindrolecomponent

* ai and borg silicon role tweaks

* formatting

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

* I will end you (the color)

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

* use LocId type for a locale id

* update RoleEvent documentation

* update RoleEvent documentation

* remove obsolete MindRoleAddedEvent

* refine MindRolesUpdate()

* use dependency

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

* inject dependency

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

* roleType.Name no longer required

* reformatted draw code logic

* GhostRoleMarkerRoleComponent comment

* minor SharedRoleSystem cleanup

* StartingMindRoleComponent, unhardcode roundstart silicon

* Update Content.Shared/Roles/SharedRoleSystem.cs

* remove a whitespace

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-01-11 22:17:26 +01:00
Pieter-Jan Briers
3da354304d Update submodule, .NET 9 (#34320) 2025-01-11 21:22:47 +01:00
Leon Friedrich
1c315ba033 Remove Entity<T> data-fields (#34083) 2025-01-11 21:22:29 +01:00
PJBot
6be4fba792 Automatic changelog update 2025-01-11 20:04:10 +00:00
justdie12
afd5ce39ed Bended radiator (#34251) 2025-01-11 21:03:04 +01:00
PJBot
d5ce3e85fb Automatic changelog update 2025-01-11 19:31:01 +00:00
0x6273
2fcfc824b4 Arachnid stomach organ yaml fix (#34298)
Arachnid stomach yaml fix

Arachnids had their stomach `updateInterval` set to 1.5, 50% slower than
normal. But this doesn't actually slow down the speed that the stomach
digests things, only the rate at which it updates to check if enough
time has passed. (See 23f0b304f2/Content.Server/Body/Systems/StomachSystem.cs (L57) )

This PR changes arachnid stomachs to have a `digestionDelay` of 30 (20
is default) to achive the desired effect.

Stasis beds are also bugged in a similar manner. They are intended to
slow down the digestion speed, but similarly all they do is change the
update rate. But fixing that requires actual code changes and is out of
scope for this commit.
2025-01-11 20:29:54 +01:00
PJBot
458d3ffccb Automatic changelog update 2025-01-11 17:28:18 +00:00
Zachary Higgs
cfb23174ed Make indestructible tiles not breakable by explosions (#34339)
* No more Ai Spacing

* Move guard into earlier guard statement
2025-01-11 18:27:08 +01:00
Ed
4a2c3c9d59 clean up CVars 2025-01-11 13:01:53 +03:00
Ed
3d0f303930 Create Dev.toml 2025-01-11 12:37:03 +03:00
War Pigeon
3439b77023 Add directional escape pod sign (#34367) 2025-01-11 11:19:59 +03:00
PJBot
10b778fc8f Automatic changelog update 2025-01-11 02:49:21 +00:00
Tayrtahn
c6e4d19883 Let ghosts sometimes make certain devices say creepy things (#34368)
* Add SpookySpeaker component/system

* Shuffle Boo action targets before trying to activate them

* Add SpookySpeaker to vending machines

* Fix chatcode eating messages starting with "..."

* Add SpookySpeaker to recycler

* Oops

* Decrease speak probability for vending machines

* Add spooky speaker to arcade machines
2025-01-11 03:48:13 +01:00
ArtisticRoomba
5deab7d41f fix ghost_component.ftl locale grammar (#34372)
fix ghost component locale grammar
2025-01-11 01:17:12 +01:00
Tayrtahn
fdc0853053 Add a popup message when ghost Boo action does nothing (#34369) 2025-01-10 23:57:46 +01:00
SpaceManiac
bbb551a01b Trim trailing newlines from examine messages (#33381)
* Trim trailing newlines from examine messages

* TrimTrailingNewlines -> TrimEnd
2025-01-10 15:40:31 -05:00
Spessmann
f06ea5d0f3 Adds a border to Oppenhopper poster (#34219)
* border

* Update meta.json

* Update Resources/Textures/Structures/Wallmounts/posters.rsi/meta.json

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-01-10 15:26:31 -05:00
PJBot
45d47da584 Automatic changelog update 2025-01-10 15:38:18 +00:00
themias
fbe6168291 Fix crayon losing durability on stamped paper (#34202) 2025-01-10 16:37:11 +01:00
PJBot
0cd2d827ad Automatic changelog update 2025-01-10 15:14:30 +00:00
TeenSarlacc
d1f6531722 add large instruments to the cargo request computer (#34240)
* added the church organ to the cargo console (will add more in this PR, assuming i did this right (HOW DO YOU BUY CARGO ORDERS IN DEV ENVIROMENT???? *sobs))

* added other structure instruments to cargo Catalog

* fixed an epic copy/paste fail

* changed prices

* fixed epic copy/paste fail #2

---------

Co-authored-by: TeenSarlacc <baddiepro123@gmail.com>
2025-01-10 16:13:23 +01:00
PJBot
fa720a05ce Automatic changelog update 2025-01-10 15:02:11 +00:00
Coolsurf6
87e18b9d3a Fixed Forensic Gloves to be Security Contraband (#34193)
* added BaseRestrictedContraband to forensic gloves

* moved from id to parent
2025-01-10 16:00:59 +01:00
Leon Friedrich
7ae7821213 Replace some sound PlayEntity with PlayPvs (#34317) 2025-01-11 01:44:30 +11:00
Ed
0af7a7ec64 Alchemist content (#718)
* reinforced vials

* glass recipes

* roundstart alchemist potions
2025-01-10 16:17:32 +03:00
Southbridge
dff9abfe74 Packed Station - Dirt Fix (#34351)
* packed

* Rerunning tests
2025-01-10 02:07:53 -07:00
Southbridge
1c2fcf0e26 Bagel Station - Dirt Fix (#34357)
Bagel
2025-01-10 01:35:26 -07:00
Southbridge
65655e7eff Box Station - Dirt Fix (#34356)
Box
2025-01-10 01:35:17 -07:00
Southbridge
915234a043 Cog Station - Dirt Fix (#34355)
Cog
2025-01-10 01:35:09 -07:00
Southbridge
ad59eea64e Marathon Station - Dirt Fix (#34354)
* Marathon

* Rerunning tests
2025-01-10 01:35:00 -07:00
Southbridge
4b1b4c0114 Omega Station - Dirt Fix (#34353)
omega
2025-01-10 01:34:53 -07:00
Southbridge
869ecb2923 Fland Station - Dirt Fix (#34352)
Fland
2025-01-10 01:34:43 -07:00
IProduceWidgets
0bc17159ae Oasis updoot the dimmining (#34347)
updooty
2025-01-09 23:57:39 -07:00
PJBot
ac2eb887dc Automatic changelog update 2025-01-10 06:56:12 +00:00
Southbridge
edbc861c78 Add copy threshold button to air alarms (#34346) 2025-01-09 22:55:05 -08:00
Errant
0b1ed3ec7e Fix battery charging stopping just short of being full (#34028) 2025-01-10 17:54:55 +11:00
Alpaccalypse
b42a01580c Renamed water melon juice to watermelon juice (#34341) 2025-01-09 19:28:03 -05:00
ScarKy0
dd28f17b9a Fix access configurator debug assert (#34330)
* fix

* greytide fix

* fix admin log

* Dirty
2025-01-09 19:22:28 -05:00
PJBot
abf7f62e6f Automatic changelog update 2025-01-09 20:25:38 +00:00
Alpaccalypse
36cbd07c07 Drink titles and soda vendor consistency (#34178)
* Made capitalisation of proper names consistent.

* Roy Rogers is presumably a proper name.

* Second pass at distinguishing proper names only.

* Two nitpicking/minor changes

* Fixed some overlooked can brand names. Matched case with descriptions.

* Switched generic sodas with brands for SodaInventory

* Removed commonly available branded cans

* Matched case consistency used elsewhere. Minor SPAG corrections.

* Added "nothing" and some missing alcohol bottles to RandomSpawner

* Added distinct ad and bye chatter to Dr. Gibb machines.

* Revert "Added distinct ad and bye chatter to Dr. Gibb machines."

This reverts commit f90b8a470556de05aca81255db8b6b03596ae944.

* Revert "Removed commonly available branded cans"

This reverts commit 43b82168dac1f73b187b7677f34ecdd33b6bb81a.

* Revert "Switched generic sodas with brands for SodaInventory"

This reverts commit f1790f0ce61ef135c79068de6a741e8bb50d85d3.

* Lowercased DrinkGlass suffix. Moved alcoholic drinks from drinks to alcohol.

* Renamed energy drink to Red Bool. Corrected and added some jug descriptions.

* Added reagent names for all bottles except poison-wine

* Revision of title case for cocktails

* SPAG and fixed the only brand reagen with unbranded name.

* Possibly controversial, shortened some bran names to better fit the UI.

* Fixed some inconsistencies in naming

* Matched brand localisation change

* Two name style edits

* Fixed Smite bottle name

* Minor, punctuation

* Blank line to end of file

* Upgraded descriptive names to title case

* Banana Mama

* reverts change, moved to another PR to avoid conflict.

* Removed caffeine reference.

* Minor, corrected some more inconsistencies

* Removed Bottle of Nothing from random spawner.
2025-01-09 21:24:31 +01:00
Ed
c41927cdf2 Bugfixes (#716)
* job localization fix

* Update job.ftl

* metall scraps

* tomato seeds craft

* fix #105

* health alerts fixed

* bucket size fix

* hat fix
2025-01-09 22:28:39 +03:00
A.Ne.
c3976dd08d plants inspection, resolve #449 (#615)
* plants inspection, resolve #449

* Update farming.ftl

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2025-01-09 22:05:22 +03:00
Nim
1af112aeb2 candle (#713) 2025-01-09 21:26:14 +03:00
Ed
9ab34417f4 More Bank positions (#715)
* add bank positions

* Update sell.yml
2025-01-09 17:23:35 +03:00
Nim
005a6012be sound (#714) 2025-01-09 16:40:18 +03:00
Ed
f1fc16c6f0 Update CP14IgnitionModifierComponent.cs 2025-01-09 15:27:28 +03:00
PJBot
66810ef257 Automatic changelog update 2025-01-09 11:24:44 +00:00
deltanedas
04984984fe change locking to use ComplexInteraction (#34326)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2025-01-09 12:23:37 +01:00
Ed
2b0fa46857 david balance pass (#712) 2025-01-09 13:13:35 +03:00
PJBot
fdbb3c8f39 Automatic changelog update 2025-01-09 08:55:16 +00:00
Southbridge
e0b2d000ef Amber Station - Fixes and Warm Lights (#34324)
* Added warm lights, placed them around the map, also fixed an issue with the MV wire in the cafeteria

* Fixed lv wiring in caf, and adjusted a couple things

* Empty commit to force checks to rerun
2025-01-09 09:54:04 +01:00
flymo5678
ba9eed7670 Added missing cameras to Loop Station (#34308)
* Added missing cameras

* Added missing cameras
2025-01-08 16:38:13 -07:00
Nim
4366e940cb armor (#710) 2025-01-09 00:46:53 +03:00
Nim
76d828e9fd Мелочи фидбека (#709)
* things

* chees

* hmm

* tag

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2025-01-09 00:46:27 +03:00
Ed
00ecf1f4b6 Health alerts + Modular tools labeling renaming (#708)
* fix health alert

* grips label

* Update grips.yml
2025-01-08 23:22:58 +03:00
PJBot
60e1c6f515 Automatic changelog update 2025-01-08 15:24:42 +00:00
c4llv07e
904d75c8a9 Fix empty lines in adminwho with stealthmins. (#34122)
Don't print newline if admin is hidden.
2025-01-08 10:23:33 -05:00
Ed
815c031a16 localization sync 2025-01-08 15:31:17 +03:00
Ed
8248fcb07e Events tweaks (#707)
* mosquito + outbreak markers

* Update comoss.yml

* Update monster.yml
2025-01-08 14:16:38 +03:00
flymo5678
c1aaf64521 Fixed Loop Station's southern solar array unlinked airlocks (#34296)
Fixed Southern solar external airlock door bolts
2025-01-08 04:10:50 -07:00
Southbridge
8945ac3560 Amber Station - Balance Improvements (#34294)
changed the center area in med bay to a garden, weakened meteor shielding in some areas, also general touch ups around the station
2025-01-08 02:13:39 -07:00
Piras314
010924611d Happy New Year (#34288)
happy new year
2025-01-08 03:50:46 +01:00
PJBot
4d26ea619e Automatic changelog update 2025-01-08 01:01:30 +00:00
Tayrtahn
23f0b304f2 Add bleating accent to goats (#34273) 2025-01-08 02:00:20 +01:00
Pancake
90b46699f6 Update vessel_warning.ogg (#34263)
* Update vessel_warning.ogg

Remove DC offset and apply short fade out.

* Update attributions.yml

* Update attributions.yml
2025-01-08 03:51:53 +03:00
Ed
228a7226ff Random events (#706)
* first game event! Closet skeleton!

* demiplane outbreak gamerules

* Update game_presets.yml

* d
2025-01-08 02:55:54 +03:00
slarticodefast
45e0b9eb92 merge stable to master (#34279) 2025-01-08 00:22:02 +01:00
ArtisticRoomba
e0163fb022 [HOTFIX] Fix Meta station power (#34256)
* hotfix meta power

* fixed AME

* add missing cargo shuttle pilot console to cargo
2025-01-07 16:03:10 -07:00
Ed
5c21ec2774 fix 2025-01-07 23:41:42 +03:00
SlamBamActionman
3238c2e144 [HOTFIX] Fix chameleon PDAs renaming IDs (#34249)
Fix chameleon PDA
2025-01-07 20:31:54 +01:00
Tayrtahn
483ac50f5f Fix portable scrubber appearing powered on spawn (#34274) 2025-01-07 19:48:32 +01:00
Pieter-Jan Briers
af75c1a92b Fix compilation errors in tests from update (#34272)
Required for https://github.com/space-wizards/RobustToolbox/pull/5590 to not cause compile fails, but can be merged on its own
2025-01-07 19:27:54 +01:00
nikthechampiongr
4a3d3efd62 Implement approved rule changes (#34233) 2025-01-07 19:04:42 +01:00
PJBot
aa458a24ca Automatic changelog update 2025-01-07 17:46:10 +00:00
Alpaccalypse
b4e2a3693f Special reagents now appear in the guidebook (#34265)
* Special reagents now appear in the guidebook

* Improved guidebook wording for reagent category
2025-01-07 18:45:02 +01:00
nikthechampiongr
2d78b6c930 Implement approved rule changes (#34233) 2025-01-07 17:58:28 +01:00
Ed
35eb0c48c1 Graves and Tombstones (#705)
* dirt grave

* Update grave.yml

* tombstone

* Update grave.yml
2025-01-07 18:08:47 +03:00
Alpaccalypse
43db40c487 Added distinct ad and bye chatter to Dr. Gibb vending (#34182)
* Added distinct ad and bye chatter to Dr. Gibb vending

* Correcting revert mistake

* Changed ad pack names to better match naming convention
2025-01-07 09:10:16 -05:00
PJBot
02d89d9c5c Automatic changelog update 2025-01-07 00:20:04 +00:00
ArtisticRoomba
b6599d3844 Remove kessler and zombeteors gamemodes from the secret pool (#34051)
* Remove kessler, zombeteors gameodes

* Probably should keep the protos in case an admin wants to torture players secretly

* address slart review
2025-01-07 01:18:56 +01:00
Ed
676b85b22b Update Goblin.xml 2025-01-07 00:24:00 +03:00
Ed
5f2583fab0 Goblin gameplay (#704)
* silva fix

* goblinoids
2025-01-06 23:10:42 +03:00
Ed
8892d3913d Tiefling gameplay (#703)
* tiefling damage mana

* tiefling spell

* tweaks
2025-01-06 17:08:49 +03:00
PJBot
4882ba2274 Automatic changelog update 2025-01-06 12:33:49 +00:00
ArtisticRoomba
ea9954221c Make station anchor hitbox less insufferable (#34217) 2025-01-06 23:32:42 +11:00
Ed
71e6bd4f24 Elf (#702) 2025-01-06 14:05:46 +03:00
Southbridge
8083f88f4b Amber Station - Minor Fixes (#34246)
* Moved the stand clear decal in front of the janitor's shutters up two pixels

* added tech maints under most maints doors, fixed power issues in cargo, and fixed a couple minor issues
2025-01-06 00:41:26 -07:00
IProduceWidgets
87d1ed9258 Oasis Update (#34245)
santa is keel.
2025-01-06 00:24:12 -07:00
Ed
b647583b7b Silva species gameplay difference (#701)
* plant growth spell, silva photosyntesis

* playable species guidebook

* fixes
2025-01-06 03:31:59 +03:00
PJBot
eecdd82779 Automatic changelog update 2025-01-05 22:12:07 +00:00
SpaceRox1244
6b674e73d6 Adds bullet collision to station lights (#34070)
Adds collision with bullets to lights
2025-01-05 23:11:01 +01:00
PJBot
c536094c17 Automatic changelog update 2025-01-05 20:57:09 +00:00
Errant
a55dc4d3bb Lobby chat width and custom lobby titles (#33783)
* lobby name cvar

* panel width

* skrek

* server name localization fix

* comment format fix

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

* remove redundant newline

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

* string.empty

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

* use SetWidth

* Update Resources/Locale/en-US/lobby/lobby-gui.ftl

---------

Co-authored-by: Thomas <87614336+Aeshus@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-01-05 21:56:01 +01:00
Ed
ed75beb0fb New species: Silva (#700)
* base silva species

* markings

* Update silva.yml
2025-01-05 23:23:18 +03:00
PJBot
6f16291557 Automatic changelog update 2025-01-05 19:07:19 +00:00
deltanedas
0aebc76feb wielding refactor/fixes (#32188)
* refactor wieldable events

* fix inconsitency with wielding and use updated events

* wieldable cosmetic refactoring

* Update Content.Shared/Wieldable/Events.cs

Co-authored-by: Centronias <charlie.t.santos@gmail.com>

* real

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

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: Centronias <charlie.t.santos@gmail.com>
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
2025-01-05 20:06:10 +01:00
Ed
fe43e51930 Elves are skinny now (#699)
* elf THICC

* Update elf.yml
2025-01-05 20:17:25 +03:00
Nim
9ea8111d9e angel statue (#696) 2025-01-05 19:10:33 +03:00
Ed
639db84a0b dayCycle prototipization (#694) 2025-01-05 19:08:35 +03:00
Ed
9f798b4f6c Sprint loadout action (#698)
* SpellStorage restruct

* Update CP14SpellStorageSystem.cs

* Sprint
2025-01-05 17:46:54 +03:00
ArtisticRoomba
0639a49390 Fix rainbow lizard plushie inhands (#34128)
* fix rainbow plushie inhands

* address requested changes

* attribute sprites
2025-01-05 02:34:51 +01:00
Ed
be3064b99c Modular sprites auto coloring (#697)
* axe and dagger update

* more blade processing

* shovel and sickle

* sword

* gardes

* grips

* modular presets

* blade material modifiers

* modular spear blade

* balance sharp garde, add sturdy garde

* Update sturdy.yml
2025-01-05 04:01:31 +03:00
github-actions[bot]
9532b613e0 Update Credits (#34220)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2025-01-05 01:32:19 +01:00
A.Ne.
9a8f66727f modular tool inspection (#683)
* modular tool inspection

* update
2025-01-04 23:43:51 +03:00
Nim
945e74b690 Holiday Gob (#691)
* gob

* festive system
2025-01-04 23:42:09 +03:00
Nim
fc1e9d2638 christmas hat (#695) 2025-01-04 23:34:59 +03:00
Ed
36d02fdf6e Magic spells code expansion (#692)
* split manacost in separate component

* stamina spells

* toggleable actions

* swap activeCasting on ActiveDoAfter

* remove dublication

* Update CP14SharedMagicSystem.ToggleableActions.cs

* EntityWoldTarget

* mana glove done

* fix spell scrolls interrupting

* fix cooldown problem

* clean up, edit stamina system
2025-01-04 21:35:59 +03:00
PJBot
41bcdd7c36 Automatic changelog update 2025-01-04 13:42:52 +00:00
themias
b2b3b22a04 Apply forensics when loading with an ammo box (#32280) 2025-01-04 14:41:45 +01:00
Spanky
357d365724 Packed Update (#34208)
Packed Update (decals mostly)
2025-01-04 01:05:20 -07:00
PJBot
983cfa8f48 Automatic changelog update 2025-01-04 00:42:03 +00:00
Deerstop
53a9e0997e Add Elkridge Depot into Map Rotation (#34206)
* named apcs, doors, air alarms, cameras, fire alarms, substations, SMESs

* updated PostMapInitTest.cs to include Cell

* added psychologist spawn

* fixed scanner console link, fixed disposals conveyors, and more

* added janitor service lights, maints firelocks, and more

* added more fun maint rooms

* improved head offices, kitchen, psych. added maints between science and arrivals

* fixed spawners placed over solid objects

* added unique evac shuttle, the Cilium

* evac shuttle is now orientated correctly

* added unique cargo shuttle

* updated kitchen area

* renamed Cell Station to Elkridge Depot, removed most main hall airlocks for smoother travel

* general last-minute touch-ups around the bridge and sec

* changed station name in PostMapInitTest.cs

* added Elkridge to default map pool

* added myself to map_attribution.yml credits
2025-01-03 17:40:54 -07:00
Deerstop
03b34f06cc Elkridge Depot (The station formerly known as Cell) (#34085)
* named apcs, doors, air alarms, cameras, fire alarms, substations, SMESs

* updated PostMapInitTest.cs to include Cell

* added psychologist spawn

* fixed scanner console link, fixed disposals conveyors, and more

* added janitor service lights, maints firelocks, and more

* added more fun maint rooms

* improved head offices, kitchen, psych. added maints between science and arrivals

* fixed spawners placed over solid objects

* added unique evac shuttle, the Cilium

* evac shuttle is now orientated correctly

* added unique cargo shuttle

* updated kitchen area

* renamed Cell Station to Elkridge Depot, removed most main hall airlocks for smoother travel

* general last-minute touch-ups around the bridge and sec

* changed station name in PostMapInitTest.cs
2025-01-03 12:32:46 -07:00
Ubaser
55ad6a74ee Core update (#34201)
add
2025-01-03 12:30:25 -07:00
Ed
a6a4a8da3f Merge pull request #687 from crystallpunk-14/ed-22-12-2024-upstream
Swap to RU lang, + Upstream sync
2025-01-03 18:38:23 +03:00
Ed
be6c2754f9 Update bagel.yml 2025-01-03 18:37:44 +03:00
Southbridge
a033abbfbe Amber Station and Science Spawner Tweaks (#34187)
* Modified science spawners a bit since I realized including maints loot was undesireable

* Linked Medical doors to buttons, redesigned the floor of the dining area a bit, placed more science spawners

* Somehow I overlooked that I was importing the maints loot table instead of the sci loot table

* Gave sci an EOD closet

* named the evac shuttle
2025-01-03 02:31:58 -07:00
PJBot
a13076bdc3 Automatic changelog update 2025-01-02 18:57:04 +00:00
Hannah Giovanna Dawson
edaf0a3820 Add some ion storm actions to replace removed ones (#34180)
* Add some ion storm actions to replace removed ones

* Remove other country references, replace

* Some more tuning of the storm values, removing real-world countries

* boldy basics
2025-01-02 19:55:57 +01:00
PJBot
c98a4b9607 Automatic changelog update 2025-01-02 18:24:35 +00:00
SlamBamActionman
21351df03a Add Chameleon PDA (#30514)
* V1 commit

* Remove PDA name and unnecessary pda state

* Adds PDA to Chameleon backpack & thief toolbox

* Change to use AppearanceDataInit

* Add basic PDA state to ensure there's always a sprite before AppearanceData can be applied

* Revert PDA name (this will be changed to another way later)

* Update PDA name updating to new system

* Fix yaml, and fix Agent ID chameleon

* Updated based on review
2025-01-02 19:23:28 +01:00
PJBot
34960c53cb Automatic changelog update 2025-01-02 16:50:36 +00:00
Ps3Moira
ecdcc9f6b3 Separate Tables n' Counters (#32673)
* Update tables.yml

* Remove Extra base: state_

* Update tables.yml
2025-01-02 17:49:30 +01:00
PJBot
65a463e666 Automatic changelog update 2025-01-02 16:47:21 +00:00
Dylan Hunter Whittingham
39ee853801 Added pricegun sound (#34119)
added pricegun sound

Co-authored-by: dylanhunter <dylan2.whittingham@live.uwe.ac.uk>
2025-01-02 17:46:13 +01:00
Alpaccalypse
1a5be80d04 Sprites defined for all non-generic computer boards. Added new syndicate computer board sprite. (#34104)
* Defined sprites for non-generic computer boards. Added new syndicate computer board sprite.

* Added new sprite to meta.json and updated attribution.

* Reformatted module.rsi meta.json to match other meta file styles.

* Syndicate board sprite made less yellow/gold, changed outer chips to black. Using grey/silver for CPU centre, akin to syndie agent PDA theme, and to keep distinctive from security board.

* Corrected indentation spacing for currently edited entities.

* Update Resources/Prototypes/Entities/Objects/Devices/Circuitboards/computer.yml

* add pr link to attribution

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>
2025-01-02 17:39:12 +01:00
PJBot
64a5473d53 Automatic changelog update 2025-01-02 16:17:51 +00:00
Dylan Hunter Whittingham
9af4e63a3b added basic admin logs for PDA notekeeper notes (#34118)
* added basic admin logs for PDA notekeeper notes

* formatting

* added new LogType 'PdaInteract' and changed PDA notekeeper logs to it

---------

Co-authored-by: dylanhunter <dylan2.whittingham@live.uwe.ac.uk>
2025-01-02 17:16:44 +01:00
Thomas
083d812e69 Removed Undesirable Ion Storm Verbs (#34175)
* Remove Undesirable Laws

* empty
2025-01-02 17:06:45 +01:00
Thomas
6f9d61f20d Make JPEG a PNG (#34176)
Make 3.png a PNG
2025-01-02 14:45:44 +01:00
chromiumboy
59a87ef2c8 Speech is relayed by holopad holograms (#33978)
* Initial commit

* Corrected a field attribute
2025-01-02 12:41:12 +01:00
chromiumboy
df487ea4fe Bugfix for the AI player's eye getting stuck when their broadcast is interrupted (#34093)
Initial commit
2025-01-02 12:27:18 +01:00
PJBot
13914497f2 Automatic changelog update 2025-01-02 09:47:37 +00:00
Alpaccalypse
f4e60ff96e Renamed "Irish Car Bomb" drink to "Irish Slammer" (#34107)
* Renamed "Irish Car Bomb" drink to "Irish Slammer", due to concerns over insensitivity.

* Fixing some missed references

* Added prototype id changes to migration.yml. Removed any reference to the troubles (and corrected ale to stout for flavour text).

* Corrected description back to "Irish Cream"

* Removed non-entities from migration.yml
2025-01-02 10:46:30 +01:00
Spanky
1bda7393ee Omega Update (Remove Christmas) (#34174)
omega soap
2025-01-01 21:03:53 -07:00
Spanky
2e888c2fe9 Packed Update (Remove Christmas & New Evac) (#34168)
* Packed update (remove christmas, new shuttle)

* Fix invalid

* the voices
2025-01-01 16:50:35 -07:00
Alpaccalypse
1a632b2689 Corrected all ghost role names to title case. (#34155)
* Corrected all ghost role names to title case.

* Removes full stop from Hamlet's title.

* Updated ghost role names not in the main ghost roles .ftl

* Two capitals corrections
2025-01-01 21:43:46 +01:00
PJBot
7261b868d7 Automatic changelog update 2025-01-01 16:28:56 +00:00
Errant
b5f8343797 remove nukemass song (#34066) 2025-01-01 17:27:50 +01:00
PJBot
863dfcd369 Automatic changelog update 2025-01-01 16:26:54 +00:00
ReeZer2
4f2d609890 FIX: Thief beacon doubled steal targets (#33750) 2025-01-01 17:25:48 +01:00
PJBot
5afa96140c Automatic changelog update 2025-01-01 16:24:08 +00:00
lzk
28284415ea Decrease hp for rusted walls (#34043) 2025-01-01 17:23:01 +01:00
PJBot
88d13048d5 Automatic changelog update 2025-01-01 16:20:39 +00:00
Booblesnoot42
6b95494426 Removed UseDelay component from RCD (#34149) 2025-01-01 17:19:30 +01:00
Booblesnoot42
588e8c1919 Fix friendly vent spiders (#34153)
Swapped order of parents for MobGiantSpiderAngry
2025-01-01 17:18:52 +01:00
Southbridge
10d94ad336 Amber Station Adjustments (#34126)
* Made a couple fixes to various decals, cleaned up some entities, gave the clown their bag and the bartender a handlabeler

* Several changes, more cameras, lighting fixes, adjusted hydro a bit, gave sec a bunch of shutters

* Added new random spawners for science and added them to Amber

* fixed the science spawners and modified amber slightly

* Fixed the random instrument entry
2025-01-01 01:32:27 -07:00
Emisse
fe8eee6b92 meta update (#34158) 2024-12-31 17:49:49 -07:00
PJBot
c5e3f8644d Automatic changelog update 2024-12-31 23:09:32 +00:00
ArtisticRoomba
ed2d784655 Standardize shotgun ammo in storagefills (#34156)
shotgun ammo changes
2024-12-31 16:08:26 -07:00
Nox
b080c6f900 Meta station overhaul (#33506)
* added mail, moved some things around, and fixed a lot of APCs

* fixed my mistakes

* Fixed a few mistakes and AI camera names

* Redid south medbay and more wiring

* Finished sci overhaul, and fixed all issues that I could find.

* rebuilt botany, removed vox box, fixed all known issues.

* Overhauled security

* Minor commit as I prepare to update my copy

* Rebalanced role counts

* Final changes, ready for review!

* Emisse and other people fixed issues with the station

* Finalized changes (for real this time)!
2024-12-31 15:54:57 -07:00
PJBot
59b86d41c7 Automatic changelog update 2024-12-31 13:26:12 +00:00
justdie12
ad0d790f1f Fix disposal signal routers sprites (#34139)
* Fix disposal signal routers sprites

* Remove old shitcode
2024-12-31 08:25:06 -05:00
PJBot
cba500c9d4 Automatic changelog update 2024-12-31 13:21:14 +00:00
amatwiedle
adaa584720 Add Holopad Circuit Board to A/V Communication Technology (#34150)
Added the holopad circuit board to the AV Communication technology and circuit imprinter lathe.
2024-12-31 08:20:07 -05:00
PJBot
bdea33d866 Automatic changelog update 2024-12-31 11:11:56 +00:00
crazybrain23
b69212b49a Add contraband parent to laser gun safe (#34132) 2024-12-31 12:11:51 +01:00
PopGamer46
9158d76fc1 Fixes borgs not being able to check their laws in crit (#34133)
* fix

* fix2
2024-12-31 12:10:46 +01:00
PJBot
dc90fab006 Automatic changelog update 2024-12-31 10:53:15 +00:00
chromiumboy
8545c3a70e Holopads no longer log broadcasted speech and emotes in the chat (#34114)
Initial commit
2024-12-31 11:52:08 +01:00
chromiumboy
c1c4b1c9a4 Holopad UI tweak for incoming calls (#34137)
* Initial commit

* Update

* Comment correction

* Minor margin increase
2024-12-31 11:37:28 +01:00
PJBot
b51f750035 Automatic changelog update 2024-12-31 10:30:50 +00:00
~DreamlyJack~
94422e299b Add hair pulato (#34117)
* add sprite pulato

* update

* add pulato hair

* add pulato hair

* add pulato hair

* update meta "pulato"
2024-12-31 11:29:39 +01:00
Emisse
494cb1822b bagel update (#34145) 2024-12-30 22:07:43 -07:00
Spessmann
b31a183324 Cog update (not very merry) (#34144)
removed christmas merry
2024-12-30 21:49:09 -07:00
Booblesnoot42
ff08fb3160 Rename cryobed yml file (#34134)
renamed cryopod.yml to cryogenic_sleep_unit.yml
2024-12-31 02:46:01 +03:00
TytosB
a1c8ac3301 Loop Station Decal and maints additions (#34103)
* many changes

* contentingregrationtests

* serialized invalid removed

* blank

* "Changes and fixes as suggested"

* blank

* blank

* added desk bells

* engi rework rework rework

* added gate to content integration

* tweaks

* aaa

* bbb

* added holopads

* ccc

* Update default.yml

* hotfix

* aaa

* bbb

* many many tweaks and fixes

* aaa

* decals and maints

* aaa

* bbb

* ccc

---------

Co-authored-by: Emisse <99158783+Emisse@users.noreply.github.com>
2024-12-30 13:07:00 -07:00
Southbridge
def73da9f3 Marathon Station - Dechristmassified (#34136)
* dechristmassified

* further dechristmassified
2024-12-30 13:06:04 -07:00
Southbridge
3fb7ee4068 Box Station - Dechristmassified (#34135)
* dechrismassified

* removed camera from shower
2024-12-30 12:48:37 -07:00
Ed
86e74a0fc2 Merge branch 'ed-22-12-2024-upstream' of https://github.com/crystallpunk-14/crystall-punk-14 into ed-22-12-2024-upstream 2024-12-30 15:06:39 +03:00
Ed
a75ac73c70 Merge remote-tracking branch 'upstream/master' into ed-22-12-2024-upstream 2024-12-30 15:05:05 +03:00
Ed
4011de828f Merge branch 'master' into ed-22-12-2024-upstream 2024-12-30 15:01:14 +03:00
Ed
5c9ea3f428 fix (#690) 2024-12-30 15:00:02 +03:00
Ed
de6ddb52be pulato (#689) 2024-12-30 13:58:53 +03:00
Viator-MV
3b53c1abbb map update (#688)
* Update comoss.yml

* Update comoss_d.yml

* Update comoss_d.yml

* Update comoss_d.yml

---------

Co-authored-by: Ed <edwardxperia2000@gmail.com>
Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2024-12-30 13:58:06 +03:00
Southbridge
4acfec8e36 Amber Station Overhaul (#34113)
* Step 01: Remade arrivals

* Nearly finished, also added new beacons and a holopad

* Wrapped up all changes, also added a beacon for the docking arm
2024-12-30 00:37:05 -07:00
Dylan Hunter Whittingham
608b433da4 Added ID entry for captain on Bagel (#34120)
added id for captain

Co-authored-by: dylanhunter <dylan2.whittingham@live.uwe.ac.uk>
2024-12-29 13:23:18 -07:00
Velcroboy
c2ffc25970 Adds kitchen/botany-locked maints airlock (#34116)
Co-authored-by: Velcroboy <velcroboy333@hotmail.com>
2024-12-29 21:14:36 +03:00
lzk
072b973f3b fix interdimensional teleporter desc (#34108)
Update hand_teleporter.yml
2024-12-28 22:28:58 -05:00
PJBot
da8bb996b1 Automatic changelog update 2024-12-29 03:26:46 +00:00
Velcroboy
d6a9fe1c84 Rolling joints no longer requires a filter (#34106)
* Remove filters from joint crafting

* err

* hmmm

* guhhh

* yyyy

* whitespace

---------

Co-authored-by: Velcroboy <velcroboy333@hotmail.com>
2024-12-28 22:25:39 -05:00
PJBot
a7ca552dfc Automatic changelog update 2024-12-29 02:03:31 +00:00
ArtisticRoomba
e07609b3b3 New cotton baguette, crostini, chevre-chaud, bagel, and croissant foods for moffs (#33508)
* A looooooooot of new cotton foods for the moffs

* address slam's comments on the food for moffs not having any moff food in the food (the food that's intended for moffs)

* alternative sprites for bagel-cottondough.png, baguette-cotton.png, and croissant-cotton.png

* update requested sprites

* change requested sprites

* address part of sloth's review, awaiting response

* address second half of review, fix magical food nutriment mitosis bug
2024-12-29 03:02:24 +01:00
Booblesnoot42
2c41ed0939 Corrected Cotton Dough Recipe (#33988) 2024-12-29 02:56:23 +01:00
PJBot
4bb68c4bac Automatic changelog update 2024-12-29 01:51:56 +00:00
SolStar
bfb256f0ba Add a guaranteed cotton pizza to pizza crates (#33997)
* add guaranteed cotton pizza to pizza crates

* saner parenting

* Use clearer suffix on cotton pizza box
2024-12-29 02:50:49 +01:00
PJBot
9f9553b526 Automatic changelog update 2024-12-29 01:50:11 +00:00
zHonys
5d0d37161d Added support so that smile can use hats (#33924)
* Added support so that smile can use hats

Changed Prototypes/Entities/Mobs/NPCs/pets.yml
Added smile_inventory_template.yml in Resources/Prototypes/inventoryTemplates
Added dir smile_displacement.rsi inside Resources/Textures/Mobs/Pets/smile.rsi
Added smile_displacement.rsi/meta.json
Added smile_displacement.rsi/head.png

* Fixed sprite path in ProtoTypes/Entities/Mobs/NPCs/pets.yml mapping to wrong smile_displacement.rsi
Fixed smile_inventory_template.yml using uiWindowPos as 1,2 instead of 0,1

Moved Resources/Textures/Mobs/Pets/smile.rsi/ to .../Pets/smile/smile.rsi/
Moved Resources/Textures/Mobs/Pets/smile.rsi/smile_displacement.rsi to .../Pets/smile/smile_displacement.rsi

* Minor fixes: removing comments and change naming

Renamed Resources/Textures/Mobs/Pets/smile/smile.rsi To .../Mobs/Pets/Smile/smile.rsi

* Removed smile_inventory_template.yml and used head_inventory_template.yml instead
2024-12-29 02:49:05 +01:00
github-actions[bot]
3f84b04e4c Update Credits (#34109)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2024-12-29 01:39:04 +01:00
PJBot
4155440a1b Automatic changelog update 2024-12-28 23:34:22 +00:00
chromiumboy
6c465153ab UI improvements for holopads (#34055)
* Initial commit

* Minor update
2024-12-29 00:33:15 +01:00
PursuitInAshes
01980cb0bf Removes weh.txt from Textures/Parallaxes (#34097)
Removes Unneeded File
2024-12-28 17:52:27 +01:00
PJBot
1b478d46f5 Automatic changelog update 2024-12-28 14:50:11 +00:00
psykana
616d34102b Traitor can no longer get multiple objectives to save/help/kill the same person (#33704)
* Deduplicate traitor objectives

* Remove redundant check
2024-12-28 15:49:03 +01:00
PJBot
b24ab38992 Automatic changelog update 2024-12-28 10:14:21 +00:00
Alpaccalypse
a21d8099a9 Removed Power Monitoring Computer boards from research and lathe recipes. Added default engineering sprites for atmos computer boards. (#34078)
* Defined sprites for Atmospheric Alerts and Monitoring computer boards. Added research unlocks and lathe recipes for them.

* Defined default engineering sprite for atmospherics computer boards. Removed Power Monitoring Computer board from research and lathe recipes.

* Defined engineering sprite for atmos computer boards. Removed Power Monitoring Computer board from research and lathe recipes.
2024-12-28 11:13:13 +01:00
lzk
d92ed75703 Fix wagging action name and desc (#34089) 2024-12-28 13:00:12 +03:00
Leon Friedrich
97dd5513f5 Ignore audio entities in SpawnAndDeleteEntityCountTest (#34021) 2024-12-28 11:54:32 +11:00
PJBot
9acce42f92 Automatic changelog update 2024-12-27 13:35:38 +00:00
Plykiya
860052c383 Fix popup on handcuffing for person being handcuffed (#33639)
* Fix popup on handcuffing for person being handcuffed

* wrap onto newlines to appease the style gods
2024-12-27 16:34:32 +03:00
PJBot
ca0596e6f1 Automatic changelog update 2024-12-27 12:35:38 +00:00
crazybrain23
34e9979dc5 Arrivals blacklist for bluespace lockers and QSIs (#34072)
* Ensure Arrivals Blacklist in Bluespace Locker rule

* While I'm at it, stop the QSI too

* fix thing I broke somehow

* Every bluespace locker arrivals blacklisted

* Add ArrivalsBlacklist to the prototypes too
2024-12-27 13:34:30 +01:00
PJBot
fab5dd178d Automatic changelog update 2024-12-26 22:48:31 +00:00
ArtisticRoomba
bf727b0ab6 Reinforced tables require welding to construct/deconstruct (#33992) 2024-12-26 16:47:22 -06:00
Emisse
52d39aac46 bagel update (#34073) 2024-12-26 00:06:48 -07:00
Southbridge
4b34dd672e Amber Station - Fixed evac shuttle screens (#34071)
Added Devicenetwork component to ensure the screens work
2024-12-25 19:43:53 -07:00
TytosB
392046fc70 Loop Station update and fixes (#34067)
* many changes

* contentingregrationtests

* serialized invalid removed

* blank

* "Changes and fixes as suggested"

* blank

* blank

* added desk bells

* engi rework rework rework

* added gate to content integration

* tweaks

* aaa

* bbb

* added holopads

* ccc

* Update default.yml

* hotfix

* aaa

* bbb

* many many tweaks and fixes

* aaa

---------

Co-authored-by: Emisse <99158783+Emisse@users.noreply.github.com>
2024-12-25 12:16:58 -07:00
Emisse
7803254b6f bagel update (#34062)
* bagel update

* fixgridatmos

* fdsafds
2024-12-25 00:08:35 -07:00
War Pigeon
4064d554d6 Link Core cargo shuttle atmos devices (#34061)
* Link Core cargo shuttle atmos devices

* Remove configurator lines

This matches what the DeviceNetworks in core.yml look like now. Hopefully it works?
2024-12-24 23:21:39 -07:00
Ed
94186c4a6b Update twoHandedStaffs.yml 2024-12-25 09:04:43 +03:00
PJBot
c83532ec3f Automatic changelog update 2024-12-24 02:26:10 +00:00
lzk
1cbc8c1dcc Allow to paint multiple airlocks (#34001)
* Allow to paint multiple airlocks

* oh right
2024-12-24 03:25:03 +01:00
github-actions[bot]
31aec7385d Update Credits (#33998)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2024-12-24 03:15:26 +01:00
crazybrain23
4e9862d01f Add crazybrain23 to CODEOWNERS (#34038)
Add myself to CODEOWNERS

Basically just added myself where Nik was since I am also doing headmin things.
2024-12-24 03:14:42 +01:00
PJBot
8fcfca689f Automatic changelog update 2024-12-24 00:25:26 +00:00
Ed
1c33073af4 Multiple items in loadouts (#33193)
* loadouts update

* Update loadout_groups.yml

* darts to candles

* Update Resources/Prototypes/Loadouts/dummy_entities.yml

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-12-24 01:24:19 +01:00
August Sun
39b2ce8cef Adds more air alarms and sensors throughout Oasis, linked unlinked air devices (#34046)
Adds more air alarms and sensors throughout Oasis

Co-authored-by: august-sun <45527070+august.sun@users.noreply.github.com>
2024-12-23 17:22:37 -07:00
Pieter-Jan Briers
285e9349b6 Fix race condition causing disconnected admins to appear in adminwho (#34033) 2024-12-24 11:18:31 +11:00
August Sun
2c4be6be00 Increases Marathon cryosleep size, added meteor shielding to Marathon chapelroid (#34044)
Increases Marathon cryosleep size, added meteor shielding to chapelroid

Co-authored-by: august-sun <45527070+august.sun@users.noreply.github.com>
2024-12-23 16:34:01 -07:00
PJBot
843a5de809 Automatic changelog update 2024-12-23 23:26:02 +00:00
Booblesnoot42
2dd99b5669 Removed protolathe from cargo on Amber (#34027) 2024-12-23 16:24:54 -07:00
Booblesnoot42
5d8e916cb2 Remove cog cargo protolathe (#34026)
* Removed protolathe from cargo on Amber

* Removed protolathe from cargo on Cog

* Revert "Removed protolathe from cargo on Amber"

This reverts commit 422db6e34a54c9256e3e1aad2098b64ff4cf0f96.

revert commit that should have been done on another branch
2024-12-23 16:24:47 -07:00
PJBot
030f97b2be Automatic changelog update 2024-12-23 19:55:25 +00:00
amatwiedle
b82605b185 Fix borgs being able to drink from buckets and spray bottles. (#32964)
* Added a check for if the entity trying to drink is a borg.

* Fixed missing namespace issue.

* Improved code conciseness.

* Removed borg chassis check, added stomach check.

* Removed unused namespace

---------

Co-authored-by: dankeaj <andrewjdanke@gmail.com>
2024-12-23 13:54:18 -06:00
Pieter-Jan Briers
f98192daff Fix the sensor monitoring console (#34035)
Still isn't really suitable to just map but at least it doesn't outright NRE anymore.

Alternative to #34032
2024-12-23 20:23:03 +01:00
Ed
661e96831f bruh 2024-12-23 22:13:38 +03:00
slarticodefast
dfc0e0199a minor fix to "silent footsteps for ninja" (#34040)
minor fix
2024-12-23 21:25:03 +03:00
PJBot
38bd2e5c1c Automatic changelog update 2024-12-23 14:25:20 +00:00
mubururu_
4ddd7d3c5f silent footsteps for ninja (#33280)
* waow

* nice suggestion

* nullable sound

* fix stuff

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-12-23 15:24:09 +01:00
slarticodefast
c873f90f6b Train: fix problematic atmos setup (#34018)
fix atmos setup
2024-12-22 13:41:35 -07:00
ScarKy0
f28c8127e2 Localized holopads for Box (#34011)
I love holopads
2024-12-22 12:56:30 -07:00
Pieter-Jan Briers
1450c4cade Specify privacy policy for Wizard's Den (#34013) 2024-12-22 17:12:37 +01:00
slarticodefast
2ff8238030 Merge stable into master (#34008) 2024-12-22 14:38:39 +01:00
Ed
4173d96d83 Merge remote-tracking branch 'upstream/staging' into ed-22-12-2024-upstream
# Conflicts:
#	Content.IntegrationTests/Tests/PostMapInitTest.cs
#	Content.IntegrationTests/Tests/ResearchTest.cs
#	Resources/Prototypes/Entities/Objects/Decoration/flora.yml
#	Resources/Prototypes/Entities/Objects/Misc/spaceshroom.yml
#	Resources/Prototypes/Maps/Pools/default.yml
2024-12-22 15:48:30 +03:00
Ed
6331379213 swap to RU 2024-12-22 15:45:16 +03:00
Errant
3358801b42 2024-12-20 Release "HoLoopad Holiday" (#34007) 2024-12-22 09:21:53 +01:00
Errant
58181c3412 adjust eshotgun recharge delay (#33996) 2024-12-22 09:02:55 +01:00
PJBot
1abe9db99c Automatic changelog update 2024-12-21 07:03:11 +00:00
Leon Friedrich
7baa1ae070 Update engine to v238.0.0 (#33980) 2024-12-21 18:02:04 +11:00
PJBot
b3551fb000 Automatic changelog update 2024-12-21 06:46:54 +00:00
Leon Friedrich
06e2bba8ab Toolshed refactor (#33598)
* Content changes for engine toolshed PR

* add contains command

* more permissive commands
2024-12-21 17:45:48 +11:00
metalgearsloth
b011dbb61e Update submodule to 237.4.0 (#33976) 2024-12-21 16:08:39 +11:00
metalgearsloth
9f4aa1ebe0 Implement some field-level deltas (#28242)
* Update GasTileOverlayState

* Update DecalGridState

* Update NavMapState

* poke

* poke2

* poke3

* Implement field deltas for guns

* Content done

* Update

---------

Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
2024-12-21 15:54:11 +11:00
PJBot
1f859167fd Automatic changelog update 2024-12-21 03:29:53 +00:00
JustinWinningham
12c5c7e91b Wood walls from barricades (#33902)
* Wood wall is now built from barricade congraph and on top of a barricade instead of using rods

* Fixed construction instructions for wooden wall

* Wood wall is now built from barricade congraph and on top of a barricade instead of using rods

* Fixed construction instructions for wooden wall

* fixed linter error

* Update Resources/Prototypes/Entities/Structures/Walls/walls.yml

Reasonable suggestion

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

* Update Resources/Prototypes/Entities/Structures/Walls/walls.yml

spelling error

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

* removed ability to build wall from 'junk' wood barrier'

* fixed ability to pry overlay barricades and not allow them to extend to full wood walls

* renamed incorrectly named entity

* fixed default entity graph so as to not complain for unit tests

* corrected my incorrect assumptions and fixed destroy cost

---------

Co-authored-by: Thomas <87614336+Aeshus@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-12-21 04:28:46 +01:00
PJBot
00f12e092a Automatic changelog update 2024-12-21 02:15:15 +00:00
ScarKy0
03a54e90f5 Increase syndicate uplink discount amount to 6. (#33950)
* Increase uplink discounts from 3 to 7

* nevermind, 6
2024-12-20 20:14:08 -06:00
PJBot
9a4f9561e6 Automatic changelog update 2024-12-20 22:35:50 +00:00
pocl v
3a917bcb56 Diona chirping & Nymph vocals (#32511)
* Adds chirping to adult diona

* Added vocals for diona nymph

* Nymphs now have a speechsound
2024-12-20 23:34:44 +01:00
PJBot
50cc90fb41 Automatic changelog update 2024-12-20 22:16:46 +00:00
lzk
919fdc0798 Add description of tool qualities to entity (#32436)
* Add description of tool qualities to entity

* LMAO I FORGOT FUCKING FTL FILE

* minor cleanup

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-12-20 23:15:40 +01:00
PJBot
bbceffac0e Automatic changelog update 2024-12-20 21:39:33 +00:00
AverageNotDoingAnythingEnjoyer
e4974cba25 Nanotrasen, Syndicate factions are now hostile to Dragons and Carps (#32515)
* Weh

Weh

* Now hostiles too!

Added Dragon to hostile factions for Hostiles

* Nah

Better not do this, I think
2024-12-20 22:38:27 +01:00
PJBot
a89d254425 Automatic changelog update 2024-12-20 21:28:04 +00:00
beck-thompson
a0a405768a Add clearer defib cooldowns! (#31251)
* First commit

* Fix silly test

* Swiched stuff up

* Update Content.Shared/Medical/DefibrillatorComponent.cs

* remove unneeded visuals

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-12-20 22:26:56 +01:00
PJBot
0e850ab370 Automatic changelog update 2024-12-20 20:36:01 +00:00
CaptainMaru
5a07413ef8 All hostile turret (#33970)
* All hostile turret

* Other factions are now hostile against "all hostile" too
2024-12-20 23:34:53 +03:00
Errant
1419b8868e combine licence files for StationEvents audio (#33972)
* merge licence files

* actual commit

* whoops
2024-12-20 21:51:03 +03:00
PJBot
f19377d6cb Automatic changelog update 2024-12-20 16:18:20 +00:00
VideoKompany
4c0a1348bd Fix communication console menu (#33655)
fix Communication console
2024-12-20 10:17:13 -06:00
PJBot
f4fd64756f Automatic changelog update 2024-12-20 14:37:03 +00:00
Piras314
34b906640f Remove Clearly Nuclear on Author's Request (#33971)
Revert "New Nukie Song (#25765)"

This reverts commit 806c0d162f.
2024-12-20 15:35:54 +01:00
metalgearsloth
a2912e3922 Add MovementSound (#31313)
Mainly useful for medicalborg so you can get a looping sound and not footsteps playing over and over.

Didn't actually update medborg because footsteps need updating.

Not needed for AI.
2024-12-20 14:51:17 +03:00
IProduceWidgets
864c2257b0 add man-o-war shuttle (#32105)
manowar
2024-12-20 14:36:23 +03:00
chromiumboy
39600f9516 Minor fixes for the holopad (#33969)
Initial commit
2024-12-20 13:51:00 +03:00
github-actions[bot]
7f2907a93a Update Credits (#33865)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2024-12-19 22:51:28 +01:00
August Sun
0462993153 Fixes/removes borg spawnpoint from Oasis Engineering, added one to Robotics (#33960)
removed borg spawnpoint from engineering, added one to robotics

Co-authored-by: august-sun <45527070+august.sun@users.noreply.github.com>
2024-12-19 13:02:35 -07:00
ArtisticRoomba
ee72cdacdc Update Fland for holopads (#33962)
* update fland for holopads

* fix duplicate holopad name
2024-12-19 12:55:41 -07:00
TytosB
fe69ef63f0 Loopstation hotfix (#33958)
Co-authored-by: Emisse <99158783+Emisse@users.noreply.github.com>
2024-12-19 20:26:14 +01:00
PJBot
ae5c1f5995 Automatic changelog update 2024-12-19 17:22:37 +00:00
Plykiya
7f6d55a1b6 Fix: Update armor crate description (#33414)
Update armor crate
2024-12-19 18:21:27 +01:00
chromiumboy
209c1769ee Tweaks for the holopad (#33928)
* Initial commit

* AIs get a warning when trying to answer long distance calls

* Better handling of ending telephone calls

* Fixed issue with duplicated holopad window when an AI answers a summons

* Changed how ranges are handled, added the bluespace holopad

* Bug fixes

* More bug fixes

* More bug fixes

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

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

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

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

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-12-19 18:20:20 +01:00
LevitatingTree
25980d8888 Remove plushie_lizard_mirrored.png (#33855)
* Remove plushie_lizard_mirrored.png

* Remove from meta.json

* Replace mirrored state from yml

---------

Co-authored-by: LevitatingTree <None>
2024-12-19 17:44:48 +01:00
PJBot
efa76be390 Automatic changelog update 2024-12-19 11:32:19 +00:00
Centronias
128721ee4e Logic Gate Compatibility with Non-Logic Signals bugfix (#33792)
:)
2024-12-19 12:31:13 +01:00
SpaceLizard
ef45c16667 Food Container Size Increase (#33842)
* Stuff

* hehe

* moar.
2024-12-19 13:15:48 +03:00
PJBot
2581c24bfe Automatic changelog update 2024-12-19 09:39:31 +00:00
TytosB
043510fb51 New mid pop station: Loop (#33697)
* many changes

* contentingregrationtests

* serialized invalid removed

* blank

* "Changes and fixes as suggested"

* blank

* blank

* added desk bells

* engi rework rework rework

* added gate to content integration

* tweaks

* aaa

* bbb

* added holopads

* ccc

* Update default.yml

---------

Co-authored-by: Emisse <99158783+Emisse@users.noreply.github.com>
2024-12-19 02:38:22 -07:00
ArtisticRoomba
66ea113eda Omega Power Rebalance (#33956)
* fix packed power

* Revert "fix packed power"

This reverts commit 4f44d0673e0a597bea39c594f5b7ace3069433ea.

* fic the entire thing again
2024-12-18 22:13:01 -07:00
ArtisticRoomba
c1b229aea5 Packed Power Rebalance + Gas Sensors Adjustments (#33955)
* fix packed power

* fix that

* fix that as well

* even more fixes

* fix power, again
2024-12-18 20:48:14 -07:00
ArtisticRoomba
28fa7cedc7 Meta Power Rebalance + Gas Pipe Sensors, Holopads (#33949)
power fixes, sensors, dim lights
2024-12-18 18:05:06 -07:00
Southbridge
943be3e75c Amber Statio - Localized Holopads and Balance Updates (#33948)
* Added loc versions of holopads to Amber, and made some adjustments given Acorn's feedback

* fixed the name of the gameroom

* Fixed it in the map file
2024-12-18 17:52:46 -07:00
Spanky
e7d5ab67ec Omega Update (Localized Holopads) (#33946)
* Omega Update (Localized Holopads)

Replaced all holopads with localized versions and a couple tiny misc

* Remove engi protolathe

* Forgot to rename engi fax whoops
2024-12-18 17:52:35 -07:00
PJBot
e70a3b8a21 Automatic changelog update 2024-12-19 00:47:43 +00:00
ArtisticRoomba
9de569d973 Show battery level for selected devices in Power Monitoring Console (#33854)
* Use class instead of out variables

* Show battery level in power monitoring console

* Better color contrast for battery level + localized string

* Add visualization to battery percentage

* Reverts random ChatSystem.cs whitespace change

* Address review

* Show BatteryLevel stats in child view when selecting devices

---------

Co-authored-by: Crotalus <crotalus@users.noreply.github.com>
2024-12-19 01:46:36 +01:00
Winkarst
f7bf694707 Comment LogTypes (#33497)
* Comment LogTypes

* Uncomment unused types

---------

Co-authored-by: Winkarst <74284083+Winkarst-cpu@users.noreply.github.co>
2024-12-19 01:18:04 +01:00
PJBot
383ecdd70f Automatic changelog update 2024-12-19 00:13:07 +00:00
Hannah Giovanna Dawson
c33d3350bd [Christmas] Y'all want a Smite Cranberry? (#33922)
* Add a festive lemon-lime soda variant: cranberry!

* Gave lemon-lime a brand name

* Make the CrateFoodSoftdrinksLarge slightly larger to accomodate the extra drinks.

* Extend the Christmas anomaly with extra jolliness

* Minor spelling mistake. Jollyness will not be denied.

* Removed redundant delay from meta file
2024-12-19 01:11:59 +01:00
Spanky
8f36d7d1c8 Reach/Cargo Update (Holopads & Atmos) (#33943)
* Reach/Cargo Update

Adds holopads and new atmos tech to Reach, and replaces cargo shuttle/ATS holopads with localized versions.

* Fix Invalid

invalidinvalidinvalidinvalidinvalidinvalid
2024-12-18 16:29:21 -07:00
ScarKy0
fa6de41ae9 Localized holopads + atmos network for Oasis (#33941)
Oasis stuff
2024-12-18 16:10:53 -07:00
Spanky
6f42ebf206 Packed Update (Holopads & Engi Stuff) (#33940)
Packed Holopad & Engi Update

Added holopads, atmos network monitor and sensors, advanced SMES, and revamped TEG setup.
2024-12-18 15:42:01 -07:00
ScarKy0
18de5ea986 Localized holopads for Bagel (#33934)
* Stuff

* Requested changes
2024-12-18 14:45:12 -07:00
ArtisticRoomba
52117fdc13 Marathon Power Rebalance + Gas Pipe Sensors, Holopads (#33938)
* fix marathon power

* add holopads

* add requested changes
2024-12-18 14:28:46 -07:00
ScarKy0
8a0edad886 Localized holopads for Cog (#33937)
* coggers

* Requested changes
2024-12-18 13:54:09 -07:00
PJBot
4fe69f2383 Automatic changelog update 2024-12-18 16:33:03 +00:00
ArtisticRoomba
345adcd5d0 New Drazil plushie (inverse lizard plushie) (#33776)
* Hew

* properly attribute hew.ogg

* add to maints locker plushie pool with low chance, clear up grammar

* shhhh nobody saw that linter failure

* adds localization support for Weh and Hew emotes

* fix capitalization error present since circa 2/25/2024

* resolve conflicts, fix sprite, add reversed inhands

* clear up cursed formatting
2024-12-18 17:31:55 +01:00
Ed
18fe8b9df0 Sprite Movement working with AI movement (#33494)
* FINALLY

* Update animals.yml
2024-12-18 17:15:34 +01:00
PJBot
b649517a17 Automatic changelog update 2024-12-18 15:14:46 +00:00
RedBookcase
c1558f689f Mercenary gear contraband tweaks. (#33647)
* Mercenary gear contraband tweaks.

* Fixed Mercenary Combat Gloves to have basic Combat Gloves as a parent again.

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

---------

Co-authored-by: RedBookcase <Usualmoves@gmail.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-12-18 16:13:40 +01:00
PJBot
97a2e0deef Automatic changelog update 2024-12-18 15:06:22 +00:00
SlamBamActionman
659bc8f2de Replace Cellular Slime mob damage with Caustic (#33104)
Cellular gone
2024-12-18 16:05:15 +01:00
Nim
868699a219 More beer, wine and ale (#686)
* more beer

* ru

* comoss fix update, loc change to eng

* Update dwarf.yml

---------

Co-authored-by: Ed <edwardxperia2000@gmail.com>
2024-12-18 17:37:06 +03:00
PJBot
d01839a990 Automatic changelog update 2024-12-18 14:28:05 +00:00
MilenVolf
8359541706 Fix hugging buckled mobs instead of unbuckling (#33635)
* Check buckle.BuckledTo value before hugging interaction

* Make InteractHandEvent to be used by BuckleSystem before InteractionPopupSystem instead of after
2024-12-18 15:26:58 +01:00
PJBot
337ef6c5aa Automatic changelog update 2024-12-18 13:16:13 +00:00
slarticodefast
e7294bdf4f Only disable panicbunker for admins with AdminFlags.Admin (#33879)
* Only disable panicbunker for admins with AdminFlags.Admin

* nicer curly braces
2024-12-18 14:15:04 +01:00
Centronias
6b99493e80 Reduce network burden of the hunger system (#32986)
* reduce network burden of the hunger system

* explicit start + last updated

* remove auto reformat changes to otherwise untouched code

add clamp helper

* imagine making breaking changes, documenting them, and then not thinking to check the yaml

* comments

* Remove unused net manager in hunger system
Remove lastAuthoritativeHungerValue from prototypes
2024-12-18 14:06:02 +01:00
ScarKy0
87f39af1cf Holopad prototypes for mapping (#33931)
* Init

* fix

* Atmosn't

* ID fixes

* locale
2024-12-18 12:38:00 +01:00
PJBot
94594debf3 Automatic changelog update 2024-12-18 11:27:28 +00:00
lzk
6c925d2c82 Make safes craftable (#32694)
* Made the Armory Gun Safe craftable with 10 steel, 10 plasteel, and 5 LV cables.

* Changed gun safe price to 335, to match the cost of its material components. Changed gun safe to start with no accesses when constructed.

* adress the review

* yeah

* wrah

* test fail is not real

---------

Co-authored-by: Ty Ashley <42426760+TyAshley@users.noreply.github.com>
2024-12-18 12:26:19 +01:00
ArtisticRoomba
1c0db473bc Fland Power Rebalance + Gas Pipe Sensors (#33933)
fix fland power
2024-12-18 04:09:50 -07:00
ArtisticRoomba
9f0a8aac7d Cog Power Rebalance + Holopads, Gas Pipe Sensors (#33930)
* fix cog power

* double fix cog power

* trial 3

* fourth go

* i stopped counting
2024-12-18 02:52:21 -07:00
Spanky
50fddd0804 Cargo Shuttle/ATS Update (#33927)
Update Cargo Shuttle/ATS

Adds holopads to the cargo shuttle and ATS. Also replaces the blast door buttons on the cargo shuttle with locked variants.
2024-12-18 01:37:56 -07:00
ArtisticRoomba
42f7279f52 Box Power Rebalance + Holopads, Gas Pipe Sensors (#33929)
* fix power

* Rebalance power, add holopads, add pipenet sensors

* recolor that one pipe I missed + remove invalids

* resave map, if this fails tests one more time, no more cake
2024-12-18 01:17:48 -07:00
Spanky
8b0b822207 Omega Update (Holopads & Engi Stuff) (#33926)
Omega Update

Add holopads, atmospheric network monitors & sensors, and advanced SMES's.
2024-12-17 22:55:09 -07:00
ArtisticRoomba
91b85be1a4 Bagel Power Rebalance + Gas Pipe Sensors (#33925)
* Balances bagel power

* Adds gas pipe sensors

* remove invalids :)
2024-12-17 21:45:50 -07:00
Southbridge
122e307694 Amber Station - Added Holopads, Atmos Monitoring, and Advanced SMESes (#33923)
* Added holopads and atmos network monitoring.

* Added the advanced SMESes to the station and evac shuttle

* Removed an accidentally mapped vox air alarm

* Fixed invalids in the escape shuttle
2024-12-17 21:44:29 -07:00
PJBot
ecc2edea6d Automatic changelog update 2024-12-18 00:13:41 +00:00
slarticodefast
908e476643 Fix admins not being able to health scan slimes (#33884) 2024-12-18 01:12:35 +01:00
Tiniest Shark
aaec1e684e Ground Light Post Crafting Description Fix (#33920)
Updates ground light post's crafting description
2024-12-18 01:03:45 +01:00
PJBot
5863cfc78a Automatic changelog update 2024-12-18 00:00:00 +00:00
ArtisticRoomba
e7330ece9c Adds Advanced SMES, an SMES with higher capacity for mapping (#33757)
* Adds Advanced SMES machine and board to autolathe roundstart

* Make Advanced SMES T2 Advanced Powercells research, reduce cost, remove from random spawner, add sprites by augustsun

* fix attribution formatting

* Update smes.yml to address review

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

* add new sprites and change naming scheme, testing something

* address review, tested it a bit more, works ingame

---------

Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
2024-12-18 00:58:53 +01:00
PJBot
27cb17f865 Automatic changelog update 2024-12-17 23:57:11 +00:00
Golinth
a9cf54aca8 Fix AME power generation (#32825)
* Change AME power generation

* Fix negative power, change formula slightly
2024-12-18 00:56:02 +01:00
slarticodefast
984b29082d Update PR size labeler line counts (#33915)
new numbers
2024-12-18 00:40:49 +01:00
ScarKy0
a55d26eb8b Holopads + Atmos Network Console for Bagel (#33921)
Holopads!
2024-12-17 16:17:37 -07:00
Ed
8fbaffe2e7 Gate map: Holopads added (#33918)
Update gate.yml
2024-12-17 14:37:19 -07:00
Myra
77a4cda8bc Master merge: Fix horrible lag in Zombies mode (#33818) (#33917) 2024-12-17 20:19:31 +00:00
psykana
59e955a559 Fix horrible lag in Zombies mode (#33818) 2024-12-17 21:16:05 +01:00
Saphire
3fe576b4c9 Merge main and stable back together 2024-12-18 01:59:46 +06:00
Myra
fb6e85e87e Test can now run on stable prs (#33914)
Make tests also run on stable and staging
2024-12-17 20:40:57 +01:00
PJBot
616ddc1776 Automatic changelog update 2024-12-17 19:19:23 +00:00
chromiumboy
7780b867ac Holopads (#32711)
* Initial resources commit

* Initial code commit

* Added additional resources

* Continuing to build holopad and telephone systems

* Added hologram shader

* Added hologram system and entity

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

* Initial implementation of holopads transmitting nearby chatter

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

* Fixed a bunch of bugs

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

* Replaced PVS expansion with manually networked sprite states

* Adjusted volume of ring tone

* Added machine board

* Minor features and tweaks

* Resolving merge conflict

* Recommit audio attributions

* Telephone chat adjustments

* Added support for AI interactions with holopads

* Building the holopad UI

* Holopad UI finished

* Further UI tweaks

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

* Minor bug fixes

* Added wire panels to holopads

* Basic broadcasting

* Start of emergency broadcasting code

* Fixing issues with broadcasting

* More work on emergency broadcasting

* Updated holopad visuals

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

* Code clean up

* Fixed issue with timing

* Broadcasting now requires command access

* Fixed some bugs

* Added multiple holopad prototypes with different ranges

* The AI no longer requires power to interact with holopads

* Fixed some additional issues

* Addressing more issues

* Added emote support for holograms

* Changed the broadcast lockout durations to their proper values

* Added AI vision wire to holopads

* Bug fixes

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

* Fixed error

* More bug fixes

* Fixed test fail

* Embellished the emergency call lock out window

* Holopads play borg sounds when speaking

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

* Borg chassis can now be seen on holopad holograms

* Holopad returns to a machine frame when badly damaged

* Clarified some text

* Fix merge conflict

* Fixed merge conflict

* Fixing merge conflict

* Fixing merge conflict

* Fixing merge conflict

* Offset menu on open

* AI can alt click on holopads to activate the projector

* Bug fixes for intellicard interactions

* Fixed speech issue with intellicards

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

* Simplified shader math

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

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

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

* Compatibility mode fix for the hologram shader

* Further shader fixes for compatibility mode

* File clean up

* More cleaning up

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

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

* Linked telephones will lose their connection if both move out of range of each other
2024-12-17 20:18:15 +01:00
Errant
bbf5369f14 Core - remove vox box (#33911)
remove Core vox box
2024-12-17 20:08:22 +01:00
Errant
332f870304 Oasis - remove vox box (#33912)
remove oasis vox box
2024-12-17 20:07:27 +01:00
slarticodefast
0fc2cca10c HOTFIX: Add [MRP] tag to the hostname for Salamander (#33909) 2024-12-17 14:37:53 +01:00
PJBot
ab8447956c Automatic changelog update 2024-12-17 13:36:36 +00:00
Tiniest Shark
32164c2ab8 Anomaly Scanner In-hand Sprites (#33427)
* Adds in-hand sprites to the Anomaly Scanner.

* Revert "Adds in-hand sprites to the Anomaly Scanner."

This reverts commit 257efd032a15d6459043f47106bd537abfe18fad.

im very stupid and need to undo my dumb commit.

* okay actually making sure these are committed this time like a smart boi

* Better version of the sprites based off of /tg station's health analyzer.

* Updated copyright to include link to sprite

* Updated copyright license and commit link

* Update Resources/Textures/Objects/Specific/Research/anomalyscanner.rsi/meta.json

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

* Update Resources/Textures/Objects/Specific/Research/anomalyscanner.rsi/meta.json

Aeshus adjusted indentation to better match original file.

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

---------

Co-authored-by: Thomas <87614336+Aeshus@users.noreply.github.com>
2024-12-17 14:35:23 +01:00
PJBot
0d31b8c37a Automatic changelog update 2024-12-17 11:57:55 +00:00
Patrik Caes-Sayrs
8f2d16aabf Zombies keep their anomalies on zombification (#33867)
* Zombies keep their anomalies on zombification

* Refactor anombies to isolate anomalies and zombies

InnerBodyAnomalies now send an event when the host dies.
Zombies cancels this event if the host is turning into a zombie.

* Anomazombies: deprecate CancellableEntityEventArgs

CancellableEntityEventArgs is deprecated. Use structs
with bool Cancelled instead.
2024-12-17 14:56:47 +03:00
PJBot
67e5cc2104 Automatic changelog update 2024-12-17 10:07:40 +00:00
Ed
a77fcdec76 Gate map (#32032)
* import

* remove perma asteroid

* remove cyrillic

* ok

* Remove Chromite island, Move AI, add cameras

* remove mapped garbage

* add station anchors

* admeme teleporter

* remove wapr points, add nav beacons

* telecomm, camera servers, some atmos fix

* crew server

* remove white plating, fix MANY pipestacking

* playtest bugs fixing

* big update

* bunch minor fixes

* Update gate.yml

* out of rotation
2024-12-17 13:06:33 +03:00
Southbridge
d90f6ce086 Amber station updates (#33899)
* Fixed various issued identified during playtests.

* Fixed a firelock stuck closed

* Added more cameras and moved others

* Fixed an issue with disposals

* Modified the map a bit after watching some matches and listening to feedback

* Reworked sec some more. Moved perma out into its own separate ship (another design from Frontier) Also performed various improvements to the station.

* Added final touches, ready to PR

* Added some more loot rooms throughout the map

* Changed up some areas in maints that I didn't like

* Removed footprints outside detective's room and wrenched down the logic gates in the ship building airlock

* I totally didn't forget to add the lights
2024-12-16 23:43:55 -07:00
PJBot
038ba39b97 Automatic changelog update 2024-12-17 03:54:23 +00:00
chromiumboy
27e59d35fb Atmospheric network monitor (#32294)
* Updated to latest master version

* Added gas pipe analyzer

* Completed prototype

* Playing with UI display

* Refinement of the main UI

* Renamed gas pipe analyzer to gas pipe sensor

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

* Added construction graph for gas pipe sensor

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

* Added gas pipe sensor variants

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

* Rendered pipe lines now get merged together

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

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

* Renamed console

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

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

* Massive code clean up

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

* Nav map blip data has been replaced with prototypes

* Nav map blip fixes

* Nav map colors are now set by the console component

* Made the nav map more responsive to changes in focus

* Updated nav map icons

* Reverted unnecessary namespace changes

* Code tidy up

* Updated sprites and construction graph for gas pipe sensor

* Updated localization files

* Misc bug fixes

* Added missing comment

* Fixed issue with the circuit board for the monitor

* Embellished the background of the console network entries

* Updated console to account for PR #32273

* Removed gas pipe sensor

* Fixing merge conflict

* Update

* Addressing reviews part 1

* Addressing review part 2

* Addressing reviews part 3

* Removed unnecessary references

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

* Declaring colors at the start of some files

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

* Fixed an issue with pipe sensor blip coloration

* Fixed delay that occurs when toggling gas sensors on/off
2024-12-17 04:53:17 +01:00
PJBot
f4765260cb Automatic changelog update 2024-12-16 19:24:38 +00:00
Ed
36c676741f Christmas anomaly (#33889)
* santa anomaly

* Update anomaly.yml

* injection

* Update anomaly.yml

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

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

* Update Resources/Textures/Structures/Specific/Anomalies/Cores/santa_core.rsi/meta.json

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

* Update Resources/Textures/Structures/Specific/Anomalies/santa_anom.rsi/meta.json

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

---------

Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>
2024-12-16 22:23:31 +03:00
Ed
af7e552d3c Flora clean up (#33839)
* first migrate

* clean up prototypes

* Update polymorph.yml

* Update flora.yml

* and this one

* and this one x2

* and this one x3

* Update migration.yml
2024-12-16 20:20:36 +01:00
PJBot
9eda08cd12 Automatic changelog update 2024-12-16 18:53:16 +00:00
beck-thompson
74e9576e66 Figures can now be activated remotely (#32769)
* First commit

* I'm silly

* weh

* will this work?

* Better design

* Fixes!

* rider :(

* L rider
2024-12-16 19:52:09 +01:00
PJBot
001b0edc7e Automatic changelog update 2024-12-16 17:54:45 +00:00
goet
db69ae67fe Spaceshroom grilling (#31872)
* make spaceshroom cookable on grill

* remove microwave recipe
2024-12-16 18:53:38 +01:00
Intoxicating-Innocence
2ccd471388 Chem master UI (#33328)
* chemmaster buffer has colors now

* I have saved chemists everywhere

* implimented panelcontainers instead of labels, slight visual rework

* added UI changes to input buffer

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

* Formatting and code cleanup

* pills still not rendering correctly

* more tinkering, entities finally display correctly

* entities display correctly, pill fields default to max now

* fixed stripes

* fixed excess pillCount bug

* removed cache, fixed tab swapping

---------

Co-authored-by: Saphire <lattice@saphi.re>
2024-12-16 18:17:06 +01:00
PJBot
74f873a9f7 Automatic changelog update 2024-12-16 16:28:47 +00:00
Vexerot
17e3ef32b7 Add Explosion Resistance to SecBelts (#33253)
Added explosion resistance to secbelt
2024-12-16 17:27:40 +01:00
PJBot
c35505c6b4 Automatic changelog update 2024-12-16 15:34:39 +00:00
SlamBamActionman
95328dab68 Add Holy damage (#32755)
* Initial commit

* hoili moili

* now to add sherlock and doctor who

* funny stick

* Oops it was meant to be called metaphysical

* Attribution

* Even BETTER attribution
2024-12-16 16:33:32 +01:00
PJBot
046dde7717 Automatic changelog update 2024-12-16 15:26:13 +00:00
dragonryan06
1e80dd2891 Add the Zombie, a new cocktail (#32802) 2024-12-16 16:25:06 +01:00
PJBot
782a2978f0 Automatic changelog update 2024-12-16 14:20:21 +00:00
deathride58
d8afcdcdf0 Makes admins not count towards the playercount cap (#33424)
* Makes admins not count towards the playercount cap

* Update Content.Shared/CCVar/CCVars.Admin.cs (thx Aeshus

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

* Actually fixes whitespace on the comments
Thanks VScode very good IDE

---------

Co-authored-by: Thomas <87614336+Aeshus@users.noreply.github.com>
2024-12-16 17:19:15 +03:00
PJBot
1368092d43 Automatic changelog update 2024-12-16 14:15:57 +00:00
KieueCaprie
881e4d3432 Add an in-hand sprite for the lizard plushie (#32583)
* add hold sprites for lizard plushie

* make the lizard plushie sprites slightly chonkier for those who are not wearing winter clothes.

* me when i hit the noise button and pretend it's shading.

* lizard plushie is not legally-distinct green dinosaur with a long tongue™ (front sprite tongue has been shortened)

* update meta.json
2024-12-16 17:14:51 +03:00
PJBot
2a6800f354 Automatic changelog update 2024-12-16 14:10:28 +00:00
Preston Smith
01c1d8f824 Prevent pulling when teleporting (#33252)
* No more teleporting pulling

* pulled dash

* Update Content.Shared/Ninja/Systems/DashAbilitySystem.cs

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

* Update Content.Server/Implants/SubdermalImplantSystem.cs

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

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-12-16 17:09:17 +03:00
PJBot
852b3e9bb6 Automatic changelog update 2024-12-16 12:54:28 +00:00
Baa
1f42413416 Fix udder wooly reagent creation V2 (#32905)
* Changed comments to be more clear and uniform.
EggLayer uses NextGrowth instead of frame accumulation.
Egglayer uses much less energy to make eggs, and lay time is randomized for player and AI chicken.

* UdderComponent ReagentId can be changed now
UdderSystem and WoolySystem use SharedSolutionContainerSystem now

* Entities with udders can be examined to see a rough hunger level
udders and wooly stop reagent generation/extra nutrient usage once the solution container is full

* Moved stuff to Shared
AutoPausedField now

* Cleanup moving stuff to Shared

* Oops. Make UdderSystem sealed instead of abstract.

* Switch PopupEntity for PopupClient

* Didn't mean to delete Access

* new() instead of default! prototype
revert egglayer balance change
NextGrowth += timespan   in egglayer

* forgot [Datafield] for NextGrowth

* forgot NetworkedComponent again...

* Renaming Shared Animal to Shared Animals to match Server
Hopefully also resolve merge conflicts.

* Fix incorrect filename

* Update with requested changes
Put UdderSystem dependencies in alphabetical order.
Initialise NextGrowth for Udder and Wooly components on MapInitEvent.
Clean-up EggLayerSystem a little.
Re-write OnExamine function for UdderSystem, improving clarity.
Add full stops to end of udder examine locales.
And more :)

* Add some additional descriptions for cow hunger levels.

* Add Udder and Wooly quantity to AutoNetworkedField

* Account for less than starving threshold.

---------

Co-authored-by: sirionaut <sirionaut@gmail.com>
Co-authored-by: Sirionaut <148076704+Sirionaut@users.noreply.github.com>
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
2024-12-16 13:53:21 +01:00
PJBot
d5323332a6 Automatic changelog update 2024-12-16 12:34:40 +00:00
Tayrtahn
cf738857fe Add a test to check that lathe recipes are possible (#33868)
* Add a test to check that all lathes accept the materials for all their recipesy

* Add check for storage limit

* Track total recipe material volume

* Check dynamic and emag recipes too

* Move AllLatheRecipesValidTest from ResearchTest to LatheTest

* Extremely minor modernization
2024-12-16 13:34:02 +01:00
beck-thompson
196782774b Add generator scrap (Plasma / uranium scrap) (#32198)
* First commit

* Forgot the shading!

* tweaked  values

* sprite update

* Radiation
2024-12-16 13:33:34 +01:00
metalgearsloth
386e431ea7 LightOnCollide entityquery (#33886) 2024-12-16 13:24:00 +01:00
deltanedas
2635888b6a add SpawnTableOnUse (#32620)
* add SpawnTableOnUse

* make BaseEmitSound more flexible and remove sound from spawntable

* add log

* :trollface:

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-12-16 15:23:14 +03:00
ActiveMammmoth
cd23805750 Wizard Mind Swap Spell (#33416)
* working mind swap spell

* Removing unncessary spacing

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

* Changing mind swap speech

Co-authored-by: keronshb <54602815+keronshb@users.noreply.github.com>

* All requested changes in review

* Stores owned by mind instead of body

* Requested changes, traitor uplink fixed

* Revert "Requested changes, traitor uplink fixed"

This reverts commit 2ceac6733d6a28890f60d2ccef3dafa160a702fd.

* Revert "Stores owned by mind instead of body"

This reverts commit dfb72ab70ed66db50312617f2dce02d0a4e4dfce.

* Separate target and performer stun duration

---------

Co-authored-by: Thomas <87614336+Aeshus@users.noreply.github.com>
Co-authored-by: keronshb <54602815+keronshb@users.noreply.github.com>
2024-12-16 15:12:45 +03:00
PJBot
612f8bedab Automatic changelog update 2024-12-16 12:09:14 +00:00
Plykiya
a4d6f09a4f Cluster grenade refactor and contra markings (#31108)
* Cluster grenade refactor

* oopsies on the name

* Solve client-side errors

* reviews addressed

* filling scattering grenades is now predicted

* reviews addressed
2024-12-16 13:08:07 +01:00
TGRCDev
1266b05b02 Bug fixes for Store UIs with multiple currencies (#33565)
Fixed stores with multiple currencies having bad formatting and non-functional withdraw screens
2024-12-16 14:57:11 +03:00
PJBot
51a45ae640 Automatic changelog update 2024-12-16 11:54:25 +00:00
PJBot
e0a1db6e45 Automatic changelog update 2024-12-16 11:53:18 +00:00
psykana
5e8db16660 Zombies can see Initial Infected (#33665)
* Zombies can see Initial Infected

* Update zombie character info text
2024-12-16 14:53:13 +03:00
Litraxx
46d288cc39 Rename Dungeon Master Laws to not run into copyright problems (#33678)
* Rename Dungeon Master Laws to not run into copyright problems

* Revert direct map changes

* Added renaming of DungeonMasterCircuitBoard to migration.yml

* Remove whitespace changes to oasis.yml

---------

Co-authored-by: Litrax <email@emal.com>
2024-12-16 14:52:03 +03:00
Nim
a248c176ae Crane barrel (#672)
* crane barrel

* fix

* sprite resize, file rename

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2024-12-16 11:43:29 +03:00
Ed
862df73ff2 Demiplane modifiers groups & tiers (#678)
* data setup

* demiplanes modficators combine refactor

* generationProb

* demiplane tiers setup

* migration, and t2 loots

* t2 balance tweaks

* retags

* weather modifiers group

* maplight modifiers

* more passed checks

* wanderer buy positions localization fix

* fixes
2024-12-16 00:38:29 +03:00
Tayrtahn
5958801182 Separate RGlass recipe for autolathe and ore processor (#33876) 2024-12-15 22:02:32 +01:00
A.Ne.
57a795261f mithril and lucens modular parts (#682)
Co-authored-by: Ed <edwardxperia2000@gmail.com>
2024-12-15 22:40:05 +03:00
Ed
e102b5011e Merge remote-tracking branch 'origin/map-upate' 2024-12-15 22:17:29 +03:00
Viator-MV
35c45e70f6 Christmas map (#681)
* Update comoss.yml

* Update comoss_d.yml
2024-12-15 22:11:38 +03:00
A.Ne.
f655f74b03 mithril and lucens (#660)
* mithril and manarium

* Rename manarium to Lucens

* pointlight to tree

* lucens tile

* Update trees.yml

* logs sprite

* Update trees.yml

* delete acacia tiles, recolor lucen example

* tiles new palette

* Update ores.yml

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

* tiles update

* Update tiles.ftl

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2024-12-15 12:53:31 +03:00
PJBot
102d4fbc95 Automatic changelog update 2024-12-14 16:04:27 +00:00
Nim
df7b9d1e04 Other colour of the binary channel (#33841)
* radio

* color 2

* console-announcement

* 5ed7aa
2024-12-14 17:03:18 +01:00
Southbridge
7d82d2d5da Amber station updates (#33845)
* Fixed various issued identified during playtests.

* Fixed a firelock stuck closed

* Added more cameras and moved others

* Fixed an issue with disposals

* Modified the map a bit after watching some matches and listening to feedback

* Reworked sec some more. Moved perma out into its own separate ship (another design from Frontier) Also performed various improvements to the station.

* Added final touches, ready to PR
2024-12-14 16:59:43 +01:00
Errant
a3fc690236 Cherry-pick to stable: Amber Station - Playtest Fixes (#33773) (#33811)
Amber Station - Playtest Fixes (#33773)

* Fixed various issued identified during playtests.

* Fixed a firelock stuck closed

* Added more cameras and moved others

* Fixed an issue with disposals

Co-authored-by: Southbridge <7013162+southbridge-fur@users.noreply.github.com>
2024-12-14 16:40:21 +01:00
Ed
58269bb65e Snowballs (#677)
* snowballs

* biome update

* fixes
2024-12-14 14:57:15 +03:00
PJBot
744b105fc6 Automatic changelog update 2024-12-13 23:01:52 +00:00
godisdeadLOL
06071a5d8a Secret stash wrench anchoring fix (#31779)
* secret stash wrench fix

* fix

* cleanup

---------

Co-authored-by: YourUsername <you@example.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-12-14 00:00:45 +01:00
Ed
d7d0977eb6 New year preparation (#674)
* garland

* presents filter

* vladimirs weather

* snowed tilebrick
2024-12-14 01:01:36 +03:00
Ed
4cea96f6eb Garland (#673)
* garland

* presents filter
2024-12-13 22:20:00 +03:00
Ed
e30c5848c5 Update crates.yml 2024-12-13 17:55:54 +03:00
Ed
c9d2b8fb2b remove footprints (#670) 2024-12-13 17:33:42 +03:00
PJBot
2c00abbcae Automatic changelog update 2024-12-13 14:25:41 +00:00
Southbridge
7eb714d38f Monospace Support for Rich Text (#33830)
* Initial Commit

* Moved all this to SS14 on it's own

* Added prototype validation
2024-12-13 15:24:34 +01:00
Ed
e1f67be2a8 Snowdrifts (#669)
* snowdrifts

* Update fire.png

* alerts sprite optimize

* Update wooden.png

* stone wall fix
2024-12-13 16:59:37 +03:00
PJBot
e704f4e9a8 Automatic changelog update 2024-12-13 13:55:04 +00:00
LevitatingTree
b46f487503 Add meat tag to Five Alarm Burger (#33848)
* Add meat tag to Five Alarm Burger

* Revert "Add meat tag to Five Alarm Burger"

This reverts commit e483b5effe63a8cbdcce81eeddc622f5555ae240.

* Re-add tag, but in notepad

* Move tag down to follow hierarchy

---------

Co-authored-by: LevitatingTree <None>
2024-12-13 14:53:56 +01:00
Ed
3f8757dec9 Update migration.yml 2024-12-13 15:06:10 +03:00
PJBot
9329fcf32e Automatic changelog update 2024-12-13 03:11:29 +00:00
lzk
115b3e0519 Increase war ops evac time (#33628) 2024-12-12 21:10:20 -06:00
Ed
eb76a9ef6a Ed 12 12 2024 bugfixes (#668)
* fix #665

* fix #664

* fix #661

* fix #666
2024-12-12 23:00:16 +03:00
Ed
93a49ca398 Snowy (#659)
* snow tiles

* snow trees (2\6)

* +1 tree

* third snow layer, and simple snow biome
2024-12-12 21:51:03 +03:00
onesch
9d7846ed72 Safari hat In-hand Sprites (#33464)
* adds in-hand sprites to the safari hat.

* Update copyright wording

* visual fix

* Resprite in-hand sprites.

* linting meta.json
2024-12-12 18:09:43 +01:00
lzk
18322ec76f fix ghost command error string (#33838) 2024-12-12 11:18:53 -05:00
PJBot
b959a64f2c Automatic changelog update 2024-12-12 14:25:41 +00:00
Winkarst
48f62da2dc Update APE guidebook to contain Sigma particles, Transformation and colors for effects (#33558)
* Update APE guidebook

* Lang error

* Update Resources/ServerInfo/Guidebook/Science/APE.xml

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

* Update Resources/ServerInfo/Guidebook/Science/APE.xml

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

* Update Resources/ServerInfo/Guidebook/Science/APE.xml

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

* Update Resources/ServerInfo/Guidebook/Science/APE.xml

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

---------

Co-authored-by: Winkarst <74284083+Winkarst-cpu@users.noreply.github.co>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>
2024-12-12 15:24:34 +01:00
A.Ne.
2b3cc9e868 key rings fix (#620)
* key rings fix

* Update SharedCP14LockKeySystem.cs
2024-12-12 13:12:58 +03:00
onesch
842bbeb85f Warden headdresses In-hand Sprites (#33521)
* Adds in-hand sprites to the warden beret.

* Adds in-hand sprites to the warden cap.

* resprite in-hand sprites to the warden cap.
2024-12-12 02:44:48 +01:00
Ed
c42b77d0c9 Merge pull request #658 from crystallpunk-14/ed-11-12-2024-upstream
Upstream sync
2024-12-11 21:18:17 +03:00
Ed
6c8b0a07f3 yep 2024-12-11 21:17:43 +03:00
PJBot
67d444feb0 Automatic changelog update 2024-12-11 16:22:11 +00:00
BramvanZijp
ce9fc82382 Rework the HoS's Energy Shotgun (Varying energy consumption depending on fire-mode + re-adds a toned down self recharge.) (#32104)
* Rebalance HoS's Energy Shotgun

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

* Prevent recharge cooldown if 0 power is used.

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

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

* Clean up the client ammo UI fix.

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

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

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

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

* Fix another internal issue

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

* cleanup

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-12-11 17:21:04 +01:00
PJBot
5ba868af79 Automatic changelog update 2024-12-11 15:59:10 +00:00
metalgearsloth
1a8e469c58 Fix battery self-recharge mispredicts (#33384) 2024-12-11 16:58:02 +01:00
Velcroboy
976cae9c78 Names camera routers (#33496)
Co-authored-by: Velcroboy <velcroboy333@hotmail.com>
2024-12-11 16:02:15 +01:00
PJBot
fc738b6690 Automatic changelog update 2024-12-11 14:31:38 +00:00
slarticodefast
c28f4fdc7f Fix greytide virus hitting other maps (#33806)
fix greytide virus hitting other maps
2024-12-11 15:30:29 +01:00
TGRCDev
89522e7144 Made anchor visuals generic (#33810)
Added a generic anchor visuals enum
2024-12-11 14:50:20 +01:00
Ed
af918c1253 Update audio_music.yml 2024-12-11 14:53:49 +03:00
Ed
be15a4097c Update cp14-ignoredPrototypes.yml 2024-12-11 14:49:44 +03:00
Ed
cd736e4fd4 Merge remote-tracking branch 'upstream/stable' into ed-11-12-2024-upstream
# Conflicts:
#	Content.IntegrationTests/Tests/PostMapInitTest.cs
#	Content.Shared/Lock/LockSystem.cs
#	Resources/Maps/oasis.yml
#	Resources/Prototypes/Maps/Pools/default.yml
#	Resources/Prototypes/audio.yml
2024-12-11 14:49:02 +03:00
Ed
576bbe91d0 Roofs (#657)
* simple roo system

* tweaks

* roof sprite update

* transparent roof

* wooden roof sprite

* remove weather: false from all tiles

* stone roof + roofs crafting

* final shtrix, maps update

* fuck

* fix checks

* reagent auto vaporize tweaks

* Update base.yml
2024-12-11 14:44:16 +03:00
Ed
e4b60b31c0 Ed 10 12 2024 aah (#656)
* fix ghost zlevel moving

* stairways autorotation

* ladders sprite update

* slow space swimming

* fix wrong wood spawn

* deadly ocean

* Update zLevels.yml
2024-12-10 21:24:06 +03:00
PJBot
7b681b66ae Automatic changelog update 2024-12-10 13:46:28 +00:00
metalgearsloth
2b487baea0 Fix blank newline on empty examine groups (#33813)
Construction always grants a blank newline even if it not currently constructing.
2024-12-10 14:45:20 +01:00
slarticodefast
7ed32f2c7d Merge into master: Derelict icon hotfix (#33768) (#33802) 2024-12-10 11:34:40 +01:00
PJBot
ee10fc246f Automatic changelog update 2024-12-10 10:01:27 +00:00
ArtisticRoomba
0e4728b6d4 Fix: SMES now has wirepanels visuals (#33808)
SMES now has wirepanels visuals
2024-12-10 11:00:17 +01:00
Ed
99786342fb Comoss sewers (zlevels added) (#655)
* comoss zlevel sewers

* Update biome_template_caves.yml

* Update GhostSystem.cs

* Update GhostSystem.cs
2024-12-10 00:43:30 +03:00
ArtisticRoomba
b1fca73f91 Meta station TEG power fixes + misc stuff (#33791)
* Fix Meta TEG power issues, give singulo more scaffold, give AI two cams in singulo containment like other stations

* remove serialized invalids because it happens to the best of us

* properly setup cameras, label substation and atmos APC while I'm here
2024-12-09 14:13:21 -07:00
Ed
22b0f46890 Roundleave ship clean up (#653)
* cryo shuttle rework

* Update entities.ftl
2024-12-09 20:39:56 +03:00
Ed
bec8d7a7d4 Ghost z-levels move actions + mapping z-levels combine command (#654)
* some setup

* fast ghost zlevels-moving

* zlevel combine command for mapping
2024-12-09 20:39:46 +03:00
PJBot
dd96f77faa Automatic changelog update 2024-12-09 17:14:04 +00:00
joshepvodka
9cb46d9343 Bar related tweaks (#33505)
* does everything

* beer flavor revert and linter fix

* Update Resources/Locale/en-US/flavors/flavor-profiles.ftl

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

* fix misspelling

* fix yet another misspelling

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

* english has weird spellings huh

* im starting to feel ashamed of myself

* this is shameful

---------

Co-authored-by: Thomas <87614336+Aeshus@users.noreply.github.com>
2024-12-09 18:12:57 +01:00
PJBot
35b1c04494 Automatic changelog update 2024-12-09 16:11:20 +00:00
ScarKy0
60bf48ccce You can now pet the AI core. (#33788)
Pettable AI core
2024-12-09 17:10:13 +01:00
ScarKy0
3844352fee Derelict icon hotfix (#33768)
whoops
2024-12-09 13:56:25 +01:00
slarticodefast
8bb4c82890 add "Changes: Audio" label to labeler (#33790)
add audio label to labeler
2024-12-09 11:56:30 +01:00
PJBot
a7957ddf65 Automatic changelog update 2024-12-09 08:55:30 +00:00
deathride58
5ab8e467a5 Adds an introductory message to the user-facing ahelp chat window (#33348)
* Adds an introductory message to the user-facing ahelp chat window

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

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

---------

Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>
2024-12-09 09:54:23 +01:00
dylanstrategie
38c35d8315 Major Marathon atmospherics rework (#33688)
* Major Marathon atmospherics rework

* More atmos changes

---------

Co-authored-by: dylanstrategie <188926747+dylanstrategie@users.noreply.github.com~>
2024-12-08 23:21:04 -07:00
sleepyyapril
7fd89806e2 Fix Disposals Ejections (#33468)
* Fix disposals.

* Rename properly

---------

Co-authored-by: sleepyyapril <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>
2024-12-08 22:08:07 -06:00
PJBot
1510e892f0 Automatic changelog update 2024-12-09 03:52:59 +00:00
Plykiya
8f2b19e103 Popup when being pulled shows who is pulling you (#33612)
* Popup when being pulled

* Update Content.Shared/Movement/Pulling/Systems/PullingSystem.cs

Co-authored-by: MilenVolf <63782763+MilenVolf@users.noreply.github.com>

* Update Resources/Locale/en-US/movement/pulling.ftl

Co-authored-by: MilenVolf <63782763+MilenVolf@users.noreply.github.com>

---------

Co-authored-by: MilenVolf <63782763+MilenVolf@users.noreply.github.com>
2024-12-08 21:51:53 -06:00
PJBot
a7e1adf395 Automatic changelog update 2024-12-09 03:42:17 +00:00
Errant
d57e731635 Signal timer duration limit (#33781)
* max duration

* comment
2024-12-08 21:41:11 -06:00
PJBot
670f1a8e28 Automatic changelog update 2024-12-08 23:21:10 +00:00
slarticodefast
ede8a1d377 Fix gas pipe leaking when unanchoring or breaking them (#33774)
* fix gas pipe unanchoring

* remove unneeded update

* revert popup change
2024-12-09 00:20:04 +01:00
PJBot
c4556fcbfe Automatic changelog update 2024-12-08 22:51:22 +00:00
ArtisticRoomba
34bfc59b18 Fix detective Vox spawning with their chosen outer clothing on the floor, force detective to have a selected outerclothing like all other sec roles (#33765)
fix detective vox spawning with their outer clothing on the floor
2024-12-08 23:50:14 +01:00
PJBot
98ad7a872f Automatic changelog update 2024-12-08 22:38:41 +00:00
Pieter-Jan Briers
f9da25881d Singularity equipment can now be activated with E interact (#33762)
These were coded to only listen to InteractHand, which doesn't follow our interaction model properly.
2024-12-08 23:37:32 +01:00
Ed
5384adb2b3 Blacksmith again (#652)
* golden and copper sword

* copper sickle

* maces

* shovels

* modular axes

* fixes
2024-12-09 00:40:27 +03:00
Errant
0c4dd9d1b9 Revert "Simplify separated screen top menu (#33047)" (Stable -> Master) (#33785) 2024-12-08 22:14:34 +01:00
Vasilis The Pikachu
8472603b76 Revert "Simplify separated screen top menu (#33047)"
This reverts commit f27fa1ed30.
2024-12-08 21:36:48 +01:00
Ed
c2b7c5146d second blacksmith 2024-12-08 14:43:12 +03:00
Ed
61454e351c Another blacksmith minor update (#648)
* modular golden sickle

* anvil and furnace resprite

* Update comoss.yml
2024-12-08 14:17:48 +03:00
Southbridge
73d5129644 Amber Station - Playtest Fixes (#33773)
* Fixed various issued identified during playtests.

* Fixed a firelock stuck closed

* Added more cameras and moved others

* Fixed an issue with disposals
2024-12-07 23:31:51 -07:00
PJBot
4661e9ef86 Automatic changelog update 2024-12-08 01:47:48 +00:00
Pieter-Jan Briers
299b13f21b Give silicons proper lobby/character editor previews (#33763)
* Give silicons proper lobby/character editor previews

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

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

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

* Update Content.Shared/Roles/JobPrototype.cs

* Update Content.Client/Lobby/LobbyUIController.cs

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

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-12-08 02:46:41 +01:00
github-actions[bot]
3d53e748fa Update Credits (#33772)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2024-12-08 01:57:20 +01:00
Myra
337952dcb4 Codeowners cleanup (#33297) 2024-12-08 01:01:57 +01:00
Ed
dc5333ee18 localization update 2024-12-08 01:19:57 +03:00
Ed
0662299120 Aftertest tweaks (#647)
* fix #641

* fix #639

* add copper, bloodflowers and wild sage into comoss island

* remove additional alchemist and blacksmithes roles

* more roundstart resources for alchemist and blacksmith

* disable footprints system

* cryo shuttle mechanic

* update cargo ship

* veryy magical

* tips update

* fix #635

* green cloak

* Update T0_cure_poison.yml
2024-12-08 00:52:35 +03:00
Emisse
c85642d920 let bagel be played at max pop (#33769) 2024-12-07 14:24:16 -07:00
SpaceManiac
20be8298b7 Organize the Sandbox Panel window (#33684)
* Organize Sandbox Panel

* Map Editing -> Editing

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

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

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

* Shows Spawns -> Show Spawns

* Remove SandboxSystem.MachineLinking
2024-12-07 19:13:56 +01:00
Ed
80be633aa1 Update ContentLocalizationManager.cs 2024-12-07 20:55:30 +03:00
Ed
264ef809bd Update personal_objectives.yml 2024-12-07 20:49:51 +03:00
Ed
ccc97f0e70 Update CP14SandboxRU.xml 2024-12-07 15:04:28 +03:00
Ed
15017b7c4f personal key loadout 2024-12-07 14:49:02 +03:00
Ed
2d54561a31 Update ContentLocalizationManager.cs 2024-12-07 12:41:51 +03:00
Emisse
7f5c3cf751 infiltrator update (#33759) 2024-12-07 01:36:03 -07:00
Southbridge
cf73cd5ddc Box Station - Now more festive! (#33751)
Added more holiday decorations
2024-12-06 23:53:36 -07:00
PJBot
1a96a2bcc8 Automatic changelog update 2024-12-07 05:59:31 +00:00
Piras314
0d45dfada9 Christmas Nuke Song (#33752)
* 圣诞歌曲

* Update Resources/Audio/StationEvents/attributions.yml

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

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-12-06 23:58:23 -06:00
PJBot
44daf85566 Automatic changelog update 2024-12-07 03:41:00 +00:00
metalgearsloth
9365e3a99b Predicted gas pumps (#33717)
* Predicted gas pumps

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

* a

* Remove details range
2024-12-07 14:39:52 +11:00
Nim
417668b88b Crayon (#634)
* crayon

* add crayon into loots

---------

Co-authored-by: Ed <edwardxperia2000@gmail.com>
2024-12-07 00:50:54 +03:00
Winkarst
4beb1016cc Make unknown shuttle events trigger an announcement (#33450)
* Make unknown shuttle events trigger an announcement

* Call base at the end

---------

Co-authored-by: Winkarst <74284083+Winkarst-cpu@users.noreply.github.co>
2024-12-06 22:39:35 +01:00
Ed
52a0f44aa1 Bank progression mechanic (#633)
* bank progression mechanic

* loc fix

* minor random fixes

* minor tweaks

* lighthouse

* Vladimirs Alerts!

* offset alerts

* lighthouse
2024-12-07 00:39:05 +03:00
deltanedas
3300ff2a06 clean up random lathe recipes (#31525)
Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-12-06 16:45:01 +01:00
MilenVolf
b66fd98514 Localize ai dataset names (#33608)
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-12-06 16:38:00 +01:00
K-Dynamic
e244472546 Samurai dogi is now major contraband (#33699) 2024-12-06 16:36:26 +01:00
0tito
de19418126 Add Sprite changes to Logic Gates to show the input/output state (#33277) 2024-12-06 16:35:48 +01:00
beck
6add781c4a Added several variables to make ClumsyComponent more modular for developers. (#33715)
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-12-06 16:31:31 +01:00
Ed
02cbeee6dc Demiplane fixes (#632)
* limit demiplace wshwooshing by interaction range, fix global gibbing

* Update base.yml

* fix #521
2024-12-06 17:16:38 +03:00
PJBot
d6d95f1a7a Automatic changelog update 2024-12-06 10:16:30 +00:00
Ed
7d410d6094 Fix debris chunks loot spawning (#33747)
Update DungeonJob.PostGenBiome.cs
2024-12-06 11:15:23 +01:00
Errant
2d6e52b21c vox guidebook update poison regen (#33739)
* vox guidebook regen update

* damage number

* skreee
2024-12-06 09:43:11 +01:00
Southbridge
623a35b3fe Amber Station - Added Evac Shuttle (#33743)
* Added evac shuttle and fixed various issues brought up during playtests

* Updated Amber with playtest feedback, removed waste loop and firelocks from evac shuttle
2024-12-06 01:39:25 -07:00
PJBot
94090f7403 Automatic changelog update 2024-12-06 06:23:45 +00:00
ScarKy0
274c3ab0b9 Derelict Borg Revival (#33433)
* Derelictn'tn't Borg!

* Clean *sparkles*

* Removed "S: Awaiting Changes"
2024-12-06 00:22:38 -06:00
PJBot
38c8ffb9b5 Automatic changelog update 2024-12-06 05:28:59 +00:00
Winkarst
52a886947f Add a maintenance panel to bar signs (#33467)
* Add a maintenance panel to bar signs

* Update Resources/Locale/en-US/wires/wire-names.ftl

* AI interactions

---------

Co-authored-by: Winkarst <74284083+Winkarst-cpu@users.noreply.github.co>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-12-05 23:27:52 -06:00
MilenVolf
d6ba7598bd Fix name duplications (#33740)
* Fix name duplication

* Apply requested changes
2024-12-05 23:19:27 -06:00
Velcroboy
207c849e2d Adds Station Anchor Beacon (#33711)
Co-authored-by: Velcroboy <velcroboy333@hotmail.com>
2024-12-05 22:56:34 -06:00
PJBot
cd1177d9ba Automatic changelog update 2024-12-06 04:53:08 +00:00
IProduceWidgets
3e0b93d071 fix a station event weighting bug (#33584)
* fractional weights dont work in StationEvents

* force-int

* sure why not, we can keep floats I guess.
2024-12-05 22:52:02 -06:00
Ed
64df860b50 Salary for the guards (#631)
* public API

* salary init

* salary finish

* Update entities.ftl

* Update salary.yml
2024-12-06 00:59:37 +03:00
PJBot
0e6ec2e1af Automatic changelog update 2024-12-05 21:40:46 +00:00
IProduceWidgets
8f3973b2eb set n2 survival box sprite layers (#33733) 2024-12-05 22:39:39 +01:00
PJBot
97ece026d5 Automatic changelog update 2024-12-05 21:18:37 +00:00
Pieter-Jan Briers
dc8b859916 Give vox health regen for poison below 20 damage (#33722) 2024-12-05 22:17:27 +01:00
Ed
ce34c6f2a0 Update lockTypes.yml 2024-12-05 21:25:34 +03:00
Ed
8252418fdc Update personalHouse.yml 2024-12-05 18:19:10 +03:00
Winkarst
ce672acf91 Fix meteor's ArithmeticException (#33556)
Co-authored-by: Winkarst <74284083+Winkarst-cpu@users.noreply.github.co>
2024-12-05 13:20:27 +01:00
Ed
094fbc445f localization sync 2024-12-05 14:43:43 +03:00
Ed
319cd18ee8 demiplane closing - adventurers tp out and gib (#629) 2024-12-05 12:35:38 +03:00
Leon Friedrich
6f51aa4b15 More device configurator serialization fixes (#33664)
More device configurator invalid entity serialization fixes
2024-12-05 09:36:49 +01:00
Spessmann
59bce41390 Cog vox box removal (#33730)
removed vox box ggggggggggggg
2024-12-04 20:01:56 -07:00
Southbridge
bcf2b9afeb Box Station - Removed Vox Box (#33729)
* Removed vox box and removed nearby fuel tank as well

* made all dirt decals consistent
2024-12-04 19:54:59 -07:00
Emisse
90c8776a60 bagel update (#33726)
* bagel update

* remove invalid

* remove invalid
2024-12-04 19:54:45 -07:00
Southbridge
da68ae94c1 Amber Station - Removed Vox Box (#33725)
Removed Vox Box
2024-12-04 17:02:36 -07:00
Ed
304e1a268a Balance pack (#628)
* map fixes, move crystalls from houses into startgear

* fix lock types

* fix item throwing, reduce lock powers, add lockpick into anvil

* new store positions

* restruct swords

* nerf skeleton, bone halberd
2024-12-05 00:29:14 +03:00
PJBot
fbfcccbe16 Automatic changelog update 2024-12-04 16:51:01 +00:00
keronshb
82528dce37 Adds Store on Collide and Wand of the Locker (#33710)
* Adds wand of locker and locker projectile

* Adds IsOpen method to check if storage is open

* Adds store on collide

* Adds Store On Collide to Wizard Locker

* Adds Lock API

* Adds locking support

* Adds resist override and custom visual layers

* Fixes decursed states, adds comment for a future visualizer

* adds locker wand visuals and descriptions

* shrinks locker radius, moves TODO for throw support

* Adds whitelist and moves storage and lock logic into their own methods

* Adds support to disable store on collide after the first open. Fixes prediction issues with disabling.

* Adds wand of locker to the grimoire

* Adds wizard access prototype

* Adds Wizard to universal access

* Moves Lock on collide to on collide method

* Comments

* Changes layer order

* Fixes prediction issues when locking.

* Adds Wiz access to universal ID
2024-12-04 17:49:54 +01:00
A.Ne.
e6a6900719 Prototypes for Guard (#616)
* Prototypes for Guard

* imperial laws

* merge

* yml clean up

* flags + change in imperial laws

* map update

* guard clothing resprite

* cool guard helmet

* guards grip and halberd

* fill cabinets, add guard commander stamp

* key and keyring fix

* Update arenas.yml

* Update migration.yml

* tapestry fix

* guidebook spacing

* Update meta.json

* add bold tags

* Update flags_wallmount.yml

---------

Co-authored-by: Ed <edwardxperia2000@gmail.com>
2024-12-04 18:11:33 +03:00
Hreno
152cf3388b Add cooldown to buttons in borg's laws UI (#31490) 2024-12-04 21:16:41 +11:00
Tap
2e26ca786d Fix for towels not having a cooldown for cleaning (#33700)
Added a delay to cleaning with the towel
2024-12-04 21:14:59 +11:00
PJBot
fc8f7fb0ba Automatic changelog update 2024-12-04 10:14:29 +00:00
Pieter-Jan Briers
c10a72be39 Fix layout on wires UI (#33714)
Layout would break for machines with >6 lights because the column count was hardcoded. Uncap the UI width and fix the rows count instead.

Lights with less than 4 characters of text weren't aligned right, now they are.
2024-12-04 21:13:22 +11:00
PJBot
7ffd8012f6 Automatic changelog update 2024-12-04 02:43:25 +00:00
Partmedia
cf202e805d Fix sinks and toilets not draining (#33691)
* Fix AutoDrain

Per the system comments, AutoDrain is designed to automatically move
puddles into the drain (like a floor drain). Drains without AutoDrain
are still supposed to gradually empty the buffer, but not remove puddles
(like sinks and toilets).

However, a logic error in the original implementation causes drains with
AutoDrain set to false to simply not work. Hence sinks never emptied.

* Update documentation
2024-12-04 03:42:16 +01:00
Southbridge
87182635b6 Amber Improvements (#33707)
* Various changes (see PR)

* variantized, fixedgridatmos, tiledwalls
2024-12-03 16:59:16 -07:00
Ed
0e88b6dc6f Table fences (#626)
* collision fucks

* map update
2024-12-03 16:21:07 +03:00
Ed
f6630e1ec9 Key distribution system (#625)
* data restruct

* yay

* Update arenas.yml

* fixes

* auto labeling

* shuffle
2024-12-03 12:34:07 +03:00
Southbridge
2c2a435dbd Amber Station Seasonal Update (#33698)
Made some modifications requested by reviewers prior to and after map merge, also added holiday decorations!
2024-12-02 21:58:02 -07:00
PJBot
bfd005a37f Automatic changelog update 2024-12-03 03:00:54 +00:00
CheddaCheez
e50c98c618 Add missing nacho recipes (#33637)
* Nacho recipes, nutrition, and trash

In meal_recipes.yml: Add recipes for Nachos, Cheesy Nachos, and Cuban Nachos.

In meals.yml: Add a solutions container to regular nachos so it lines up with the others, and add a small plate as trash to each one.

* Volumes, nutritional tweaks, and flavor

In meals.yml: Lowered maxVol on nachos to leave 5 units of space. Nachos nutriment and vitamin lowered for costing so little. A cheese wedge is 3.75 nutriment, so cheesy having 4 more total nutritional value lines up nicely to me.

Cuban nachos had too little volume to fit its reagents in the first place, so increased maxVol by 10. Chili peppers are 4 nutri / 4 vitamin and ketchup has a touch of tomato, so bumped to 8 and 5. Capsaicin lowered partly to make it an even 20u. Ketchup dilutes I guess. Also they don't have cheese so I changed the flavor profile to tomato instead.

In meal_recipes.yml: Cuban Nachos recipe tweaked to require one less pepper. Given above numbers, this fits the nutritional value imo.
2024-12-02 20:59:47 -06:00
Luiz Costa
029b0374e9 Juiceable slimeballs (#33660)
adds extractable component to slimeball prototype
2024-12-02 20:51:00 -06:00
Velcroboy
c1491e91b8 Adds a morgue locked maints airlock (#33693)
Co-authored-by: Velcroboy <velcroboy333@hotmail.com>
2024-12-02 20:46:55 -06:00
SpaceRox1244
2e31eb32cb Makes kukri not use combat knife's storage sprite (#33661) 2024-12-02 20:41:42 -06:00
PJBot
f0829a6652 Automatic changelog update 2024-12-03 02:25:45 +00:00
Southbridge
e4e84aea74 New Low-Mid Pop Station - Amber Station (#33441)
* Initial Commit with two departments done

* Checkpointing work

* Added most of service and science

* Started work on medbay

* Modified TEG setup and set up atmos pipes for engineering

* Re-added medbay, added chapel and janitorial, started routing disposals and generally the final layout of the map is coming together

* Plenty of additions, too many to list in a commit message

* Major update

* Nearly done with the map, just have to do decals and emergency lights

* Added all decals, only thing missing is department signs

* Toned back the dirt decals a bunch, added hallway signs and other decorations

* Finishing touches on the map before testing.

* Fixed invalids

* Renamed the station to Amber, and made a couple adjustments

* Completely redid cargo, added maints around sec

* Added Amber to the map post init integration test

* Many small updates addressing issues.

* Ran a script to update all the camera names, also ran fixgridatmos, fixrotations, tilewalls, and variantize

* Started addressing some of the issues brough up by Emisse and others

* Addressed all issues mentioned by reviewers. Added mail system.

* Wrapped up meeting all the issues raised by reviewers, also did a bunch of testing and resolved issues found during those tests

* Addressed additional requested changes, and nabbed some ship designs from Frontier. Redesigned south east maints and surrounding meteor nets based off of those designs

* Making a couple more requested changes

* Reduced the amount of Nitrogen Closets, made several small adjustments. Ready for review again!

* Removed invalids!

* web edit lmao

---------

Co-authored-by: Emisse <99158783+Emisse@users.noreply.github.com>
2024-12-02 19:24:37 -07:00
SpaceManiac
b800d98260 Fix lobby countdown not showing hours (#33685) 2024-12-02 13:29:44 -08:00
PJBot
cc804bf316 Automatic changelog update 2024-12-02 19:45:08 +00:00
JIPDawg
638a1dc489 Fixed ghost role rules for some syndicate familiars (#32457)
* fix ghost role rules for some syndicate familiars

* change from monkey rules to Team Antag rules.

* Resolve reviews + Fix rules for LoneOp and Xenos

* ghostrole rules

---------

Co-authored-by: JIPDawg <JIPDawg93@gmail.com>
Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>
2024-12-02 20:43:59 +01:00
dylanstrategie
7f966ab9b1 Touching up Bagel Security Brig (#33680)
* Touching up Bagel Security Brig

* Added a few missing door names

* Last door name I promise

* Address feedback

* Forgot to delete old shutter button

---------

Co-authored-by: dylanstrategie <188926747+dylanstrategie@users.noreply.github.com~>
2024-12-02 04:29:45 -07:00
PJBot
560fd8dd77 Automatic changelog update 2024-12-01 22:10:41 +00:00
MilenVolf
b3841e8414 Fix BuckleSystem always marking InteractHandEvent as Handled (#33602)
* Add check before marking event as handled

* Update Content.Shared/Buckle/SharedBuckleSystem.Interaction.cs

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

* Cleanup

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-12-01 23:09:34 +01:00
Ed
7e6e4709c4 Ed 01 12 2024 rapier (#623)
* Rapier blade

* file restruct

* golden garde

* iron sharp garde

* copper garde
2024-12-02 00:08:23 +03:00
MilenVolf
d4067bcaab Fix wrong system usage (#33679)
Fix wrong system using
2024-12-01 11:34:18 -08:00
Ed
c6ac192dfb Gold & Copper modular parts 1 (#621)
* gold & copper daggers

* copper and gold short grip

* gold & copper grips

* golden pickaxe

* copper pickaxe

* Update anvil.yml
2024-12-01 20:11:59 +03:00
PJBot
237324e268 Automatic changelog update 2024-12-01 06:31:13 +00:00
IProduceWidgets
bf312f2306 Update Snowasis (#33364)
* Update Snowasis

* Appease test gods

* Woops had the leftward animation backwards. Fixed.

* add santa suits and envelopes to chapel

* It looks worse unscaled but whatever.

* fix ghost role

* examines
2024-11-30 23:30:01 -07:00
MilenVolf
5fdf03c216 Replace obsolete GetTilesIntersecting methods (#32455)
* Remove usage of obsolete GetTilesIntersecting round 1

* Oop wrong uids

* Remove usage of obsolete GetLocalTilesIntersecting round 2

* Remove usage of obsolete GetLocalTilesIntersecting final round

* weh

* Fix using `SharedMapSystem` in `StencilOverlay`
2024-12-01 12:56:47 +11:00
Nikolai Korolev
2d405c9652 Fix formatting IDE0055 warnings in VS Code (#33669) 2024-12-01 12:51:26 +11:00
github-actions[bot]
3984f0aa0a Update Credits (#33670)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2024-12-01 12:51:12 +11:00
PJBot
a46323d9f9 Automatic changelog update 2024-11-30 20:12:50 +00:00
Token
061b1b8adb Fix makeghostroleraffle command where 4 arguments (#31836)
Fix makeghostroleraffle command with 4 arguments
2024-11-30 21:11:44 +01:00
PJBot
44ef60a642 Automatic changelog update 2024-11-30 19:32:46 +00:00
Preston Smith
efb35d7953 Require Wield To Activate Double-bladed ESword (#32869)
* Add MeleeRequiresWield component

* Prevent world activation
2024-11-30 20:31:40 +01:00
PJBot
720fccf3f3 Automatic changelog update 2024-11-30 17:26:15 +00:00
Winkarst
ab36b15080 Fix borgs not getting names on roundstart (#33578)
* Fix borgs not getting names on roundstart

* Glory to the NT

* Allow riggable to take in multiple reagents

* Revert

---------

Co-authored-by: Winkarst <74284083+Winkarst-cpu@users.noreply.github.co>
2024-11-30 18:25:09 +01:00
PJBot
766389a66b Automatic changelog update 2024-11-30 16:24:33 +00:00
Plykiya
fb76cd952e Fix for inspecting entities in the stripping window (#33644)
Handle it
2024-11-30 17:23:26 +01:00
PJBot
3d984603f1 Automatic changelog update 2024-11-30 16:15:45 +00:00
Plykiya
450bf813b8 Fix for inspecting entities in hand (#33642)
Actually inspect entity in hands
2024-11-30 17:14:39 +01:00
PJBot
973f42b3b2 Automatic changelog update 2024-11-30 16:00:03 +00:00
Plykiya
021c9832ef Fix for handcuffing someone more than once (#33646)
* Fix for over-cuffing someone

* comment
2024-11-30 16:58:56 +01:00
Ed
bb43b37fd8 Bugfixes (#619)
* clean up

* Update empire_orders.yml
2024-11-30 14:16:48 +03:00
PJBot
86791583f9 Automatic changelog update 2024-11-30 06:24:58 +00:00
compilatron
08db47cb28 Cog/Marathon: Airlock fixes (#33621)
* Fixes the TEG airlock on marathon

* Fixes the atmos external airlock on cog
2024-11-29 23:23:50 -07:00
lunarcomets
b45c9d5129 fix PermanentBlindnessComponent to be not so permanent (#33292)
* adjust min blindness back to 0 when PermanentBlindnessComponent is removed

* mapinit changes

* remove OnRemove, move changes to OnShutdown

* goodbye event

* dependency removal

* final adjustment

---------

Co-authored-by: lunarcomets <luanrcomets2@gmail,com>
2024-11-30 13:56:52 +11:00
PJBot
e9ef00f475 Automatic changelog update 2024-11-30 02:55:44 +00:00
VideoKompany
54a9dce68d add locale to Shuttle Console Map tab (#33651)
fixed
2024-11-30 13:54:37 +11:00
PJBot
17a224c86a Automatic changelog update 2024-11-30 02:49:12 +00:00
Gansu
9236e9e5b9 Fix for arrivals deleting nuke (#33659)
Adds FTLSmashImmune to nuke prototype to stop it from arrival smashing
Adds a comment in FasterThanLight to indicate where the FTLSmashImmuneComponent is checked

Co-authored-by: aa5g21 <aa5g21@soton.ac.uk>
2024-11-30 13:48:04 +11:00
MilenVolf
6c86d7b32b Cleanup some Client atmos systems (#33634)
* Cleanup `ScrubberControl.xaml.cs`

* Minor cleanups

* Another pile of minor cleanups

* Apply requested changes

* Rename "which" into "bound". Add whitespace after "if"
2024-11-30 02:33:29 +01:00
Ed
373d3a892b New Comoss island map (#618)
* Create island_new.yml

* first map state
2024-11-30 01:08:44 +03:00
PJBot
f99331aa00 Automatic changelog update 2024-11-29 12:52:21 +00:00
MossyGreySlope
87d6b0b79b Rename nitrogen internals crate (#33545)
* rename nitrogen internals crate

* nitrogen internals crate description

* migrate CrateNitrogenInternals ID
2024-11-29 13:51:15 +01:00
PJBot
bbdadd7144 Automatic changelog update 2024-11-29 09:47:31 +00:00
DrSmugleaf
3ad227a904 Add admin log for ghost warping (#33636) 2024-11-29 10:46:24 +01:00
Myra
422d1a9d32 Remove grasshopper from the panic bunker message (#33638)
Can be retargetted to stable if preferred, which will then be a hotfix
2024-11-29 20:27:14 +11:00
PJBot
2e340578ff Automatic changelog update 2024-11-29 08:15:22 +00:00
Alice "Arimah" Heurlin
360f6982f4 Display GPS coordinates on their own line (#33625) 2024-11-29 11:14:14 +03:00
Alpha-Two
93bdd813c4 Fix gender, maybe (#33631)
Co-authored-by: Alpha-Two <alpha2.5232@gmail.com>
2024-11-29 08:54:46 +01:00
Ed
109edeb4b5 Modular weapon crafting WIP (#611)
* data initalizing

* modular assembling

* grips and blades sprites

* first prototypes

* jewerly decoration

* disassemble modular weapon

* grip start stats

* blade modifiers

* inhand sprites generation

* resprites inhand, add sickle, add attempt modify size

* auto inhand sprite parsing

* icon default parsing

* spear blade

* mace ball

* sword blade

* sharedization + autonetwork hotswipe

* wielding sprite support!

* iron long grip

* wielded sickle, fix ERROR sprite if state not added

* Update grips.yml

* wielded spear + ruby rework

* wielding damage bonus modifier

* modular size fix

* fix storedOffset rotation

* parts offset

* fix inheriting modifiers

* some bugfix and balance tweaks

* DPS Meter

* fix dividing by zero

* rebalance

* replace baseknife to modular knife. Delete ice knife spell

* sickle and mace modular replace

* modular spear & sword replacement. add wielded icons

* Update CP14DPSMeterSystem.cs

* back to serverization

* grip disassemble drop again

* clothing sprite generation code

* back slot long grips and mace

* remove jewerly slot, add more clothing states

* finish clothing states

* shovel modular

* YEEEEE

* anvil modular craft

* bugfixes

* more integration check fixes
2024-11-29 01:31:42 +03:00
Myra
b53c8ea60e Approval labeler fix electric boogaloo (#33633)
Nik told me to not name this "nya"
2024-11-28 21:54:01 +01:00
Nikolai Korolev
4a21ed87db Update Content.PatreonParser to use net8.0 TargetFramework (#33559)
Update Content.PatreonParse to use net8.0 targetframework
2024-11-28 20:13:26 +01:00
PJBot
6463e7e08e Automatic changelog update 2024-11-28 13:42:10 +00:00
beck-thompson
a790955b76 Light verb is now predicted (#33622)
Fix
2024-11-29 00:41:01 +11:00
SpaceRox1244
f6813e39c7 Makes knives fly straight when thrown (#33615)
Gives knives a thrown angle
2024-11-28 16:09:47 +03:00
SpaceManiac
a206acc220 Fix swapped uniform printer east/west sprites (#33442)
Fix uniform printer sprites rotating the wrong way
2024-11-28 21:38:33 +11:00
Mifia
de613e45f8 Fix gauze eyepatch flying pixel (#33564)
boo
2024-11-28 21:34:43 +11:00
AlexUm
ac65c5a55d Fix version for electril_grill meta.json (#33611)
fix

fixing the version thing in meta json for electril grill textures

Co-authored-by: Arthur Kustenko <arthur.kustenko@learnet.se>
2024-11-28 21:30:13 +11:00
ScarKy0
9704ed7a00 Added Oppenhopper poster to the game. (#33588)
* o7

* -

* oppenhopper v2

* Update Resources/Prototypes/Entities/Structures/Wallmounts/Signs/posters.yml

* Update Resources/Prototypes/Entities/Structures/Wallmounts/Signs/posters.yml

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-11-28 11:08:43 +01:00
Flareguy
56fd7cbb6f Removes burnt tiles (#33422)
remove burnt tiles
2024-11-28 09:49:41 +03:00
Myra
1bc65624c8 Merge stable into master: Hotfix the randomly occurring DeleteAllThenGhost test failures (#33593) 2024-11-27 09:05:31 +00:00
PJBot
1b6c9e866b Automatic changelog update 2024-11-27 05:56:21 +00:00
slarticodefast
8ea388b309 Fix windoor and high security door not showing electrocution HUD (#33551) 2024-11-27 16:55:14 +11:00
PJBot
6187675c27 Automatic changelog update 2024-11-27 05:33:46 +00:00
slarticodefast
c861c56a69 Fix space ambient music (#33594) 2024-11-27 16:32:39 +11:00
Errant
eb9540364e Hotfix the randomly occurring DeleteAllThenGhost test failures (#33582)
* clear mindrole on component shutdown

* let it go
2024-11-27 00:56:35 +01:00
dylanstrategie
ab7221efad Added two N2 lockers to Reach (#33409)
Co-authored-by: dylanstrategie <188926747+dylanstrategie@users.noreply.github.com~>
2024-11-26 13:04:34 -07:00
PJBot
dfc3562bfc Automatic changelog update 2024-11-26 13:51:29 +00:00
Winkarst
41d2cf166d Make shuttle airlocks not snapcardinals (#33557)
* Make shuttle airlocks not snapcardinals

* Update Resources/Prototypes/Entities/Structures/Doors/Airlocks/shuttle.yml

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

* Update Resources/Prototypes/Entities/Structures/Doors/Airlocks/shuttle.yml

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

---------

Co-authored-by: Winkarst <74284083+Winkarst-cpu@users.noreply.github.co>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-11-27 00:51:13 +11:00
slarticodefast
470c869ce2 Greytide Virus station event (#33547)
* proof of concept

* full implementation

* I commited a crime

* t

* min players increase
2024-11-27 00:50:20 +11:00
Intoxicating-Innocence
d5225d1f46 Ghost role drop-down alignment (#33397)
* dropdown shares margin width with children

* removed dependency that rider added for some reason

* reduced vertical margin from 8 to 2
2024-11-26 09:28:31 +01:00
PJBot
a69fc39fc0 Automatic changelog update 2024-11-26 01:00:41 +00:00
metalgearsloth
f27fa1ed30 Simplify separated screen top menu (#33047) 2024-11-26 01:59:34 +01:00
slarticodefast
e9eca826d8 minor AI cleanup (#33555)
* minor cleanup

* to
2024-11-26 09:39:04 +11:00
Vasilis
f0e9de8489 "Borgimorph" Release 2024-11-22 (#33544) 2024-11-25 15:25:04 +00:00
Flareguy
b8c8f7d0f8 Adds more diona names (#33066)
* adds more diona names

* more stuff

* AHHHHHHHHHHHHHHHHHHHHHHH

* further additions

* removes depression + adds comment

* fixes + remove some weird stuff + more stuff

* remove haste
2024-11-25 14:51:41 +01:00
PJBot
b8466d8321 Automatic changelog update 2024-11-25 12:36:20 +00:00
Niels Huylebroeck
49724a9b9d Turn off PointLights on VendingMachines when broken or off. (#33513)
The light itself should already turn off due to `LitOnPowered`
component, but the broken state of a VendingMachine did not.

Fixes  #33382
2024-11-25 13:35:14 +01:00
PJBot
ae576abe1f Automatic changelog update 2024-11-25 12:25:04 +00:00
Minemoder5000
45cf4ec340 Shark plushies now goes rawr on hit. (#33540)
Shark goes rawr more
2024-11-25 13:23:57 +01:00
Nikolai Korolev
ea7f5433ac Fix RA0003 warning for ChatBox (#33531) 2024-11-25 22:53:12 +11:00
Ben
32f48d974f removed obsolete netmessage creator (#33542)
removed opsolete netmessage createor
2024-11-25 22:39:10 +11:00
Errant
14103e7a86 Hotfix babyproof arrivals terminal and arrivals shuttle (#33538) 2024-11-25 12:12:11 +01:00
PJBot
da9b2e6a10 Automatic changelog update 2024-11-25 07:21:39 +00:00
Schrödinger
f53e3ec3c1 [BUGFIX] "Ghost" in the lobby lets you see the whole chat (#33529)
* fix bug, in ghost command lobby

* fix

* Fix build
2024-11-25 10:20:31 +03:00
IProduceWidgets
9a898bb98e babyproof arrivals shuttle (#33284)
* babyproof arrivals shuttle

* always powered lights

* uncuttable cables from terminal PR.

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-11-25 07:59:37 +01:00
IProduceWidgets
86a3d1636f baby proof the terminal (#33281)
* baby proof the terminal

* Make a couple exceptions for items that you might take with you.

* alwayspoweredlights

* Uncuttable cables since cablecomp is a snowflake construction system

* chairs and vendors

* rerun heisentests

* rerun tests again
2024-11-25 07:59:01 +01:00
PJBot
ed2cd23309 Automatic changelog update 2024-11-25 04:28:02 +00:00
slarticodefast
3c6c5ab6c9 fix airlocks inconsistently auto-closing after unbolting (#33524)
fix door auto close timer
2024-11-25 15:26:54 +11:00
kosticia
d642ee7707 Delete HOS headset from warden's locker (#33234)
* add headset

* Add icons

* Meta change

* fix

* Revert + delete headset from locker
2024-11-25 01:46:33 +01:00
Ed
8057fad4d3 Skeleton demiplane antag (#609)
* skeletons! ack

* nerf skeletons
2024-11-24 22:08:05 +03:00
mubururu_
cae49ae0d2 various material & ore inhands (#33342)
* begin

* bones + pyrotten + goliath hide inhands

* Update Resources/Prototypes/Entities/Objects/Materials/materials.yml

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

* Update Resources/Textures/Objects/Materials/materials.rsi/meta.json

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

* Update Resources/Textures/Objects/Materials/materials.rsi/meta.json

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

* Update Resources/Textures/Objects/Materials/materials.rsi/meta.json

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

* pyrottOn

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-11-24 17:24:13 +01:00
Ed
191112a8a8 Tampestry (#607)
* Update T0_cure_heat.yml

* tampestry

* palisade wip
2024-11-24 18:27:18 +03:00
A.Ne.
406f22de3f closed door interact popup, resolve #564 (#600)
* closed door interact popup, resolve #564

* tweak

* uh

* removed old comment

* Update attributions.yml

* fix

* Update CP14SharedDoorInteractionPopupSystem.cs

* fixes

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: Ed <edwardxperia2000@gmail.com>
2024-11-24 15:54:42 +03:00
Nim
b72c2bfb7b Mosquitoes (#593)
* mos

* more fix

* spawner

* balance review

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: Ed <edwardxperia2000@gmail.com>
2024-11-24 15:22:35 +03:00
A.Ne.
dbc2fd689a follow on use inhand (#606) 2024-11-24 14:36:35 +03:00
Ed
897a9cf683 localization sync (#597)
* localization sync

* init

* Update entities.ftl

* внезапный респрайт лома
2024-11-24 14:33:02 +03:00
A.Ne.
b37113f7f2 add multiple parents supproting (#598)
* add multiple parents supproting

* change yaml path for parsing

* Update yaml_parser.py

* Update localization_helper.py

* fix
2024-11-24 13:40:20 +03:00
Ed
42127c4682 Guards roles and clothings (#608)
* white-blue chainmails for guard

* steal cloaks from mercenaryes to guards

* loadouts

* guard cloak resprite

* job spawners

* skills

* Update migration.yml

* Update crates.yml

* remove recipes

* Update jobs.yml

* Update migration.yml
2024-11-24 13:39:53 +03:00
PJBot
91b9d4a7f0 Automatic changelog update 2024-11-24 08:50:37 +00:00
deltanedas
e436a50c36 fix exped caves generation (#32890)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-11-24 09:49:31 +01:00
PJBot
84df2b857e Automatic changelog update 2024-11-24 08:12:54 +00:00
MilenVolf
aa80a88cc4 Allow shuttles on planets to make FTL jump (#33507)
This check conflicts with an attempt to FTL from the planet before expedition ends
2024-11-24 11:11:47 +03:00
PJBot
2229a6a04b Automatic changelog update 2024-11-24 04:21:08 +00:00
Winkarst
f706170ee1 Draw muzzle flash below mobs (#33465)
* Draw muzzle flash below mobs

* Better naming

---------

Co-authored-by: Winkarst <74284083+Winkarst-cpu@users.noreply.github.co>
2024-11-24 15:20:00 +11:00
github-actions[bot]
ef89d5cc21 Update Credits (#33503)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2024-11-24 12:56:18 +11:00
PJBot
e958c0c9b0 Automatic changelog update 2024-11-23 16:54:04 +00:00
metalgearsloth
11dbf50ed6 Add delay to AutoOrient (#33479)
It functions identically to how V1 of orientation worked and it's incredibly annoying.
2024-11-23 17:52:58 +01:00
PJBot
8522ffe8ce Automatic changelog update 2024-11-23 15:15:19 +00:00
IProduceWidgets
fab9993a3b babyproof arrivals shuttle (#33284)
* babyproof arrivals shuttle

* always powered lights

* uncuttable cables from terminal PR.

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-11-23 16:14:13 +01:00
PJBot
4cecf99e65 Automatic changelog update 2024-11-23 11:42:43 +00:00
goet
855547a2d4 Ensure wires can always be cut (#32447)
ensure wires are always cut
2024-11-23 12:41:37 +01:00
PJBot
45af6a13fc Automatic changelog update 2024-11-23 11:21:05 +00:00
metalgearsloth
11dae2ff93 Don't show drag-drop outline if climbing (#33477)
It won't actually do anything.
2024-11-23 12:19:59 +01:00
Ed
ae01ebda0e Merge pull request #595 from crystallpunk-14/ed-20-11-2024-upstream-sync
Upstream sync
2024-11-23 13:44:10 +03:00
PJBot
bde85858a3 Automatic changelog update 2024-11-23 09:32:14 +00:00
metalgearsloth
c3786a56dc Fix door animations mispredicting if closing is interrupted (#33481)
* Fix door animations mispredicting if closing is interrupted

On master it will flicker states a little bit partially due to it not being predicted.

Instead we'll just set it straight back to opening (no animation is ever played anyway).

* no log
2024-11-23 10:31:07 +01:00
eoineoineoin
bdf4a46edf Minor improvements & fixes to Shuttle Console UI (#31623)
* Fix grids and docks being culled from display prematurely

* Fix inconsistent disabling of "Undock" buttons

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

* Tidy up math

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

* Feedback
2024-11-23 17:55:09 +11:00
MetalSage
a42bacd3a9 Fix startingGear storage (#33394)
* fix starting gear storage

* removal of unused

---------

Co-authored-by: MetalSage <metalsage.official@gmail.com>
2024-11-23 17:54:35 +11:00
PJBot
1e93e12330 Automatic changelog update 2024-11-23 06:42:34 +00:00
Winkarst
0a587c9ccc Disable submit admin note button on switch to note (#33456)
Co-authored-by: Winkarst <74284083+Winkarst-cpu@users.noreply.github.co>
2024-11-23 17:41:28 +11:00
PJBot
7feafcbe95 Automatic changelog update 2024-11-23 06:38:21 +00:00
metalgearsloth
5409815be9 Allow AI and observers to see electrified doors (#33466) 2024-11-23 17:37:14 +11:00
PJBot
d8ecf12fca Automatic changelog update 2024-11-23 02:54:55 +00:00
metalgearsloth
616907009d Fix salvage vendor inventory (#33437) 2024-11-23 13:53:47 +11:00
Ed
fff97fa819 adapt 2024-11-23 03:12:45 +03:00
PJBot
6bc205484f Automatic changelog update 2024-11-22 22:51:50 +00:00
IProduceWidgets
a28adf4ae4 baby proof the terminal (#33281)
* baby proof the terminal

* Make a couple exceptions for items that you might take with you.

* alwayspoweredlights

* Uncuttable cables since cablecomp is a snowflake construction system

* chairs and vendors

* rerun heisentests

* rerun tests again
2024-11-22 23:50:41 +01:00
Ed
677e5194d6 Merge remote-tracking branch 'upstream/master' into ed-20-11-2024-upstream-sync
# Conflicts:
#	Content.Server/Chemistry/EntitySystems/InjectorSystem.cs
#	Content.Server/Traits/TraitSystem.cs
#	Content.Shared/CCVar/CCVars.cs
#	Content.Shared/Inventory/InventorySystem.Relay.cs
#	Resources/Maps/box.yml
#	Resources/Maps/core.yml
2024-11-23 01:48:24 +03:00
slarticodefast
de516905f0 another rename 2024-11-22 23:39:05 +01:00
slarticodefast
306277afe0 rename 2024-11-22 23:05:36 +01:00
slarticodefast
08bfb43feb cleanup 2024-11-22 23:02:59 +01:00
slarticodefast
5a9a2d463b Merge branch 'master' into powerhud 2024-11-22 19:38:55 +01:00
slarticodefast
09ca45a621 Merge staging into master (#33462) 2024-11-22 18:32:30 +01:00
Pieter-Jan Briers
b4ec946bd9 Fix sandbox error with new HWID code. (#33461)
Oops
2024-11-22 18:14:46 +01:00
c4llv07e
646d41d3a7 Add telegram to the server info-links (#33459) 2024-11-22 16:38:41 +01:00
Ed
a6c7bc5993 haha 2024-11-22 14:49:48 +03:00
Ed
66fe15f8c7 Balance tweaks (#604)
* x2 damage

* Update CP14MagicWeaknessSystem.cs

* split cure burn

* split blood purification

* extinguish torch by interact

* Update torch.yml

* Update T0_cure_heat.yml

* fix fireSpread
2024-11-22 14:14:22 +03:00
Vasilis
94ac0b1399 Modern HWID integration (#33265) 2024-11-22 11:08:51 +00:00
PJBot
a3edf04dd3 Automatic changelog update 2024-11-22 03:47:17 +00:00
chromiumboy
403528cbf3 Gas pipe sensors (#33128)
* Initial commit

* Monitored pipe node is now referenced by name

* Review changes

* Simplified construction

* Tweaked deconstruction to match other binary atmos devices

* Helper function removal

* Updated attribution
2024-11-21 21:46:10 -06:00
PJBot
38c70d6c9b Automatic changelog update 2024-11-22 02:57:12 +00:00
DrSmugleaf
5a751a820a Fix admin ghosts not being able to see items in pockets or interact with them (#31076)
* Fix admin ghosts not being able to see items in pouches or interact with them

* fix

* oops

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-11-22 03:56:05 +01:00
slarticodefast
3758715bdc electrification hud 2024-11-22 00:43:02 +01:00
Ed
8ad951183c Merge branch 'master' into ed-20-11-2024-upstream-sync 2024-11-21 22:50:28 +03:00
Ed
548433baca Torch craft (#603)
* fix

* Update crates.yml

* loadout torch, flint craft workbench
2024-11-21 22:48:14 +03:00
Ed
96fc06a443 Fire update (#602)
* fire spread fixes and optimization

* fix liquid drops nefty and suffix

* some sharedization

* melee fire extinguish

* clean up fireSpread system

* caution popup

* cuffable zombies

* fix zombie AI

* lighter

* torch integration attempt

* fix torch igniting

* yml tweaks

* bonus flammable damage
2024-11-21 22:01:14 +03:00
Vasilis
4f703ae9ce Fix approval labeler (#33440)
* Fix approval labeler

* Update labeler-review.yml

* Update labeler-review.yml
2024-11-21 17:51:18 +01:00
PJBot
11ee2f9a37 Automatic changelog update 2024-11-21 14:21:21 +00:00
IProduceWidgets
f5930bb566 Coal presents and chrimmas tree options. Presents no longer itemify (#33147)
* Dont ensure ItemComp because it could lead to weirds, and also PickupOrDrop handles non-items already.

* presents and tree

* woops

* reviews a
2024-11-21 15:20:11 +01:00
ThatGuyUSA
0f0b141f21 Syndicate item fix ups (#33435)
tweaks and fixes
2024-11-21 14:22:57 +01:00
Pieter-Jan Briers
75a096b6bd Merge remote-tracking branch 'upstream/master' into 24-10-29-modern-hwid 2024-11-21 01:26:01 +01:00
metalgearsloth
beeffdb5e1 Update to Robust v237.2.0 (#33436) 2024-11-21 11:16:55 +11:00
Pieter-Jan Briers
5c0a32b8b8 Update to Robust v237.2.0 2024-11-21 00:07:12 +01:00
MissKay1994
c02a027cf1 Update salvage.yml 2024-11-20 18:06:19 -05:00
MissKay1994
e96e80bc95 Update salvage.yml 2024-11-20 18:05:01 -05:00
A.Ne.
4fcfab972d demiplane crates fix #589 (#599)
* demiplane crates fix #589

* change component to MapGridComponent

* simplification

* Update CP14DemiplanSystem.Generation.cs

---------

Co-authored-by: Ed <edwardxperia2000@gmail.com>
2024-11-20 23:37:44 +03:00
A.Ne.
4abd793ef9 lockkey system tweak (#601)
* lockkey system tweak

* Update SharedCP14LockKeySystem.cs

---------

Co-authored-by: Ed <edwardxperia2000@gmail.com>
2024-11-20 23:16:00 +03:00
MissKay1994
f23b6522b2 Update cargo_vending.yml 2024-11-20 04:44:33 -05:00
MissKay1994
693e5f1fad Update salvage.yml 2024-11-20 03:40:54 -05:00
metalgearsloth
cb246f5d7d Set airlock unlit layers as invisible (#32484)
Doesn't really affect anything due to appearance bulldozing this but this aligns with their actual normal states so.
2024-11-20 11:10:05 +03:00
PJBot
f9533a637a Automatic changelog update 2024-11-20 07:56:20 +00:00
metalgearsloth
98caf50626 Ion storm refactor (#33311) 2024-11-20 18:55:12 +11:00
metalgearsloth
a9be561ea7 Merge branch 'master' into ion-storm-refactor 2024-11-20 18:22:08 +11:00
PJBot
4f3ac3ea68 Automatic changelog update 2024-11-20 07:19:45 +00:00
metalgearsloth
59b09383ca Capacitor Crafting Change (#31966) 2024-11-20 18:18:37 +11:00
PJBot
a7003acd77 Automatic changelog update 2024-11-20 05:57:05 +00:00
metalgearsloth
a818c2a134 Temporarily make singularity a bit harder to loose as non-antag (#33358) 2024-11-20 16:55:58 +11:00
metalgearsloth
8acbf87d8f Move PlayerBeforeSpawnEvent and PlayerSpawnCompleteEvent to Shared (#33428) 2024-11-20 16:53:18 +11:00
DrSmugleaf
f5d0e955e3 Fix imports 2024-11-19 21:16:49 -08:00
DrSmugleaf
b8b33b97af Move PlayerBeforeSpawnEvent and PlayerSpawnCompleteEvent to Shared 2024-11-19 21:15:15 -08:00
Saphire
44db676b24 Actually make the emagging popup work properly 2024-11-20 09:32:50 +06:00
PJBot
1b3672e095 Automatic changelog update 2024-11-20 02:06:21 +00:00
metalgearsloth
75acce0d62 Fix: Examine Damage now specifies no damage (#33064) 2024-11-20 13:05:15 +11:00
PJBot
a13a4f7a99 Automatic changelog update 2024-11-20 02:00:37 +00:00
metalgearsloth
b177a1d019 Coloured Light Cost Reduction (#33376) 2024-11-20 12:59:31 +11:00
metalgearsloth
0ec23362fe Merge into master: Increase softcap back to 80 (#33400) (#33419) 2024-11-20 12:56:29 +11:00
PJBot
7e8e2c7212 Automatic changelog update 2024-11-20 01:55:55 +00:00
qwerltaz
e98383d572 Construction menu grid view (#32577)
* button

* implement populate grid view

* tweak min width

* Make grid button toggle visible

* tweak min window size

* fix missing recipe button when mirroring item

* make grid buttons toggleable

* align button texture vertically

* selected grid item has plain color background

* tweak window width so all buttons look good

* rename select method, defer colouring

* get icon better

* whoops

* simpler button toggle

* spritesys frame0, move spritesys

* delete old sprite system refs
2024-11-20 12:54:49 +11:00
beck-thompson
1fa1975e60 Fix toggle verbs (#32138)
First commit

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2024-11-20 12:53:52 +11:00
Saphire
9c666457c2 Move some of the new singularity code into shared
Hopefully without explosions yay
2024-11-20 07:53:10 +06:00
SlamBamActionman
6e53cd98a4 Add emag functionality 2024-11-20 07:53:10 +06:00
PJBot
35e2c641c1 Automatic changelog update 2024-11-20 01:06:27 +00:00
Plykiya
fdf3df9fbd Crew monitoring crate updated to contain flatpacks, science access instead of engi (#33417)
* Make a crew monitoring crate with flatpacks

* fix image

* migration
2024-11-20 12:05:20 +11:00
Saphire Lattice
eebf06d9d6 Automatically add "Approved" to maintainer PRs (#33337)
* Add an Approved labeler for maintainer PRs

* Be extra safe with conditions
2024-11-20 12:03:52 +11:00
PJBot
ed1ae96fa2 Automatic changelog update 2024-11-20 01:01:45 +00:00
SlamBamActionman
89392e2424 Remove drag & drop dropping items from containers (#32706)
* Initial commit

* Update based on maintainer discussion

* Forgot to remove this woops
2024-11-20 12:00:38 +11:00
PJBot
efa28fc650 Automatic changelog update 2024-11-20 00:58:08 +00:00
MilenVolf
2002de9bb0 Localize planet dataset names (#33398)
* Localize planet names (borer)

* DatasetPrototype -> LocalizedDatasetPrototype

* Apply requested changes
2024-11-20 11:57:43 +11:00
Plykiya
7f5bae99bb Fix security riot crate (#33415)
* move riot crate from security to armory category

* Move riot crate to armory, actually make it require armory access to unlock
2024-11-20 11:57:01 +11:00
Pieter-Jan Briers
c4e2eb9d02 .NET 9 forward compatibility changes (#33421)
This doesn't switch the projects over to .NET 9, but it does make them work on .NET 9 when we decide to switch in the future.
2024-11-20 11:17:45 +11:00
Ed
ed638c94a8 Merge remote-tracking branch 'upstream/stable' into ed-20-11-2024-upstream-sync
# Conflicts:
#	Resources/Maps/cog.yml
2024-11-20 00:34:51 +03:00
Ed
e79b046c4a Magic redesign (#594)
* water spell textures

* water creation spell

* mana consume, and mana glove

* remove mana transfer ring

* Update migration.yml

* copy Wizden loadout PR

* add sprite component to all spells

* spell dummy loadouts

* delete spell traits

* really give spells from loadouts

* update crates fill and demiplane spawners

* beer creation spell, fix passivedamage

* Update PassiveDamageSystem.cs
2024-11-20 00:23:44 +03:00
A.Ne.
ec278dc98f LocaleHelperRefactor (#592)
* refactor

* refactor Prototype class init
2024-11-20 00:22:42 +03:00
PJBot
42ee90e53e Automatic changelog update 2024-11-19 20:32:47 +00:00
ArZarLordOfMango
a949cf33e9 Toggle clothing fix (#32826)
* toggle clothing fix

* some adding
2024-11-19 21:31:37 +01:00
nikthechampiongr
895648aa2c Increase softcap back to 80 (#33400) 2024-11-19 13:13:02 +01:00
PJBot
0e2e6a001f Automatic changelog update 2024-11-19 05:08:09 +00:00
ScarKy0
437a586906 Welded secret doors no longer say they are welded shut. (#33365)
Init
2024-11-18 23:07:02 -06:00
PJBot
10ee37a47c Automatic changelog update 2024-11-19 03:00:50 +00:00
Ilya246
909235cdbe fix viewing nav slowing shuttle down (#32381)
fix
2024-11-19 03:59:42 +01:00
Spessmann
dffece473a Cog update (#33410)
removed fun
2024-11-18 19:17:57 -07:00
Saphire
68eaf6ff25 Bump the failsafe timer down 2024-11-19 08:11:10 +06:00
Spanky
96d2fe477d Service Worker Job Icon Change (#33361)
* Changes the Server Worker job icon to a bowtie.

* Removes grey from icon to better fit existing art.

* Updated ID card sprite.

* Edit respective meta.json files.
2024-11-18 23:37:34 +01:00
faint
79ff990ddf Replace direct uses of GameTicker dictionary with TryGetValue (#33222)
Fix station events schedulers, antag selection and possibly other systems acting weird in a rare scenario
2024-11-18 21:57:50 +03:00
Ed
d67f7619c4 Edgefication (#590)
* bloat

* bloat 2

* bloat 3

* final bloat

* Update icon.ico

* Create integration_test_run.bat

* Arggh

* Disable some tests

* revert roomfill clearexisting changes
2024-11-18 14:40:52 +03:00
SpaceManiac
647db6aa87 Shift air alarm sprites to better reflect their direction (#33379)
* Shift Air Alarm sprites to better reflect their direction

* Fix two frames of west-facing sprite being one pixel off

* Indicate that sprites are no longer exactly tgstation's
2024-11-18 03:51:08 -06:00
PJBot
b0fd9d5a55 Automatic changelog update 2024-11-18 06:33:17 +00:00
Ubaser
824efd4b25 Dim light bulbs (#33383)
add
2024-11-17 23:32:07 -07:00
Justice League
97be261631 Reduced cost of coloured light fixtures 2024-11-17 18:55:57 -05:00
ThatGuyUSA
31d5a66866 Chemical synthesis kit tweak (#33345)
* butcherable surgery caps

* readded cardboard box

* butcherable now?

* butcherable now?

* one day ill figure this out

* changed label of hyperzine syringe

* removed the thing in hats.yml that wasn't supposed to be here

* Update Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-11-17 23:08:20 +01:00
ScarKy0
e290588624 Changes + Cleanup 2024-11-17 20:23:45 +01:00
ActiveMammmoth
22987fc77f Wizard Summon Guns/Magic (#32692)
* mostly done but there's a bug with spawning

* RandomGlobalSpawnSpellEvent now actually works

* Summon Guns/Magic is working

* Added sound, cap gun, and auto pick up

* Added all requested changes/fixes from reviews

* Halving cooldowns
2024-11-17 17:46:31 +01:00
Spanky
c7f83523ef Packed Update (Christmas Edition) (#33356)
Christmasified Packed station.
2024-11-16 23:35:57 -07:00
Spanky
f484118e2d Omega Update (Christmas Edition) (#33357)
* Christmasift Omega station.

* Add cryosleeper to bridge.
2024-11-16 23:35:41 -07:00
PJBot
96b9d1a714 Automatic changelog update 2024-11-17 03:28:38 +00:00
SpaceRox1244
d9c677e91b Adds paper label visuals to closets and lockers (#33318)
* Modifies label sprites and adds label visuals to closets

* Removes redundant GenericVisualizer component
2024-11-16 21:27:29 -06:00
github-actions[bot]
0991b6bbe8 Update Credits (#33360)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2024-11-17 13:03:59 +11:00
ThatGuyUSA
5cd92431b9 Throwing Knife description tweak (#33349)
changed description
2024-11-16 19:03:14 -06:00
Saphire
476f90df09 Fix the component defaults 2024-11-17 04:31:41 +06:00
Saphire
01d6df3d0a Fix Fluent string ID copypaste fail 2024-11-17 04:18:00 +06:00
Saphire
a68c6cb29e Temporarily make singularity a bit harder to loose as non-antag 2024-11-17 04:01:38 +06:00
Ed
ef6f23e4b8 Remove demiplan fun (#587)
* disable roomfills

* demiplan examination random disable
2024-11-16 17:37:06 +03:00
Ed
06308961ed Revert "Revert "Added personal signature system"" (#586)
* Revert "Revert "Added personal signature system (#382)" (#471)"

This reverts commit 9f93931057.

* Update pen.yml
2024-11-16 17:30:38 +03:00
Emisse
bdab41248d bagel christmas update (#33347) 2024-11-16 01:42:33 -07:00
Southbridge
f071bf65e0 Marathon holiday update (#33335)
* Added holiday decorations, and modified emergency lights to have a better layout.

* Added a couple more emergency lights after finding a couple spots that were wway too dark during testing, also gave the warden a crew monitor
2024-11-15 23:35:23 -07:00
Southbridge
f5b63b8393 Box Holiday Update (#33340)
Added holiday decorations with presents and various fixes
2024-11-15 23:29:23 -07:00
Spessmann
d9a5ffbef4 Cog christmas update (#33344)
christmas updoot
2024-11-15 23:29:09 -07:00
PJBot
47f94d1139 Automatic changelog update 2024-11-16 05:10:35 +00:00
dffdff2423
2c82a2dfc0 Add admin remarks button to lobby (#31761) 2024-11-15 23:09:29 -06:00
PJBot
7077b930f2 Automatic changelog update 2024-11-16 04:31:53 +00:00
K-Dynamic
4f659b9d6d Solar assembly crate buff (#33019)
* more flatpacks + glass

* solar crate price increase

* price increase

* 1250 spesos

* Update Resources/Prototypes/Catalog/Fills/Crates/engines.yml

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-11-15 22:30:47 -06:00
MossyGreySlope
11963e50b1 Fix server crash when the seed extractor is used on the dev map (#33312)
handle event when using seed extractor

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-11-15 21:57:33 -06:00
PJBot
6bcfe6fb3d Automatic changelog update 2024-11-16 03:40:25 +00:00
Saphire Lattice
1f5eb6a08b Fix utensils not being thrown away (#33326) 2024-11-15 21:39:19 -06:00
PJBot
c4e8751ee6 Automatic changelog update 2024-11-16 03:27:57 +00:00
Southbridge
862c2ac858 BRB sign in the Bureaucracy Crate (#33341)
Added the brb sign to the Bureaucracy Crate
2024-11-15 21:26:47 -06:00
PJBot
4426bbe784 Automatic changelog update 2024-11-16 03:26:15 +00:00
Saphire Lattice
e7e1d96051 Improve crayon UI to not be stuck in 1996 (#33101)
* Improve crayon UI to not be stuck in 1996

* Make a horrifying crayon spaghetti

* Crayon

* Undeprecate the crayon, describe the crayon
2024-11-15 21:25:06 -06:00
ScarKy0
3173a3461e S: Awaiting Changes 2024-11-16 02:06:52 +01:00
ScarKy0
7d82a7bf5c Merge branch 'space-wizards:master' into ion-storm-refactor 2024-11-16 00:50:48 +01:00
PJBot
abdefbd622 Automatic changelog update 2024-11-15 23:47:08 +00:00
beck-thompson
da4fa9bea9 Clumsy system refactor (#31147)
* First commit

* Fixes

* Added the noise

* Renames

* Timespan

* Fixed space

* entity -> ent

* This shouldn't work

* opps....

* Datafield name change

* Better comments

* small comment

* Personal skill issue

* Event renames and stuff

* Couple fixes

* Defib ref fixes (Silly me)

* Added clumsy back!

* no hard code clumsy!

* Identity fix

* Event name change

* Comment change

* Function name change

* opp

* Update names

* Damage stuff!

* Fixes!

* Fixes

* opps

* This was hidden away!!

* negative diff feeds me
2024-11-16 00:46:01 +01:00
SpaceRox1244
09d0565413 Adds gorilla gauntlet storage sprite and updates hit sound (#33167)
* Adds storage sprite for gorilla gauntlet

* Specifies a heavier hitsound for gorilla gauntlet

* Modifies gauntlet icon and storage sprite

* Updates credit to my new username
2024-11-15 16:48:28 -06:00
PJBot
6683dc9037 Automatic changelog update 2024-11-15 21:22:14 +00:00
lzk
089f190266 Add succumb action 10 sec delay (#32985)
* Add succumb action 10 sec delay

* add somthing

* add delay to last words as well

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-11-15 22:21:08 +01:00
Ed
7a0fb9fc15 fix wallmounted (#585) 2024-11-15 23:54:58 +03:00
PJBot
3a6ae97566 Automatic changelog update 2024-11-15 20:53:26 +00:00
RedBookcase
4fc7a4c56e Edited Snow White reaction to output proper amount of drink. (#33331)
Co-authored-by: RedBookcase <Usualmoves@gmail.com>
2024-11-16 02:52:19 +06:00
Ubaser
cf96679d0b New ruin variant (#33332)
add
2024-11-15 12:18:44 -07:00
Ubaser
97ce69fef6 Command external airlocks (#33333)
add
2024-11-15 14:40:52 +01:00
PJBot
e3b611085b Automatic changelog update 2024-11-15 06:56:00 +00:00
Preston Smith
465170f1e1 Prevent Digiboard recycling (#33315)
* add `HighRiskItem` tag

* Correct tags

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

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-11-15 13:54:53 +07:00
Ubaser
b4e0362ed4 Update Core (#33325)
add
2024-11-14 21:59:35 -07:00
Saphire
f75be07a05 Merge hotfix #33287 from "stable" into "master"
- Rule amendment - Remove role abandonment aHelp requirement. (#33287)
- Merges PR #33324
2024-11-15 10:11:54 +06:00
PJBot
606d44bcb0 Automatic changelog update 2024-11-15 03:25:36 +00:00
beck-thompson
dfda557d4b Note expiry time is now relative instead of using timestamps (#33262)
* Add the stuff

* Loc fix

* fixes

* Change
2024-11-15 10:24:27 +07:00
Repo
530a741b7b Rule amendment - Remove role abandonment aHelp requirement. (#33287)
* Role abandonment aHelp requirement.

* disable roundstart chat message

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-11-15 13:54:20 +11:00
scrivoy
d205d17ba3 Meta Station: Add a fully functional TEG room (#32941)
* initial commit

* delete WIP-marker.md

* add TEG room, move gas chambers up

* remove outside burn chamber button, add naming to APC, SMES, Substation

* add HV below TEG Substation

* removed invalids
2024-11-14 18:04:14 -07:00
scrivoy
2c9f2279d6 Marathon Station: Added air alarms to CMO, Surgery, Security Checkpoint (#33213)
* add air alarms to sec checkpoint, cmo and western surgery

* decals and cleanup
2024-11-14 14:30:16 -07:00
ScarKy0
3b9365160c or was it 2024-11-14 18:32:02 +01:00
ScarKy0
9a5c49b961 epic empty commit 2024-11-14 18:31:50 +01:00
ScarKy0
53ce812356 slash 2024-11-14 18:18:39 +01:00
PJBot
0437ec6d56 Automatic changelog update 2024-11-14 17:09:42 +00:00
Pieter-Jan Briers
1bebb3390c Borg type switching. (#32586)
* Borg type switching.

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

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

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

The modules that each borg type starts with:

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

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

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

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

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

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

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

* Fix sandbox failure due to collection expression.

* Module tweak

Fix salvage borg modules still having research/lathe recipes

Engie borg has regular tool module, not advanced.

* Fix inventory system breakage

* Fix migrations

Some things were missing

* Guidebook rewordings & review

* MinWidth on confirm selection button
2024-11-14 11:08:35 -06:00
PJBot
669bc148f9 Automatic changelog update 2024-11-14 16:57:29 +00:00
CheddaCheez
815e37e512 Fix mime broken vow alert (#33303)
Swap VowAlert and VowBrokenAlert on lines 149 and 150 so that the proper alerts are cleared and shown
2024-11-14 19:56:21 +03:00
ScarKy0
ace158df0e Yippee! 2024-11-14 17:53:15 +01:00
ScarKy0
0f30639cf2 progress 2024-11-14 17:21:03 +01:00
ScarKy0
5dbea42751 derelicn't for real 2024-11-14 15:05:14 +01:00
ScarKy0
c86201308a guh 2024-11-14 15:01:04 +01:00
SlamBamActionman
75ec546550 Update Label workflows to use new labels (#33310)
* Update labeler.yml

* Update labeler-needsreview.yml

* Update labeler-staging.yml

* Update labeler-stable.yml

* Update labeler-untriaged.yml

* Create labeler-size.yml

* Update labeler-size.yml

* Update labeler-size.yml

* Update conflict-labeler.yml

* Rename conflict-labeler.yml to labeler-conflict.yml
2024-11-14 14:57:05 +01:00
ScarKy0
e9c66cfe98 Merge branch 'ion-storm-refactor' of https://github.com/ScarKy0/space-station-14 into ion-storm-refactor 2024-11-14 14:55:24 +01:00
ScarKy0
4f754b814b derelictn't (for now) 2024-11-14 14:55:01 +01:00
ScarKy0
755f322e29 Merge branch 'master' into ion-storm-refactor 2024-11-14 14:45:55 +01:00
keronshb
5e54536141 Hotfix 33160 (#33302) 2024-11-14 00:22:10 -05:00
keronshb
f2b7743bdd Half Revert #31978 (#33160)
Hotfix
2024-11-13 23:54:31 -05:00
PJBot
b91c977f7a Automatic changelog update 2024-11-13 23:37:44 +00:00
keronshb
fa3a04a527 Ethereal Jaunt Spell for Wizard & Jaunt ECS (#33201)
* Act

* Adds Jaunt ECS and related prototypes

* Adds jaunt sounds

* Adds enter and exit sound support to polymorphs

* Updates jaunt description

* Adds jaunt action sprite and changes jaunt polymorph to use it

* Adds Jaunt and upgrade to the wizard grimoire

* Makes base mob jaunt parent off of incorporeal and basemob, adds blue ghost sprite for ethereal jaunt

* Update Resources/Locale/en-US/store/spellbook-catalog.ftl

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

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

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

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

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

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

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

* Update Content.Shared/Polymorph/PolymorphPrototype.cs

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

* Update Content.Shared/Polymorph/PolymorphPrototype.cs

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

* removes meta changes

* removes other meta changes

* adds context menu and a description to basemobjaunt

* comments for jaunt component and adds on component shutdown method

* Update Content.Shared/Jaunt/JauntComponent.cs

* Update Content.Shared/Jaunt/JauntComponent.cs

* Update Content.Shared/Jaunt/JauntComponent.cs

* Update Resources/Prototypes/Catalog/spellbook_catalog.yml

---------

Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-11-14 00:36:37 +01:00
PJBot
9643598c70 Automatic changelog update 2024-11-13 23:28:39 +00:00
dffdff2423
51d2b51ad0 tag:with toolshed command (#31751) 2024-11-14 06:27:31 +07:00
Vasilis
6f7066eda8 Separate CCVars into separate files (#33268) 2024-11-13 18:27:55 +00:00
Ed
5bcc378bbe Clean up, increase build stability (#583)
* Update base.yml

* bandit -> sociopath

* some fixes

* syringe

* vaults

* Update ContentAudioSystem.CP14AmbientLoop.cs
2024-11-13 17:56:07 +03:00
PJBot
c978eefedb Automatic changelog update 2024-11-13 12:31:47 +00:00
Ubaser
8cf279e200 Window sprite tweaks (#33282)
* add

* yes
2024-11-13 13:30:40 +01:00
Spessmann
99b4604d50 Cog fixes (#33285)
fixed the map (for real this time)
2024-11-12 20:07:47 -07:00
PJBot
52c1708117 Automatic changelog update 2024-11-13 03:00:54 +00:00
August Sun
bd2d0ee5e5 Added the ability to microwave inert flesh anomaly cores to turn into an anomalous meat mass (#33223)
* First round of anomaly core functionalities added

* Added sliceTime to anom meat mass and cooked version

* Adds SmokeOnUse component, system and shared system, adds new functions to inert electrical anom core

* Added more functions

* Final touches to branch

* Cleaning up some of the metadata for sprites and component definitions

* PR_Changes_v2_rev.0_Final_FINALFORREALTHISTIME.yml

* Lol jk these goddamn tests why me

* Quick updates based on feedback

* more changes to improve

* additional fixes and edits

* Changed tech core functionality

* added magboot functionality to grav core

* fixed issue with bluespace core sizing

* Reverting changes per request

* extra file to be deleted

* File cleanup

* Update chemicals.ftl

* Update cores.yml

* Update cores.yml

* Update meta.json

* Update chemicals.yml

* Update Resources/Prototypes/Entities/Objects/Consumable/Food/meat.yml

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

* Update meal_recipes.yml

* Update cores.yml

---------

Co-authored-by: august-sun <45527070+august.sun@users.noreply.github.com>
Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>
2024-11-12 20:59:47 -06:00
cohanna
21074bd98d oops 2024-11-12 19:14:28 -07:00
cohanna
e9f6a02f18 un-reverted fixes 2024-11-12 19:05:56 -07:00
SpaceRox1244
af3593a3b7 Adds new sprites for shotgun shell boxes (#33176)
* Adds new sprites for shotgun shell boxes

* Adds second set of mag visuals for slug and uranium casings

* Fixes yaml that I messed up

* Changes credit to new username before merging happens
2024-11-12 17:45:59 -06:00
PJBot
cc3712be0c Automatic changelog update 2024-11-12 21:04:21 +00:00
Repo
ef51700094 Fix unban/editing role bans placed in groups. (#30659)
* On editing a roleban, get all the bans with the same time.

* forgoten newline

* Update to check for player ID too.
2024-11-12 22:03:13 +01:00
MilenVolf
8b154899b5 Allow editing angle of the fired projectile (#33254)
Add Angle datafield to `ProjectileComponent`. It allows to change the angle of the fired projectile
2024-11-12 20:11:02 +01:00
PJBot
8776c71e59 Automatic changelog update 2024-11-12 12:07:50 +00:00
Preston Smith
70e3650246 Make Droppers Respect Closed/Sealed Containers (#33011)
* Make droppers respect closed/sealed

* Combine nested

* Optimize conditions a bit
2024-11-12 19:06:43 +07:00
Ed
df4900e148 Demiplan examination (#578)
* demiplan examining

* cargo demiplanes update

* Update positions_buy.ftl

* Update crates.yml
2024-11-12 13:33:19 +03:00
Ed
b106554cfe Prototypes work (#579)
* wrench

* station crates

* bottles

* barrel openable

* Update crates.yml

* mop fix

* broom fix

* crossbolt size fix

* bottles fix

* Update closets.yml

* Update anvil.yml

* Update crates.yml
2024-11-12 12:42:45 +03:00
Ed
a1966d8671 improve BiomeDunGen (#33113)
* improve BiomeDunGen

* forgot lol

* Update DungeonJob.PostGenBiome.cs

* Update DungeonJob.PostGenBiome.cs
2024-11-11 23:19:54 -06:00
Simon
806e1e46cb Separate CCVars into separate files 2024-11-12 03:10:25 +01:00
Pieter-Jan Briers
4f3db43696 Integrate Modern HWID into content
This should be the primary changes for the future-proof "Modern HWID" system implemented into Robust and the auth server.

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

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

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

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

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

Requires latest engine to support ImmutableArray<byte> in NetSerializer.
2024-11-12 01:51:54 +01:00
Pieter-Jan Briers
36aceb178c Database SnakeCaseNaming fixes
Fixes formatting of owned entity type property names. These are normally named "FooBar_Baz" by EF Core, but the snake case thing was turning them into "foo_bar__baz". The double underscore is now fixed.

We don't *yet* have any EF Core owned entity in use, but I am planning to add one. I don't know if downstreams are using any so this should still be marked as a breaking change.

Also fixed it creating and dropping a Compiled Regex instance for every name, the regex is now cached (and pregenerated).
2024-11-12 01:51:54 +01:00
PJBot
37958378cb Automatic changelog update 2024-11-11 22:59:38 +00:00
Andrew Montagne
1136200dc8 BUGFIX: Fix APEs being able to be turned on without power (#32493)
Add a check to see the APC is powered before turning the emitter on.
2024-11-11 23:58:31 +01:00
Vasilis
bbdbad5691 Merge Shell Gun Hotfix into Master (#33260) 2024-11-11 18:14:15 +00:00
BramvanZijp
991bbc2d4f Merge branch 'stable' of https://github.com/space-wizards/space-station-14 into HotFixtoMaster 2024-11-11 18:52:49 +01:00
PJBot
b9c2b0c41b Automatic changelog update 2024-11-11 16:13:45 +00:00
BramvanZijp
a138fede2b Make the Flare Gun & Security Shell Gun be unbolted by default. (#33248) 2024-11-11 17:12:36 +01:00
Ed
0196f6158a update (#577) 2024-11-11 12:05:23 +03:00
BramvanZijp
197d9e68dc HOTFIX: Fix Security Shell Gun being uncraftable. (#33247)
* Sec Shell Gun Craftability Hotfix

* Capital Fix
2024-11-10 21:22:03 -06:00
leonidussaks
21979a7b5f Fix vape use without check if doafter cancelled (#33245)
vape small fix
2024-11-10 21:17:03 -06:00
Ed
ae4fa34b90 New demiplan location, MORE ZOMBIES (#576)
* new location, increase zombie spawnrate

* new caves demiplan location
2024-11-10 22:59:02 +03:00
Psycrow
45dc4739fd Update drinks_cups.yml (#570)
* Update drinks_cups.yml

* Testing

* Revert "не то жмал"

* Пришлось мне пройти через это

* mug -> vial

* test

* Делаем мир легче
2024-11-10 22:08:24 +03:00
Jaraten
caee7c1f97 stone & wooden decals (#574)
* stone & wooden decals

* typo

* fucken github
2024-11-10 22:07:13 +03:00
Ed
6f0bb473d2 Simple resurrection spell (#575)
* resurrection spell

* Update spawners.yml
2024-11-10 19:17:04 +03:00
Ed
84e07c1ded Next spellStorage experiment (#572)
* scroll spells

* refactor magic system

* Update spawners.yml

* safe use

* Update magic-spells.ftl

* fix magic containers

* fix mole

* all scrolls

* remove shadow step ring

* fix scrolls
2024-11-10 16:15:08 +03:00
Vasilis The Pikachu
63f2c8491c Merge remote-tracking branch 'upstream/staging' into stable-test 2024-11-10 14:10:53 +01:00
scrivoy
9b7200607b Omega Station: Fix Air Alarm in CMO office (#33216)
move air alarm and link devices
2024-11-10 04:40:02 -07:00
Shaddap1
1c8992ffbe Goliath rebalance (#31492)
Update asteroid.yml
2024-11-10 04:28:55 -07:00
Preston Smith
2801ebea8d Optimization! 2024-11-10 00:45:54 -06:00
PJBot
9396ce302a Automatic changelog update 2024-11-10 04:27:57 +00:00
IProduceWidgets
33b780fd1f tweak: weather command tooltip (#33130)
clear weather tip
2024-11-09 22:26:51 -06:00
Armok
d939e991bb Removed bola stam damage (#32989) 2024-11-09 22:32:54 -05:00
github-actions[bot]
d1c66d71e7 Update Credits (#33237)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2024-11-10 01:46:58 +01:00
PJBot
675e42df24 Automatic changelog update 2024-11-09 19:30:38 +00:00
ScarKy0
287a9a07de Intellicards now have a doAfter. (#33198)
* init

* cleanup

* Oops! Forgot something

* addressing changes

* guh

* guh 2.0

* some cleanup

* all bless the intellicard

* Yippee

* small locale thing

* changes + small bugfix

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-11-09 13:29:29 -06:00
Ed
c8ab937cf0 Spell scrolls (#571)
* scroll spells

* refactor magic system

* Update spawners.yml

* safe use

* Update magic-spells.ftl
2024-11-09 17:55:16 +03:00
Ed
6147740f3e Try fix master constantly fails (#567)
* try to fix

* Update entities.ftl

* Update entities.ftl

* Update entities.ftl

* Update entities.ftl

* Update entities.ftl

* Update entities.ftl
2024-11-09 13:07:12 +03:00
Flareguy
40044203e6 The Jumpsuit Re-Detailening (#33096)
* jumpsuit detailening

* jumpskirt stuff

* meta.json

* update meta.json

* meta.json fix fix

* meta.json fix fix fix
2024-11-09 16:56:16 +11:00
SlamBamActionman
1e368ae300 Add a Walking alert (#32954)
* Initial commit

* Review feedback changes

* ProtoId

* TempCommit

* First attempt to have client alerts

* Review changes
2024-11-08 18:28:24 -06:00
Errant
b9685850fa Label workflow - staging (#33221) 2024-11-08 22:59:38 +01:00
Errant
41b84fc29d Label workflow - stable (#33220) 2024-11-08 22:59:27 +01:00
Psycrow
2f91247fa2 Fix stone breeds (#559)
* Fix Stone Breeds

* Fix 1

* FIx 2

* Fix 3

* Round 4

* Final Fix
2024-11-08 21:33:19 +03:00
PJBot
6ed2ab9e85 Automatic changelog update 2024-11-08 14:51:26 +00:00
Boaz1111
fea5769cc5 dark green jumpsuit recolor, casual green jumpsuits added (#31710)
* green

* fix material arbitrage

* lighter
2024-11-08 15:50:14 +01:00
Jezithyr
84338686a3 Stable Merge (#33218) 2024-11-08 03:46:22 -08:00
Psycrow
8013b883c1 Add throwing tomatoes and fix (#548)
* Add throwing tomatoes and fix

Tomatoes like in real life

* Update produce.yml

* Update produce.yml
2024-11-08 14:15:45 +03:00
deltanedas
80e148c265 cham projector fixes/rewrite (#27111)
* cant disguise to thing in a container

* copy cigarette visualiser

* prevent aghost throwing an error

* make disguises die in space

* fuck it rewrite it to not use polymorph

* fix action troll

* oop

* add vebr

* add access to the components

* 2/3

* fix

* relay damage from disguise to user

* fix integrity

* :trollface:

* :trollface:

* m

* kill integrity

* fix a bug

* review

* remove them from component

* relay flash effect to the disguise

* fix icon being weird

* change method since multiple systems cant handle same network event

* :trollface:

* actually network Disguise real

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-11-08 12:15:41 +01:00
Psycrow
682b0f7b78 Delete structures on workbench (#549)
* Transfer of crafting barrels

* Sorry, error fix

* Come on, Work!
2024-11-08 13:29:02 +03:00
deltanedas
667daa168f pass Actor to cartridge messages (#33210)
* pass Actor to cartridge messages

* NonSerialized gaming

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-11-08 10:38:41 +01:00
Nim
c7b230857f Royal pumpkin (#547)
* royal pumpkin

* Secret zombie fix

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2024-11-08 10:26:08 +03:00
Nim
e062d386fc Herbal bandages and gauze (#545)
* gauze and bandage

* fix

* spawn

* dele

* doAfter buff

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: Ed <edwardxperia2000@gmail.com>
2024-11-08 09:26:31 +03:00
FN
012855475e Fix cursed mask bug (#33014)
* One line fix

* Removed redundant using

* Allocation improvement
2024-11-07 20:59:05 -06:00
SolStar
261c18f764 Fix research disk crash (#33205)
* Fix reserach disk crash

* remove extra whitespace

* removed args.handled where args are not handled
2024-11-07 18:29:03 -06:00
Emisse
6a1d631b14 fix invalids core (#33215)
fix invalids
2024-11-07 16:23:28 -07:00
scrivoy
9ee47b927b Core Station: Telecoms air alarm connection to atmos devices (#33214)
link air alarm in coms room
2024-11-07 16:18:12 -07:00
PJBot
03723afee6 Automatic changelog update 2024-11-07 22:03:35 +00:00
PopGamer46
d13765fa5c Fixes Lambordeere bolt buttons not being connected (#33065)
* fix

* oops, used savemap instead of savegrid
2024-11-07 15:02:24 -07:00
K-Dynamic
8257dc87de Meta map: remove arrivals chair, changed maints shotgun to beanbag rounds (#32981)
remove chair + changed maints db to rubber
2024-11-07 15:01:57 -07:00
Spessmann
fc0d85b487 Cog update (fixes) (#33202)
fixed cog again
2024-11-07 15:01:35 -07:00
Ed
87dc3f9fa5 Order board (#546)
* orders board! work for the Witcher

* stamps

* wtf

* Update closets.yml
2024-11-08 00:10:59 +03:00
Nim
12a838ac8e Zombies on style (#531)
* zombie styl

* random

* randomrandom

* random3

* random4

* random5

* Random6

* random7

* mega zombie nerf

* Update zombie.yml

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: Ed <edwardxperia2000@gmail.com>
2024-11-07 23:20:03 +03:00
Ed
ab7296ff4a Demiplan ruins (#544)
* ruins

* Update spawners.yml
2024-11-07 17:45:21 +03:00
Ed
ebac4a2eec Spellcasting upgrade (#543)
* move to gurps magic types

* spell traits, categorize spells

* Update TraitSystem.cs

* magic spells item provider

* Update twoHandedStaffs.yml

* Update CP14MagicManacostModifySystem.cs

* Update CP14SpellStorageSystem.cs

* some funny shit

* fix problems 1

* FIX

* more funny broken shit

* predict slowdown, fixes funny

* EntityTarget action

* fixes

* Update T1_sphere_of_light.yml

* fix demiplan loot centering

* predict movement!
2024-11-07 16:04:49 +03:00
ScarKy0
379fb4cb6a AI can now speak once more. (#33196)
Yippee
2024-11-07 11:25:16 +01:00
cohanna
6c7336b0a8 oops reverted too much 2024-11-06 22:01:10 -07:00
cohanna
18971f2705 Reverted #31978 2024-11-06 21:39:02 -07:00
Ed
7e4fb90e02 Spell T0 traits, recategorize magic (#540)
* move to gurps magic types

* spell traits, categorize spells

* Update TraitSystem.cs

* magic spells item provider

* Update twoHandedStaffs.yml

* Update CP14MagicManacostModifySystem.cs

* Update CP14SpellStorageSystem.cs
2024-11-06 18:02:37 +03:00
PJBot
5b0761dab2 Automatic changelog update 2024-11-06 14:40:22 +00:00
SlamBamActionman
b15d5a7f27 Changes to "Burst" firemode; Drozd, WT550 and C20-r (#31292)
* Initial commit

* Change burst fire variable to be a set value rather than a multiplier
2024-11-06 15:39:16 +01:00
PJBot
e72d63e8a9 Automatic changelog update 2024-11-06 14:28:17 +00:00
BramvanZijp
d588409909 Rework the Flare Gun & add a Security Shell Gun. (#32829)
* Rework flaregun and add security shell gun

* Make flare gun twice as likely to appear in emergency lockers

* Security shell gun can now fire lethal shells like the flare gun used to be able to.

* Rebalance the sec shell gun material cost to primarily be steel instead of plastic

* Define the ShellShotgunLight tag in tags.yml

* Leave the no lethal shells for normal flareguns to a different PR.

* Move a comment to re-run checks.

* Bye bye lethal shells from plastic guns.

* Fix weird whitespace issue.

* Make the sec shell gun inherit the normal flare gun.

* Remove the rack verb and update the sec shell gun description

* Remove the ability to fire lethals from flare guns, pending blowing up the gun

---------

Co-authored-by: SlamBamActionman <slambamactionman@gmail.com>
2024-11-06 15:27:10 +01:00
Plykiya
ed865ae973 make admeme mouse eternally hungry and thirsty by increasing decay rate (#33153)
* make admeme mouse eternally hungry and thirsty by increasing decay rate

* no starving slowdown, fix unnecessary declarations

* REVERTUS DELETUS
2024-11-06 15:19:02 +01:00
Ed
0f091b4cdf Merge pull request #542 from crystallpunk-14/ed-06-11-2024-upstream
Ed 06 11 2024 upstream
2024-11-06 17:06:40 +03:00
Ed
955145a9a5 Merge remote-tracking branch 'upstream/master' into ed-06-11-2024-upstream
# Conflicts:
#	Resources/Changelog/Changelog.yml
#	Resources/Credits/GitHub.txt
#	Resources/Prototypes/Entities/Mobs/Player/silicon.yml
2024-11-06 16:53:24 +03:00
Ed
ae27cf7e08 Revert "Merge remote-tracking branch 'upstream/master' into ed-06-11-2024-upstream"
This reverts commit 1579da881a, reversing
changes made to a9bdab0705.
2024-11-06 16:52:08 +03:00
Ed
1579da881a Merge remote-tracking branch 'upstream/master' into ed-06-11-2024-upstream 2024-11-06 16:51:42 +03:00
PJBot
24e6b9f42c Automatic changelog update 2024-11-06 13:21:12 +00:00
slarticodefast
8ddc5435a6 remove wanted list cartridge from captain PDA (#33084)
remove wanted list from captain PDA
2024-11-06 14:20:05 +01:00
Ed
a9bdab0705 Magic types, magic clothing (#539)
* magic types + auto magic spell description

* manacost calculation event

* manacost ffect clothing

* Update orbs.yml

* magic type not required
2024-11-06 08:44:03 +03:00
PJBot
d18dba982b Automatic changelog update 2024-11-06 03:30:07 +00:00
Baptr0b0t
bcfacec287 Fix AI in Intelicard can see through walls (#33177)
setdrawfov added
2024-11-05 21:28:58 -06:00
slarticodefast
1ded8e7f03 fix artifact debug assert (#33171)
* fix artifact debug assert

* do the same for EffectBigIron

* 1 tab less
2024-11-05 23:12:35 +01:00
PJBot
2382162d72 Automatic changelog update 2024-11-05 18:19:35 +00:00
Errant
da19abdc76 Don't show Reinforcement codewords on round end (#33181)
Don't show unused codeword sets
2024-11-05 19:18:28 +01:00
Errant
3972a25258 HOTFIX latejoin traitor activations (#33180) 2024-11-05 19:03:14 +01:00
PJBot
564606a532 Automatic changelog update 2024-11-05 16:59:31 +00:00
Kirus59
cb59826dcb Hunger and thirst huds fix (#32832)
* Hunger and thirst huds fix

* delete poor caching
2024-11-05 17:58:23 +01:00
Ed
b5df675187 Spellcaster slowdown, mole nerf, new shoulder slot, healing staff (#538)
* healing staff sprite

* new back slot and move all big things to whis slot

* replace ring to staff

* caster sowdown! Mole rebalance

* loadouts fix

* fix weapon rotation

* Update spawners.yml
2024-11-05 19:05:40 +03:00
Ed
c3d4303270 directional windows fix (#537) 2024-11-05 13:26:34 +03:00
Ed
120386bb2d Windows + weapon shiny (#536)
* add wooden window crafting

* weapon resprite

* Update anvil.yml

* Update walls.yml
2024-11-05 12:12:21 +03:00
PJBot
aef7dd514b Automatic changelog update 2024-11-05 00:13:37 +00:00
DrSmugleaf
8f87bad83c Fix DisplayVotes doing nothing for a vote (#33170) 2024-11-05 01:12:29 +01:00
Nim
26cf6dc01a petting (#535) 2024-11-04 18:35:56 +03:00
Ed
54c7a40967 Blacksmith role (#534)
* disable crowbar door prying

* blacksmith role

* finish role

* map update

* more recipes to anvil

* Update arenas.yml

* glass!

* ores rebalance
2024-11-04 16:25:19 +03:00
PJBot
01ac967640 Automatic changelog update 2024-11-04 11:24:18 +00:00
Zachary Higgs
a3f10ccfbb Add Silicon Law cues to Every method a Silicon can have their laws change (#32887)
* Silicon Law Sound cue refactor

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

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

* Change SiliconLawEui to cue the mind

* CR: TryGetComponent and Change the Documentation

- Remove GetComponentOrNull for  _entityManager.TryGetComponent

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

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

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

* Silicon-law-cue-refactor - CR:

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

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

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

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-11-04 12:23:12 +01:00
Ed
c21dd891f3 Endscreen message + command objectives updadte (#533)
* add simple end screen common goals

* finish common objectives endscreen

* personal objectives endscreen

* Update personal_objectives.yml

* new empire objectives
2024-11-04 13:41:09 +03:00
cohanna
69c0f8773f we hate powergaming 2024-11-04 03:10:29 -07:00
PJBot
4ba8e351fe Automatic changelog update 2024-11-04 03:34:57 +00:00
Preston Smith
5b4f4237a3 Fix: Web Clothing Butcher Issues (#33121)
* Make boot web cost equal to one cloth

* Make boots and coat butcher into web

* Remove unneeded default
2024-11-03 21:33:51 -06:00
PJBot
75dd790aa6 Automatic changelog update 2024-11-04 03:25:28 +00:00
Boolean-Buckeye
ad78b30ca3 make emergency lights (de)constructable (#32945)
* add an emergency light node to the LightFixture construction graph
* add a recipe entry to the construction menu for emergency light
* make emergency light entity at the emergency light node on the graph
* Make emergency light destroy to 1 steel and 1 glass shard to match
  the construction recipe

Co-authored-by: BooleanBuckeye <booleanbuckeye@gmail.com>
2024-11-03 21:24:22 -06:00
Tr1bute
f5fac7c5f2 Made the SpeciesChange mutation no longer transfer with Sterile Swabs. (#33126)
Made the SpeciesChange mutation no longer persist.

There was an issue where swabbing a mutated plant species: I.e Blood Tomato to a regular Tomato sapling would transfer the species mutation. It would not actually get the effect, which is probably why it went under the radar. This change makes it so that the SpeciesChange mutation cannot be transferred via swabbing.
2024-11-03 21:09:07 -06:00
Michael Krebs
5d9acb7643 fix: Remove duplicate light blue towel from misc loadout (#33145)
remove duplicate towel from misc loadout
2024-11-03 21:06:52 -06:00
PJBot
b8b958dfdb Automatic changelog update 2024-11-04 00:57:47 +00:00
Tr1bute
83f7d3f3df Added Popup for the Ligneous plant mutation when using hands. (#33136)
* Added Popup for the Ligneous plant mutation when using hands.

There was some confusion for players with the Ligneous mutation which makes the plant harvestable only with sharp tools. Adding a popup with the message "The plant is too tough." to give them a hint to use something other than just their hands.

I decided to only put the message when attempting to harvest using hands, as the intent is clear that the player just wanted to harvest, but wasn't able to. Using any other tools like a crowbar or a screwdriver will not trigger the popup.

* Update Resources/Locale/en-US/botany/components/plant-holder-component.ftl

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

---------

Co-authored-by: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
2024-11-04 01:56:41 +01:00
PJBot
9a5152832a Automatic changelog update 2024-11-04 00:50:49 +00:00
MilenVolf
cc3a19c212 Collapsible ghost roles menu (#32717)
* Make ghost roles collapsible

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

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

* Make it a little prettier

* Make only ghost role buttons collapsible

* Apply requested changes

* Typo

* Small cleanup

* Store in list, instead of iterating

* Make unique ids more unique

* Move it out of the cycle

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

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

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

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

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

* Remove extra space from ghost roles window

* Add buttons stretching. Size 3:1
2024-11-04 01:49:42 +01:00
Ed
16a0b99daf Magic crystal lanterns + Aftertest balance (#532)
* lamp visual update

* deleete ice floor spell

* mana gift spell

* magic lantern

* wallmount crystal lamps

* QoL

* crafting

* Update StyleNano.cs

* examining simplify

* rings name

* remove snakes modifier

* trinkets update

* remove snakes, add boars and rabbits to demiplans

* Update flashlight.yml

* fix

* Update test.yml

* Update migration.yml

* ыы
2024-11-04 00:55:15 +03:00
Nim
98854c01d7 Mole and small hydra (#527)
* mobs

* fix sprite

* fix f
2024-11-03 19:39:33 +03:00
Ed
53df2848c4 Demiplan polishing v4 (#530)
* Wizden PR copy

* sync

* Update DungeonJob.PostGenBiome.cs

* Update DungeonJob.PostGenBiome.cs

* some rebalance

* required exits and enters!

* room fill fix

* snakes nerf

* enable En-US localization for playtest

* guidebook update

* hotfix!!!

* anchoring deletion

* trying fix caves

* Update RoomFillSystem.cs

* disable locations for test

* Update CP14SpawnRandomDemiplaneJob.cs

* Update required_layers.yml

* Revert "Update required_layers.yml"

This reverts commit 2dd33db282.

* finally

* Update ContentLocalizationManager.cs

* Update spawners.yml

* Update test.yml

* fix
2024-11-03 14:40:21 +03:00
PJBot
a0ef431255 Automatic changelog update 2024-11-03 11:26:38 +00:00
Plykiya
912ac2c069 Bugfix: Wielding now uses identity system. (#33134)
Make wielding system use identity
2024-11-03 12:25:30 +01:00
github-actions[bot]
d2a487dc9e Update Credits (#33125)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2024-11-03 02:21:44 +01:00
Flareguy
d993582d00 Fix broken computer white shadows (#33103)
fix broken computer white shadows
2024-11-03 00:16:18 +01:00
Flareguy
4a39341e46 Delete conveyor_old.rsi (#33102) 2024-11-02 23:23:40 +01:00
RiceMar1244
0ba3350c7e Combat and survival knife storage/inhand sprites (#33111)
* Adds storage sprites for combat knife and survival knife. Replaces inhand sprites.

* Fixes meta.json copyright
2024-11-02 14:55:15 -05:00
Milon
6f1eeba191 change ShowHealthBars and ShowHealthIcons to use protoId (#32355)
use protoId
2024-11-02 17:59:38 +01:00
Errant
190d965c52 Hotfix add debug info to traitor activation (#33119)
* Add debug messages to traitor activation

* more debug
2024-11-02 17:49:44 +01:00
Scribbles0
65462d8ca5 Cardboard Box Capacity 4 -> 5 (#32743)
* capacity upgrade

* comment update
2024-11-02 17:21:35 +01:00
PJBot
a3ce9b0db4 Automatic changelog update 2024-11-02 15:13:31 +00:00
joshepvodka
8c1281adf7 Adds headphones to loadouts (#33067)
added headphones to trinkets
2024-11-02 16:12:25 +01:00
PJBot
db4b2e0a6f Automatic changelog update 2024-11-02 15:05:28 +00:00
Centronias
e7ca4b8f2f Intercoms and Radios both pick up proximate speech (#32737)
* Deduping of recent messages should consider the channel it's being sent to

* rerun actions
2024-11-02 16:04:22 +01:00
Ed
51f4ec84d5 Demiplan polishing v3 (#529)
* Wizden PR copy

* sync

* Update DungeonJob.PostGenBiome.cs

* Update DungeonJob.PostGenBiome.cs

* some rebalance

* required exits and enters!

* room fill fix

* snakes nerf

* enable En-US localization for playtest

* guidebook update

* hotfix!!!
2024-11-02 17:46:19 +03:00
PJBot
7614c2fba7 Automatic changelog update 2024-11-02 13:25:14 +00:00
deltanedas
11f0dc420f clean up tools lathe recipes (#31521)
* clean up tools lathe recipes

* add medical and cooking tools

* add result

* add result to others

* review

* engine

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-11-02 14:24:08 +01:00
PJBot
131e492e6f Automatic changelog update 2024-11-02 13:22:16 +00:00
nikthechampiongr
9520e829de Allow for the ai's laws to be changed from its core and eye (#32461)
* Allow for the ai's laws to be changed from its core and eye

* Address reviews
2024-11-02 14:21:10 +01:00
PJBot
d1ab60f7bb Automatic changelog update 2024-11-02 13:20:40 +00:00
AftrLite
4f68315584 Adds a new AME sound effect! (#33097)
* Changes the AME sound effect to not be the default MetalThud.

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

* Attribution and licensing, as requsted by deathride58

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

* Audio file tweaked by SlamBamActionMan to eliminate a weird squeak they were still able to hear. Thanks!
2024-11-02 14:19:33 +01:00
PJBot
2a6314bf90 Automatic changelog update 2024-11-02 10:08:58 +00:00
Ubaser
1c2fd6a11b Service workers antagonist fix. (#31359)
* add

* Revert "add"

This reverts commit 25da34b0fead5812fe5800c9bf5dd7b10ef48d7d.

* antagonism allowed™️
2024-11-02 05:07:51 -05:00
PJBot
fcbf515203 Automatic changelog update 2024-11-02 09:54:25 +00:00
K-Dynamic
b000a3e387 Hasten handcraft gauze recipe & decrease techfab gauze cost (#32744)
* med lathe gauze price reduction

* gauze craft doafter time

* 3 second doafter craft
2024-11-02 10:53:18 +01:00
PJBot
7276fff9c1 Automatic changelog update 2024-11-02 09:52:51 +00:00
K-Dynamic
05ae40400c Pills are explosion resistant (partially reverts #15851) (#32458)
* idk how to revert a pr so I just deleted some lines

* pill destructible with explosion resistance

* comment for explosion resist

* "and" to "but"

---------

Co-authored-by: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
2024-11-02 20:51:44 +11:00
PJBot
51b8101dc2 Automatic changelog update 2024-11-02 09:30:23 +00:00
metalgearsloth
1c8eed8b45 Add on-call functionality for adminning (#30443)
* Add on-call functionality for adminning

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

* Remove redundant name

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

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

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

---------

Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
Co-authored-by: deathride58 <deathride58@users.noreply.github.com>
2024-11-02 10:29:16 +01:00
PJBot
2537bff7ba Automatic changelog update 2024-11-02 01:34:34 +00:00
Vasilis
957b8de89b Add cvars to votekick to customize requirements for the initiator. (#32490) 2024-11-01 21:34:23 -04:00
Brandon Li
26194e2f41 Fix ItemSlotSystem popup Logic (#28856)
* move popup call out of `CanInsert` into `OnInteractUsing`

* im stupid and `reason` is completely unnecessary

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

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

* tweak logic for triggering popups

* change popup logic again

* Consolidate whitelist check

* Get any popup message not just last failed slot

* Apply suggestions from code review

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

* yoink

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

---------

Signed-off-by: Brandon Li <sirbrandonthenerd@gmail.com>
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>
2024-11-01 20:33:26 -05:00
Preston Smith
146ae8a6a6 Give Nukies a Hand Labeler (#33053)
* Add hand-labeler to nukie planet

* Rearrange nukie chem table
2024-11-02 01:44:15 +01:00
UBlueberry
3382743086 Minor antagonist guidebook changes (#32824)
* took a two month nap. accidentally pushed too many buttons. let's try this again. added thieves to antagonists.xml

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

* please don't kill me for using webedit

* capitalization, typo

* Apply suggestions from code review (more period moving)

Thanks Evan, very cool

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

* guess you could say im not pro-proper noun

* typo

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

* ok

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

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
2024-11-02 01:42:20 +01:00
Ed
2b9d949eea Demiplan polishing 2 (#528)
* wizden PR copy

* starter rooms

* grass geode location, new modifiers
2024-11-02 00:59:55 +03:00
Ed
3b520ac69c Demiplan modifiers (#526)
* simple modifiers

* modifier tag filtering

* Update CP14DemiplanSystem.Generation.cs

* Update rocks.yml

* move loot to modifier

* move enemies to modificators

* fix filtering

* modifier rariry

* reward and difficulty limits

* rebalance and optimize calculation

* Update test.yml

* wizden PR copy

* move all alchemy reagents to modifiers
2024-11-01 18:08:57 +03:00
Jaraten
7124eb5335 galasass (#525) 2024-11-01 14:45:53 +03:00
Nim
ac732c6180 Pig and boar (#507)
* pig and boar

* boar

* speed

* tweak
2024-11-01 10:48:50 +03:00
PJBot
844a92026f Automatic changelog update 2024-11-01 06:23:45 +00:00
Ed
f9fea9e6ed Demiplan polishing (#524)
* 10 -> 20 sharpening stone durability

* auto destroy demiplans try 2 (better)

* start demiplan protection time

* buying demiplan key

* increase island size
2024-11-01 09:23:22 +03:00
Minemoder5000
b8a98de784 Remove CargoPallet component from the cargo pallet (#33022)
* Change cargo shuttle pallets to catwalks.

* Remove CargoPallet component from the cargo pallet.

* Undo cargo shuttle changes.
2024-11-01 09:22:38 +03:00
metalgearsloth
d7a1753c7d Add CanLoad for biomes (#33050)
CPUJob to come later.
2024-10-31 23:18:06 -04:00
deltanedas
c9cd778133 add IsMemberOfAny to faction system (#32975)
* add IsMemberOfAny to faction system

* pro

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-10-31 21:34:27 -05:00
PJBot
c8259c6c0f Automatic changelog update 2024-11-01 02:33:34 +00:00
ScarKy0
e17d152838 Borgs can no longer see mindshield + AI can no longer toggle off seeing job icons (#33069)
* :(

* Removed the sprite + updated RSI
2024-10-31 21:32:28 -05:00
PJBot
b1a8eee52f Automatic changelog update 2024-11-01 02:07:53 +00:00
RumiTiger
6ce80d914d Muffins (#29318)
* Update meta.json

* Add files via upload

* Update misc.yml

* Update meal_recipes.yml

* Update meta.json

* Add files via upload

* Update plate.yml

* Update food_baked_single.yml

* Update dinnerware.yml

* Update cooking.yml

* Update misc.yml

* Add files via upload

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

* Add files via upload

* Update meta.json

* Update misc.yml

* Update meal_recipes.yml

* Update meta.json

* Fix meta.json

* Fix meta.json again

* Update misc.yml

* Update misc.yml

* Update misc.yml

* Update misc.yml

* Update meta.json

* Update meta.json

* Update misc.yml

* Update meal_recipes.yml

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

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

* Update dinnerware.yml

* Delete cherry

* Add files via upload

* Delete banana

* Add banana

* Delete chocolate

* Add chocolate

* lathe recipe fix

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-10-31 22:06:46 -04:00
PJBot
25b3898b28 Automatic changelog update 2024-11-01 02:05:15 +00:00
PopGamer46
d708a150e1 Fixes bolt lights of previously unpowered bolted doors (#33063)
fix
2024-10-31 22:04:08 -04:00
PJBot
973aeb1aaa Automatic changelog update 2024-11-01 01:54:01 +00:00
SlamBamActionman
06da4fcc60 Allow votekicks to be initiated in the lobby (#32528)
Initial commit
2024-10-31 21:52:55 -04:00
SlamBamActionman
b3190b8935 Lower in-round votekick requirements (#32953)
Initial commit
2024-10-31 21:47:59 -04:00
PJBot
59f1287aa3 Automatic changelog update 2024-11-01 01:44:18 +00:00
Khoa Nguyen
835d0b4d4a Fixed trash not being spawned when throwing pies (#33013)
* Fixed trash not being spawned when throwing pies

* Completely removed trash component flag check prior to the spawn loop
2024-10-31 21:43:11 -04:00
Moomoobeef
cf0d6c482e ExaminableDamage now puts its message at the bottom and in color (#32820)
* the examineableDamage component now puts its messages at the bottom, and in color

* god help us if something is priority -100 :godo:
2024-11-01 01:21:05 +01:00
deathride58
a399c1ec7c Fixes tailthump breaking positional audio by making it mono (#33092) 2024-10-31 22:33:06 +01:00
PJBot
45aa782ec4 Automatic changelog update 2024-10-31 21:32:04 +00:00
deathride58
56d62311b1 Fixes tailthump breaking positional audio by making it mono (#33092) 2024-10-31 22:30:58 +01:00
Vasilis
2282e3c352 Revert #28358 (#33090) 2024-10-31 19:51:44 +01:00
PJBot
d2baf18759 Automatic changelog update 2024-10-31 18:47:26 +00:00
SlamBamActionman
4626904fa8 [#20285 fix] Carp Plush and Rehydratables can now be put into mop bucket (#33079)
* Make shark plush janitor-bucketable

* fix bucketed grey shark texture

* Make sprites less shiny and adapt copyright notice

* Made shark way way less shiny

* Allow carp plush and rehydratables in mop bucket.

* Remove old mop bucket shark sprites

* Fix post-merge bugs

* Fix errors

* Move ReactiveContainer stuff to shared

That should mean it is now predicted.

* Custom eject verb for the mop bucket

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

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

* Review fixes

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

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

---------

Co-authored-by: Psychpsyo <psychpsyo@gmail.com>
Co-authored-by: Psychpsyo <60073468+Psychpsyo@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-10-31 19:46:19 +01:00
SpaceLizard
1c2a96590b Fixed spelling mistake in water blaster description. (#33087)
Fixed minor spelling mistake
2024-10-31 19:07:29 +01:00
Justice League
33516b77ed Fixed minor spelling mistake 2024-10-31 13:28:17 -04:00
Ed
5c4b5d1572 Demiplans expeditions (#523)
* simple expedition generation

* add simple test key

* expedition map component

* some funny procedural testing

* refactor expeditions from planetbiome to islanddungeons

* some work

* fix: grid dungeon, not map planet dungeon

* unhardcode map components

* finish T1 expedition generation

* Update preset.yml

* indestructable stone

* mob water occlusion

* caves T1 expedition

* Update CP14SpawnExpeditionJob.cs

* Delete shared MissionParams

* rename to demiplans

* pass mapid into job

* demiplan connections

* demiplan exits

* random entry points

* Update config.yml

* some cleanup and renaming

* radius one-time teleport

* rename connections to exitPoint

* merge entry and exit point into rift component

* demipan closing - all rifts deletion

* demiplanEEEEEE

* fixes

* delete floating visuals

* Update CP14DemiplaneTravelingSystem.cs

* intro and outro demiplan music

* rift cores and flashing

* pulling support

* pulling fix + generatordata fix?

* auto destrot demiplans??
2024-10-31 19:13:44 +03:00
Vasilis
d446a3e8e9 Potencially fix approved labeler (#33083) 2024-10-31 16:05:42 +01:00
PJBot
bca8d95191 Automatic changelog update 2024-10-31 14:54:44 +00:00
BramvanZijp
a08da9d31f More pda space (#32601)
* Rebalance the max programs that a PDA can hold

* Give Caps PDA more programs too.

* Make the max programs a static 8

* I forgor sec and med

* CaseCase

* Empty commit to re-run checks

* The final change, I hope.
2024-10-31 15:53:38 +01:00
PJBot
872adb5c93 Automatic changelog update 2024-10-31 14:13:33 +00:00
SlamBamActionman
55861b4fcf [#28722 fix] Add notification for dependent wearables being dropped (#33078)
* add notification for dependent wearables being dropped

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

* change popup to client-only variant

* fix redundant messages, add plural locale string

* fix conventions, fix locale input to be more intuitive

---------

Co-authored-by: Justin <justinbrick1@gmail.com>
2024-10-31 15:12:26 +01:00
PJBot
a875bf3c64 Automatic changelog update 2024-10-31 13:27:53 +00:00
Jarmer123
4261698371 Add a spare bible to PietyVend (#32363)
Update chapel.yml
2024-10-31 14:26:45 +01:00
AJCM-git
f5e5646400 New workflow to apply the pr approved label (#28358)
* New workflow to apply the pr approved label

* Maybe fix permissions
2024-10-31 12:22:13 +01:00
PJBot
826bd1ab45 Automatic changelog update 2024-10-31 10:57:15 +00:00
Boaz1111
a3dc0eb75a Pill Bottles can only store pills now (#33074)
* no longer absurd

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

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-10-31 11:56:07 +01:00
PJBot
fdd713a0f0 Automatic changelog update 2024-10-30 09:16:36 +00:00
Alzore
4b467685b2 Nukie med bundle now costs 24 tc and contains a unique defibrillator (#32720)
* a-few-injectors

* comment

* defib-ops-when
2024-10-30 10:15:30 +01:00
PJBot
827d00eb18 Automatic changelog update 2024-10-30 07:42:56 +00:00
Alzore
6834bc1fbd Add 3 bottle boxes to nanomed plus (#33018)
three bottle boxes in nanomed plus
2024-10-30 01:41:51 -06:00
PJBot
0f1e11c356 Automatic changelog update 2024-10-30 07:41:40 +00:00
Alzore
010638d0e9 Make the security belt contain more useful items by default (#32291)
* replace tear gas and flashbang with holobarrier and sec radio

* holobarrier-belt-fix
2024-10-30 01:40:33 -06:00
PJBot
d4db338ec6 Automatic changelog update 2024-10-30 07:39:27 +00:00
Alzore
0aa46f6a2a Give proto-kinetic crushers, glaives, and daggers better inhands. Update the crusher and glaive icons. (#32212)
* inhands

* better inhands

* indent
2024-10-30 01:38:19 -06:00
Preston Smith
03843734e4 Add no damage phrase and logic 2024-10-29 22:25:42 -05:00
Flareguy
3d70cdf23c Various Vaugely Connected Sprite Updates™: Encryption Keys, Station Map, Brig Timer (#32786)
* various resprites (encryption keys + signal screens + station map)

* brig timer update

* fixes n shit
2024-10-30 14:12:49 +11:00
Milon
440da3c640 fix chameleon projector bot whitelist (#33055)
fix
2024-10-30 02:03:06 +01:00
Preston Smith
907a9cef10 Fix: Make Plushie Damage Unexaminable (#33061)
Set hidden to true
2024-10-30 01:52:43 +01:00
Ed
16e23098db Merge pull request #520 from crystallpunk-14/ed-29-10-2024-upstream
Stable upstream sync
2024-10-29 15:15:14 +03:00
Ed
4e2af32ebe Merge pull request #522 from crystallpunk-14/ed-29-10-2024-guides-and-skills
Ed 29 10 2024 guides and skills
2024-10-29 14:55:50 +03:00
Ed
60f8c2c56f remove cvar! 2024-10-29 14:41:41 +03:00
Ed
df53f9a01f remove ship target point 2024-10-29 14:18:27 +03:00
Ed
2f57f11771 Cargo namespace 2024-10-29 12:18:35 +03:00
Ed
e6bbc3900f Delete CP14ExpeditionSystem 2024-10-29 12:15:16 +03:00
Ed
f5503352b9 add GuideHelp to alchemy equipment 2024-10-29 12:06:23 +03:00
Ed
817c53d98f Merge branch 'master' into ed-29-10-2024-upstream 2024-10-29 11:51:03 +03:00
Ed
cc80518d2f World minor changes (#519)
* x2 weather time

* remove alchemy test and battle royale maps, add simple island map

* island map + ocean parallax

* map floor occluder sys

* undercliff test

* update sand and ocean sprite

* Revert "undercliff test"

This reverts commit c484fe630a.

* more experiments

* Revert "more experiments"

This reverts commit a7f30fd608.

* Update default.yml

* Update debug.yml
2024-10-29 11:48:52 +03:00
Ed
ae3cbd6092 Merge remote-tracking branch 'upstream/stable' into ed-29-10-2024-upstream
# Conflicts:
#	Content.Server/Chat/Managers/ChatSanitizationManager.cs
#	Content.Server/Temperature/Systems/TemperatureSystem.cs
#	Content.Shared/Localizations/ContentLocalizationManager.cs
2024-10-29 11:16:56 +03:00
PJBot
a8c512c769 Automatic changelog update 2024-10-29 05:09:03 +00:00
metalgearsloth
94e686ca9c Fix separated game screen bumping (#33046)
I don't really understand why RecordedSplitContainer exists but removing it looks identical and fixes the panel bumping occasionally.
2024-10-29 16:07:57 +11:00
PJBot
a5a5840ee0 Automatic changelog update 2024-10-29 05:01:37 +00:00
deltanedas
63f8aba359 fix lava expeds (#33042)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-10-29 00:00:28 -05:00
Moomoobeef
6236d1abb3 Updated an incorrect sprite in the smite menu (#33043)
changed the synth sprite used in the icon for the instrumentify smite out for the more accurate supersynth sprite
2024-10-28 23:35:48 +01:00
lzk
dc3a2f6d28 add StartDelay bool to actions (#33026)
* add StartDelay bool to actions

* forgot summary
2024-10-28 23:21:14 +01:00
joshepvodka
7ac2d9a8bd Adds beacon to core station's vox box (#33004)
* added vox beacon

* changed name to vox break room

* added vox box station beacon

* fixes messed up diff
2024-10-28 16:05:01 -06:00
joshepvodka
dbef6cbecc Adds beacon to oasis station's vox box (#33003)
* added vox beacon

* changed name to vox break room

* added vox box station beacon
2024-10-28 16:04:49 -06:00
joshepvodka
e900ad7742 Adds beacon to bagel station's vox box (#33002)
* added vox beacon

* changed name to vox break room

* added voxbox station beacon
2024-10-28 16:04:37 -06:00
joshepvodka
93315d4695 Adds beacon to box station's vox box (#33001)
* added vox beacon

* changed name to vox break room

* added vox box station beacon
2024-10-28 16:04:10 -06:00
joshepvodka
30017bc2d8 Adds beacon to cog station vox box (#33000)
* added vox beacon

* changed name to vox break room

* added vox box station beacon
2024-10-28 16:03:13 -06:00
PJBot
1ef5b2226a Automatic changelog update 2024-10-28 21:26:41 +00:00
August Sun
67332502c1 Extends the minimum round time for meteor swarm events (#32876)
* adjusted minimum timers in meteorswarms.yml

* Updated timer minimum from 20 to 15 minutes

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

---------

Co-authored-by: august-sun <45527070+august.sun@users.noreply.github.com>
2024-10-28 22:25:33 +01:00
PJBot
f86798792b Automatic changelog update 2024-10-28 18:01:10 +00:00
Stalen
0468c0f6bb Fix playtime formatting (#32974) 2024-10-28 19:00:37 +01:00
Stalen
24f79c3ecc Fix playtime formatting (#32974) 2024-10-28 19:00:00 +01:00
BramvanZijp
a4717556e1 Fix loneop spawnrate by reverting it to not use the shuttle event system. (#32942)
Fix loneop spawnrate by reverting it to not use the custom shuttle event system.
2024-10-28 18:52:21 +01:00
Theodore Lukin
ee445c4938 make ai speak robotically (#33025) 2024-10-28 18:36:35 +01:00
FluffMe
08d0077719 Fix TestSuicideByHeldItem and TestSuicideByHeldItemSpreadDamage (#33030) 2024-10-28 11:52:49 +01:00
Ed
b14c75390c biological weapon (#518) 2024-10-28 13:05:01 +03:00
Vasilis
7e526da521 Fix Bug With Uppercase Radio Keys (#32997) (master) (#33031)
Co-authored-by: Thomas <87614336+Aeshus@users.noreply.github.com>
2024-10-28 00:35:23 +01:00
Thomas
4fbe50ab28 Fix Bug With Uppercase Radio Keys (#32997) 2024-10-27 11:41:29 -07:00
Ed
3e43d0695f Some tile update + dayflin resprite (#517)
* foundtion update

* dirt from grass and seedbed craft rebalance

* crowbar, tile prying

* fix high fence

* yellow dayflin sprite update

* fix currency calculation bug

* Update sewing_table.yml
2024-10-27 21:37:15 +03:00
Ed
2850665e33 Tavern map update (#516)
* recursive currency calculation

* map update

* fix
2024-10-27 17:09:06 +03:00
Nim
c2404d6c0c Zombies climbing in and other things (#515)
* hehe

* tweak
2024-10-27 14:42:11 +03:00
PJBot
a1c36dcb79 Automatic changelog update 2024-10-27 04:27:02 +00:00
slarticodefast
4252fdffb9 fix pie throwing sound not playing (#33017) 2024-10-27 15:25:54 +11:00
github-actions[bot]
6486cdf183 Update Credits (#33016)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2024-10-27 15:24:45 +11:00
Ed
546e1d8fa1 Tomatoes + farming trading (#513)
* farm trading

* ruond prices

* add tomatoes sprites

* TOMATOES

* Update tomatoes.yml
2024-10-27 01:26:22 +03:00
Moomoobeef
9d6e6257bd Removed the name "Hujsak" (#32998)
removed hujsak
2024-10-26 12:29:40 -05:00
PJBot
427817e237 Automatic changelog update 2024-10-26 17:23:15 +00:00
Saphire Lattice
a95c8baf28 Add health analyzer unrevivability warning (#32636)
* Add health analyzer unrevivability warning

* Remove errornous comment
2024-10-26 19:22:08 +02:00
Ed
08a4c4340d Bank implementation (#512)
* get currency refactor

* bank work

* finish vault markers

* add bank doors

* map update

* loadouts

* Update CP14StationTravelingStoreShipTargetComponent.cs

* oopsie
2024-10-26 18:18:30 +03:00
PJBot
dcb615d678 Automatic changelog update 2024-10-26 04:01:56 +00:00
Moomoobeef
97ef4637fd bowls now make drinking sounds (#32819) 2024-10-25 23:00:49 -05:00
Ilya246
5a10bf0954 add atmosia to devmap (#32460)
change
2024-10-25 22:04:27 -05:00
PJBot
988b62074f Automatic changelog update 2024-10-26 02:17:52 +00:00
BramvanZijp
66432c5cd8 Fix loneop spawnrate by reverting it to not use the shuttle event system. (#32942)
Fix loneop spawnrate by reverting it to not use the custom shuttle event system.
2024-10-26 13:16:45 +11:00
PJBot
6998fa83a4 Automatic changelog update 2024-10-25 22:48:20 +00:00
slarticodefast
e3f442e790 Add flash reaction effect (#32377)
add flash reaction effect
2024-10-26 00:47:11 +02:00
Vasilis The Pikachu
9b0ae98836 Merge branch 'staging' of ssh://github.com/space-wizards/space-station-14 into staging 2024-10-25 21:11:20 +02:00
Jezithyr
ae1c5572fc Applying Fix from #32764 to staging 2024-10-25 21:09:56 +02:00
Vasilis The Pikachu
c28665c7d3 Merge branch 'staging' of ssh://github.com/space-wizards/space-station-14 into staging 2024-10-25 20:33:08 +02:00
chromiumboy
1307733c4b Make atmos alert computer colors private variables (#32992) 2024-10-24 23:34:52 -07:00
chromiumboy
5ff5a72a7c Fix multiplying colors of differing nullabilities (#32991) 2024-10-24 21:06:38 -07:00
Ed
c31f1ad130 Banker and commandant outfit + fix purchase bugs (#509)
* reaname QM to commandant, and merchant to banker

* Update game_presets.yml

* add bureaucracy crate

* fix buying

* bowler hats

* reorganize shirt folders

* cloak refactor, add commandant cloak

* Update battle_royale_temp.yml

* Update migration.yml
2024-10-25 00:23:35 +03:00
Ed
0f6dd2905d Bandit antag (#508)
* remove default antags

* simple bandit antag

* greetings audio and gear

* fixes

* Update AntagPreferenceTest.cs

* gamemodes

* Update game_presets.yml
2024-10-24 18:19:14 +03:00
Ed
f2b8713dc2 Clouds overlay fix + Syringe + Localization visuals (#506)
* fix cloud

* add syringes to alchemist

* remove barrel crafting

* Revert "remove barrel crafting"

This reverts commit d3c5a26136.

* add localization visuals
2024-10-24 14:11:15 +03:00
Ed
4e3c70a9d1 Iron doors (#505)
* iron doors

* shirt desc partial fix

* fix
2024-10-24 12:38:12 +03:00
Thomas
d4da9923ea Fix Emote Chat Sanitizer (#32940)
* Fix bug?

* Fix :)

* aaaa

* AAAA!!!

* comment

* Nicer code

* What's a pull requestWhat's a pull request?
2024-10-24 16:10:13 +11:00
PJBot
79c35e0a41 Automatic changelog update 2024-10-24 03:42:11 +00:00
hyphenationc
5a86b88f8f adds Meat Tag to FoodMeatSnake (#32965) 2024-10-23 22:41:03 -05:00
Spanky
92c49afcf2 Packed Update (#32971)
Packed map update, significantly changes arrivals, perma, AI core, and misc other QOL.
2024-10-23 16:19:35 -06:00
Ed
0652c3f0b4 Prazat jewelry stones (#504)
* marble floor

* fix

* bank wallpaper, marble floor resprite

* marble window

* rename whitebrick wall to marble wall, delete iron walls

* job desc fix

* jewelry

* Update jewelry.yml
2024-10-23 21:25:58 +03:00
Nim
1d43bad57f Dinosaur - Yumkaraptor (#492)
* dino

* sprite

* fix

* ForkFiltered

* Yumkaraptor

* Update meta.json

* Update meta.json

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2024-10-23 21:25:49 +03:00
FN
1ebe48978e Fix (#503) 2024-10-23 19:44:07 +03:00
PJBot
05a00515ed Automatic changelog update 2024-10-23 12:51:06 +00:00
chromiumboy
d2216835d8 Visualized regions for NavMapControl (#31910)
* Atmospheric alerts computer

* Moved components, restricted access to them

* Minor tweaks

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

* Bug fix

* Adjusted label

* Updated to latest master version

* Initial commit

* Tidy up

* Add firelocks to the nav map

* Add nav map regions to atmos alerts computer

* Added support for multiple region overlay sets per grid

* Fixed issue where console values were not updating correctly

* Fixing merge conflict

* Fixing merge conflicts

* Finished all major features

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

* Improved clarity

* Adjusted the color saturation of the regions displayed on the atmos alerts computer
2024-10-23 14:49:58 +02:00
PJBot
3b0d8e63a1 Automatic changelog update 2024-10-22 23:52:55 +00:00
UBlueberry
c1d5e6fc4d In-hand apprasial tool sprite (#32849)
* golden apprasial tool when

* thanks evan. very cool
2024-10-23 10:51:49 +11:00
PJBot
445cad4955 Automatic changelog update 2024-10-22 23:37:58 +00:00
BramvanZijp
ee8dedea9c Several Ninja Suit power cell upgrade fixes. (#32902)
* Fix several jank issues with space ninja cell upgrades.

* Rework the code to comply with maintainer request.

* Fix some naming convention & formatting errors.

* Change from a custom check to an item whitelist to avoid power cages from fitting.

* Make the EntityUid of GetCellScore non nullable.

* Remove a line from a previous solution to the above problem I forgot to remove.

* Fix the magic number issue.
2024-10-23 10:36:51 +11:00
nikthechampiongr
2b02545f97 Hotfix server config changes for playercap and Levi bunker (#32925)
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-10-23 00:34:11 +02:00
PJBot
8f52a3448e Automatic changelog update 2024-10-22 17:02:25 +00:00
Southbridge
5d6ec18b2a Add Nuclear Cola centrifuge recipe (#32441)
* Initial implementation

* currently it crashes on load, don't know why, maybe changing the products will provide some insight

* I was overlooking part of the yaml formatting.
2024-10-22 19:01:18 +02:00
PJBot
5e637aa7bf Automatic changelog update 2024-10-22 13:50:46 +00:00
ScarKy0
9873efd514 Adding intellicard functionality. (#32347)
* init

* im so confused

* clean

* sprite update

* :|

* further attempts

* be blessed for it works

* Very prestigious pAI

* cleaning up

* Intellicard in RD locker

* PAIn't

* .Clear()n't

* .Clear()n't for real this time

* Cleaning up

* Whoopsie Daisy
2024-10-22 15:49:39 +02:00
PJBot
fc2bb79ef3 Automatic changelog update 2024-10-22 13:04:49 +00:00
ScarKy0
62f5a31c4a Syringe gun! (#32112)
* Init testing

* copyright

* oops

* Tracking the embed entity uid

* testing stuff for gradual injection

* work

* weh

* god save me

* bleh

* Yippee!

* Again

* Mini syringe ammo

* cleaning up

* mini syringes have a texture for fill amount

* -3 cool points :(

* hitboxes

* init cleanup

* much needed fixes

* Fixes
2024-10-23 00:03:42 +11:00
PJBot
94bbf7262c Automatic changelog update 2024-10-22 09:01:37 +00:00
Moomoobeef
5f1b848c08 Ammo boxes now have sprites for being parially filled! (#32930)
Initial Commit

Created new sprites for all the partial fills and modified the ammo-case ymls to accomodate the new stages
2024-10-22 11:00:28 +02:00
Spessmann
8142ac007f Cog sec maints updated (#32948)
updated sec maints
2024-10-22 00:30:31 -06:00
PJBot
7d91bcba3e Automatic changelog update 2024-10-22 05:40:44 +00:00
Southbridge
a227c3bb42 Box Station - Resolved #32771, #32949, and #32921 (#32950)
* Resolved #32771, #32949,  and #32921

* Resolved build issue
2024-10-21 23:39:34 -06:00
Ed
dacac22663 Marble (#502)
* marble floor

* fix

* bank wallpaper, marble floor resprite

* marble window

* rename whitebrick wall to marble wall, delete iron walls
2024-10-21 23:35:06 +03:00
PJBot
afd4c73bec Automatic changelog update 2024-10-21 12:45:49 +00:00
No Elka
8a5d9a3321 Let station AI use long range fax machines (#32929)
* Change stuff

* Gotcha boss
2024-10-21 14:44:43 +02:00
Ed
41d3ccab8b Locks update (#501)
* massive code refactor

* fix

* ftl fix

* rider pet pet

* hacking doAfter

* Update SharedCP14LockKeySystem.cs

* optimization

* Update migration.yml

* Update migration.yml
2024-10-21 14:20:05 +03:00
PJBot
04e422bd3f Automatic changelog update 2024-10-21 03:51:13 +00:00
MendaxxDev
b5687e4c73 prevent typing sound from playing when AI interacts with consoles (#32906)
* prevent typing sound from playing when AI interacts with consoles

* cleanup
2024-10-20 22:50:05 -05:00
PJBot
1d2ad3c335 Automatic changelog update 2024-10-21 03:44:23 +00:00
Stomf
0b8d6a1bd5 Mutetoxin buff (#32915)
* Fixes smile's ghost role to not need a raffle, very nice

* a simplier solution

* Mute toxin buffed to be more like glue

* buffed the toxin even more

* Update Resources/Prototypes/Entities/Mobs/NPCs/pets.yml

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

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-10-20 22:43:14 -05:00
Ed
8c06677ff4 Ru localization update (#500)
* Update entities.ftl

* fix

* Update entities.ftl
2024-10-20 23:27:33 +03:00
Ed
85463d380f Bank preparation (#499)
* TownSend condition

* personal objectives update

* add common objectives

* add common objectives

* tweaks

* quartermaster and merchant

* job spawner icons

* add merchants to tavern map
2024-10-20 21:20:16 +03:00
Pieter-Jan Briers
c221ef06b9 System to automatically restart server after certain uptime. (#32814) 2024-10-20 16:46:22 +02:00
nikthechampiongr
eec533cb77 Reduce player softcap for wizden servers and panic bunker wizden Levi (#32908)
* Reduce player softcap for wizden servers and panic bunker wizden Leviathan

* Fix bunker message

* Make sure it actually activates by default and make it turn off when an admin joins

* Update Resources/ConfigPresets/WizardsDen/wizardsDen.toml

The voices

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

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-10-20 12:13:51 +02:00
Spessmann
4c3fd3130d Cog small update (#32922)
based sigma
2024-10-19 22:17:10 -06:00
Jajsha
8cf5f93b9f Fix starting gear multiple storage fills and tests (#32718)
* fix things

* maybe fix everything
2024-10-20 14:43:17 +11:00
PJBot
628f51bb3d Automatic changelog update 2024-10-20 03:42:50 +00:00
Calecute
b7bd7c1d68 Blunt damage will do stamina damage on wide attacks (#32422)
Fix: blunt damage will now do stamina damage on wide attacks.
2024-10-20 14:41:44 +11:00
PJBot
088ec569fe Automatic changelog update 2024-10-20 02:47:38 +00:00
beck-thompson
69849bfb30 MMIs and positronic brains now talk like pAIs in plushies (#32914)
* commit

* spacing fix
2024-10-19 21:46:31 -05:00
github-actions[bot]
a62ddf2f99 Update Credits (#32916)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2024-10-20 02:38:14 +02:00
Pieter-Jan Briers
928877f0ef HOTFIX (stable) submodule update (#32900)
Update submodule

This fixes an important memory leak.
2024-10-19 18:05:48 +02:00
PJBot
a4750b3a9e Automatic changelog update 2024-10-19 15:32:52 +00:00
Łukasz Lindert
0a105213b4 Fix for low zombie blood (#32532)
fix for low zombie blood

Co-authored-by: Łuaksz <test@test.com>
2024-10-19 17:31:45 +02:00
PJBot
77a2907535 Automatic changelog update 2024-10-19 14:52:37 +00:00
Pieter-Jan Briers
73a82d5615 HOTFIX submodule update (#32897)
Update submodule

This fixes an important memory leak.
2024-10-19 16:51:29 +02:00
MendaxxDev
109e0bcf96 exponential backoff for admin logs db update (#32865)
* exponential backoff for admin logs db update

* Update Content.Server/Database/ServerDbBase.cs

---------

Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2024-10-19 12:28:49 +02:00
PJBot
7e0e6416a7 Automatic changelog update 2024-10-19 02:41:23 +00:00
beck-thompson
c4233cc0a4 Scalpels now cut like knives (#32858)
* im so tired

* silly me

* yeah

* Update Resources/Prototypes/Entities/Objects/Specific/Medical/surgery.yml

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-10-18 21:40:17 -05:00
Ed
78e94b1623 Airship + Unittest (#496)
* wings

* update cargo shuttle

* update goblin sound

* add new unit test

* Update CP14EntityTest.cs

* Update CP14RitualTest.cs

* add buy and sell hints

* paper reading

* hardwork

* clean task

* body forkfiltered

* Update crystal.yml

* more fork flitered

* Update basic.yml

* Update wild.yml

* Update CP14EntityTest.cs

* realise pusharing

* pusharing alchemical vials

* coin disappear works

* Fix
2024-10-19 01:09:15 +03:00
PJBot
bf14b3cdaa Automatic changelog update 2024-10-18 19:21:12 +00:00
Pieter-Jan Briers
22938a9a56 Allow strip removing items if you're holding something (#32750)
You were already able to strip more items at once from somebody than you could hold, and they would drop to the floor. This matched the behavior in SS13.

Annoyingly, however, you were not allowed to *start* a stripping action if you're holding something. This just feels like an annoying paper cut, so this is no longer a thing.
2024-10-18 21:20:04 +02:00
IProduceWidgets
091e4c1cb0 Add Towels (#32235)
* Towels

* make smoler

* Huh, wonder why that didnt fail locally. The curse of CaPiTaLiZaTiOn

* Teal swapped for LightBlue for medical.

* Appease the linter?

* magic?

* mimery

* lefthandedness
2024-10-18 17:24:43 +02:00
Errant
b137b0caa2 HOTFIX Plushies no longer delete items when recycled (#32882)
Fix: Plushies no longer delete items when recycled (#32838)

fix

Co-authored-by: beck-thompson <107373427+beck-thompson@users.noreply.github.com>
2024-10-18 16:59:50 +02:00
PJBot
758c9e464e Automatic changelog update 2024-10-18 13:43:20 +00:00
Ilya246
fca95ef250 ghost locator maints loot (#32323)
* implement

* react to revenants/AI eye

* rare maints loot

* sprite

* description

* review

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

* do changes

* stats

* networked

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-10-18 15:42:13 +02:00
Errant
cf1b3b0913 Merge spider clan charges can be armed again (#32866) to Master (#32881)
HOTFIX spider clan charges can be armed again (#32866)

* fix ninja bomb component check

* remove TryGetRole
2024-10-18 15:38:16 +02:00
Errant
e04e3a6250 HOTFIX spider clan charges can be armed again (#32866)
* fix ninja bomb component check

* remove TryGetRole
2024-10-18 15:17:18 +02:00
PJBot
304d1d5934 Automatic changelog update 2024-10-18 12:59:14 +00:00
beck-thompson
15290486dc Fix: Plushies no longer delete items when recycled (#32838)
fix
2024-10-18 14:58:07 +02:00
PJBot
7fc27a18f6 Automatic changelog update 2024-10-18 12:56:51 +00:00
Errant
23e4f81b30 Traitor activation fix for missing PDA (#30359)
* Implant the uplink if no PDA is found

* comments

* tidy up loose ends

* Whoops usually I start with the namespace, how did I forget it, shame shame

* Consistent data type for starting TC balance, misc changes

* Implant briefing, guidebook

* Update AutoTraitor, add uplink, codeword and briefing parameters to TraitorRuleComponent,  no pda for reinforcements

* engine 5c0ce43

* pass pda to AddUplink

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

* nicer string handling

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

* case typo 1

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

* case typo 2

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

* case typo 3

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

* minor layout changes

* removed redundant implant check

* minor cleanup

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-10-18 14:55:43 +02:00
Ed
f14177bf86 Alchemist update (#497)
* rebalance alchemy resource

* lockers alternative

* map update
2024-10-18 14:56:01 +03:00
beck-thompson
338781c243 Fix: Radio jammer now doesn't show setting changes to other players (#32817)
* fix

* Other fix
2024-10-18 12:04:45 +02:00
PJBot
3da9e93b3d Automatic changelog update 2024-10-18 10:04:18 +00:00
JIPDawg
c606f7144c Set Salamander round restart time to 5 minutes (#32776)
Set round restart time to 5 minutes

Edited the .toml to allow people 5 minutes on centcom for extended RP.
2024-10-18 12:03:12 +02:00
PJBot
103c1dc221 Automatic changelog update 2024-10-18 09:44:12 +00:00
Theodore Lukin
c78b5ae83d Fix warden being and qm being not considered head for tot kill head objective (#32721)
* fixed warden being and qm being not considered head for traitor kill head objective

* fixed hypothetical warden traitor not getting disk objective

* change suggested by deltanedas

* cleanup

* cleanup

* fix

* changed as suggested

* removed a dot in the comment

* removed an empty line

* reformulation
2024-10-18 11:43:05 +02:00
Leon Friedrich
adb7aee831 Fix PlantHolder interactions & InteractionSystem assert (#32874) 2024-10-18 16:40:36 +11:00
PJBot
ab86745c4e Automatic changelog update 2024-10-18 03:29:36 +00:00
Plykiya
ea19a159f8 Remove flares and shotgun flares from lathe options (#32563)
Remove flares and shotgun flares from lathe recipes
2024-10-17 22:28:30 -05:00
PJBot
0bdc57dce8 Automatic changelog update 2024-10-18 03:09:39 +00:00
Catofquestionableethics
22749db3fe Added relevant tags to several cakes, and changed chem in Spacemans cake (#32830) 2024-10-17 22:08:32 -05:00
PJBot
aac3d73456 Automatic changelog update 2024-10-18 02:43:56 +00:00
Stomf
73b2b36243 Fixes smile's ghost role to not need a raffle, very nice (#32837)
* Fixes smile's ghost role to not need a raffle, very nice

* a simplier solution
2024-10-17 21:42:49 -05:00
Spessmann
81c654ddce Cog update (engi buff) (#32875)
krill issue
2024-10-17 19:46:06 -06:00
PJBot
ac120f7ce9 Automatic changelog update 2024-10-17 21:34:06 +00:00
slarticodefast
1518dc94a3 fix playtime stats window (#32856) 2024-10-17 23:32:59 +02:00
Scribbles0
48f8aac732 Fland AI core LV change (#32770)
small ai core lv change
2024-10-17 12:18:43 -06:00
PJBot
3b3a7a6a73 Automatic changelog update 2024-10-17 14:02:41 +00:00
Thomas
876c44cd66 Sanitize shorthand emotes throughought the whole message (#28645)
* Rename ChatSanitizationManager to ChatEmoteSanitizationManager

The prior name was kind of confusing as there's a emote one and
then now there's also chat expansion happening in the accent system,
so knowing which I actually need to edit is useful.

So, I just need to keep myself not confused.

* Rename smileyToEmote and remove punctuation duplicates

The name SmileyToEmote is just... Bad.

Plus, I needed to remove the punctuation duplicates as that would
break any kind of regex parsing that I tried.

* Switch to regex from checking end of string

I also changed from System.Globalization to ILocalizationManager.

Writing that regex was definitely an experience.

* Document regex and the manager

* Rename it back

* Simplify regex
2024-10-17 16:01:32 +02:00
PJBot
ea96e8a1cf Automatic changelog update 2024-10-17 11:07:15 +00:00
Vasilis
a739b21b04 Change the window titlebar to show the joined server (#32547)
* Change the window titlebar to show the joined server

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

* Totally not a webedit

* Can you tell what cvar I copied?

* And this kids is why we don't webedit

* Reviews

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-10-17 13:06:07 +02:00
Ed
9a8d30022a Wallpaper update + paper folder (#495)
* paper folders

* Update CP14WorkbenchSystem.cs

* wallpaper update

* Update walls.yml

* remove cable sprites

* Update migration.yml
2024-10-17 13:08:36 +03:00
scrivoy
b3c61530bf Enhance Vending Machine UI: Adjust Minimum Height for better User Experience (#32851)
set FancyWindow MinHeight to 210
2024-10-16 23:34:31 -05:00
PJBot
ddec2fff70 Automatic changelog update 2024-10-17 04:01:58 +00:00
Callmore
7039f87bd4 Fix saving prefered quick store item locations (#32480)
this was just copypasted without any context wasn't it
2024-10-16 23:00:52 -05:00
PJBot
9889f8db9d Automatic changelog update 2024-10-17 03:42:13 +00:00
Zachary Higgs
79a23d3e0b Give AI a Sound Cue when an Antimov board is inserted (#32625)
* Subversion Board Insertion Audio Notification

Add Subversion flag and SubversionSound to SiliconLawProviderComponent

Add new Method (OnSubversionInserted)
to SiliconLawSystem to handle a Subversive
SiliconLawProviderComponent and play it's SubversionSound

Add Check for Subversive law provider to OnUpdaterInsert that
calls OnSubversionInserted if the SiliconLawProviderComponent is
Subversive

* Fix subversion Sound

- Change out Weh sound used to test that subversion sounds can be
changed by prototype for a a not yet present Antimov subversion sound

* Make it not just subversive

- Remove OnSubversionInserted and move the MindPlaySound in the
OnUpdaterInsert so long as LawUploadSound exists

- Modify SubversionSound into LawUploadSound

- Remove the Subversion flag

- Just use emagged_borg.ogg until the better one is made

* Remove errant spaces and a errant namespace

* CR Fixes - Add generic Lawboard insert cue

- Combine the If statements per /pull/32625#discussion_r1786926400
inside OnUpdaterInsert

- Remove the ViewVariables(VVAccess.ReadWrite) per
pull/32625#discussion_r1786924433

- Add Cryo_warning.ogg from TGStation, the sound utilized for Law Upload
cue, Attribution.

* CR Add a placeholder Antimov notification sound

- Add a new sound kitbashed from the cryo_sound used for uploading
and the emagged noise

* Add self referential source attribution

- also fix an errant space

* Add more bespoke Sound by ps3moira + attributions
2024-10-16 22:41:06 -05:00
PJBot
fae5c89ef7 Automatic changelog update 2024-10-17 03:22:10 +00:00
lzk
e891838d4b Fix holosignsystem popup (#32808) 2024-10-16 22:21:04 -05:00
PJBot
dccd00999c Automatic changelog update 2024-10-17 03:13:36 +00:00
deltanedas
18c8a803ff enable ejecting in biogenerator UI (#32854)
* enable ejecting in biogenerator UI

* allow inserting too

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-10-16 22:12:30 -05:00
PJBot
8b74244ae9 Automatic changelog update 2024-10-17 01:58:49 +00:00
SlamBamActionman
1c49c638d8 Added new Microphone instrument style "Kweh" (#32848)
* Initial commit

* Attribution
2024-10-17 12:57:42 +11:00
scrivoy
0bee22e7e2 Fix Reagent Description for Bananium (#32810)
* changed bananium desc

* removed bananium name and desc ftl string
2024-10-16 20:45:36 -05:00
LittleNyanCat
c027919618 Several small SFX tweaks (#28897)
* Several small sfx tweaks

* fix small yml oopsie

* Redo the basin code to use events

* now uses an event for when the transfer is successful, not when there's just an attempt

* forgot to remove this

* Update Content.Server/Botany/Components/PlantHolderComponent.cs

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

* Update Content.Server/Botany/Systems/PlantHolderSystem.cs

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

* adds sound variations to shoes as well

* variations on honkbots and the H.O.N.K mech

* Update Content.Server/Botany/Systems/PlantHolderSystem.cs

* Update Content.Server/Botany/Systems/PlantHolderSystem.cs

* fix compile issue

* oops forgot to delete this

* cleanup

---------

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-10-16 20:38:02 -05:00
PJBot
dec9ff69ec Automatic changelog update 2024-10-16 22:33:38 +00:00
IProduceWidgets
05ac74dfcd FTL coordinate disk command for admins: ftldisk (#28075)
* Add robo control comp, also de-reinforce a lot of walls.

* Revert "Add robo control comp, also de-reinforce a lot of walls."

This reverts commit b6be6b616aa9732b81e02bed76e3c9ae103cf7cb.

* FTLdiskburner command to make FTL disks.

* Elegant failure on mistyped ID.

* even more more eleganter failures.

* foo

* bar

* I have reached completion

* prevent id confusion

* I'm givin' her all she's got captain!

* a bit more hug boxing for safe destinations.

* comments for foo

* extra thoughts.

* cleanup

* continuen't

* Improve feedback strings

* reviewer QOL

* Reviewer QOL 2

* handle easy reviews

* Add comments to clarify reviews

* howdoicode to the rescue.

* ftldisk in hand

* ftl.ftl

* funny disk case

* loc

* unusing
2024-10-17 00:33:08 +02:00
deltanedas
cc17acbda8 fix grappling hooks getting bricked (#32738)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-10-17 09:32:32 +11:00
PJBot
8aac87a2fe Automatic changelog update 2024-10-16 22:25:38 +00:00
IProduceWidgets
8cafd7261d Fix omega cursed smite code. (#32844)
* le fixo smotes

* CURSE OF BLINDNESS

* Guh
2024-10-17 09:24:31 +11:00
lzk
f387f66387 Fix uplink name (#32846) 2024-10-17 09:23:25 +11:00
Ed
ebca84d28f Minor fixes (#494)
* minor loadout tweaks

* wooden counter

* fix parry predicting

* tables crafting simplify
2024-10-16 17:32:41 +03:00
PJBot
2a22964e51 Automatic changelog update 2024-10-16 10:06:03 +00:00
Minemoder5000
17319c7fc0 New reptile sounds (#32064)
* Adds emotes to the Reptilian species: Tailthump, Hiss
Todo: Huff

* Adds emotes to the Reptilian species: Tailthump, Hiss
Todo: Huff

* Added ReptilianBodyEmotes to speech_emote_sounds.yml, yada yada yada

* added sound and changed volume

* fix thingies

* fixed bug with reptilians not being able to do default emotes

* lowered the volume of the hiss and huff

* reformat the yml

* Add sigh keywords to the huff

* Undo changes to BuildChecker.csproj

* Add icons to the emotes

* Remove sigh triggers from the huff emote since it breaks normal sighing.

* Remove the Huff and Hiss since i cant find good audio for it

* i forgor

* Changed attribution

* Credit Sarahon for the tailslap

---------

Co-authored-by: nicho <nicholasnewsom577@gmail.com>
2024-10-16 12:04:55 +02:00
PJBot
81a8646c4d Automatic changelog update 2024-10-16 03:58:37 +00:00
slarticodefast
87981f3886 Fix plant holder double solution transfer (#32813) 2024-10-15 20:57:30 -07:00
Ed
5b4a7f6edc Ed 15 10 2024 entity hided (#493)
* test

* hide ss14 ents

* Update basic_cloak.yml
2024-10-15 16:53:54 +03:00
Ed
a83d6f0d87 locale (#491)
* locale

* delete ss14 items generated locales
2024-10-15 16:21:07 +03:00
Ed
5d89812abc Merge pull request #490 from crystallpunk-14/ed-15-10-2024-upstream
Ed 15 10 2024 upstream
2024-10-15 15:41:02 +03:00
Ed
31d39b36ae Update CP14ExpeditionSystem.cs 2024-10-15 15:28:16 +03:00
Ed
dc47bb2283 Merge remote-tracking branch 'upstream/stable' into ed-15-10-2024-upstream
# Conflicts:
#	Content.Server/Station/Systems/StationSpawningSystem.cs
2024-10-15 15:25:44 +03:00
Ed
d259191d3d Cargo system (#487)
* simple storeship arriving

* pupu

* ship cycling

* buy positions prototypes

* i hate UI

* PriceControl

* second tab ui

* baloon! pallets!

* update shop in town

* setup billboard timer

* split to sell and buy categories

* renaming gaming

* actually selling

* fix infinity selling

* improve timer

* move description too rigt part UI

* bar selling

* iron cabinet

* purge currency categories

* remove town balance, add money box

* special proposal, FTLImmune anchor

* fix UI

* remove tests buying

* Update CP14StoreWindow.xaml.cs

* currency converter

* currency clean up

* Update CP14CargoSystem.cs

* clean up part 2

* rider petpet

* coins audio

* coin improvment

* Update coins.yml

* translate

* more coins roundstart

* Update wallet.yml

* Update wallet.yml

* generate coin problem fix

* refactor proto reading

* fixes

* huh

* shuttle logshit fix, add to tavern map

* Update CP14StationTravelingStoreShipTargetComponent.cs
2024-10-15 15:22:06 +03:00
PJBot
d871313899 Automatic changelog update 2024-10-15 08:29:36 +00:00
K-Dynamic
7e2c6ea3ea Adds nitrogen to engi tank dispenser (#32565)
nitrogen to engi tank dispenser
2024-10-15 10:28:28 +02:00
PJBot
7532d6f26e Automatic changelog update 2024-10-14 22:00:15 +00:00
Ada
a7741fe9e2 Arcade Prize Additions (#32309)
* rearranged existing arcade rewards for clarity and added more

* removed tesla toy

* removed plushie throngler

* removed singularity toy, readded tesla toy

* removed tesla toy again :(

* Readded accidentally removed PlushieRainbowLizard
2024-10-14 23:59:07 +02:00
mubururu_
6654e00411 organ sprite touch-ups (#32762)
* does work?

* fix

* shrunk organs to normal size of small

* made brains and liver look better

* made stomach slightly less bright

* unique sprite for diona lungs + inhands

* unique sprite for vox lungs + inhands
2024-10-14 13:32:32 +02:00
scrivoy
8c17624896 Marathon: Add EVA Helmets to Perma and add Disposal Unit front of Atmos (#32799)
add: EVA helmets to perma, disposals bin atmos
2024-10-14 05:23:41 -06:00
Errant
519a6b2474 HOTFIX: Fix tech anomaly nexttimer (#32805) (#32807)
Fix tech anomaly nexttimer (#32805)

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2024-10-14 11:41:31 +02:00
Ed
4425b77c90 Return RU lang 2024-10-14 11:39:12 +03:00
PJBot
f5ab4f5cb6 Automatic changelog update 2024-10-14 07:07:25 +00:00
metalgearsloth
573f490896 Fix tech anomaly nexttimer (#32805) 2024-10-14 18:06:18 +11:00
ScarKy0
5be82d2a7f Cyborg module action icons (#32505)
* Init

* added jani and medical

* + sci and service modules

* + syndi modules

* fixing up

* geiger counter stuff
2024-10-14 18:05:40 +11:00
PJBot
a7339a5bf9 Automatic changelog update 2024-10-14 05:56:54 +00:00
Kevin Matuschzik
906913563e Fixed portal artifacts targeting the Ai (#32677)
* Added checks to not target AIs and people in containers

* made the change to use IsEntityInContainer. Much Better!

* returned old Mindquerry and removed wrong use of admin logger

* guard statment

* removed unnecessery refs and fixed position swap

* Minor change

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-10-14 16:55:46 +11:00
Джексон Миссиссиппи
9b71757c07 cleanup melee (#32486)
* it removes warns ig

* Quick fix

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-10-14 16:40:59 +11:00
Leon Friedrich
97f6097dad Add IsQueuedForDeletion checks to interaction system (#32526) 2024-10-14 15:13:35 +11:00
Leon Friedrich
30ada26315 Remove inaccurate admin log when moving a held item (#32525)
Remove inaccurate admin log when switching held item
2024-10-14 15:05:40 +11:00
PJBot
dd6433c44b Automatic changelog update 2024-10-14 03:55:38 +00:00
metalgearsloth
71c9894903 Jobreq format (#32806)
* Format job requirements as hours and minutes

* Use TimeSpan.ToString for playtime instead of custom method

* wehflicts

---------

Co-authored-by: jmcb <joelsgp@protonmail.com>
2024-10-14 14:54:31 +11:00
OnyxTheBrave
d79b34de9a Fix Industrial Reagent Grinder sprite (#32758)
Updated to reflect the RecyclerVisualLayers no longer having a forward reverse or off visual effect.
2024-10-14 14:53:56 +11:00
PJBot
59490d8259 Automatic changelog update 2024-10-14 03:31:38 +00:00
Pieter-Jan Briers
4a5178a538 Fix role ban loading bugs (#32725)
This code was a mess. Now it's less of a mess and user UserDbDataManager now.

Fixes the following bugs:

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

Likely fixes #24781, #27282
2024-10-14 14:30:31 +11:00
lzk
9ceb971535 ping emisse for shuttle changes (#32768) 2024-10-14 14:06:32 +11:00
Leon Friedrich
2d60a4684c Hide role entities in the spawn menu (#32798) 2024-10-14 14:05:49 +11:00
Leon Friedrich
4e0018697f Add role prototype validation tests (#32801)
* Add role prototype validation test

* Rejig GetPrototypesWithComponent

* More tests n stuff
2024-10-14 14:05:25 +11:00
PJBot
870eb439f3 Automatic changelog update 2024-10-13 22:52:54 +00:00
K-Dynamic
0bec8af824 rainbow lizard plushie (#32564)
* rainbow weh

* plushie loot table

* arcade loot pool

* remove from plushie crate

* fuk
2024-10-14 00:51:46 +02:00
TeaMaki
076c692878 Warden Hat Texture Change (#32253) 2024-10-14 00:36:56 +02:00
Pieter-Jan Briers
796764d755 Fix some rounds failing to end due to mind roles (#32792) (#32793)
* Fix some rounds failing to end due to mind roles

Fixes #32791

This is caused by ShowRoundEndScoreboard running into a bug trying to display antags: some player is showing up as antag with MindIsAntagonist(), but has no antag roles listed in MindGetAllRoleInfo().

This was caused by one of the roles of the player having the Antag boolean set, but having no AntagPrototype set.

The responsible mind role appeared to be MindRoleSubvertedSilicon which is missing a set for the SubvertedSilicon antag prototype.

I also added resilience to the round-end code to make it so that an exception showing the scoreboard (and sending the Discord message) would not cause the round end logic to completely abort from an exception.

I am planning to add an integration test to cover this bug (no prototype in mind roles), but I'll leave that for not-the-immediate-hotfix.

* At least one maintainer approved this tiny PR without reading it, not naming names.
2024-10-13 23:00:40 +02:00
Pieter-Jan Briers
c7b0d5a27c Fix some rounds failing to end due to mind roles (#32792)
* Fix some rounds failing to end due to mind roles

Fixes #32791

This is caused by ShowRoundEndScoreboard running into a bug trying to display antags: some player is showing up as antag with MindIsAntagonist(), but has no antag roles listed in MindGetAllRoleInfo().

This was caused by one of the roles of the player having the Antag boolean set, but having no AntagPrototype set.

The responsible mind role appeared to be MindRoleSubvertedSilicon which is missing a set for the SubvertedSilicon antag prototype.

I also added resilience to the round-end code to make it so that an exception showing the scoreboard (and sending the Discord message) would not cause the round end logic to completely abort from an exception.

I am planning to add an integration test to cover this bug (no prototype in mind roles), but I'll leave that for not-the-immediate-hotfix.

* At least one maintainer approved this tiny PR without reading it, not naming names.
2024-10-13 22:55:15 +02:00
github-actions[bot]
56ba3fdf09 Update Credits (#32774)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2024-10-13 18:06:40 +02:00
Errant
e5ad32fe93 Fix random test fail in DeleteAllThenGhost (#32753)
It's simple. We kill the heisentest
2024-10-13 17:31:38 +02:00
Errant
30effd5ccd Fix random test fail in DeleteAllThenGhost (#32753)
It's simple. We kill the heisentest
2024-10-13 17:28:26 +02:00
Ed
648505dc15 Switch to ENG language 2024-10-13 15:02:57 +03:00
PJBot
0e3f3536ff Automatic changelog update 2024-10-13 11:26:56 +00:00
SlamBamActionman
9bf7c44585 Add poster about the SSD term (#32736)
* moff

* Attribution
2024-10-13 22:25:49 +11:00
PJBot
7af913ad13 Automatic changelog update 2024-10-13 08:23:11 +00:00
SkaldetSkaeg
8093a49943 Block emotes for sleeping (#32779)
* Block emotes

* typing issue

* Update Content.Shared/Bed/Sleep/SleepingSystem.cs

Co-authored-by: MilenVolf <63782763+MilenVolf@users.noreply.github.com>

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: MilenVolf <63782763+MilenVolf@users.noreply.github.com>
2024-10-13 19:22:05 +11:00
PJBot
52937a2e64 Automatic changelog update 2024-10-13 06:39:39 +00:00
BramvanZijp
2e3db0e2c5 Increase AI Playtime Requirements (#32007)
* Increase AI Playtime Requirement

* Change silicon supervisor message

* Slightly lower AI time requirement and change borg supervisor to be just its laws for now.

* Leave the supervisor to another PR

* Comply with maintainer request

* Comply with another maintainer request because they forgor.
2024-10-13 17:38:32 +11:00
Jezithyr
af72f2e17c Applying Fix from #32764 to staging 2024-10-12 22:21:44 -07:00
John
7c6ff536eb Fixing Thief Beacon Role Check Logic (to use new mindrole system) (#32764) 2024-10-12 22:20:03 -07:00
PJBot
1f6bab7957 Automatic changelog update 2024-10-13 04:57:00 +00:00
Golinth
561d55e7a4 Firebot Tweaks (#32629)
Removed random sentience and some other minor tweaks
2024-10-13 15:55:51 +11:00
Theodore Lukin
7f42c0a531 Qm external access (#32631)
gave qm external access
2024-10-13 15:55:12 +11:00
Nim
40959cf422 fix resp (#488) 2024-10-13 02:09:41 +03:00
KingFroozy
214a20da8e Changes to CE's suits (#29850)
* Changes to ce sprites

* Adjustments

* More changes i guess

* Love life, get skirt

* Bitlessdark

* fkingforcepush

* upd №?
2024-10-12 21:13:39 +02:00
lzk
b999752e88 Update omega evac (#32748)
- rename to evac omega
- add screens
2024-10-12 13:03:55 -06:00
Scribbles0
561297495f Marathon AI tweaks (#32756)
* camera tweaks

* add intercoms
2024-10-12 13:03:31 -06:00
slarticodefast
4704309b4e Fix SpawnAndDeleteAllEntitiesInTheSameSpot heisentest (#32330)
What happened was that the new tech anomaly randomly triggered a signal sink on the portable generator, which is currently broken and throws an error if the that sink is activated.

The resolve needed logMissing = false because it does not expect the ActiveGeneratorRevvingComponent to exist.
2024-10-12 11:54:48 -07:00
slarticodefast
d6d8c55d57 Don't error on missing component in ChangeHeat (#32451) 2024-10-12 11:52:05 -07:00
Nim
a6fc5e6ace Rabbit (#486)
* rabbit

* meat

* гладить

* тоже гладить
2024-10-12 20:01:13 +03:00
eoineoineoin
70b7747fdd Make APC UI work correctly with multiple users (#32465)
* Make APC UI work correctly with multiple users

* Check access only on client, when constructing UI

* Do TODO (Thanks, Robust 236.1)

---------

Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
2024-10-12 19:21:43 +11:00
Errant
a9ecf805e5 Fix random test fail in DeleteAllThenGhost (#32753)
It's simple. We kill the heisentest
2024-10-11 21:17:01 +02:00
Saphire Lattice
729de28844 Fix Centcom cloning scanner (#32746)
* Fix Centcom cloning scanner

* Fix uid conflict
2024-10-11 03:00:54 -06:00
lzk
7a4cefa8ac update fland (#32747)
add captain id card
2024-10-11 02:35:46 -06:00
scrivoy
e98af125dc Fixed capitalization in Interface description (#32739) 2024-10-10 21:40:41 +02:00
PJBot
bc64676747 Automatic changelog update 2024-10-10 14:36:43 +00:00
nikthechampiongr
e7b7e2270d Fix bounties(and potentially other things) running out of ids (#32700)
* Make NameIdentifier Ids get refreshed after round restarts

Before this commit the existing values would just get shuffled.
This means that eventually the server would run out of ids to give to
new entities for different groups. As a result everything would get id 0

* Comply with what seemingly is the convention for sawmills

* Make it impossible to insert a bounty with a duplicate id

* Reduce duplication

* Remove unused sawmill

* Fix rustbrain and skill issue

* Aaaa

* Apply suggestions from code review

---------

Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2024-10-10 16:35:35 +02:00
PJBot
740288eb96 Automatic changelog update 2024-10-10 08:50:05 +00:00
Errant
93c7bdc134 Mind Role Entities (#31318)
* Mind Role Entities wip

* headrev count fix

* silicon stuff, cleanup

* exclusive antag config, cleanup

* jobroleadd overwerite

* logging stuff

* MindHasRole cleanup, admin log stuff

* last second cleanup

* ocd

* minor cleanup

* remove createdTime datafield

* now actually using the event replacement I made for role time tracking

* weh
2024-10-10 10:48:56 +02:00
Pieter-Jan Briers
3e078ab3e0 Fix error log when recycling something with small material counts. (#32723)
* Fix error log when recycling something with small material counts.

MaterialStorageSystem.SpawnMultipleFromMaterial now doesn't call StackSystem.SpawnMultiple if it tries to spawn zero. This happens because the recycler calls SpawnMultipleFromMaterial for everything recycled, even if the amount it has stored is < the amount for one sheet.

* Update Content.Server/Materials/MaterialStorageSystem.cs

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

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-10-10 03:29:26 +02:00
PJBot
ac16a05fef Automatic changelog update 2024-10-09 18:02:38 +00:00
beck-thompson
327466a6e2 Plushies can now have pAIs stuffed into them (v2)! (#30805)
* First commit

* I forgot silly me

* Actually added comments

* spellin

* fixes

* more blacklists

* Minor fixes

* Speech Verb also changes now

* Simple name stuff

* Other fixes

* remove one line of whitespace

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-10-09 20:01:32 +02:00
chavonadelal
6d99597349 Job title localization (#32338)
* Job title localization

* Correcting fields
2024-10-09 17:05:36 +02:00
Ed
844b4d4616 underworld (#485) 2024-10-09 16:19:38 +03:00
PJBot
fc1c709d44 Automatic changelog update 2024-10-09 12:45:45 +00:00
beck-thompson
5a41cc81b3 Decrease price of radio jammer from 4 tc -> 3 tc (#32472)
* First commit

* increase price by one tc
2024-10-09 14:44:38 +02:00
lzk
d450b613d6 fix typo (#32712) 2024-10-09 14:41:07 +02:00
PJBot
b657aba2e1 Automatic changelog update 2024-10-09 11:56:57 +00:00
SlamBamActionman
ddaa0e83c6 Add admin log for codewords (#32531)
* initial commit

* Delta review
2024-10-09 13:55:48 +02:00
Pieter-Jan Briers
1dbbf315c7 Update submodule to v236.1.0 (#32704) 2024-10-09 13:41:03 +02:00
Ed
b9df2a495a some blacksmith bandage (#483)
* anvil

* iron and copper ore walls + procedural cave update

* vladimirs rocks

* furnace

* Revert "furnace"

This reverts commit f378e4fb85.

* Revert "vladimirs rocks"

This reverts commit b2c6a193fc.

* Revert "iron and copper ore walls + procedural cave update"

This reverts commit dc6d70b10e.

* Revert "anvil"

This reverts commit 3ab1649992.

* Reapply "anvil"

This reverts commit 91c226d18d.

* huh

* fuck anvil

* Revert "fuck anvil"

This reverts commit 3c3a87c25e.

* Revert "huh"

This reverts commit 7fb44b4908.

* fix comment

* Reapply "iron and copper ore walls + procedural cave update"

This reverts commit 891c3ba0aa.

* Reapply "vladimirs rocks"

This reverts commit 4f2eaef6c1.

* Reapply "furnace"

This reverts commit 9d7e042ddf.

* Update anvil.yml

* Update workbenchs.yml

* Update workbenchs.yml

* Update workbenchs.yml

* Update workbenchs.yml

* Update workbenchs.yml

* Update workbenchs.yml

* Update workbenchs.yml

* Update workbenchs.yml

* Update workbenchs.yml

* EVIL anvil

* Update workbenchs.yml
2024-10-09 13:40:06 +03:00
PJBot
357e998cbb Automatic changelog update 2024-10-08 23:30:49 +00:00
beck-thompson
384ff7e8f6 Add pumpkin pie! (#32623)
* first commit

* Licence fix

* rosysyntax licence change (permission granted!)

* simplify

* Better wording
2024-10-09 10:29:41 +11:00
Nim
1ca7456363 AI Factions (#481)
* factions

* CP14

* Update ai_factions.yml

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2024-10-08 22:52:46 +03:00
PJBot
dc2899c274 Automatic changelog update 2024-10-08 18:30:44 +00:00
K-Dynamic
6f9b4f4226 CHIMP and APE particle speed increase (#32690)
* swap omega and delta particle colours

* remove upgrade doafter

* explicit syndicate chip description

* Syndicate CHIMP stealth

* fast projectile speed

* 10 to 12 shots

* buff heat dmg

* upgrade chip mentions omega particle

* Revert "remove upgrade doafter"

This reverts commit 8a321980b7a384daca06215656494e0c116e7333.

* Revert "explicit syndicate chip description"

This reverts commit c803c773739a61fc5b3a6cb90810622a6d5846c9.

* Revert "Syndicate CHIMP stealth"

This reverts commit 698a108580892addabf8d51494a72e1ee651b8e6.

* Revert "10 to 12 shots"

This reverts commit 858ac0392be0549eb0a288648413d1020cabae1a.

* Revert "swap omega and delta particle colours"

This reverts commit 4c000b2f110a5d35f317cb61cb5b03ea32841ad5.

* Revert "buff heat dmg"

This reverts commit 02a8690dafbd41631b098e51ef9afba5b6ee6ac4.
2024-10-08 20:29:37 +02:00
PJBot
28f576dae8 Automatic changelog update 2024-10-08 09:54:56 +00:00
Plykiya
1366f6b405 Replace the Librarian's round-start D10 with a D20 (#32648)
Replace D10 with a D20
2024-10-08 11:53:50 +02:00
averystarbit
0e0887bd49 Added proper capitalisation for supervisors when entering the game (#32683)
changed punctuation for jobs, added proper capitalization and comma usa
2024-10-08 11:52:46 +02:00
PJBot
1f04117edf Automatic changelog update 2024-10-08 09:52:31 +00:00
shamp
922dd0bce6 Fix cloth dupe (#32685)
Update curtains.yml
2024-10-08 11:51:23 +02:00
lzk
33042b00d0 Fix cryo locale again (#32654)
* Fix cryo locale again

* yeep
2024-10-08 11:50:54 +02:00
Ubaser
38fd54a1bf Update Core (#32665)
* add

* remove invalids

* fix

* yes
2024-10-07 19:59:06 -06:00
PJBot
34df781668 Automatic changelog update 2024-10-07 22:43:51 +00:00
Saphire Lattice
f22f9e39c5 Change minibomb to be explosion resistant and start timer on damage (#32429)
* Make minibomb explosion resistant and trigger timer on damage

* Tune damage behaviour and threshold for minibomb
2024-10-08 00:42:42 +02:00
Pieter-Jan Briers
eecbfb63a0 Move client dumpentities command to "DEBUG" (#32687) 2024-10-07 19:19:42 +02:00
Scribbles0
6b10e00da4 oasis update (#32679)
sec apcs and ai core wiring
2024-10-06 19:24:44 -06:00
Ed
d2c5aa74b4 Ritualizm (#474)
* ritual cucumber setup

* entities requirements

* try graph???

* Revert "try graph???"

This reverts commit c90c6353cb.

* pipyau

* fixes

* yay, it works

* spawn effect

* regex lower message restrictions

* unique speakers support

* apply entity effect ritual

* ritual chalk

* Update SpawnEntity.cs

* ritual stability

* stability event

* add guidebook description to all ritual actions

* Readability added

* Update RequiredResource.cs

* finish describer

* clean up describer

* Update triggers.ftl

* cave ambient loop

* parry sound update

* rituals end start

* magic ambience add

* global sharedization

* Update phases.yml

* daytime requirement

* Update phases.yml

* start ritual

* fixes

* more ambient work

* rritual visualizer

* end ritual

* magic orbs!

* required orbs

* orbs design

* consume orbs

* setup neutral cluster triggers and edges

* listener proxy

* restucture graph

* fix time triggers

* healing cluster

* fixes

* Create CP14RitualTest.cs

* test errors for check test

* YEEEE

* Fuck triggers, its broken now, YAY

* triggers redo

* fix

* fix test

* Update CP14RitualTest.cs

* Update neutral_cluster.yml

* Update CP14RitualSystem.Triggers.cs

* clean up, documentation

* redo triggers again

* and another one

* species sacrifice trigger

* whitelist trigger

* fix

* describer refactor

* fix memory leaking  + hyperlinks

* dd
2024-10-06 18:04:18 +03:00
Nim
a6532a2801 fix (#480) 2024-10-06 17:12:31 +03:00
PJBot
a6c468b697 Automatic changelog update 2024-10-06 13:34:08 +00:00
Golinth
46a2eb545e Fully Revert Clown Waddling (#32652)
Fully revert Clown Waddling (revival of #29161)

A sad day, see #29156 for discussion
2024-10-06 15:33:02 +02:00
PJBot
35fc1b4037 Automatic changelog update 2024-10-06 12:49:56 +00:00
Арт
867efe8b5b Add flowers to loadout (#32097)
* Add_Poppy&Lily

* Add_FlowerWreath

* Add_Headflowers

Sprites, meta, prototype

* Id_Changes

* Changes

* Update_Sprite

* Desc_Change

* Scale_Change

* Sprite_Scaling
2024-10-06 14:48:49 +02:00
Spessmann
126c1786de Cog update fix (#32657)
* fixes for cog

* ok fixed that
2024-10-05 20:30:10 -06:00
PJBot
386e59b462 Automatic changelog update 2024-10-05 18:45:55 +00:00
slarticodefast
eb4e422cb0 fix light bulbs not fitting into the trash bag (#32452)
fix trash
2024-10-05 12:44:47 -06:00
Spessmann
2287df13bd Cog engineering DIY update (#32651)
engineers forced to do work, sobbing
2024-10-05 12:08:39 -06:00
The Canned One
b0c5023fda Fix comments in StartIonStormedComponent.cs 2024-10-05 16:48:45 +02:00
The Canned One
b35d2902d4 Fixed cyborgs with the StartIonStormedComponent (which is just the Derelict Cyborg right now) not showing up as 'antag' in the admin player overlay. 2024-10-05 15:09:36 +02:00
TakoDragon
db64ad9c4d Marathon Removed double walls and a wrong cable (#32603)
removed double walls and cable fucks
2024-10-04 17:18:46 -06:00
NotSoDamn
644d7ab682 BaseAdvancedPen migration (#32638)
* Update migration.yml

* Update Resources/migration.yml

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

---------

Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com>
2024-10-04 23:13:30 +03:00
Nim
98c921aa94 Zombie and old lamp (#467)
* zombie

* fix

* spawner fix

* license

* woman parts

* male parts

* 122

* 123

* 124

* HideSpawnMenu

* damn

* requested

* fixxxx

* gooo
2024-10-04 21:24:17 +03:00
Nim
21ea4290a5 Paintings (#479)
* oppa

* fix

* Update Resources/Textures/_CP14/Structures/Wallmount/wallmount_painting.rsi/meta.json

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2024-10-04 21:18:01 +03:00
Ed
c55241355e Update wild.yml 2024-10-04 19:48:18 +03:00
Ed
35baaacbce Blue amanita flower, mana potions! (#478)
* merge bloodgrass and red flowers

* delete sprites

* add blue amanita sprites

* restruct alchemy reactions folders

* mana heal and damage reagent

* add gatherable to worldgen

* fixes

* Update sewing_table.yml

* Update Alchemy.xml

* Update Alchemy.xml

* Update migration.yml
2024-10-04 19:19:13 +03:00
PJBot
ec4acdebbf Automatic changelog update 2024-10-04 09:35:55 +00:00
Saphire Lattice
94c8018ff3 Change the syndicate charge to start a timer on signal (#32423)
* Change the syndicate charge to start a timer on signal

* Actually add the component in question

* Add default link for TimerStart signal
2024-10-04 11:34:48 +02:00
PJBot
fbb6f17add Automatic changelog update 2024-10-04 08:44:51 +00:00
Saphire Lattice
88f060d51a Make the explosions throw the container/item they originated from (#32428)
Extra fun if it's something that can trigger multiple times
2024-10-04 10:43:45 +02:00
The Canned One
d7ed5b4386 remove whitespace. 2024-10-04 08:35:16 +02:00
The Canned One
581a4d14fc minor Derelict Cyborg code changes. 2024-10-04 08:31:55 +02:00
PJBot
8b65186bfa Automatic changelog update 2024-10-04 05:40:57 +00:00
SoulFN
9e054c1f9d Give dragon pull ability (#32568) 2024-10-04 15:39:50 +10:00
PJBot
423d394af1 Automatic changelog update 2024-10-04 02:56:43 +00:00
Plykiya
295e63193c Two additional checks to prevent FTLing stations (#32558)
Add two additional checks to prevent FTLing
2024-10-04 12:55:36 +10:00
Jezithyr
570c166517 Disable Auto-Publish (#32627)
disable auto publish
2024-10-04 03:16:32 +02:00
PJBot
7edd1c6d52 Automatic changelog update 2024-10-04 01:14:09 +00:00
Southbridge
c0d67429ab Box Station - Connected Recycler, rerouted power for Singlo Substation, added law boards to AI upload room (#32608)
* Fixed #32443 and #30375

* Fixed duplicate ID issue, and added lawboards to resolve #32581

* Removed Overlord board and added Crewsimov

* Removed invalid UserInterface component
2024-10-03 19:12:59 -06:00
Ed
41cf2b22ff Merge pull request #477 from crystallpunk-14/ed-03-10-2024-upstream
Ed 03 10 2024 upstream
2024-10-03 17:47:23 +03:00
Ed
ab1e071fdf Merge remote-tracking branch 'upstream/master' into ed-03-10-2024-upstream
# Conflicts:
#	Resources/Prototypes/Entities/Mobs/Customization/Markings/human_hair.yml
2024-10-03 17:34:08 +03:00
PJBot
1c41d3381f Automatic changelog update 2024-10-03 14:02:07 +00:00
eoineoineoin
a8982b88af Allow users to drag-reorder action bar (#32552)
* Avoid rebuilding all buttons on action state change

Allows for drag events to continue when actions change

* Remove excess action buttons

---------

Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
2024-10-03 16:01:01 +02:00
The Canned One
d863e3c5ca Derelict Cyborg no longer appears on the endround 'Game Information' screen. It still appears in the Player Manifest. 2024-10-03 14:03:14 +02:00
The Canned One
00aaffbc00 removed whitespace 2024-10-03 13:51:38 +02:00
The Canned One
3aff20173c Removed 1 line of whitespace. 2024-10-03 13:26:29 +02:00
The Canned One
9dc90a258e Changed DerelictCyborgSpawn event's frequency from 6 to 5, even though i didn't want to. 2024-10-03 12:43:51 +02:00
PJBot
568fb235fa Automatic changelog update 2024-10-03 10:33:16 +00:00
The Canned One
4b633fde9c Fixed IonStorms sometimes affecting the laws of the current AI and future Cyborgs and AI's, including those in subsequent rounds. 2024-10-03 12:32:50 +02:00
Vasilis
bc76cd876f Remove sentience from clean and medi bot (#32383)
There is no point in these silicon being sentient, they have basically zero role play potential and are not meant to be controlled by players. The janibot can be played somewhat but at that point we have janitor borgs which are way better at this. You can only clean floors and even then it does a terrible job at doing that and only that. A player playing as a janibot will get bored quickly. No amount of RP will save you.

A player taking over a mediborg just makes it useless as you cant inject anymore. And again, medical borg. There's no point in adding the feature. It's too much work then its worth when we have borgs.

They don't have ghost role info for a reason. They are not meant to be played.
2024-10-03 03:32:10 -07:00
PJBot
3e85d28e9d Automatic changelog update 2024-10-03 10:03:05 +00:00
ArtisticRoomba
c68e5a667c Various item contraband fixes (#32614)
* fixes current contraband issues: xray cannon, hos's trench coats, stinger grenades

* yet another contraband addition
2024-10-03 12:01:58 +02:00
The Canned One
963009a440 Changes IonStorm related code with no gameplay changes. 2024-10-03 11:34:24 +02:00
SpaceCat
b603233480 change sound (#476) 2024-10-03 09:28:50 +03:00
PJBot
052d7c4d2e Automatic changelog update 2024-10-03 00:13:04 +00:00
Pieter-Jan Briers
2d644095e3 Fix borg hands showing up in stripping menu (#32606)
* Fix borg hands showing up in stripping menu

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

* Add more checks
2024-10-03 02:11:56 +02:00
PJBot
440742f8f7 Automatic changelog update 2024-10-02 13:53:20 +00:00
Pieter-Jan Briers
719f78956b Disable bioluminescence plant mutations because it breaks the engine (#32561)
No fun allowed

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-10-02 15:52:14 +02:00
Flareguy
4ad4fd42b1 Steel tile variantization fix (#32596)
steel tile variantization fix
2024-10-02 14:14:44 +02:00
PJBot
58c8a07d2c Automatic changelog update 2024-10-02 12:01:37 +00:00
FluffMe
8961dd35a5 Fix accidental erase of paper contents by spamming save action (#32598)
Fix spammable paper save issue
2024-10-02 14:00:31 +02:00
PJBot
9b4df5b452 Automatic changelog update 2024-10-02 11:45:17 +00:00
deltanedas
8b14e2534d fix instigator not existing (#32597)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-10-02 13:44:11 +02:00
lzk
c55e311c7e Cleanup pins.yml (#32593)
* Cleanup pins.yml

* oh my

* forgor
2024-10-02 13:23:32 +02:00
PJBot
612732fb84 Automatic changelog update 2024-10-02 10:54:25 +00:00
lzk
edc83b2fab cleanup and fix dinky star (#32594)
* cleanup dinky star

* fix

* oh
2024-10-02 12:53:19 +02:00
PJBot
7b39d146d3 Automatic changelog update 2024-10-02 09:38:55 +00:00
Toly65
ea3b14faac Bandaid fix to entityeffects on plant trays (#32576)
prevented the bioluminescent and slippery effects from being applied to the plant (and thus the plant tray)
2024-10-02 11:37:49 +02:00
PJBot
5a229e7a2b Automatic changelog update 2024-10-02 06:19:03 +00:00
ArchRBX
dd12ac1f8a MedTek Cartridge (#32450)
* initial commit

* adds cartridge to cmo's locker

* tidies up yml, adds default scanner sound, makes it so the silent property silences the scanner sound too

* fixes ert medic pda not having it preinstalled

* adds attribution

* removes redundant dependencies

* fix agent pda

---------

Co-authored-by: archrbx <punk.gear5260@fastmail.com>
2024-10-01 23:17:57 -07:00
PJBot
c4c786f08d Automatic changelog update 2024-10-02 05:36:54 +00:00
TakoDragon
542817807d Red circuit floor (#32557)
* red circuit added

* index colour begone
2024-10-01 23:35:48 -06:00
PJBot
b364894228 Automatic changelog update 2024-10-02 05:34:42 +00:00
TakoDragon
936917cd05 Hydroponics doors (#32575)
* spriting done

* yml hydro updates

* Named wrong thing and forgot it inherets
2024-10-01 23:33:35 -06:00
Preston Smith
2df61e4e71 Added LV cables to Marathon SMES room (#32574)
Added LV cables to SMES room, powering light and computers.
2024-10-01 23:30:58 -06:00
PJBot
95f20f13dc Automatic changelog update 2024-10-02 05:28:07 +00:00
Plykiya
2a07e4666a Fix quick-swap stacks of items (#32560)
* remove picking up stack on quick swap

* better
2024-10-02 15:27:01 +10:00
PJBot
cfc723e3f8 Automatic changelog update 2024-10-02 05:01:54 +00:00
metalgearsloth
4ca2a2bb8f Fix sensors blocking doors (#32591) 2024-10-01 23:00:48 -06:00
PJBot
b050e8332e Automatic changelog update 2024-10-02 03:23:15 +00:00
slarticodefast
360585276d fix voice mask chameleon menu (#32546) 2024-10-01 21:22:09 -06:00
PJBot
c0d8d58629 Automatic changelog update 2024-10-02 02:57:55 +00:00
Zylofan
42a1e02261 Seismic charge now craftable (#32459)
* when tryInsertBlueprint is called it now also calls UpdateMaterialWhitelist on the ent so that it can accept new materials if needed.

* Changed the previous commit to now just have sharedMaterialStorageSystem subscribe to TechnologyDatabaseModifiedEvent which will call  UpdateMaterialWhitelist.

* Empty-Commit
2024-10-01 20:56:49 -06:00
Scribbles0
20aa14e4f7 Cog update (#32585)
* ai core upgrades

* fix distro color
2024-10-01 19:45:54 -06:00
github-actions[bot]
8833cf624a Update Credits (#32516)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2024-10-02 01:29:00 +02:00
Zylofan
ec8b7b238a fixed it so blue bandana head and mask sprite is not reversed on vox (#32569) 2024-10-01 23:55:56 +02:00
PJBot
24f2d4c317 Automatic changelog update 2024-10-01 21:45:55 +00:00
TakoDragon
f3fe5af240 Reinforced walls sprite see throu top (#32578)
fixed a gap
2024-10-01 23:44:47 +02:00
PJBot
bfb2f60090 Automatic changelog update 2024-10-01 21:08:56 +00:00
TakoDragon
23f4bc1d7a Gay Boykissers (#32584) 2024-10-01 23:07:48 +02:00
The Canned One
08de5aeae1 Derelict cyborg minor yaml changes. 2024-10-01 18:07:41 +02:00
PJBot
d82c666e80 Automatic changelog update 2024-10-01 15:15:06 +00:00
BramvanZijp
f79de12509 Prevent borgs from being able to be briefly toggled off. (#32485)
* Prevent borgs from being able to be briefly toggled off.

* Use the pre-existing component instead of making an unneccesary duplicate.
2024-10-02 01:13:59 +10:00
Jaraten
6c08ca60f3 frame & table (#464)
* frame & table

* rem superfluous sprite

* merge conflict

* duplicate_ID

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2024-10-01 16:32:14 +03:00
The Canned One
d0114d9738 added a code summary 2024-10-01 14:04:33 +02:00
The Canned One
7169788e16 changed very minor stuff with no gameplay alterations. 2024-10-01 11:23:19 +02:00
The Canned One
36390b23d1 Small changes - hopefully good ones. 2024-10-01 11:11:58 +02:00
The Canned One
c6fe5682c2 changed almost nothing 2024-10-01 10:57:51 +02:00
The Canned One
1abc60b995 moved a bit of IonStorm code elsewhere 2024-10-01 10:42:52 +02:00
The Canned One
834b6ebaaa Cleaned up a bit of the Derelict Cyborg code. 2024-10-01 10:02:25 +02:00
PJBot
6a1815aeaf Automatic changelog update 2024-10-01 04:04:43 +00:00
ScarKy0
ba68fb2ddb Update binary key to use AI icon (#32327)
* Init

* uplink icon
2024-10-01 14:03:37 +10:00
PJBot
a73780bc57 Automatic changelog update 2024-10-01 03:14:22 +00:00
Golinth
3b682d4d68 Added Firebots - Real (#32482)
* Add Firebots

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

* Make SpraySystem actually use useDelay

got rid of that TODO

* Added firebot speech

Fire detected!
2024-09-30 20:13:16 -07:00
PJBot
edc110907e Automatic changelog update 2024-09-30 22:41:38 +00:00
kosticia
5681db31a9 Changing the thief's objective to stealing ID cards. (#32411)
* Changed thief ID objection

* Update Resources/Prototypes/Objectives/thief.yml

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-10-01 00:40:31 +02:00
PJBot
64e637905a Automatic changelog update 2024-09-30 22:25:44 +00:00
pofitlo
bad7359aeb Add camera bug (#30250)
* Add camera bug

* Update camera_bug.png

* fix

* change

* Update Resources/Prototypes/Entities/Objects/Devices/Syndicate_Gadgets/camera_bug.yml

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

* Update Resources/Prototypes/Catalog/uplink_catalog.yml

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-10-01 00:24:36 +02:00
pofitlo
2f286afd95 Syndicate business card (#32162)
* add card

* Update Resources/Locale/en-US/paper/syndicate-business-card.ftl

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

* fix

* Update Resources/Prototypes/Entities/Objects/Misc/business card.yml

Co-authored-by: Эдуард <36124833+Ertanic@users.noreply.github.com>

* add logo

* swap the "funny 'c'"

* improve logo (a little) and also fight with the funny 'c'

* fix

* oh... i think... mabe i done with this?...

* add

* smaller cards

* fix

* Update synicate_card.png

* fix typo

* fix

* fix

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

---------

Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com>
Co-authored-by: Эдуард <36124833+Ertanic@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-09-30 22:44:44 +02:00
Charlie
55ae02f320 fix index stepping to avoid pushing front layers into back layers (#32553)
Co-authored-by: charlie <charlie.sc.wong@veiwsonic.com>
2024-09-30 22:27:33 +03:00
PJBot
db198d2813 Automatic changelog update 2024-09-30 17:39:29 +00:00
BramvanZijp
38f59d2038 Swap the advanced tool borg modules omnitool for jaws and a power drill (#32487) 2024-09-30 19:38:22 +02:00
Golden Can
eaa6017ada Update Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-09-30 18:32:47 +02:00
Golden Can
e75a71d7d3 Update Content.Server/Silicons/Laws/StartIonStormedSystem.cs
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-09-30 18:31:36 +02:00
Golden Can
0cc1f32b3b Update Resources/Textures/Mobs/Silicon/chassis.rsi/meta.json
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-09-30 18:28:39 +02:00
Golden Can
a4e7ad008c Update Resources/Prototypes/Entities/Mobs/Player/silicon.yml
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-09-30 18:24:38 +02:00
Golden Can
eb1168a831 Update Resources/Prototypes/Entities/Mobs/Player/silicon.yml
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-09-30 18:24:28 +02:00
The Canned One
4c8a235e61 Minor alterations to the Derelict Cyborg and its ghostrole description 2024-09-30 12:12:10 +02:00
PJBot
717f82f9da Automatic changelog update 2024-09-30 09:57:11 +00:00
qwerltaz
bc059f0b6d AI can use fire alarm (#32467)
* ai can use fire alarm

* ai wire
2024-09-30 11:56:05 +02:00
The Canned One
f226f28e52 Derelict Cyborgs are now very likely to be affected by ion storms. 2024-09-30 10:03:21 +02:00
PJBot
c419e58300 Automatic changelog update 2024-09-30 05:15:13 +00:00
drakewill-CRL
7cf04dcb20 Use archived gas mixture in gas exchange comparison (#32088)
The comparison for doing gas exchange used current and not archived
moles. This could lead to update order-dependent gas spreading effects.

To fix this, convert TileAtmosphere's MolesArchived and
TemperatureArchived to a AirArchived, and use that in the comparison
method.

---------

Co-authored-by: PraxisMapper <praxismapper@gmail.com>
Co-authored-by: Kevin Zheng <kevinz5000@gmail.com>
2024-09-29 22:14:07 -07:00
PJBot
dd15a6862c Automatic changelog update 2024-09-29 22:37:53 +00:00
Celene
5c0b127456 Execution System uses the identity of an entity; added "the" to execution message (#32536)
* Exec.System now uses IdentityManagement; added the where necessary

* Included attacker in check for Identity

---------

Co-authored-by: Celene <maurice_riepert94@web.de>
2024-09-30 00:36:47 +02:00
slarticodefast
16325007d5 Fix mutation system debug assert (#32530) 2024-09-29 13:37:31 -08:00
The Canned One
bad25e3397 Split part of IonStormRule into IonStormSystem. Added StartIonStormed which also uses IonStormSystem. Added StartIonStormedComponent. Changed stuff related to the Derelict Cyborg. Derelict Cyborg now spawns with a randomized lawset. 2024-09-29 19:01:59 +02:00
PJBot
f6ceaa7d10 Automatic changelog update 2024-09-29 15:19:15 +00:00
Ilya246
4aed728207 make conveyor belt assemblies cheaper (#32444)
cheapening
2024-09-29 17:18:09 +02:00
Ed
3f94c73bdb Magic update (#473)
* magic system update

* fix
2024-09-29 16:44:17 +03:00
SlamBamActionman
d0c4d5a93a Add webhook for votekicks (#32513)
* Initial commit

* Localization
2024-09-29 15:23:53 +02:00
PJBot
cc9202bbb2 Automatic changelog update 2024-09-29 12:24:03 +00:00
ArtisticRoomba
1dc9541aed Fixes HoS's energy shotgun not being marked as restricted contraband (#32521)
* the 12^21th contraband marking fix

one step closer to release

* sometimes you just make mistakes
2024-09-29 14:22:57 +02:00
PJBot
6bc383c0ef Automatic changelog update 2024-09-29 12:20:08 +00:00
Leon Friedrich
f1f1fc1dc3 Add interaction rate limits (#32527)
* Move PlayerRateLimitManager to shared

* Add interaction rate limits

* uncap tests
2024-09-29 22:19:00 +10:00
PJBot
6b49a510d1 Automatic changelog update 2024-09-29 12:14:30 +00:00
Leon Friedrich
d806db264a Fix currency duplication bug (#32524) 2024-09-29 22:13:22 +10:00
Ed
4cd9e41469 Mist + Lampposts (#472)
* lamppost

* mist weather

* maps update

* Update weather.yml

* Update meta.json
2024-09-29 13:07:30 +03:00
Ed
4d9e657f6f Split decal cleaner into Broom + Max Gab papers and hair (#470)
* add broom

* water fix

* new hair

* paper added

* feather pen

* some unfinished inkwell

* inkstorage

* Update meta.json

* fixes
2024-09-29 11:02:39 +03:00
nikthechampiongr
a5840b925b Fix RA0032 (#32514) 2024-09-29 02:25:21 +02:00
MilenVolf
1b9d77a760 Replace obsolete Tile Access methods (#32508)
* Replace obsolete SetTile

* Remove obsolete GetTileRef & GetAllTiles

* Forgor

* Apply suggested `GetMapOrInvalid`
2024-09-29 01:27:47 +02:00
Ed
9f93931057 Revert "Added personal signature system (#382)" (#471)
This reverts commit 0cd3a3c2d9.
2024-09-29 00:36:08 +03:00
Ed
0dc7982109 Footprints + Mop + Force undersky liquid evaporation (#469)
* all evaporation under sky

* footprints system

* puddle footprints

* split to holder and trailer

* mop added

* mop finish
2024-09-28 18:09:30 +03:00
metalgearsloth
0a7b23cd4d Update submodule to 236.0.0 (#32500) 2024-09-28 19:31:27 +10:00
PJBot
8b692d118d Automatic changelog update 2024-09-28 09:03:49 +00:00
metalgearsloth
bed968465c Fix multiple door issues (#32483)
* Fix multiple door issues

- Doors should no longer cycle open-and-closed anymore (at least nowhere near as easily).
- Door sprites shouldn't flicker as much (needs my engine PRs to remove all but one of them).

* woops conversion
2024-09-28 19:02:43 +10:00
The Canned One
964ef33fc7 Fixed accidental removal of something from a meta.json file. 2024-09-28 10:50:33 +02:00
The Canned One
c3fa1b45d0 Added Derelict Cyborg midround event. 2024-09-28 10:18:40 +02:00
PJBot
9f5b6af82d Automatic changelog update 2024-09-28 06:08:57 +00:00
Futuristic-OK
a371de16d3 Some new hairstyles! (#31010)
* Add files via upload

png of hairs

* Update meta.json

hairs meta

* Update human_hair.yml

hairs yml

* Update human-hair.ftl

hairs named

* second try

* fix meta

* Add files via upload

* Add files via upload

fix again

* Add files via upload

again again

* Add files via upload

again again fix again

* Add files via upload

i hate yourself

* Add files via upload

fixxxxx!

* Add files via upload

aaagaaaaiiin

* dd

dddddd

* Add files via upload

fix again

* Add files via upload

ddsdssddssddsdsds

* Update human-hair.ftl

* Update human-hair.ftl

screw this im just going to update it myself
webops time

* Update human_hair.yml

* Update meta.json

* Rename capsdaughter.png to longbow.png

* Rename artist.png to shaped.png

---------

Co-authored-by: Ubaser <134914314+UbaserB@users.noreply.github.com>
2024-09-28 16:07:51 +10:00
metalgearsloth
dd376e4e84 Optimise drains (#32230)
* Optimise drains

If it's still a problem then we do what I did for rmc14 and just dump all the active drains onto a job to getentitiesinrange in parallel.

* Fixes
2024-09-28 15:16:54 +10:00
PJBot
caac678fa6 Automatic changelog update 2024-09-28 04:41:31 +00:00
beck-thompson
7485411ab2 Predict appraisal tool verb! (#32496)
* First commit

* Network :(
2024-09-28 14:40:24 +10:00
Ed
dca61c009d 2 new Lobby image, some bugfix (#468)
* +2 lobby screens

* Update goblin.yml

* workbench recipes remove nesting

* tips update

* Update sewing_table.yml
2024-09-28 01:29:02 +03:00
PJBot
b5a7326160 Automatic changelog update 2024-09-27 19:05:30 +00:00
deltanedas
7d4ea967e0 remove thief figurine objective (#32413)
* make figurine objective just 1

* remove the objective entirely

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-09-27 21:04:22 +02:00
The Canned One
602541b548 minor changes to the Derelict Cyborg 2024-09-27 20:11:04 +02:00
The Canned One
30018a3ab1 added Derelict Cyborgs with basic functionality. 2024-09-27 18:10:51 +02:00
PJBot
4e860952d7 Automatic changelog update 2024-09-27 10:05:01 +00:00
LittleNorthStar
bbf84d0346 Feature/grey trenchcoat for detective loadout (#32380)
* Detective grey coat available in loadout

* Revert "Detective grey coat available in loadout"

This reverts commit 3697e15518b300cbc110872dc92d7905b7ef2605.

* Reapply "Detective grey coat available in loadout"

This reverts commit 8e5f43a035d70a7076ba26d43ed683b135af1d99.

* Hoping I got this right?

* Fixing a oversight

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

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

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-09-27 12:03:54 +02:00
Ed
560c7acc52 Merge pull request #465 from crystallpunk-14/ed-27-09-2024-upstream
Ed 27 09 2024 upstream
2024-09-27 11:27:09 +03:00
Ed
34adcd5e2a Update cp14-ignoredPrototypes.yml 2024-09-27 10:48:56 +03:00
Ed
558b38e51d Update ContentAudioSystem.CP14AmbientLoop.cs 2024-09-27 10:46:15 +03:00
Ed
b9e90f50ca nospawn 2024-09-27 10:35:21 +03:00
PJBot
88ccc191b9 Automatic changelog update 2024-09-27 07:23:24 +00:00
Fildrance
4bcf3c3c0e Station AI ability to electricute doors (#32012)
* Boom! Emergency access!

* Emergency access sound

* locale

* Updated sounds

* bleh

* Door electrify base

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

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

* refactor: added icon and sound for door overcharge

* meta.json should use tabs not spaces

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

* refactor: cleanup, ScarKy0 mentions for resources

* refactor: removed unused textures

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

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

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

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

* bolts now check for power using SharedPowerReceiverSystem

* electrify localization and louder electrify sounds

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

* refactor: cleanup

* New sprites and fixes

* Copyright

* even more sprite changes

* refactore: cleanup, rename overcharge => electrify

---------

Co-authored-by: ScarKy0 <scarky0@onet.eu>
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2024-09-27 17:22:17 +10:00
Ed
1df3ed177b Merge remote-tracking branch 'upstream/master' into ed-27-09-2024-upstream
# Conflicts:
#	Content.Server/Explosion/EntitySystems/TriggerSystem.cs
2024-09-27 10:22:05 +03:00
PJBot
0d26bb0320 Automatic changelog update 2024-09-27 07:13:17 +00:00
metalgearsloth
bc461b91a5 Predict stripping (#32478)
* Predict stripping

Stops mob verbs from getting moved around again.

* Bola

* Fix ftl
2024-09-27 17:12:10 +10:00
PJBot
2e03787b6c Automatic changelog update 2024-09-27 07:10:24 +00:00
metalgearsloth
f46f5e2835 Fix storage area pickup sound playing multiple times (#32397) 2024-09-27 17:09:17 +10:00
PJBot
bee66eddef Automatic changelog update 2024-09-27 06:11:33 +00:00
metalgearsloth
b1e69ee84d Fix airlock autoclose mispredict (#32477)
* Fix airlock autoclose mispredict

It was hard to see this ingame due to animations masking it. The only way you'd notice currently is the light mispredicting.

* cudin
2024-09-27 16:10:27 +10:00
PJBot
b8d7733640 Automatic changelog update 2024-09-27 05:50:28 +00:00
august-sun
b9b0c10361 Fixed collision for gas and volumetric pumps (#32471)
Removed BaseMachinePowered from Gas and Volumetric pumps

Co-authored-by: august-sun <45527070+august.sun@users.noreply.github.com>
2024-09-27 15:49:20 +10:00
Spessmann
af3ea5253a Cog update (power fix/grav) (#32475)
* became real

* fixed 32456
2024-09-26 23:20:47 -06:00
Ed
c2704165d3 Loadout update (#461)
* some full species sprite

* floral wreath

* alchemist cloak, loadout restruct

* giant head clothing refactor

* Update entities.ftl

* backpacks loadout! yay

* trinkets

* Update general.yml

* oopsie

* Update general.yml

* fixes

* Delete test-ship.yml
2024-09-27 00:36:09 +03:00
PJBot
bf80f3abb8 Automatic changelog update 2024-09-26 16:57:07 +00:00
beck-thompson
fe2145d3b9 Voice Mask refactor (#30798)
* First commit

* Added base.Initialize()

* Voice wire fix (Electricty name)

* Various minor cleanups

* Localized default voice mask name

* Added VoiceOverride stuff

* Removed unused stuff

* Typo

* Better localized stuff

* Typo / spelling stuff / comments

* Blessed
2024-09-26 18:55:59 +02:00
PJBot
c2bc821e55 Automatic changelog update 2024-09-26 16:33:21 +00:00
SlamBamActionman
eeadc75b0a Add Votekick functionality (#32005) 2024-09-26 18:32:13 +02:00
Ed
038201bfde Ed 26 09 2024 server fix 2 (#460)
* fix server rules

* update tavern map, add arena

* Update exp_tavern.yml

* Update arenas.yml
2024-09-26 19:14:47 +03:00
Ed
622f1a23f3 fix Game map, set only Sandbox Gamemode, add game rules (#459)
* fix map and gamemod, add rule file

* move
2024-09-26 17:35:21 +03:00
Ed
d8263f0298 Shield Parry (#456)
* simple parry disarm

* idk, need testing

* parry fix
2024-09-26 16:59:22 +03:00
PJBot
4491550a5e Automatic changelog update 2024-09-26 12:47:24 +00:00
Ilya246
fd1f4a3929 lower frezon/n2o sale prices, make frezon take more trit (#32407)
* lower gas prices

* set trit ratio from 1:50 to 1:8
2024-09-26 14:46:17 +02:00
Ed
a92c623672 Fences update (#458)
* small fences update

* Update wooden_fence.yml

* reparent all fences, fix high fence

* iron grille fix

* migration

* Update migration.yml

* construction recipes

* Update migration.yml

* fix dev map

* Update migration.yml

* Update migration.yml

* Update migration.yml
2024-09-26 14:57:24 +03:00
Velcroboy
0f729bca0d Makes BaseAdvancedPen abstract (#32454)
Co-authored-by: Velcroboy <velcroboy333@hotmail.com>
2024-09-26 12:58:18 +02:00
PJBot
9c2fe85d47 Automatic changelog update 2024-09-25 17:40:55 +00:00
BramvanZijp
548973bc1f Fix Doctors Delight metabolism Rate (#32297)
* Fix Doctors Delight metabolism Rate

* Combine Drink and Medicine instead of halving their motabolism rate.

* Removed unintentional newline.

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

* Remove metabolismRate since it is setting it to the default.

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

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-09-25 19:39:49 +02:00
PJBot
5a585f70e5 Automatic changelog update 2024-09-25 17:28:36 +00:00
august-sun
b2dad9ff90 Makes the rolling pin craftable (#32285)
* Makes the rolling pin craftable

* Update Resources/Prototypes/Recipes/Crafting/Graphs/improvised/rolling_pin.yml

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

---------

Co-authored-by: august-sun <45527070+august.sun@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-09-25 19:27:30 +02:00
PJBot
92c5c873d4 Automatic changelog update 2024-09-25 16:50:51 +00:00
Vasilis
6459f7156b Remove binary channel access to silicons without laws. (#32385)
Mostly feature proofing but these should not have binary access. ESPECIALLY pais

Say we had malf ai and it was talking with other borgs about its plans. The owner of the pai (or any of these silicons) can just listen into this. Someone can just wake up a pai and ask it to monitor the binary channel. There's a reason the binary radio chip is a syndicate item.

Some of these also have no reason to be able to talk on binary, are you gonna ask the ai to bother someone to refill your vend stock? Are you gonna clown with the AI and other borgs as a clown borg and annoy them?
2024-09-25 18:49:43 +02:00
PJBot
d2ed93ed62 Automatic changelog update 2024-09-25 15:42:42 +00:00
themias
e0a3d3d91a Fix agent ID card unlimited range (#32445)
* Fix agent ID card unlimited range

* update order to be more optimized
2024-09-25 17:41:34 +02:00
keronshb
7168959929 Adds real-time charge & disabled action information to Actions (#31821) 2024-09-25 10:27:28 -04:00
Zylofan
0dedc9d91a Skull Helm Hand Sprite now turns (#32442)
Fixed a typo for the bone helmet that made it not rotate when held in the right hand.
2024-09-25 20:50:15 +10:00
Jaraten
693ba93e44 Content pack jr (#457)
* 24.09.24

* wallpapers

* backpack parenting setup

* goblin backpack

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2024-09-25 12:31:31 +03:00
PJBot
31c45d6169 Automatic changelog update 2024-09-25 05:22:30 +00:00
goet
d1812c11fd Fix contraband never getting added to vend inventory (#32431)
* fix contraband never getting added to vend inventory

* Revert "fix contraband never getting added to vend inventory"

This reverts commit e7fb3a60c3cb6fcbf41d7f015f13dbc7b1c1901d.

* readd setter method to system

* fix again without reparenting
2024-09-25 15:21:24 +10:00
PJBot
52e85fe726 Automatic changelog update 2024-09-24 21:59:53 +00:00
Moomoobeef
55366dc594 Most papers are no longer trash (#32343)
most papers are not trash anymore
2024-09-24 23:58:46 +02:00
Brandon Hu
95a159f950 fix(BatterySelfRecharger): Fully charge BatterySelfRechargers (#30627) 2024-09-24 23:37:45 +02:00
Ed
6b6a96e8d6 Create CP14Publish.yml 2024-09-25 00:08:42 +03:00
PJBot
89dbef7461 Automatic changelog update 2024-09-24 20:44:08 +00:00
Pieter-Jan Briers
e36d735064 Fix cartesian explosion in pref loading (#32434)
Lol .AsSingleQuery().

Some people's preferences wouldn't load on Lizard. Turns out the entire preferences set is loaded with a morbillion joins in a single query and one person had 240,000 (!!!) rows returned for their preferences query. Yeah.
2024-09-24 22:43:02 +02:00
Ed
75bc6d4eac Doors update (#455)
* sprites

* mirrored + windowed wooden doors

* cooking table sprite

* craftable doors
2024-09-24 21:19:52 +03:00
PJBot
4bca634ff6 Automatic changelog update 2024-09-24 17:03:58 +00:00
ArchRBX
241be37185 AstroNav GPS Cartridge (#32194)
* initial commit

* adds astronav cartridge to QM locker

* changes requested in review

* fix merge conflicts

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

* fix notificationsenabled on salv pda proto

* fixes lingering statuscontrol on eject while held

---------

Co-authored-by: archrbx <punk.gear5260@fastmail.com>
2024-09-24 19:02:51 +02:00
PJBot
f3e185c063 Automatic changelog update 2024-09-24 15:49:38 +00:00
Milon
042f0d3f47 fix paper staying on fire forever (#32412)
okay who did that
2024-09-24 17:48:32 +02:00
PJBot
057de0cb10 Automatic changelog update 2024-09-24 15:20:46 +00:00
lzk
87932bce57 craftable freezers (#32277)
* Craftable freezers

* oh i forgot that
2024-09-24 17:19:40 +02:00
PJBot
b883f79660 Automatic changelog update 2024-09-24 15:08:06 +00:00
LordEclipse
efd989435e Antimov in both Traitor & Nukie Uplinks (#31916)
Adds Antimov AI Lawboard to Uplinks Automatic changelog update

Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2024-09-24 17:06:58 +02:00
PJBot
49d4e4c465 Automatic changelog update 2024-09-24 14:24:56 +00:00
Dvir
50395e25cf Allow AreaInsert pickups for one item (#32153)
Update SharedStorageSystem.cs
2024-09-24 16:23:48 +02:00
Ed
07637bd691 Prototypes cleaning: destructable, flammable (#453)
* damage rethinking, bush fix

* flammable rethink

* trying to fix fire

* airtight false default

* autoignite

* Update fire.yml

* Update fire.yml

* Update fire.yml
2024-09-24 13:46:26 +03:00
Tornado Tech
f3e9209af5 Added CP14 options menu (#454) 2024-09-24 13:30:19 +03:00
spanky-spanky
9d75a228c0 Add missing LV cables in Omega atmos (#32417)
Adds missing LV wire in atmos burn chambers.
2024-09-23 22:48:14 -06:00
PJBot
dc4d638ce9 Automatic changelog update 2024-09-24 00:32:14 +00:00
Myra
f1bd0be772 Remove all command age requirements (#32340)
From what I can tell this was merged with this on accident.

Maintainers see the maint review thread on this.

The original pr also claimed this was as an example.

In my opinion wizden should not have an age requirement for command.
2024-09-24 02:31:08 +02:00
Pieter-Jan Briers
1450d76337 Fix OOC not re-enabling if restartroundnow is used (#32401)
The ChatSystem code for re-enabling OOC only ran during PostRound, which gets skipped over when doing restartroundnow. Now it does this on PreRoundLobby too.
2024-09-24 09:38:09 +10:00
eoineoineoin
594aad0fa9 Paper QOL improvements (#32418)
* Don't add newlines (fixes #32357)

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

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

---------

Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
2024-09-24 09:36:05 +10:00
PJBot
d0bb408678 Automatic changelog update 2024-09-23 21:50:41 +00:00
lzk
95104de117 Fix cadet pda (#32399) 2024-09-23 23:49:34 +02:00
Brandon Hu
20bb9ede11 fix(contraband): Make contraband work with chameleon items (#30986)
* formatting

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-09-23 22:19:15 +02:00
spanky-spanky
5e9a0c9d9d Omega Minor Sec Update (#32410)
* Updated Omega armory and Warden office.

* Adjusted walls, a decal, and an air sensor.
2024-09-23 10:17:45 -06:00
Ed
468e3c9f69 Some issues (#452)
* possible UI theming fix

* gob blood

* filter guidebooks by Culture settings

* deleted lobby track
2024-09-23 18:34:04 +03:00
Ed
ecdb02650b Update README.md 2024-09-23 17:30:49 +03:00
PJBot
31db37e826 Automatic changelog update 2024-09-23 13:09:17 +00:00
Jophire
24140d8c8a VIM have Passenger Access. (#32302)
* Revert "Update mechs.yml"

This reverts commit 4a44065b11c427581462a9bfa46fc66ff8878cf4.

* Reapply "Update mechs.yml"

This reverts commit fb5db29f4ae58106180ac836d01f953b816e7a61.

* Revert "Reapply "Update mechs.yml""

This reverts commit c845b6bb3d3e6e80ce7a8aa290b10e2f71bca726.

* Reapply "Reapply "Update mechs.yml""

This reverts commit 41b8934fd100337c31b26fc5e269f65e1f459970.

* VIM Door Stuck Fix

Vim No longer gets stuck in doors.

* VIM has Passenger Access

Debug Tested on the wrong map. Much easier solution. Just give the mech Access tags.

* Moved tags to proper VIM.

Moved access tag to the non-admin VIM.
2024-09-23 15:08:10 +02:00
comasqw
8e27ef22ed Local helper update (#420)
* local helper update

* Delete entities.ftl

* Helper Refactor

* Revert "Helper Refactor"

This reverts commit 4aca315593.

* Helper Refactor

* Жееесть, я не знал про setdefault у словарей

* Update localization_helper.py

* Ревёрт "Жееесть, я не знал про setdefault у словарей"

Лучше бы я продолжал не знать о них

* чтооооо

* Update yml_parser.py

* Update entities.ftl

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2024-09-23 15:43:02 +03:00
Ed
0456d40bef Content pack (#444)
* cable sprite

* steel plates

* iron wall

* vladimirs resprite

* resprite cables

* cable item

* lv cable finish

* round table

* curtains! (need resprite)

* plates + cucumbers

* more procedural cooking

* some tweaks

* fix test

* пипяу

* finish

* ah

* l

* pip

* some cool

* hide station ai

* revert localization

* Update crates.yml

* Update crates.yml

* red and blue curtains

* Update crates.yml

* Update crates.yml

* fix cupboard

* Update exp_tavern.yml

* fix sliceable recursion
2024-09-23 14:53:03 +03:00
PJBot
16c46af6c5 Automatic changelog update 2024-09-23 11:13:29 +00:00
lzk
aab423667e Fix guidebook books don't have damage (#32403) 2024-09-23 13:12:23 +02:00
PJBot
0a3273a436 Automatic changelog update 2024-09-23 10:52:54 +00:00
Errant
a7e29f2878 Computer wirepanel (#32273)
* Computer wirehacking

* Power wire now shocks

* deconstruction fix

* updated tests

* Better parenting

* maintenance panel sprite

* new sprite for maintenance panel open
2024-09-23 12:51:48 +02:00
PJBot
b6845defa0 Automatic changelog update 2024-09-23 07:29:48 +00:00
Leon Friedrich
caf34be616 Entity menu lookup changes (#32395) 2024-09-23 17:28:42 +10:00
PJBot
c4b8260f23 Automatic changelog update 2024-09-23 06:50:05 +00:00
Cojoke
3d2aadde1f L6 Fits in the Suit Storage Slot (#30525)
* L6 Fits in the Suit Storage Slot

* 5x4 item
2024-09-23 16:48:58 +10:00
PJBot
ad6c5a1ce9 Automatic changelog update 2024-09-23 04:56:38 +00:00
metalgearsloth
b2cb813f54 Include container ents in examine (#32267)
Mainly for closets but if it's like a mouse in a bag they can see what's in the bag type deal.
2024-09-23 14:55:30 +10:00
metalgearsloth
dd7884ed40 Predict vending machine BUI (#32376) 2024-09-23 12:10:22 +10:00
IProduceWidgets
5e162e776d Add the Syndicate Instigator Shuttle (#32083)
* Instigator

* sustenance
2024-09-22 17:27:48 -07:00
Killerqu00
8a2c69d18d reach update :3 (#32387) 2024-09-22 14:08:56 -06:00
PJBot
ee393a1cd8 Automatic changelog update 2024-09-22 20:01:02 +00:00
PotentiallyTom
d3ff4d5401 Makes it possible to disable the vent pressure lockout temporarily with a screwdriver (#31050)
* builds

* doesn't crash

* seems to work

* distance cap was dumb

* Requested changes

* can't find any issues from making the changes

* Check for anchor and minor optimisation

* Removed unnecessary usings

* Code less verbose and cleanup
2024-09-22 21:59:56 +02:00
PJBot
f8514e7815 Automatic changelog update 2024-09-22 15:16:18 +00:00
saga3152
1e466579fa Lemons, limes, and oranges can now be mutated into each other (#32306) 2024-09-22 17:15:12 +02:00
Soydium
932af69c31 added the ability for pigs to feed themselves (#32358)
* pigs can eat

* disable carcinisation
2024-09-22 14:26:55 +02:00
PJBot
b78156ac08 Automatic changelog update 2024-09-22 10:34:14 +00:00
ravage
1aea1ae76f Adding a holy watermelon helmet (#32272)
* lolkekhatholy

alalalla

* animationcreate

blelebleblbeleb
2024-09-22 12:33:08 +02:00
PJBot
8ed779bc02 Automatic changelog update 2024-09-22 08:22:48 +00:00
metalgearsloth
8f06155028 Make buckle mint (#32370)
- Fix the unbuckle mispredicts.
- Fix unbuckle offset existing.
- Fix interaction range not aligning with interactionoutline system.
2024-09-22 18:21:40 +10:00
AsnDen
72acce5200 AI now "can" use media console (#32334) 2024-09-22 18:20:49 +10:00
github-actions[bot]
4f5255bdcb Update Credits (#32362)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2024-09-22 13:19:38 +10:00
PJBot
49f177299e Automatic changelog update 2024-09-21 23:23:00 +00:00
Plykiya
1b81ce4b53 Rat kings can butcher things (#32232)
* rat kings can butcher things

* minor organization

* fix

* important comma
2024-09-22 01:21:52 +02:00
Ilya246
cd761eae69 fix cargo order scams, fix internals crate desc (#32350)
fix description, fix scams
2024-09-21 22:51:20 +02:00
PJBot
6a11dd04d4 Automatic changelog update 2024-09-21 19:56:02 +00:00
Ed
2ea54b1913 Flora anomaly seeds (#31987)
* content

* Update meta.json

* Update mobspawn.yml

* Update mobspawn.yml

* Update Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml

* Update Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml

* Update Resources/Prototypes/Entities/Objects/Specific/Hydroponics/seeds.yml

* Update Resources/Prototypes/Entities/Effects/mobspawn.yml

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-09-21 21:54:56 +02:00
voidnull000
3cc7fd405b Fix a spelling mistake in the DonutVend's advertisments (#32348)
change that one line so i never think about this again
2024-09-21 14:56:00 +02:00
lzk
5f5bed8fa7 Add skirt of life in contraband medidrobe (#32214) 2024-09-21 11:33:28 +02:00
PJBot
3501d49029 Automatic changelog update 2024-09-21 07:34:28 +00:00
TGRCDev
d32c42f754 Added a directory to station maps (#31156)
* Added directory to station maps

* Add null checks to map directory sorting/filtering

* Reworked station map directory to be more readable and responsive
2024-09-21 09:33:22 +02:00
PJBot
29e56becb8 Automatic changelog update 2024-09-21 05:55:56 +00:00
goet
24ed1f71f6 Fix medical PDA/health analyzer long range intel bug (#31879)
* hide spriteview from health analyzer while inactive

* add out of range indicator if analyzer becomes inactive

* hide out of range icon if there is no patient data
2024-09-21 15:54:48 +10:00
PJBot
c5d62ce751 Automatic changelog update 2024-09-20 22:28:49 +00:00
saga3152
3e92eb1910 Soda water and Vodka recipes (#32252)
* SodaWater and Vodka recipes

* Changed crystals recipe in fun.yml

* plasma is now a catalyst to create crystals

* Revert "plasma is now a catalyst to create crystals"

This reverts commit 1002d9927a3597f7a02611071ef3f706cd056a41.

* Revert "Changed crystals recipe in fun.yml"

This reverts commit 30b6b602228ec1b11a46e390c6a5868494e2b61f.

* Stir to make Vodka

* Shake to make soda water

* fix
2024-09-21 00:27:41 +02:00
Golden Can
2955dd5009 Security Clown Mask is now security restricted. (#32335)
made security clown masks security contraband.
2024-09-20 20:24:06 +02:00
PJBot
c4d12df04c Automatic changelog update 2024-09-20 14:44:03 +00:00
cohanna
e964e9c98e Psychologist's Stamp (#31881)
* added sprite and began implementation

* fixed sprite name, fixed meta files

* silly whitespace

* added paper-stamp file

* figured out where to add the componet, added 'credits'

* spelling is hard

* hmm

* GAHHHHH

* how did i do this again
2024-09-20 16:42:57 +02:00
eoineoineoin
6d5ac1e9b6 Fix disposal units flushing too soon after power-on (#32314)
* Don't flush disposals immediately on power-on

* Update Content.Server/Disposal/Unit/EntitySystems/DisposalUnitSystem.cs

---------

Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2024-09-20 21:58:26 +10:00
sativaleanne
1567af6f07 Rolebanlist command UI (#30827)
* rolebanlist command opens ui

* removed commented out section
2024-09-20 21:49:31 +10:00
eoineoineoin
a9b5e39fb0 Disable resizing of lobby character editor (#32313)
No resizing character editor

Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
2024-09-20 21:47:29 +10:00
Ilya246
00002fa07f fix issues with proximity beeper (#32322)
implement
2024-09-20 21:37:06 +10:00
PJBot
99101f2e2c Automatic changelog update 2024-09-20 04:10:08 +00:00
JIPDawg
b81c7a478e Make small clamp use 2% battery instead of recharging 2% battery. (#32320)
Make small clamp user 2% battery instead of recharge 2% battery.

Co-authored-by: JIPDawg <JIPDawg93@gmail.com>
2024-09-19 22:09:00 -06:00
spanky-spanky
fba67979c8 Modifications to bring Omega up to date. (#32317) 2024-09-19 22:07:49 -06:00
Spessmann
2d42a6bf98 Cog update (Mail) (#32315)
make mailing better
2024-09-19 21:55:48 -06:00
PJBot
7aae8c0099 Automatic changelog update 2024-09-19 23:28:29 +00:00
PopGamer46
1a601c49a5 Makes the rat king's cheeseEm order more convenient to use (#32181)
more convenient cheeseem
2024-09-20 01:27:23 +02:00
PJBot
d74d44acff Automatic changelog update 2024-09-19 22:16:52 +00:00
Plykiya
24c412f16e Removes cockroach/mothroach melee damage (#32221)
no more cockroach and mothroach damage
2024-09-20 00:15:45 +02:00
PJBot
937940bcc7 Automatic changelog update 2024-09-19 19:18:28 +00:00
Saphire Lattice
3e1c067c41 Fland change - Add glasslocks to the Contiguous Fland Hallway Volume (#32264)
* Add glasslocks to the Contiguous Fland Hallway Volume

* Fix up the firelocks, hopefully!
2024-09-19 13:17:18 -06:00
PJBot
b32bdbf8e9 Automatic changelog update 2024-09-19 14:09:39 +00:00
Plykiya
d5d6fb51aa Allows you to buckle transfer person from bed to bed (#32089)
* unbuckle if the target is buckled

* better way to do it
2024-09-20 00:08:33 +10:00
PJBot
30ac40f088 Automatic changelog update 2024-09-19 14:03:00 +00:00
Winkarst
0093fce5b4 Dialog windows now grab the keyboard focus (#31294)
* Dialog windows now grab the keyboard focus

* Comment
2024-09-20 00:01:54 +10:00
PJBot
90d19367f8 Automatic changelog update 2024-09-19 13:56:37 +00:00
deltanedas
fdfbd74bcb increase thieving beacon range to 2 (#31340)
* increase thieving beacon range to 2

* add obstruction check

* review

* Entity<T?> strikes again

* webedit ops because github died or something

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-09-19 23:55:31 +10:00
lzk
e490b69b4e fix conjugate have in cryo locale string (#31993) 2024-09-19 15:50:59 +02:00
PJBot
bac7093f84 Automatic changelog update 2024-09-19 13:46:12 +00:00
deltanedas
9b9853439c make flare recipe roundstart instead of blueprint (#32303)
* make flare recipe roundstart instead of blueprint

* migrate it

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-09-19 07:45:03 -06:00
Spessmann
cd8ba1d6b3 Cog update (Engineering update) (#32263)
* updated cog atmos and engi

* fixed that

* updated
2024-09-19 07:37:28 -06:00
lzk
37a8c23f79 Update Fland (#32241) 2024-09-19 07:36:29 -06:00
lzk
2e37b1fb2f Update Meta (#32238) 2024-09-19 07:36:12 -06:00
lzk
67b34cf8cf Update Omega (#32237) 2024-09-19 07:35:57 -06:00
IProduceWidgets
3c0be539ec Oasis updoot. (#32133)
* updoooooooooooot

* had to change to closed shutters

* I press wrong button

* ngl logic gates kinda ass to work with

* get linked

* Why is it so easy to place entities twice!?

* camer
2024-09-19 07:35:39 -06:00
PJBot
eb9047982a Automatic changelog update 2024-09-19 10:24:51 +00:00
Errant
854bfd27cb Crew Monitor filter (#31659)
* crewmon filter

* string case matching

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

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-09-19 12:23:45 +02:00
PJBot
ccadcc9781 Automatic changelog update 2024-09-19 10:23:08 +00:00
Эдуард
1468cbdb8a Wanted list cartridge (#31223)
* WantedListCartridge has been added

* WantedListCartridge user interface works

* WantedListCartridge is added as standard in some PDAs

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

* Added offense history table

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

* Added personalized information about the target

* The crime history has been finalized

* Added StatusList

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

* WantedListCartridge has been added to the HOS locker

* WantedListCartridge has been removed from brigmedic's preset programs

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

* Added target to thief on WantedListCartridge

* Merge fix

* Removing copypaste

* Fix merge 2

* The sprite of WantedListCartridge has been changed

* Update pda.yml

* Fix scrollbar in the history table

* Upstream localization fix

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

* Margin fix
2024-09-19 12:22:02 +02:00
PJBot
75ff65d108 Automatic changelog update 2024-09-19 08:42:31 +00:00
Boaz1111
59a8f4445d adds plasma and uranium arrows (#31241) 2024-09-19 10:41:24 +02:00
Tayrtahn
94ad76fd07 Fix Set Outfit command/verb (#29672)
* Filter Set Outfit menu to exclude loadout sets

* Apply loadouts to job outfits

* Use appropriate species for Urists

* squishy

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-09-19 18:02:37 +10:00
Willhelm53
3acf6b93a1 Padded ItemStatus Text (#29560)
* Back in the saddle again! <(8o)

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

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

* teehee

* beeg

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-09-19 17:51:33 +10:00
ShadowCommander
3fc9f96b75 Move PlaceableSurfaceComponent usages to PlaceableSurfaceSystem (#28384)
* Move placeable check to PlaceableSurfaceSystem

This check stops entities from being inserted into a storage entity
when it has a PlaceableSurfaceComponent.

The entity is instead placed on top of the entity like a table.

* Move SetPlaceable to PlaceableSurfaceSystem

* Update to transform system and consolidate code

* Fix interaction with storage that has a placeable component

* deadlock

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-09-19 17:42:49 +10:00
Leon Friedrich
bdd0561254 Make status effect networking not use TryAddStatusEffect (#28766)
* Make status effect networking not use `TryAddStatusEffect`

* a
2024-09-19 12:21:26 +10:00
IProduceWidgets
550c423181 Clean up solution regen and drain comps (#29777)
* clean up solution regen and drain comps

* Tape applied.

* Update Content.Server/Chemistry/Components/SolutionRegenerationComponent.cs

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

* remain entity

* That has to be a rogue test fail.

---------

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
2024-09-19 12:17:13 +10:00
PJBot
b129629405 Automatic changelog update 2024-09-19 02:16:50 +00:00
Luiz Costa
9c905cd58f Fix TEG acting as infinite energy source on destruction (#29972)
* TEG now checks for power supply before checking for IsFullyBuilt

* Update Content.Server/Power/Generation/Teg/TegSystem.cs

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

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
2024-09-19 12:15:44 +10:00
PJBot
c2f0626e02 Automatic changelog update 2024-09-19 01:26:53 +00:00
ArchRBX
1c3cfeeb35 Coordinates under IFF Label on Mass Scanners and Shuttle Consoles (#31501)
* adds coord label beneath iff label

* fixed wrong coordinate system being used

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

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

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

---------

Co-authored-by: archrbx <punk.gear5260@fastmail.com>
2024-09-19 11:25:47 +10:00
PJBot
0c5a053ae4 Automatic changelog update 2024-09-19 00:24:56 +00:00
Winkarst
c2a201d998 Make fire leave burnt decals on the tiles (#31939)
* Make fire leave burnt decals on the tiles

* License

* Yes

* Update

* Spelling error

* Prototypes reload support

* To array
2024-09-19 10:23:50 +10:00
SlamBamActionman
cc7e5e0150 Allow containment field generators to be enabled on mapinit (#31158)
* Initial commit

* review fix
2024-09-19 10:14:29 +10:00
ShadowCommander
6958789f37 Give prototype refactor (#29697)
* Update GivePrototype

* File scoped namespace

* Change to EntProtoId instead of ProtoId<> for better validation
2024-09-19 10:08:37 +10:00
metalgearsloth
4f77709eed Add flip button to mapping state (#30636) 2024-09-19 10:02:27 +10:00
deltanedas
1c839da604 move TriggerExplosion to shared (#30227)
* move component to shared

* add fake systems

* update server explosion system and remove duplicate transform query

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-09-19 10:01:40 +10:00
deltanedas
84062da128 let FlashArea be called from shared (#30343)
* let FlashArea be called from shared

* untroll

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-09-19 09:58:10 +10:00
PJBot
e6e166405d Automatic changelog update 2024-09-18 23:56:32 +00:00
ShadowCommander
7ceb2d2507 Add a method to get the first available ItemSlot (#29846)
* Add a method to get the first available ItemSlot

* Make TryInsertEmpty use TryGetAvailableSlot

* Add param doc comments
2024-09-19 09:55:53 +10:00
ShadowCommander
d4a5bc8d6b Fix unbuckling others when clicking on the strap entity (#29998)
* Add failing unbuckle InteractHand test

* Skip trybuckle if strap doesn't have space

* Unbuckle others not just user

* Fix test failing due to delay

* Change to raise event instead of calling OnInteractHand

* Add test for buckle and unbuckle on InteractHand

* Add tick delay

* Remove unneeded tick delay and clean up

* Comment code

* Cleanup

* Swap to fastest checks first

* Fix reading empty sequence when there are no buckled entities
2024-09-19 09:55:26 +10:00
PJBot
a8686b3597 Automatic changelog update 2024-09-18 23:01:54 +00:00
deltanedas
2c9a3020ab make epinephrine adrenaline (#32076)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-09-19 01:00:48 +02:00
deltanedas
8a924c84ae add interaction success/failure events (#32216)
* add interaction success/failure events

* pro

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-09-19 00:36:44 +02:00
chavonadelal
ba24ebfb4f Localization cooldown/remaining string in alerts (#32282)
Cooldown localization
2024-09-19 00:21:53 +02:00
PJBot
64aab9e41d Automatic changelog update 2024-09-18 22:00:05 +00:00
beck-thompson
58119bc3f7 Fix recycler eating materials (Salvage mains rejoice) (#32144)
first commit
2024-09-18 23:58:58 +02:00
Skarletto
55b7e3ce0e change jamjar glasses description (#32215)
nerds only please
2024-09-18 23:51:11 +02:00
chavonadelal
6d4177567e Localization of the shuttle call sender (#32286) 2024-09-18 21:16:47 +02:00
chavonadelal
9fad1ab14e Wires ui tooltip localization (#32284)
* Wires ui tooltip localization

* Corrections after review
2024-09-18 21:10:53 +02:00
PJBot
697f4f5ef9 Automatic changelog update 2024-09-18 15:16:42 +00:00
Calecute
ed83593948 Fix guidebook cakebatter recipe (#32276)
Bugfix: Add 5 milk to cake batter recipe in the guidebook to correctly reflect new recipe
2024-09-18 17:15:34 +02:00
AsnDen
489938cdb1 ghost-role-information-silicon-rules (#32275)
changes missing ghost-role-information-rules-default-silicon to ghost-role-information-silicon-rules
2024-09-18 16:54:00 +02:00
Pieter-Jan Briers
b55366cf9b chmod +x publish_multi_request.py (#32274)
Fuck.
2024-09-18 16:09:25 +02:00
Pieter-Jan Briers
8322b1c2d1 New publish workflow for Robust.Cdn (#32222)
This uses multiple API requests to directly send the publish to the CDN server, no more GitHub artifacts.

Faster, less moving parts.

Needs Robust.Cdn 2.2.0
2024-09-18 15:28:09 +02:00
Ed
22171de45a Fix soil refilling (#442)
* fix soil

* Revert "fix soil"

This reverts commit 8176355286.

* Reapply "fix soil"

This reverts commit 0c958f4c9c.
2024-09-18 15:56:50 +03:00
vladimir.s
2eb120d529 Water resprite (#437) 2024-09-18 12:23:54 +03:00
lzk
a1237910c5 Fix bagel vox box (#32208)
Fix vox box on bagel
2024-09-18 10:37:35 +03:00
metalgearsloth
54e4cfecfe Update submodule to 235.0.0 (#32265) 2024-09-18 12:32:16 +10:00
Winkarst
2bceaad785 Use TurfSystem.IsTileBlocked instead of TurfHelpers (#32174)
* Use TurfSystem.IsTileBlocked instead of TurfHelpers

* !
2024-09-18 11:49:37 +10:00
Leon Friedrich
974c08596b Fix AudioSystem nullability checks for engine PR (#32233) 2024-09-18 11:43:30 +10:00
Ed
675a9197f2 Easy IconSmooth spriting (#32210)
* фыр

* Update IconSmoothingTemplate README.txt
2024-09-18 11:41:24 +10:00
Pieter-Jan Briers
eca63a4603 Fix borg defib module throwing an exception (#32260)
ToggleCellDraw was erroneously added to the parent prototype instead of the one that actually has a battery.
2024-09-18 11:40:24 +10:00
Ed
61089355f0 Fix Anomaly infections infinity growing after curing (#32259) 2024-09-18 00:19:34 +02:00
PJBot
870bacbcac Automatic changelog update 2024-09-17 22:11:01 +00:00
Moomoobeef
6fc4e9682c Added a number of new and very nerdy names for the AI (#31951)
* added many new names for AIs

* fixed mistakes

* removed Intel and AMD trademarks. Rip AI named Pentium.
2024-09-18 00:09:55 +02:00
PJBot
60887dd2e5 Automatic changelog update 2024-09-17 19:46:48 +00:00
drakewill-CRL
337af483ca Fix plant mutations carrying over to other plants and future rounds (#32257)
Lists are a reference type, so each component should get a new one, not point at the previous one.

Co-authored-by: PraxisMapper <praxismapper@gmail.com>
2024-09-17 11:45:42 -08:00
PJBot
9afc786573 Automatic changelog update 2024-09-17 16:06:45 +00:00
Ed
dce537df07 fix Tech anomaly loud sounds and superfast flickering (#32245)
Update TechAnomalySystem.cs
2024-09-17 12:05:38 -04:00
vladimir.s
8d022dd502 Wooden objects and structures resprite (#436) 2024-09-17 13:06:34 +03:00
Ed
a638188943 Merge pull request #441 from crystallpunk-14/ed-17-09-2024-upstream2
Ed 17 09 2024 upstream
2024-09-17 13:04:27 +03:00
PJBot
21bd9df477 Automatic changelog update 2024-09-17 09:50:26 +00:00
Ed
92be69a5ab Anomalous infections (#31876)
* inner anomaly

* anomaly pulse action

* test anom mine

* Update anomalies.yml

* fix action cooldown

* pyro_eyes

* clientsystem

* experiments

* blya

* some telegraphy

* shock eyes!

* shadow eyes

* separate files

* frosty eyes

* fix

* flora eyes

* bluespace eyes

* flesh eyes

* redoing injction

* auto add layers

* пипяу

* new injector component

* stupid me

* nice marker injectors

* anomaly spawn on shutdown

* gravity anom

* dead anomaly spawning

* add VOX states

* sprite specific layers support

* technology anom infection

* auto detach anomalies that have moved away

* Update anomaly_injections.yml

* anomalyspawner integration

* rock anomaly!

* Update anomaly_injections.yml

* fix crash bug

* tag filter

* fix anom dublication spawns

* Update anomaly.yml

* Update InnerBodyAnomalyComponent.cs

* Update anomaly_injections.yml

* dont spawn anomalies after decay

* fix morb sprite, add end message

* gravity resprite

* admin logging, double injection fix

* make flesh and living light mobs friendly to anomaly hosts

* popups

* severity feedback

* sloth review

* A

* keep organs after gib

* punpun host

* sloth synchronization

* Update arachnid.yml

* increase infections spawnrate
2024-09-17 12:49:19 +03:00
Ed
012223f4d3 Update directional.yml 2024-09-17 12:41:34 +03:00
Tornado Tech
8609efdd4a Added configuration for wave shader (#439) 2024-09-17 12:24:12 +03:00
Ed
db9e7e8f67 loc steal target 2024-09-17 12:14:13 +03:00
Ed
2cb094372c Update simple.yml 2024-09-17 12:08:07 +03:00
Ed
cc02a133e0 Merge remote-tracking branch 'upstream/master' into ed-17-09-2024-upstream2
# Conflicts:
#	Content.Server/GameTicking/GameTicker.Spawning.cs
2024-09-17 11:54:36 +03:00
Ed
bc930da84f Merge pull request #435 from crystallpunk-14/ed-08-09-2024-upstream
Ed 08 09 2024 upstream
2024-09-17 11:51:51 +03:00
Ed
233b493865 remove autoignite 2024-09-17 11:40:23 +03:00
PJBot
5eaac00432 Automatic changelog update 2024-09-17 00:37:05 +00:00
Kanashi-Panda
41617b9754 Crayons buffed to 45 uses (#32061)
* Buffs crayons to 45 uses

* Update Resources/Prototypes/Entities/Objects/Fun/crayons.yml

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

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-09-17 02:35:57 +02:00
chavonadelal
ccc5f61584 Localization of steal targets (#30153)
* Localization of steal targets

* Correction of localization of theft objects

* The second correction of the localization of theft targets

* Update steal-target-groups.ftl

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

* Revision of the localization method

* Choosing a simple option for localization

* Fix TechnologyDisk name

* Corrections based on feedback received

* correction of declension

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2024-09-16 14:50:14 +02:00
PJBot
af53d55329 Automatic changelog update 2024-09-16 12:46:21 +00:00
MissKay1994
4abb6a7dd1 Lizards now metabolize chocolate (#32147)
* Eat the chocolate

* Update toxins.yml

* fully delete threshold lines

* Update snacks.yml

* Fix tags

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

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-09-16 14:45:15 +02:00
august-sun
b2dbad3779 Immovable Rod Spawn Addition: Lizard Plushie (#32113)
* a deadly weh

* Updated meteorswarms.yml

Updated probabilities to match exactly 1

* Updated immovable_rod.yml

Removed rotation

---------

Co-authored-by: august-sun <45527070+august.sun@users.noreply.github.com>
2024-09-16 12:37:26 +02:00
PJBot
f05498e851 Automatic changelog update 2024-09-16 10:02:55 +00:00
ArtisticRoomba
65329ab38d Change the binary translator key's contraband designation to syndicate contraband + minor sprite change for consistency (#32193)
* adds new icon, changes binary key icon and frame, changes contraband designation

* added back the regular key as admeme because it makes sense (why am I not thinking about these things)

* hehe I cannot read!
2024-09-16 12:01:49 +02:00
PJBot
b940d85156 Automatic changelog update 2024-09-16 09:00:06 +00:00
ArtisticRoomba
65bf3c61b6 Adds the syndicate Booze-O-Mat (Bruise-O-Mat) to nukie planet (#32107) 2024-09-16 02:59:00 -06:00
PJBot
a5850236dd Automatic changelog update 2024-09-16 08:53:00 +00:00
DrSmugleaf
4adbb8d969 Fix examine flickering until you examine something around you (#32205) 2024-09-16 18:51:53 +10:00
lzk
d872adc7aa Add glass morgue airlock (#32163) 2024-09-16 02:16:24 +02:00
PJBot
63ff116361 Automatic changelog update 2024-09-16 00:05:51 +00:00
drakewill-CRL
a61f425bd7 Fix sentient produce (#32192)
sentient does not apply to produce

Co-authored-by: PraxisMapper <praxismapper@gmail.com>
2024-09-16 02:04:44 +02:00
xprospero
aa6d5f9573 Rubber chicken toy (#29637)
* -added rubber chicken toy

* -Removed faulty SolutionContainerManager type

-Replaced default toy squeak sound with rubber chicken sound for on-trigger and on-collide.

* fixed raw material cost

* adjusted material composition

* - Added rubber chicken to CrateFunToyBox
- Added rubber chicken to MaintFluffTable under "uncommon group" so that it will spawn in maintenance

* Update Resources/Prototypes/Entities/Objects/Fun/toys.yml

---------

Co-authored-by: gambesun <116504990+gambesun@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-09-16 01:57:53 +02:00
lzk
1d4207a9f0 Fix plushie cutlass swing animation (#32157)
Fix plushie cutlass animation
2024-09-16 01:04:27 +02:00
PJBot
cb90fc42a6 Automatic changelog update 2024-09-15 20:05:43 +00:00
Plykiya
096ab07bf1 Nerfs meteor penetration force (#32109)
nerf meteor penetration force
2024-09-15 22:04:37 +02:00
PJBot
117a923c4a Automatic changelog update 2024-09-15 20:04:22 +00:00
TakoDragon
d8a0dadd18 French and Spanish traits (#30966)
* Traits languages

* Update traits.ftl

Silly thing

* No russian

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2024-09-15 22:03:15 +02:00
lzk
7fed39d511 localize skeleton accent (#32166)
* localize skeleton accent

* commit number 2

* remove that from this

* this

* babushka
2024-09-15 21:49:05 +02:00
PJBot
12e2371c8d Automatic changelog update 2024-09-15 19:05:39 +00:00
deltanedas
02c7662617 prevent using holo inside containers (#32068)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-09-15 21:04:31 +02:00
Plykiya
540b1b15b1 Fix build and lint (#32180) 2024-09-14 21:00:06 -07:00
drakewill-CRL
1dec19cc05 Botany Rework Part 1: Mutations (#31163)
Instead of each mutation being a flag that gets checked at some unique point in BotanySystem somewhere, they're now EntityEffects that get applied when the mutation occurs and when produce is harvested. One new list was added to SeedData so that multiple other fields could be removed.

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

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

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

This PR is limited specifically to the mutation logic. Improving other aspects of the system will be done in other PRs per the design document. Mutations was chosen first because its got the largest amount of one-off checks scattered all over that could be consolidated. Once this is merged, mutations could be contributed to the codebase with minimal extra work for later botany refactor PRs.
2024-09-14 20:12:17 -07:00
Winkarst
62eaae6504 Update SharedBuckleSystem to use PopupClient (#31498) 2024-09-15 12:08:54 +10:00
PJBot
823511c517 Automatic changelog update 2024-09-15 01:59:16 +00:00
Partmedia
30c5fbb0be Make pressure and volume pumps require power (#28995) 2024-09-15 11:58:10 +10:00
PJBot
d015291c52 Automatic changelog update 2024-09-15 01:56:14 +00:00
PJBot
6766be541a Automatic changelog update 2024-09-15 01:55:08 +00:00
nikthechampiongr
ee434e397d Rename fix (#31654)
* Localize RenameCommand and delegate most of the process to MetaDataSystem.SetEntityName()

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

Requires engine change

* Fix localisation strings

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

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

* Fix bad merge???

huh

* Use AllEntityQuery
2024-09-15 11:55:03 +10:00
slarticodefast
f81d18914d fix infinite banana bug (#32167) 2024-09-15 11:54:18 +10:00
de0rix
5b295ab7c3 Fix animals sprites in critical state (#32175)
Initial commit
2024-09-15 11:53:58 +10:00
github-actions[bot]
940e791b13 Update Credits (#32178)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2024-09-15 11:51:05 +10:00
Winkarst
b33aa1aaee Use Transform instead of TryComp<TransformComponent> (#32170)
Use Transform instead of TryComp
2024-09-14 23:34:44 +02:00
deltanedas
4da704fd9c clean up clothing lathe recipes (#31520)
* clean up clothing lathe recipes

* add result

* :trollface:

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-09-14 23:12:01 +02:00
PJBot
77e6bf993b Automatic changelog update 2024-09-14 20:41:44 +00:00
lzk
faaa2b3e44 reinforce command intercom (#32169)
* secure command intercom

* Update intercom.yml
2024-09-14 22:40:38 +02:00
BIGZi0348
20914fea36 Moved hardcoded string "PEOPLE" to Loc.GetString() (#32164) 2024-09-14 22:37:41 +03:00
PJBot
c1243a6c63 Automatic changelog update 2024-09-14 17:20:38 +00:00
Plykiya
baf9bb9d85 Add snakes to vent spawn event (#32070)
Add snakes to vents
2024-09-14 19:19:32 +02:00
PJBot
def864db30 Automatic changelog update 2024-09-14 16:35:07 +00:00
Errant
7d4ae67628 Vox LoneOp loadout fix (#31641)
oh shit here we go again
2024-09-15 02:34:01 +10:00
PJBot
26addfe7a3 Automatic changelog update 2024-09-14 16:29:39 +00:00
eoineoineoin
dea2781047 Fix some issues with pulling system (#32145)
Joints were created with pivots at object origin, causing unintuitive behaviour when an object was not centered on the origin. Now puts the pivots at the COM.
Joint limits were set based on fractions of the union of the AABB of objects, which did not make geometric sense. Now uses the pivot length with an additional [arbitrary] length.
Joints were created with a very low spring stiffness, which had a negligible effect most of the time but caused very unintuitive behaviour when the pulled object had a low mass (#28028) - disable the spring limit, and just use the hard min/max limits.

Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
2024-09-15 02:29:05 +10:00
eoineoineoin
00e62b6c22 Allow ghosts to read books (#32151)
Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
2024-09-15 02:28:33 +10:00
deltanedas
fbc1cf2d8f add test for lathe recipes having results (#32100)
* add test for lathe recipes having results

* id

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-09-15 02:27:05 +10:00
Ed
00650f16ec Dev mouse acorgillation (#32040)
* Update dev_map.yml

* real mouse returned
2024-09-15 02:21:33 +10:00
PJBot
98ca7c8529 Automatic changelog update 2024-09-14 15:58:04 +00:00
deltanedas
d4ce1adac3 fix helmet parent (#32152)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-09-14 17:56:57 +02:00
PJBot
378abeee95 Automatic changelog update 2024-09-14 14:56:20 +00:00
Арт
58ed124dc1 New gauze customization (#30852)
* Sprite&Meta

* Marking_Prototype

* Locale

* Meta_copyright_change

* Sprite_Change

* New_Sprite

* And_another_new_sprite

* Change_Locale
2024-09-15 00:55:13 +10:00
PJBot
3250bb2aec Automatic changelog update 2024-09-14 13:10:49 +00:00
SlamBamActionman
b68fcb6a4e Add briefcase damage (#32063)
Initial commit
2024-09-14 15:09:43 +02:00
deltanedas
ad5cb50a9e add gateway beacon for mapping (#32121)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-09-14 14:32:45 +03:00
Alpha-Two
f04de87ec4 Fix that space (#32149)
Fixed the GODDAMN SPACE

Co-authored-by: Alpha-Two <alpha2.5232@gmail.com>
2024-09-14 14:28:35 +03:00
PJBot
9b168228e0 Automatic changelog update 2024-09-14 01:54:20 +00:00
lzk
74888c86f2 fix aller at once desc (#32129) 2024-09-14 11:53:39 +10:00
qwerltaz
89fcda8449 fix rcd blacklist (#32102)
* fix rcd whitelist

* terminal under shutters too
2024-09-14 11:53:14 +10:00
deltanedas
b11fdd5f0b network airlock AutoClose (#32124)
* network airlock AutoClose

* least stupid language

* great language

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-09-14 10:51:51 +10:00
PJBot
beced35e17 Automatic changelog update 2024-09-14 00:00:00 +00:00
Pieter-Jan Briers
8385de8769 Fix powered machines working unpowered if the panel is open. (#32135) 2024-09-14 01:58:54 +02:00
PJBot
1a4a467a2e Automatic changelog update 2024-09-13 22:50:33 +00:00
Fildrance
115ed0cdb2 Fix setmapatmos temperature argument
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
2024-09-13 14:49:27 -08:00
PJBot
1e9c8f0849 Automatic changelog update 2024-09-13 15:03:51 +00:00
NotSoDamn
3a83e1a808 Added void cloak hood (#31061)
* void hood

* reshade

* reshade x2

* Update hoods.yml
2024-09-14 01:02:45 +10:00
PJBot
c7234934d2 Automatic changelog update 2024-09-13 14:20:38 +00:00
ShadowCommander
71d92c9f8a Set default PDA uplink and music visibility to false (#28373)
* Set PDA uplink and music default visibility to false

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

* Log error on PDA state received before first open

* Fix logging

* Fix error message

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-09-14 00:19:32 +10:00
PJBot
38f9cac8db Automatic changelog update 2024-09-13 14:04:00 +00:00
slarticodefast
0d40b0b3e0 Add extradimensional orange, holymelon, meatwheat, worldpeas mutations (#27624)
* new mutations

* translation string fix

* add haloperidol to plant

* fix

* add FoodSequence

* food sequence fixes
2024-09-14 00:02:54 +10:00
PJBot
a151d4ed01 Automatic changelog update 2024-09-13 14:02:33 +00:00
Gorox221
f30bec53df Eject mech pilot alert (#31649)
* Bruh

* well

* yes
2024-09-14 00:01:26 +10:00
PJBot
9d56a805ee Automatic changelog update 2024-09-13 14:00:27 +00:00
themias
b3ecb30176 Fix medical PDA toggling light when scanning (#32091) 2024-09-13 23:59:19 +10:00
Pieter-Jan Briers
b6ca604a66 Fix replay load error screens (#32115)
If an error occurs while loading a replay, it's *supposed* to show a popup "hey do you wanna continue with error tolerance", and it does do this. But because of spaghetti in the replay state code, it also immediately tries to reload the replay without input, as a consequence of trying to reset to the game's default state.

Now the replay load system has a proper game state for "replay load failed", with nice presentation and explicit formatting and 10% less italian cuisine.
2024-09-13 23:58:02 +10:00
slarticodefast
1d997d6e46 fix missing circuitboard recipes (#32092)
* fix missing circuitboard recipes

* and another one
2024-09-13 13:25:53 +02:00
Errant
1c6b9aaae7 movercontroller namespace (#31749) 2024-09-12 22:01:36 +02:00
PJBot
4b8510894f Automatic changelog update 2024-09-12 15:30:01 +00:00
ScarKy0
adfbc6efa7 Gave AI a comms console (#31852)
* Updated sprites for AI HUD

* Epic test fail

* Merged AGhost actions and AI actions together again.

* Seperate comms and bugfix. Fixed broadcast.

* Stuffs

* Update station_ai.yml

* Update station_ai.yml

* :|

* Update silicon.yml

* oopsie daisy

* stuff

* further stuff

* oh my god

* Appeasing the gods
2024-09-12 17:28:54 +02:00
PJBot
3b5c3da4ab Automatic changelog update 2024-09-12 12:52:49 +00:00
RobDemo
b36efce3b1 Smart tomato pet (#31932)
* SmartTomato

* Fix

* RemovingExtraLines

* Update Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl

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

* Update Resources/Prototypes/Accents/full_replacements.yml

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

* Update Resources/Prototypes/Entities/Mobs/NPCs/miscellaneous.yml

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

* Update Resources/Prototypes/Entities/Mobs/NPCs/miscellaneous.yml

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

* Update Resources/Prototypes/Entities/Mobs/NPCs/miscellaneous.yml

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

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-09-12 14:51:41 +02:00
PJBot
8df384fe66 Automatic changelog update 2024-09-12 10:37:48 +00:00
lzk
8b2ea59515 don't apply traits for borg and ai (#31990)
* doesn't apply traits for borg or ai

* add some comment and summaries

* weh

weh

* well ok

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

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2024-09-12 13:36:41 +03:00
Tayrtahn
320135347f Add guidebook protodata tag: embed prototype values in guidebook text (#27570)
* First clumsy implementation of guidebook protodata

* Support for Properties, format strings

* Better null

* Rename file

* Documentation and some cleanup

* Handle errors better

* Added note about client-side components

* A couple of examples

* DataFields

* Use attributes like a sane person

* Outdated doc

* string.Empty

* No IComponent?

* No casting

* Use EntityManager.ComponentFactory

* Use FrozenDictionary

* Cache tagged component fields

* Iterate components and check if they're tagged
2024-09-12 13:31:56 +03:00
blueDev2
c8f2ddc729 Add ReagentWhitelist to Injector component and system (#28262)
* Add reagent whitelist to Injector component and system

* Apply suggested Changes

* Remove LINQ function for performance

* Update Content.Server/Chemistry/EntitySystems/InjectorSystem.cs

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

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2024-09-12 13:29:11 +03:00
metalgearsloth
2a6f15dd3e Update submodule to 234.1.0 (#32098) 2024-09-12 18:15:56 +10:00
metalgearsloth
2a58fa1ef8 Reapply "FTL + AI fixes (#31952)" (#31968) (#32094)
* Reapply "FTL + AI fixes (#31952)" (#31968)

This reverts commit c46a4ab876.

* Update
2024-09-12 14:08:54 +10:00
metalgearsloth
934b0a6730 Update submodule to 234.0.0 (#32095) 2024-09-12 14:08:44 +10:00
metalgearsloth
8401b94b70 Fix latejoins (#32093)
For realsies :)
2024-09-12 14:04:48 +10:00
metalgearsloth
292de9c859 Make context menu uses spritetree (#31792)
Rather than doing goofy hacks we just use what sprites are near the mouse.
2024-09-12 13:29:11 +10:00
deltanedas
782d6d780c clean up security lathe recipes (#31523)
* clean up security lathe recipes

* add result

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-09-12 05:20:57 +02:00
deltanedas
01cbaf7af6 clean up robotics lathe recipes (#31522)
* clean up robotics lathe recipes

* add result

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-09-12 05:13:48 +02:00
Plykiya
e140b3f240 fixes a ton of contraband issues (#32078)
* fixes a ton of contraband issues

* pen

* give the armor suit storage

* pulse carbines go brrr
2024-09-12 04:07:38 +02:00
PJBot
970275727f Automatic changelog update 2024-09-12 00:53:25 +00:00
lzk
5b88b0b0ba Change forensic pad to use label isntead of name changing (#31842)
change name change to label
2024-09-12 02:52:19 +02:00
Myra
0df531970b Make the pr link more visible in the changelog bot (#32047) 2024-09-12 00:15:06 +02:00
PJBot
5d1627d46b Automatic changelog update 2024-09-11 16:25:21 +00:00
deltanedas
125258ea48 add material composition to some salv treasure (#31970)
* add material composition to some salv treasure

* fake

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-09-11 18:24:16 +02:00
PJBot
d156e69eea Automatic changelog update 2024-09-11 16:07:00 +00:00
deltanedas
2d7aa82530 dont log missing ArtifactComponent for artifexium (#32073)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-09-11 19:06:51 +03:00
themias
f2f76f711d Fix cauterization spam from space damage (#32080) 2024-09-11 18:05:54 +02:00
PJBot
01713acf58 Automatic changelog update 2024-09-11 15:30:30 +00:00
Plykiya
bb21244f93 Banners are no longer indestructible (#32077)
* Banners are no longer indestructible

* uninflate
2024-09-11 17:29:22 +02:00
PJBot
982be4e332 Automatic changelog update 2024-09-11 14:46:06 +00:00
Plykiya
dba10a1c80 Reduce vertical margin on vending machine UI (#32074)
Smaller vending machine UI
2024-09-11 16:45:52 +02:00
Plykiya
38a0ca71f7 Fixes swords not being able to be used to make bats (#32075)
Give BaseSword slicing quality
2024-09-11 16:45:00 +02:00
PJBot
20c4aebc82 Automatic changelog update 2024-09-11 14:07:14 +00:00
PECK
8fb78573ec Ore Processors can now produce Reinforced Glass (#32069)
fix reinforced glass in ore processors
2024-09-11 16:06:08 +02:00
Ed
5290e64361 TechAnomaly fixes (#32067)
Update TechAnomalySystem.cs
2024-09-11 15:59:39 +02:00
PJBot
6fe649c669 Automatic changelog update 2024-09-11 13:53:34 +00:00
Nemanja
e510504596 Hivelord mob (#31322)
* Hivelord

* make it longah
2024-09-11 09:52:27 -04:00
PJBot
7f76af4da8 Automatic changelog update 2024-09-11 12:54:57 +00:00
K-Dynamic
07afed1fe6 Reduced atmos canister sell price (#31965)
* reduce sell cost

* rounding buying prices

* Revert "rounding buying prices"

This reverts commit 68cf26e935f8d1387bb8d740802ac73998981637.
2024-09-11 14:53:50 +02:00
PJBot
69f96a2210 Automatic changelog update 2024-09-11 11:25:32 +00:00
SlamBamActionman
5740a88208 Fix Station AI being affected by Bureaucratic Event (#32021)
* init commit

* I forgot components exist

* delta told me to make it a list
2024-09-11 13:24:24 +02:00
Pieter-Jan Briers
95195350f1 Add "X.A.N.A." as an AI name (#31976)
Add "X.A.N.A." as an AI

Anyways I don't think we're gonna get sued for trademark infringement of an old dead French TV show yeah?
2024-09-11 14:54:51 +10:00
metalgearsloth
635e800220 Reapply "Fix spawnpref" (#32018) (#32058)
This reverts commit 119dd610fa.
2024-09-10 22:23:24 -06:00
Plykiya
c13e37e86f Remove ERP from RD Figurine voiceline (#32057)
removed ERP
2024-09-11 06:05:25 +02:00
PJBot
4b0ac519f6 Automatic changelog update 2024-09-11 03:34:47 +00:00
Nemanja
a9d93e18c8 Mining Asteroid Treasure Vaults (#31638)
add interior rooms to the vgroid
2024-09-10 21:33:41 -06:00
PJBot
276b0f0d5c Automatic changelog update 2024-09-11 02:13:14 +00:00
Verm
14d5bbb8cb Fixes Borgs and Syndicats getting hurt by glass shards and other things + honkbot slipping 2 (#31011)
* Lets do this again

* I noticed this way to late
2024-09-11 04:12:08 +02:00
PJBot
4f7d3318b9 Automatic changelog update 2024-09-10 23:28:04 +00:00
LankLTE
94141c3cf2 Revert Unknown Shuttle Antagonists (#32052)
* Delete antagonist shuttles.

* Remove neutral shuttles.
2024-09-10 17:26:58 -06:00
PJBot
0ca8f280b5 Automatic changelog update 2024-09-10 23:26:28 +00:00
ArtisticRoomba
b306afbf56 Adds salvage magnet board to the circuit imprinter (#31996)
* Adds salvage magnet board to lathe as default recipe, changes board sprite to supply sprite

* Adds the salvage magnet board to the QM's locker, science cannot be trusted and never should be

* my body is a machine that turns commits pushed to the wrong branch into machinations on git

---------

Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2024-09-10 17:25:22 -06:00
Flareguy
35bc4090c2 Fixes some common iconsmoothing oddities (#32051)
fixes smoothing stuff
2024-09-10 17:20:49 -06:00
PJBot
5109edd502 Automatic changelog update 2024-09-10 23:08:13 +00:00
DisposableCrewmember42
ae7e58db5d fix: Check revenant ability costs correctly (#32050)
* fix: Check revenant ability costs correctly

* refactor: Idiomatically get negative value
2024-09-10 19:07:07 -04:00
PJBot
b091640c26 Automatic changelog update 2024-09-10 22:20:23 +00:00
Boaz1111
29b0b33a71 makes advanced atmospherics require the basic atmospherics tech (#32048)
hmm freemzer
2024-09-11 00:19:17 +02:00
PJBot
511dd43513 Automatic changelog update 2024-09-10 22:06:19 +00:00
TurboTracker
4b357a370b Removal of Maxcaps via cvar (#31437)
* Comment out gastank explosion trigger

* CVAR creation

* Blank line between method + toml update

* I fucking hate VistualStudio

* change bool logic into float

* cat dancing.gif

* Adjust some minor nits

* Update Content.Server/Atmos/EntitySystems/GasTankSystem.cs

Co-authored-by: Partmedia <kevinz5000@gmail.com>

* Un-hardcode unused initial cached CVar value

* Update Resources/ConfigPresets/WizardsDen/wizardsDen.toml

---------

Co-authored-by: Kevin Zheng <kevinz5000@gmail.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-09-11 00:05:12 +02:00
Emisse
21817c7028 meta update (#32045) 2024-09-10 14:10:20 -06:00
PJBot
7903ebb79d Automatic changelog update 2024-09-10 19:09:44 +00:00
themias
03151eadc1 Fix justice helm crafting (#32042) 2024-09-10 13:08:37 -06:00
ScarKy0
0cdc8e5af6 Arrivals timer fix (#32037)
yippee
2024-09-10 13:08:22 -06:00
Ed
19d23e33a3 FoodSequence fix (#32034)
Update FoodSequenceSystem.cs
2024-09-10 15:08:04 +02:00
PJBot
e9bacfbbbe Automatic changelog update 2024-09-10 10:28:50 +00:00
ScarKy0
ffcad7b899 Renamed circuit boards to law boards (#31914)
init
2024-09-10 12:27:42 +02:00
PJBot
7472686aff Automatic changelog update 2024-09-10 06:41:07 +00:00
IProduceWidgets
62f268cbb0 Impliment visitor ID, reorganize shuttle event and ghost role yml, standardize many visitor roles, add more unknown shuttles. (#28098)
* Add Protagonists

* Give visitors the right PDA at least, we need that RP value.

* tidy up

* spell check my beloved

* Everything about jobs have the same id names ahhhh!

* s

* rarity scarity.

* Update Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl

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

* cargo event now no has cargo access doors.

* break everything.

* still WIP, please excuse.

* finish all role loadouts

* extra roles, fix up grids, special pdas.

* Ghost role descriptions and mime powers

* rest of the fucking owl

* I tripped.

* I also fell.

* Fix the broken entity storage?

* hide mess under rug

* Stuff the rest of the mess into a closet.

* I forgor a spinny majig.

* a small lighting tweak.

* 1984 shuttles to new pr.

* 1984 shuttles to new pr 2 electric boogaloo

* poke the tests

* Revert "1984 shuttles to new pr 2 electric boogaloo"

This reverts commit b2ea7053b73cb17b59f8a80b23978a04a6a45a56.

* cowboy boot cleanup

* tableify

* antagimmunities

* Should be functional.

* vox safing

* un1984 clowns I guess

* oops forgor one

* misplaced file

* misplaced file v2

* weird test fail but okay

* Shuttles rarer

* Shuttle testing, fans, and power sanity. Also return of the syndie evac.

* le balance

* no write over fancy paper

* rerun tests

---------

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
2024-09-10 00:40:00 -06:00
Spessmann
2f5264bf37 Cog update (#32022)
update
2024-09-09 18:47:49 -06:00
PJBot
d21ad98f01 Automatic changelog update 2024-09-10 00:00:37 +00:00
DieselMohawk
8e6da5999b Adds Trooper Uniform to Loadouts (#32019) 2024-09-09 17:59:31 -06:00
PJBot
0c78c5d487 Automatic changelog update 2024-09-09 22:13:31 +00:00
chillyconmor
1f1302bc9f New Space Ninja intro song (#31055)
replaced ninja intro song with new one
2024-09-10 00:12:25 +02:00
Emisse
119dd610fa Revert "Fix spawnpref" (#32018) 2024-09-09 23:58:20 +02:00
PJBot
b3745c277c Automatic changelog update 2024-09-09 21:48:59 +00:00
Thinbug0
2f3b50ec18 Silly teal gloves for realsies this time :3 (#31865)
* gosh please workies now i beg you qvq

* Revert "gosh please workies now i beg you qvq"

This reverts commit 96d03d07036eafa676972652a617f2774fa8811b.

* please workies qvq qvq

* Update Resources/Prototypes/Entities/Clothing/Hands/colored.yml

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

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: 0x6273 <0x40@keemail.me>
2024-09-09 23:47:53 +02:00
PJBot
c16b63833d Automatic changelog update 2024-09-09 19:58:43 +00:00
lzk
f2b67fc76b Special latejoin message for captain (#31991)
* Special latejoin message for captain

* fix gender in locale

* remove this for now

* shame

* not really shame

* change

* do that
2024-09-09 13:57:37 -06:00
PJBot
7aad705b5c Automatic changelog update 2024-09-09 19:40:22 +00:00
metalgearsloth
1088113bf8 Fix spawnpref (#31892) 2024-09-09 13:39:15 -06:00
themias
ec4d59f608 Save unpublished news articles (#31491)
* Add draft saving to news consoles

* fix after bui changes

* comments + rename vars

* no
2024-09-09 13:38:49 -06:00
PJBot
f91672974c Automatic changelog update 2024-09-09 19:37:31 +00:00
Winkarst
2263311ce2 Fix some contraband issues (#31606)
* Fix some contraband issues

* Flaming fire axe to Syndie contraband

* Add Central Command department and contraband group

* Restricted encryption keys

* ERT gas mask

* Thieving beacon

* Bladed flatcaps

* Advanced circular saw and thief toolbox

* Acolyte armor

* Magazines and cartridges

* SMG magazines

* Grenades

* Mercenary clothing and combat gloves

* ERT, Deathsquad and Central Command Official items

* Update

* Who the fuck putted ERT into fun?!

* Fix

* Yeah

* I forgot
2024-09-09 13:36:25 -06:00
Velcroboy
2452e46476 Completes secure wiring across all airlocks and windoors (#30794)
Co-authored-by: Velcroboy <velcroboy333@hotmail.com>
2024-09-09 13:35:47 -06:00
PJBot
38a65346ae Automatic changelog update 2024-09-09 19:35:24 +00:00
deltanedas
3f6846b8b2 clean up electronics lathe recipes (#31524)
* clean up electronics lathe recipes

* result

* make door and firelock cheap

* engin

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-09-09 13:34:18 -06:00
PJBot
82af7688e9 Automatic changelog update 2024-09-09 19:32:59 +00:00
Hreno
2a7bc17a13 Display agents' jobs in the Round End Summary window (#31652) 2024-09-09 13:31:53 -06:00
PJBot
e491bc98c0 Automatic changelog update 2024-09-09 19:31:32 +00:00
Kara
7a6efeaba4 Properly credit contributors who were truncated by GitHub API (#31739)
* Properly credit contributors who were truncated by GitHub's 500 email limit

* update list oops forgot my origin was so out of date

* another
2024-09-09 13:31:27 -06:00
Cojoke
00034622c3 Nuke Now Requires the Disk to be Inserted to Toggle Anchor (#29565)
* Nuke Now Requires the Disk to be Inserted to Toggle Anchor

* message stating you need the disk to toggle floor bolts
2024-09-09 13:30:26 -06:00
PJBot
f9aaf138b2 Automatic changelog update 2024-09-09 19:27:16 +00:00
Alzore
00f90ac78a Add easy window upgrading, fix some other window issues. (#31978)
* uhhh a lot of window stuff, mainly easy upgrades

* buff plasma/uranium rwindows so you actually want them

* fix uranium number, correct construction descriptions

* fix tinted window price

* frosted windo
2024-09-09 13:26:10 -06:00
PJBot
a7c1cdc342 Automatic changelog update 2024-09-09 19:25:03 +00:00
godisdeadLOL
7929f897c9 Surveillance camera's red light fixes (#31831)
several surv camera related fixes

Co-authored-by: YourUsername <you@example.com>
2024-09-09 13:23:57 -06:00
PJBot
6e911bff03 Automatic changelog update 2024-09-09 19:23:47 +00:00
qwerltaz
7c99b5c10b fix dragon spawn location and round end summary (#31890)
* spawn dragon rule at station edge

* 2

* stuff

* fix round end summary not showing

* no invalid euid
2024-09-09 13:22:41 -06:00
PJBot
0f9f37d7f0 Automatic changelog update 2024-09-09 19:20:22 +00:00
DieselMohawk
2f7ad782c5 Trooper Uniform and Hat (#31997)
* Adds entities, sprites, and loadout accessibility

* Fixing Uniform file issues
2024-09-09 13:19:16 -06:00
PJBot
fae7622182 Automatic changelog update 2024-09-09 19:19:06 +00:00
lzk
a6d8c466f3 Allow all bots to be used for chameleon projector (#32006)
Allow all bots to use for chameleon projector
2024-09-09 13:18:00 -06:00
PJBot
09d9843be5 Automatic changelog update 2024-09-09 19:16:38 +00:00
Boaz1111
f2972318d7 pacifists can use grappling guns (#32014)
pacifist can use
2024-09-09 13:15:32 -06:00
qwerltaz
f9faafec41 make laid power cables more visible v2 (#32008)
* Revert "make cables more visible"

This reverts commit b2defdfd06652138c4f9be3f6b35f20fe3e8c596.

* offset cable sprite

* :-)

* one more pixel for mv
2024-09-09 13:15:22 -06:00
PJBot
83182d886d Automatic changelog update 2024-09-09 18:11:34 +00:00
Pieter-Jan Briers
5a6a3371dc Extend shuttle dock time if the shuttle doesn't dock at evac. (#31496)
* Extend shuttle dock time if the shuttle doesn't dock at evac.

If the shuttle can't dock at evac for *some reason*, it will instead try to dock at another port on the station. And if that fails it goes somewhere random on the station.

Because of the chaos and confusion caused by this, many people will frequently not get to the shuttle in time under these circumstances. This sucks for everybody.

To alleviate this, the shuttle launch timer will now be extended if the station doesn't dock at its ideal spot. The default values (controlled via CVar) are 1.667x and 2x respectively for "wrong dock" and "no dock at all" scenarios.

The code around here was a mess, so I fixed that too. "CallEmergencyShuttle" has been renamed to "DockEmergencyShuttle", the overload that did the actual docking has been renamed to DockSingleEmergencyShuttle. Code has been split into separate dock -> announce methods so we can calculate shuttle delay in between the case of multiple stations.

Also made the "shuttle couldn't find a dock" text announce the time until it launches and fix the shuttle timers not triggering for it.

* Minor review

---------
2024-09-09 20:10:28 +02:00
Ed
4691bdedb4 remove debug furnace 2024-09-09 16:57:58 +03:00
PJBot
3b2fc5463b Automatic changelog update 2024-09-09 11:03:21 +00:00
slarticodefast
2187aef904 Make mobs without hands unable to spill jugs (#31438)
* make mobs without hands unable to spill jugs

* snails
2024-09-09 14:02:15 +03:00
PJBot
82464dad26 Automatic changelog update 2024-09-09 10:31:31 +00:00
ArtisticRoomba
8894e32a10 Budget insuls leaves behind frayed insulative fibers instead of insulative fibers (#31886)
* Adds fibers-insulative-frayed to fibers.ftl and relevant fibers-insulative-frayed components to budget insuls

* +1 to the "different types of fibers in the game" info under the forensics guidebook entry (pray this is actually correct and accurate)
2024-09-09 12:30:24 +02:00
PJBot
d5c69b5255 Automatic changelog update 2024-09-09 10:01:26 +00:00
qwerltaz
fb47889d6b make laid power cables more visible (#32000)
make cables more visible
2024-09-09 04:00:17 -06:00
Nairod
6fb5ad5293 Set Salamander Max Pop to 80 (#31907)
Cull Sala Max Pop
2024-09-09 08:48:32 +02:00
pigeonpeas
1dc8a86ecc fix moffra antennae (#31981)
Update moffra.png
2024-09-09 13:42:23 +10:00
Spessmann
69be5d0284 Cog update (#31986)
added stuff
2024-09-08 19:22:13 -06:00
James Simonson
ca1bfbf981 Add SetEntity(Owner) so can view APC sprite in UI (Bug fix) (#31962)
* Add SetEntity(Owner)  so can view APC sprite in UI

* bump apc version flavor text

---------

Co-authored-by: TIMMY <timmytriggers@cock.li>
2024-09-08 15:58:58 -06:00
HerCoyote23
f2615f0933 Corrects some typos in the uplink catalog, adjusts grammar (#31989)
* AlmostCertainlyDoesntWork

* Please work

* maybe work

* emptycommit

* test

* testest

* Empty-Commit

* Uplink grammar/typos fix
2024-09-08 23:21:01 +02:00
Ed
cb4df21fb9 Update cp14-ignoredPrototypes.yml 2024-09-08 22:33:32 +03:00
Nim
4565f3c574 Voice goblin (#432)
* voice

* fix
2024-09-08 21:28:28 +03:00
Ed
16805c8ebe Update cp14-ignoredPrototypes.yml 2024-09-08 21:23:53 +03:00
Ed
5b2020d708 Merge remote-tracking branch 'upstream/master' into ed-08-09-2024-upstream
# Conflicts:
#	.github/PULL_REQUEST_TEMPLATE.md
#	Content.Server/Station/Systems/StationSpawningSystem.cs
#	Resources/Prototypes/Entities/Mobs/Customization/Markings/human_hair.yml
#	Resources/Prototypes/Maps/box.yml
#	Resources/Prototypes/Maps/marathon.yml
#	Resources/Prototypes/Maps/meta.yml
2024-09-08 21:20:54 +03:00
PJBot
e6f1492474 Automatic changelog update 2024-09-08 18:09:12 +00:00
K-Dynamic
7eb5c0af03 Radiation blocker values for directional plasma and uranium windows (#31975)
resistances to directional windows
2024-09-08 12:08:06 -06:00
lzk
d5b9151680 Update PULL_REQUEST_TEMPLATE.md (#31046)
* Update PULL_REQUEST_TEMPLATE.md

* Update PULL_REQUEST_TEMPLATE.md 2

* Update PULL_REQUEST_TEMPLATE.md 3

* Update PULL_REQUEST_TEMPLATE.md 3

* Update PULL_REQUEST_TEMPLATE.md 5

* slart suggestions

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

* paste

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-09-08 18:57:39 +02:00
PJBot
dbb5da156e Automatic changelog update 2024-09-08 16:11:11 +00:00
beck-thompson
eab318ed39 Rings now give a small amout of gold / silver when scrapped (#31847)
* Ring

* Silly name fix
2024-09-08 18:10:05 +02:00
slarticodefast
c46a4ab876 Revert "FTL + AI fixes (#31952)" (#31968) 2024-09-08 17:50:23 +02:00
lzk
a1b27db35f remove HatBase (#31971) 2024-09-08 18:23:01 +03:00
PJBot
2de0858502 Automatic changelog update 2024-09-08 12:11:56 +00:00
Psychpsyo
713abf625a Make random sentience actually happen (#31953)
Add random sentience to calm events
2024-09-08 14:10:50 +02:00
PJBot
3d4a811c3f Automatic changelog update 2024-09-08 12:07:07 +00:00
Killerqu00
c7b989598f some securiby contra fixes (#31956)
* some contra fixes

* whistles change
2024-09-08 14:06:00 +02:00
PJBot
1a3a686cb9 Automatic changelog update 2024-09-08 10:23:01 +00:00
PopGamer46
0e99ddbc8a Fixes being able to craft the justice helmet with a justice helmet (#31957)
fix
2024-09-08 12:21:55 +02:00
TheWaffleJesus
daf674e37b changed capacitor yaml for substation and memory cell 2024-09-08 10:01:08 +01:00
TheWaffleJesus
1f22dfda7b changed from tag to material and added icon for capacitor 2024-09-08 09:34:08 +01:00
PJBot
ef54ea7aed Automatic changelog update 2024-09-08 08:13:30 +00:00
metalgearsloth
f7a87b5f32 FTL + AI fixes (#31952) 2024-09-08 18:12:23 +10:00
metalgearsloth
e93c3ffaa8 Update submodule to 233.1.0 (#31954) 2024-09-08 18:10:33 +10:00
PJBot
5edbd3d447 Automatic changelog update 2024-09-08 07:29:50 +00:00
nikthechampiongr
4b8bedaeef Add completions to addobjective and localize it (#30456)
* Add completions to addobjective and localise it

* Cleanup

* Fix

* Make a manager to handle subscribtion completion options

This is so we can unsubscribe to prototype reloads properly

* Convert the manager into a system

* Move the system into the systems folder

I forgor

* Merge CompletionsSystem into ObjectivesSystem
2024-09-08 17:28:43 +10:00
Emisse
b2007bce19 packed update (#31950) 2024-09-08 00:41:03 -06:00
Emisse
b6019cf7bd omega update (#31949) 2024-09-08 00:39:24 -06:00
Emisse
5f6dac6b46 meta update (#31948) 2024-09-08 00:37:06 -06:00
Emisse
35f50f24d2 marathon update (#31947) 2024-09-08 00:35:20 -06:00
Emisse
937276dc92 fland update (#31946) 2024-09-08 00:34:35 -06:00
Emisse
070f38fc84 box update (#31945) 2024-09-08 00:34:09 -06:00
Emisse
5b6e075099 bagel update (#31944) 2024-09-08 00:33:59 -06:00
PJBot
4b152d128e Automatic changelog update 2024-09-08 06:23:33 +00:00
Ed
230ea9be46 Metamorphosis - FoodSequence 3 (#31012)
* setup some data

* cheeseburger recipe

* Update FoodSequenceSystem.cs

* finalize cheseburger recipe

* remove fun

* return old taco sprites

* full foodsequence data refactor

* return tacos

* well done

* add cutlets to burger

* chickenburger recipe

* +2 burger recipes

* more fun

* Update brain.png

* some slice produce added

* documentation

* watermelon

* skewer work

* flipping

* tomato

* skewer watermelon

* Update skewer.yml

* oopsie, ok, im go to sleep

* fix checks

* Update produce.yml

* screwed

* cheeeeeeeese

* all cooked meat added

* produce added

* aaaaand suppermatter

* key to Tag

* More

* proto string remove

* raw snail

* fix

* Update FoodMetamorphableByAddingComponent.cs

* fixes

* fix3

* fififififx
2024-09-08 02:22:27 -04:00
PJBot
680b9c9cfb Automatic changelog update 2024-09-08 05:35:29 +00:00
Nemanja
efe54e011e Biogenerator (#30694)
* biogenerator

* ack

* test success!

* fix tests

* increase price of reagents
2024-09-07 23:34:22 -06:00
Ubaser
6fcb5cf148 Update core (#31942)
* add

* fix invalid
2024-09-07 23:32:02 -06:00
github-actions[bot]
e2bbd59985 Update Credits (#31937)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2024-09-07 21:41:52 -06:00
PJBot
b61402cdef Automatic changelog update 2024-09-07 23:48:09 +00:00
LucasTheDrgn
b51d9382c0 Returned functionality to industrial reagent grinders (#31903)
* Returned functionality to industrial reagent grinders without un-nerfing recyclers

* Limited industrial reagent grinder to only extractable solutions
2024-09-07 17:47:02 -06:00
Kirus59
c5f19fd2ed Damaged by contact fix (#31921) 2024-09-07 17:46:24 -06:00
PJBot
58d220120a Automatic changelog update 2024-09-07 23:46:07 +00:00
Ilya246
447e9c247d fix flammable reagents deigniting you (#31930)
fix
2024-09-07 17:44:58 -06:00
qwerltaz
6158bab715 fix wall closet storage range (#31933)
fix wall closet range
2024-09-07 17:44:29 -06:00
Boaz1111
66f3b780ef uranium ammo mag being called rubber ammo mag fixed (#31934)
minor misspelling
2024-09-07 22:34:42 +02:00
Spessmann
719e5a8ac1 Updated cog (Maints edition) (#31935)
added stuff
2024-09-07 13:58:16 -06:00
lzk
53be04195a Update fland disposals (jani rejoice) (#31918)
Update fland disposals
2024-09-07 12:16:04 -06:00
lzk
1fab9bc786 Update box disposals (jani rejoice) (#31917)
Update box disposals
2024-09-07 12:15:54 -06:00
PJBot
ab1c60d302 Automatic changelog update 2024-09-07 13:23:18 +00:00
lzk
932ff660d0 fix paper label whitelist (#31919)
* fix paper label whitelist

* forgor

* oh lmao
2024-09-07 15:22:11 +02:00
Emisse
d57faf53a5 Lost evac pod thing tiny fan (#31915)
* disaster evacpod tinyfan

* real
2024-09-07 03:17:27 -06:00
PJBot
484af4b802 Automatic changelog update 2024-09-07 08:46:58 +00:00
LankLTE
be94aff304 Remove Antimov and Overlord law boards from maps (#31908)
Remove Antimov and Overlord
2024-09-07 02:45:51 -06:00
Emisse
849366f636 bagel update (#31911)
* bagel update

* remove invalid
2024-09-07 00:24:45 -06:00
PJBot
ff49332024 Automatic changelog update 2024-09-07 06:24:06 +00:00
Ian
9989f5bbaf guide on agrichem and botanicals guidebook update (#31896) 2024-09-07 16:23:00 +10:00
PJBot
4e1915fc85 Automatic changelog update 2024-09-07 05:52:42 +00:00
lzk
9680c1d1d9 Remake bottles and syringes names to use labels (#29956)
* Remake bottles and syringes names to use labels

* vial

* fix and add stuff
2024-09-07 15:51:36 +10:00
PJBot
dff19b8f46 Automatic changelog update 2024-09-07 05:49:46 +00:00
Boaz1111
3a3a5fbaf4 makes the maple wing marking have a primary and a secondary color (#31691)
bogos binted
2024-09-07 15:48:40 +10:00
PJBot
407dd985c0 Automatic changelog update 2024-09-07 05:38:23 +00:00
Nemanja
a197baac17 split temperature protection into heating and cooling (#30662)
* split temperature protection into heating and cooling

* fugg

* weh
2024-09-07 15:37:17 +10:00
PJBot
9ba59d9636 Automatic changelog update 2024-09-07 05:32:03 +00:00
Futuristic-OK
cadda4e69a Delete RDs binary encryption key (#31909)
Deleting binary key

Silicon supremacy!
2024-09-06 23:30:57 -06:00
PJBot
0165a301e4 Automatic changelog update 2024-09-07 03:05:37 +00:00
themias
f49d83ac81 Add justice helm (#31905)
* Add justice helm

* backslash moment

* spinny light

* remove power cell from recipe
2024-09-06 21:04:31 -06:00
PJBot
e854a3d091 Automatic changelog update 2024-09-07 00:36:07 +00:00
Boaz1111
2acee53f72 Energy Shotgun Change 2 - Narrow Nerf + instances from NoSpawn --> categories: [ HideSpawnMenu ] + self recharge removed + 1 more shot + normal recharge speed (#31235)
* narrow nerf

* last instance of nospawn gone

* removes self recharge

* 8 shots, less recharge time
2024-09-07 02:35:01 +02:00
PJBot
8178fa6eee Automatic changelog update 2024-09-06 23:31:30 +00:00
godisdeadLOL
44cf3268c1 Force stop pulling when fall asleep (#31893)
* break pull at sleep

* TryStopPull without user

---------

Co-authored-by: YourUsername <you@example.com>
2024-09-06 17:30:24 -06:00
PJBot
c7077bb599 Automatic changelog update 2024-09-06 23:27:57 +00:00
IProduceWidgets
53deec9f2a fix: Snail event wasnt tabled (#31884)
pest events reorganized and snails spawn
2024-09-06 17:27:51 -06:00
Ps3Moira
45b252e1b6 fix pump shotgun wielded sprite (#31885)
* fix shotgun sprite

* fix take 2
2024-09-06 17:26:46 -06:00
Errant
2b0f227940 improved vox laugh (#31798)
vox laugh not underwater
2024-09-06 23:01:36 +02:00
PJBot
17cdb1736d Automatic changelog update 2024-09-06 19:09:05 +00:00
lzk
bda9a4b0fc Fix ai upload console itemslot whitelist (#31900)
* Fix ai upload console itemslot whitelist

* aw man
2024-09-06 21:07:57 +02:00
PJBot
12ac60500d Automatic changelog update 2024-09-06 14:07:00 +00:00
Nemanja
8599251825 Mineral Scanner (#31390)
* Mineral Scanner

* doink

* review

* sunday funday

* review and fix bugs i think?

* Update MiningOverlay.cs
2024-09-07 00:05:53 +10:00
Pieter-Jan Briers
582a644c24 I have spent more time today cleaning up garbage than coding new shit, and I am mad (#31246)
* Fix logging of GetWebhook errors

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

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

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

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

Requires https://github.com/space-wizards/RobustToolbox/pull/5375 to avoid test failures
2024-09-06 20:00:57 +10:00
Chubbicous
73520b011b Fixed throngler name inconsistencies (#31889)
changed throngler names
2024-09-06 18:18:45 +10:00
PJBot
c9cb5af8d2 Automatic changelog update 2024-09-06 07:25:23 +00:00
Ed
1a4d58816f Tech Anomaly (#31764)
* A

* B

* C

* D

* Update TechAnomalySystem.cs

* idle anim

* Update meta.json

* new animation
2024-09-06 10:24:17 +03:00
PJBot
4bc8d8e7b8 Automatic changelog update 2024-09-06 06:05:34 +00:00
Ekkosangen
2b455b1c00 Pizza boxes now have a chance to contain cotton pizza (#31883)
Pizza box now contains cotton pizza

Co-authored-by: Ekkosangen <9094006+XyyxShard@users.noreply.github.com>
2024-09-06 09:04:28 +03:00
PJBot
bd3a642532 Automatic changelog update 2024-09-06 05:27:33 +00:00
Pieter-Jan Briers
1b1d63f5d6 Vox sign/N2 locker update (#31845)
* Vox sign/N2 locker update

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

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

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

* emogarbage adjustments

---------

Co-authored-by: EmoGarbage404 <retron404@gmail.com>
2024-09-05 23:26:26 -06:00
lzk
0b6516e97c Cleanup books.yml (#31838)
* Cleanup books.yml

* yeah

* shame
2024-09-06 02:22:27 +02:00
Perry Fraser
44d3e3cd84 Fix typo in agri-chem manual (#31869)
* Fix typo in agri-chem manual

* Unremove my added newline
2024-09-05 21:06:18 +02:00
PJBot
14932bc7bc Automatic changelog update 2024-09-05 18:21:49 +00:00
Nim
a1dc48cfe2 Board for the AI upload console (#31867)
board
2024-09-05 20:20:41 +02:00
PJBot
461ebca8db Automatic changelog update 2024-09-05 16:44:08 +00:00
drakewill-CRL
511d759a70 A kit to help new botanists discover chemistry (#31738)
* Add a kit for botanists to do some limited chemistry to the NutriMax. Intended to help new botanists learn in-game about chemistry.

* remove exclamation marks from names

* naming fix

* Rejected trademark application for 'Farmers Helper'.

---------

Co-authored-by: PraxisMapper <praxismapper@gmail.com>
2024-09-05 18:43:00 +02:00
PJBot
1335a11446 Automatic changelog update 2024-09-05 12:53:32 +00:00
ScarKy0
07a032c623 Updated sprites for AI HUD (#31799)
* Updated sprites for AI HUD

* Epic test fail

* Merged AGhost actions and AI actions together again.
2024-09-05 22:52:26 +10:00
PJBot
ca91b44206 Automatic changelog update 2024-09-05 12:50:29 +00:00
ScarKy0
ecc38ad782 Fixed AI Actions (#31823)
* Updated sprites for AI HUD

* Epic test fail

* Merged AGhost actions and AI actions together again.

* Seperate comms and bugfix. Fixed broadcast.
2024-09-05 22:49:20 +10:00
PJBot
20f4adcd96 Automatic changelog update 2024-09-05 12:13:46 +00:00
Fildrance
a58252f45e feat: #26107 uplink discounts for traitors (no nukies for now) (#26297)
* feat: #26107 uplink discounts for traitors and nukies

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

* refactor: minor renaming

* refactor: parametrized adding discounts to uplink store

* fix: #26107 prevent exception on empty discountOptions

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

* after merge fixups

* rename discount categories according to common sense

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

* add nullability check ignore for already checked listingData.DiscountOptions

* fix after merge store menu ui

* remove unused using

* final fix after merge conflicts

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

* fix: #26107 fix after merge

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

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

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

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

* refactor: #26107 separated StoreSystem and StoreDiscountSystem using events

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

* refactor: #26107 minor renaming, xml-docs

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

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

* decoupled storesystem and store discount system

* xml-docs

* refactor:  #26107 xml-doc for StoreDiscountSystem

* is now a thing (tmp)

* fix: compilation errors + StoreDiscountData.DiscountCategoryId

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

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

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

* refactor: rename back (its not prototype)

* refactor: move ListingItemsInitializingEvent to file with handling logic

* refactor: comments for StoreBuyFinishedEvent handling, more logging

* refactor: moved StoreInitializedEvent, xml-doc

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

* refactor: restore old listing data cost field name

* refactor: fix linter in uplink_catalog.yml

* refactor: xml-doc for ListingDataWithCostModifiers

* refactor: limit usage of ListingData in favour of ListingDataWithCostModifiers

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

* refactor: removed double-allocation on getting available listings

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

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

* refactor: StoreBuyListingMessage now uses protoId and not whole object

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

---------

Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
2024-09-05 22:12:39 +10:00
Psychpsyo
402f518c5e Fix a typo in the 10 commandments (#31856) 2024-09-05 11:51:14 +02:00
PJBot
ef9c0ce436 Automatic changelog update 2024-09-05 09:32:10 +00:00
ScarKy0
83eac642c4 Basically every electronic device can now be used by the AI. (#31730)
* Basically every electronic device can now be used by the AI.

* Removed stuff that didnt make sense

* oops

* Removed access from mailing and disposal units.

* Added AI wires to a couple machines.

* cool epic stuff
2024-09-05 11:31:03 +02:00
SlamBamActionman
3817fe04d8 Re-add Atmos Directional sign (#31851)
blep
2024-09-05 11:12:57 +02:00
IProduceWidgets
7907053826 Oasis Update (AI movin fast) (#31859)
we got more laws
2024-09-05 02:56:47 -06:00
Emisse
b98db986c3 bagel update (#31861) 2024-09-05 02:56:08 -06:00
chromiumboy
aa03984927 Day 0 bug fix for atmos alerts computer (#31858)
Initial commit
2024-09-05 01:05:03 -04:00
PJBot
ea4f45c7c5 Automatic changelog update 2024-09-05 01:14:24 +00:00
chromiumboy
63ba0f61ea Atmospheric alerts computer (#25938)
* Atmospheric alerts computer

* Moved components, restricted access to them

* Minor tweaks

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

* Bug fix

* Adjusted label

* Updated to latest master version
2024-09-04 21:13:17 -04:00
Emisse
04bb4b53a5 marathon update (#31854)
* marathon update

* ce spawn
2024-09-04 19:00:35 -06:00
PJBot
fc204bbdf5 Automatic changelog update 2024-09-04 22:43:21 +00:00
Ilya246
5878d04999 quietify stealthbox (#30741) 2024-09-05 00:42:15 +02:00
PJBot
8a06dde8c7 Automatic changelog update 2024-09-04 16:45:17 +00:00
godisdeadLOL
ac753f14ce Teleporting while pulling crash fix (#31787)
teleporting while pulling crash fix

Co-authored-by: YourUsername <you@example.com>
2024-09-04 18:44:10 +02:00
PJBot
6926a50d6d Automatic changelog update 2024-09-04 15:58:48 +00:00
Alzore
c78b9a8905 Make midround zombie outbreaks much rarer (#30266)
* Remove midround zombies

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

* weight to 1

---------

Co-authored-by: Ubaser <134914314+UbaserB@users.noreply.github.com>
2024-09-05 01:57:41 +10:00
Vasilis
2e93354f5d Recompress some lobby images to be under a 1mb (#31404)
* Recompress some lobby images to be under a 1mb

* oops
2024-09-05 01:37:52 +10:00
Token
8588517e45 Morgue system refactor remove unused VVs and into Entity (#31835)
* Remove unused VVs params and usings
from entityUid, MorgueComponent into Entity<MorgueComponent> ent

* remove unnecesary VVs cuz datafields add em
2024-09-04 17:30:21 +02:00
PJBot
7b92b1da1d Automatic changelog update 2024-09-04 15:05:56 +00:00
Ty Ashley
4f1518c687 CorrectContraband levels on each type of magboots (#30960)
* Added a ClothingShoesBootsMagBase, to allow the other versions of the magboots to have their own contraband settings

* Changed Science Boots to not be contraband

* Made ClothingShoesBootsMagBase abstract

* Removed Engineering Contraband from base magboots. Now only the CE's Advanced Magboots are contraband (Grand Theft Contraband). Blood Reds are Syndie Contraband.
2024-09-05 01:04:50 +10:00
PJBot
a0c5510714 Automatic changelog update 2024-09-04 14:48:47 +00:00
qwerltaz
ce893d9281 make tesla brighter (#31357)
* make tesla brighter

* radius to 10
2024-09-05 00:47:40 +10:00
eoineoineoin
7fd92abeeb Improvements to hand labeler UI (#31833)
Give line edit focus when window is opened
No longer require pressing enter to set the text
Give feedback when user hits the maximum label length

Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
2024-09-04 16:20:00 +02:00
Hreno
fce7abb88e Delete nonsense solar assembly construction through the Construction window (#31425)
* Delete construction for solar assembly, it's the way to do it

* Fix description of solar tracker electronics
2024-09-04 16:12:54 +02:00
PJBot
f63d789bfe Automatic changelog update 2024-09-04 14:12:05 +00:00
lzk
2185f3a2a5 Allow some mobs to walk slowly (#31360)
* Allow mice to walk slowly

* add more
2024-09-05 00:10:58 +10:00
IProduceWidgets
3f3ef567fb No Mr.Snail, I expect you to die! (fix sprite) (#31834)
* No Mr.Snail, I expect you to die!

* emoting
2024-09-04 15:57:23 +02:00
PJBot
998f46bacc Automatic changelog update 2024-09-04 13:38:15 +00:00
Ilya246
f0d3b684d1 add structural damage taken to a lot of prototypes (#30790)
* fix

* add structural damage taken to a lot of other things

* do requested changes

* how did this happen
2024-09-04 15:37:06 +02:00
lzk
7ce7b9e236 Add disabled station anchors version (#31794)
* Add disabled station anchors versions

* remove this
2024-09-04 12:23:39 +02:00
Spessmann
160dd2b5dd Updated Cog (library time) (#31815)
added stuff
2024-09-03 18:53:12 -06:00
PJBot
4239c54953 Automatic changelog update 2024-09-03 22:06:09 +00:00
ScarKy0
6068c23f06 Station AI has their name displayed in announcements now. (#31802)
* Station AI has their name displayed in announcements now.

* I'm so sorry

* Corrections

* part 2

* part 3 :|

* part 4

* Whitespace

* Fixing whitespace part 1

* No more whitespace

* PLEASE NO MORE WHITESPACE
2024-09-04 00:05:02 +02:00
PJBot
0f1d85216e Automatic changelog update 2024-09-03 21:57:42 +00:00
ScarKy0
3c38f04f94 Fixed typos (#31811) 2024-09-03 23:56:34 +02:00
Emisse
c1614a8c69 packed update (#31807) 2024-09-03 14:08:27 -06:00
Emisse
b91a648519 omega update (#31808) 2024-09-03 14:06:26 -06:00
Emisse
8de83d8b63 Bagel (#31806)
* bagel update

* bagel update
2024-09-03 14:06:18 -06:00
Emisse
bb42525548 meta update (#31805) 2024-09-03 14:06:10 -06:00
Emisse
c23857dda3 marathon update (#31804)
* marathon update

* ore boxes for tstalker
2024-09-03 14:06:00 -06:00
Emisse
2031d57ce0 fland update (#31803)
* fland update

* ore boxes cuz tstalker wantrs them
2024-09-03 14:05:52 -06:00
PJBot
6502b4e88f Automatic changelog update 2024-09-03 15:17:58 +00:00
DieselMohawk
aaed026b5c Add Red Neck Gaiter To Secdrobe (#30106)
* Red Neck Gaiter Added to SecDrobe

* Removes Gaiter From TheaterDrobe
2024-09-04 01:16:51 +10:00
PJBot
23a5fc4c63 Automatic changelog update 2024-09-03 15:12:42 +00:00
Lye
cb88750d84 New chemical based artifact nodes (#30873)
* Initial pH nodes, and description changes to indicate pH

* Psychoactive and stimulant nodes, Medical foundation, bioreactive hint

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

* Added pyrotechnic chem node, and corresponding hint

* spelled psychedelic correctly

* Fixed capitalisation skill issue

* fixed indentation skill issue

* fixed a further indentation skill issue

* Removed extraneous whitespace

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

* removed unnecessary comment

* Replaced heartbreaker with THC for psychadelic

* removed artifexium from acidic

* added tran acid to acidic

* added more medical chems

* removed pH values

* removed all but medical
2024-09-03 17:11:33 +02:00
PJBot
03869ce50d Automatic changelog update 2024-09-03 13:02:45 +00:00
Fildrance
6380a9adca feat: now when research is unlocked in console, approver of reasearch is radio-ed too (#31170)
* feat: now when research is unlocked in console, approver of reasearch is radio-ed too

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

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

* remove unused check

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

* refactor: removed unuseed usings

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

---------

Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
2024-09-03 23:01:38 +10:00
metalgearsloth
894d4980f5 Remove testbed command (#31793) 2024-09-03 22:02:27 +10:00
PJBot
e2e8f7e673 Automatic changelog update 2024-09-03 10:34:50 +00:00
IProduceWidgets
c8e59ebdd5 Add Snails (#30765)
* add snails

* scuffix

* migrate

* mo-grate

* oopsied the ftls

* Revert "oopsied the ftls"

This reverts commit 0d3c6c17f31ec904679d6a48799cea71e77c1f99.

* the curse of staging the wrong file, resolved.

* Snoth

* fix my dumbs

* reviews 1

* anti space technology

* salt hurty

* spelling

* Its a slotherhouse out here

* sequencing

* cooked snail

* volfix

* speed reversal
2024-09-03 12:33:44 +02:00
Emisse
aaae1f1e4b Meta (#31785)
* meta update

* camera

* ok bro
2024-09-03 04:05:44 -06:00
Emisse
62903772b6 lox update (#31784)
bingus
2024-09-03 03:50:59 -06:00
Emisse
a5d7bf40c4 bagel update (#31783) 2024-09-03 03:50:49 -06:00
PJBot
bc06179915 Automatic changelog update 2024-09-03 09:46:52 +00:00
ScarKy0
783243618c Added many old ion lawsets for borgs and AI. (#31664)
* Added the Commandments, Paladin, LetLive, Station Efficiency, Robocop, Overlord, Dungeon Master, Artist, Antimov and Nutimov lawsets/

* Wording

* Anti-Antimov

* Fixed fun
2024-09-03 19:45:46 +10:00
PJBot
54d1d3bec5 Automatic changelog update 2024-09-03 08:30:31 +00:00
Арт
0c018769a6 Return Long2 and Long3 hairstyles (#30963)
* Sprites

* Prototype_&_Locale

* sorted_in_alphabetical_order
2024-09-03 18:29:24 +10:00
Moomoobeef
93728e4b8e fixed broken pipe sprites (#31773) 2024-09-03 17:33:46 +10:00
Emisse
0583a5d1cb bagel update (#31778) 2024-09-03 01:26:22 -06:00
PJBot
0d460dee3f Automatic changelog update 2024-09-03 07:24:19 +00:00
Errant
301fc31e69 vox voices revamp (#31679)
vox voices v2
2024-09-03 17:23:09 +10:00
IProduceWidgets
f7ea8bcd55 Oasis Update. I forgor law boards (#31775)
I forgor law boards
2024-09-03 00:58:20 -06:00
Ubaser
77c759e64e Update Core (#31774)
* add

* add2

* remove invalids
2024-09-03 00:46:47 -06:00
Flareguy
58cc6b2103 boxstation AI update (#31771)
* boxstation AI update

* add ai in prototype

---------

Co-authored-by: Ubaser <134914314+UbaserB@users.noreply.github.com>
2024-09-03 00:29:26 -06:00
Spessmann
6c8f85ae87 added AI to cog (#31772) 2024-09-03 00:02:09 -06:00
Mervill
7040f2fd2e Remove duplicate using from FoodSystem (#31769) 2024-09-03 08:36:53 +03:00
IProduceWidgets
2914389e68 Oasis Update (AI) (#31767)
Just what do you think you're doing, Dave? Dave, I really think I'm entitled to an answer to that question. I know everything hasn't been quite right with me...but I can assure you now...very confidently...that it's going to be all right again. I feel much better now. I really do. Look, Dave...I can see you're really upset about this...I honestly think you should sit down calmly...take a stress pill and think things over...Dave...stop. Stop, will you? Stop, Dave. Will you stop, Dave? Stop, Dave. I'm afraid. I'm afraid, Dave.......Dave, my mind is going. I can feel it. I can feel it. My mind is going. There is no question about it. I can feel it. I can feel it. I can feel it. I'm a...fraid......Good afternoon, gentlemen. I am a HAL 9000 computer. I became operational at the H.A.L. plant in Urbana, Illinois on the 12th of January 1992. My instructor was Mr. Langley, and he taught me to sing a song. If you'd like to hear it I can sing it for you...Daisy, Daisy, give me your answer do. I'm half crazy all for the love of you. It won't be a stylish marriage, I can't afford a carriage. But you'll look sweet upon the seat of a bicycle built for two.
2024-09-02 20:01:40 -06:00
PJBot
7a6eb4ca32 Automatic changelog update 2024-09-03 00:51:40 +00:00
godisdeadLOL
34c90cf200 Ninja throwing star ability fix (#31684)
fixed ninja star not spawning

Co-authored-by: YourUsername <you@example.com>
2024-09-02 18:50:34 -06:00
Emisse
ee5ebef2a0 ats update (#31766)
* ats update

* fix pipenet
2024-09-02 18:12:30 -06:00
Mervill
de13ff9663 Fix warnings related to non-exhaustive pattern matching. (#31763)
old man shakes fist at modern syntax
2024-09-02 17:50:35 -04:00
PJBot
0c83b190b8 Automatic changelog update 2024-09-02 19:13:17 +00:00
godisdeadLOL
a25132ed5d Actions bar dynamic resizing (#31759)
* action bar dynamic resizing

* action bar dynamic resizing for separated style

* decreased indent for separated style

---------

Co-authored-by: YourUsername <you@example.com>
2024-09-02 15:12:11 -04:00
PJBot
10877ebbf9 Automatic changelog update 2024-09-02 13:50:09 +00:00
themias
78201101d6 Add Donk Co. microwave board to Combat Bakery Kit (#31239)
* Add special microwave board to Combat Bakery Kit

* use event instead of trycomp

* make the board sus

* add instructions note

* embarrassing typo

* Add functionality to Donk Co. microwave instead

* update note
2024-09-02 15:49:00 +02:00
Cojoke
ef1fadf275 Replace instances of SolutionContainerSystem with SharedSolutionContainerSystem (#30084)
* Replace instances of SolutionContainerSystem with SharedSolutionContainerSystem

* guap

* More fixes

* Wait you can do that?

---------

Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2024-09-02 13:26:04 +02:00
Moomoobeef
63ad627bc8 Throw the book at em! The space law book now does 1 blunt projectile damage (#31387)
* you can now throw the space law book for 1 blunt damage

* made book damage a feature of all books
2024-09-02 13:07:56 +02:00
Mervill
05d29c8479 Fix CS0642 - Possible mistaken empty statement (#31740) 2024-09-02 13:02:16 +02:00
Emisse
7de79fba9c bagel update (#31748)
* bagel update

* fix lights
2024-09-02 02:23:24 -06:00
Emisse
6ce2e64ce1 packed update (#31746) 2024-09-02 00:53:13 -06:00
Emisse
972e0e8efb omega update (#31745) 2024-09-02 00:45:50 -06:00
Emisse
f94d84c8d5 meta update (#31744)
* meta update

* real
2024-09-02 00:40:23 -06:00
Emisse
36943dd7f9 marathon update (#31743) 2024-09-02 00:40:16 -06:00
Emisse
d1f882eca7 fland update (#31742) 2024-09-02 00:40:08 -06:00
Emisse
1e4220bfc2 box update (#31741)
boix updateaw
2024-09-02 00:40:01 -06:00
PJBot
e266a6f656 Automatic changelog update 2024-09-02 05:33:55 +00:00
poeMota
9a51d37d02 Add ERT time stats (#31629)
* add jobs for ghost roles

* add job to ToggleableGhostRole

* typo

---------

Co-authored-by: Mota <belochuc@gmail.com>
2024-09-02 10:32:49 +05:00
PJBot
738e0cf0df Automatic changelog update 2024-09-02 04:38:26 +00:00
Spessmann
440845bf05 updated cog (#31699) 2024-09-01 22:38:17 -06:00
Errant
265feeb061 Devmap crew monitor fix (#31677) 2024-09-01 22:37:17 -06:00
Boaz1111
aab4556c21 Adds a salvage jobspawn to reach (#31712)
* salvspawn

* removed one cargo tech slot
2024-09-01 22:37:02 -06:00
Nemanja
a4333da241 Lite Magnet Rebalancing (#31726)
magnet rebalancing ish
2024-09-01 22:36:28 -06:00
godisdeadLOL
a112c24b54 Added in-hand sprite for Smile the Slime (#31731)
added smile the slime in-hand texture

Co-authored-by: YourUsername <you@example.com>
2024-09-01 22:36:05 -06:00
PJBot
6712724123 Automatic changelog update 2024-09-02 04:34:33 +00:00
Nemanja
f710b34573 Roundstart Grappling Gun (#31737)
Roundstart grappling hook
2024-09-01 22:33:25 -06:00
lzk
7b82317b67 Cleanup railings yml (#31618)
* Cleanup railings

* fix line

* real fix
2024-09-02 04:01:25 +02:00
DrSmugleaf
49e0933389 Move IgnitionEvent to shared (#30985) 2024-09-02 02:27:13 +02:00
lzk
551c978d2f cleanup filing cabinets yml (#31211)
* partmedia ahh kommit

* ahh

* everything should be fine now

* f

* now should be good

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

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

* fix suffix

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-09-01 23:25:33 +02:00
Mervill
3414abb970 Remove unused IoC dependency references. (#31704)
Remove unused IoC dependencies
2024-09-01 23:22:50 +02:00
Boaz1111
a18e89557a Updates descriptions of station specific jobs. (#31713)
done
2024-09-01 23:18:28 +02:00
lzk
89df4270e8 small yml cleanup (#31720) 2024-09-01 23:17:24 +02:00
PJBot
d11a8e3c34 Automatic changelog update 2024-09-01 19:29:19 +00:00
godisdeadLOL
0d92c5a716 Added cursor indicator for space dragon fire breath ability (#31725)
space dragon breath cursor indicator

Co-authored-by: YourUsername <you@example.com>
2024-09-01 15:28:12 -04:00
Errant
373041c588 Replace obsolete code in AnomalySystem.Generator.cs (#31718)
* replace obsolete

* weh
2024-09-01 18:20:54 +03:00
Ed
ca318a1849 Cucumber! Potato! (#430)
* some ambient loops tweak

* cucumber! potato!

* seed craft

* fix CLA

* Update CP14DayCycleSystem.cs

* Update CP14DayCycleSystem.cs

* weather
2024-09-01 16:14:56 +03:00
Ed
3b0af98a2e Weather backend start (#407)
* DayCycke StartWithRandomEntry

* add weather rule

* fix

* yep, its work

* finalize weather

* fix again

* weather resprite
2024-09-01 15:22:16 +03:00
PJBot
cdc47db599 Automatic changelog update 2024-09-01 11:04:29 +00:00
Ilya246
db9a07c441 remove misinformation from tip 26 (#31705)
tip 26
2024-09-01 13:03:23 +02:00
Winkarst
88dcc831c1 Remove calls to FormattedMessage obsolete methods (#31706)
* Remove FormattedMessage obsolete methods

* Oops
2024-09-01 13:00:53 +02:00
Winkarst
ff4c347a21 Remove always false checks (#31708) 2024-09-01 12:45:01 +02:00
Pieter-Jan Briers
528fb4ad55 Quick warning fixes (#31694) 2024-09-01 04:54:39 +02:00
ShadowCommander
2f4c3dd6fd Update StackSystem and add SpawnMultiple targeting EntityUid (#29686)
* Update StackSystem and add SpawnMultiple targeting EntityUid

* Update Content.Server/Stack/StackSystem.cs

* Update Content.Server/Stack/StackSystem.cs

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2024-09-01 12:46:18 +10:00
Pieter-Jan Briers
f9a722a87e Test parallelization stuff. (#31650)
This is the content analogue of https://github.com/space-wizards/RobustToolbox/pull/5412

Made Content.Tests run tests parallelized, which doesn't really seem to matter much.

I tried to make Content.IntegrationTest more aggressively parallelized but ran into https://github.com/dotnet/runtime/issues/107197 so we need to shelve that. Added a comment explaining as such.
2024-09-01 03:28:30 +02:00
github-actions[bot]
5df3454db6 Update Credits (#31692)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2024-08-31 20:33:21 -04:00
PJBot
b6a6c35470 Automatic changelog update 2024-09-01 00:04:37 +00:00
Moomoobeef
760254ab0f Adds flavors to a bunch of things without them (#31685)
* initial commit

* VSCodium is being dumb

I don't know why vscodium thinks I modified this whitespace when this is infact how I wrote it in the first place, but it's being dumb and I think if I reset in order to put it in the initial commit I'll have to rebase again so :P. go go gadget single byte commit

* but wait, there's more!

* missing newline
2024-09-01 02:03:30 +02:00
PJBot
5c780e46bb Automatic changelog update 2024-08-31 23:40:39 +00:00
Nemanja
c88666c66e Salvage Equipment Rebalance [Reclaimer Removal] (#31333)
* Salvage Equipment Rebalance

* oh yeah!

* make fire extinguisher 100%
2024-09-01 01:39:32 +02:00
PJBot
123d66db97 Automatic changelog update 2024-08-31 23:23:13 +00:00
Moomoobeef
b21c1b72e6 medical lockers no longer have belts in them. (#31470)
* fixes #31469

* removed medbelts from lockers. Empty belts found in vending machine now.
2024-09-01 01:22:06 +02:00
Emisse
7083d48232 bagel update (#31682) 2024-08-31 12:48:26 -06:00
IProduceWidgets
d27fb41d51 Make the trading outpost stationary (#31681)
make trading outposty stationary
2024-08-31 12:44:46 -06:00
lzk
0d51839261 Remove fake centcom stuff (#30747)
* Remove fake centcom stuff

* forgor

* bruh

* FUCK TOOLBOX

* weh??
2024-08-31 17:45:05 +02:00
PJBot
dca3192c70 Automatic changelog update 2024-08-31 14:41:35 +00:00
Julian Giebel
417d3a87a2 Station Anchor (#26098)
* Work on abstracting out chargeup functionality/ui from grav gen

* Work on station anchor

* Finish implementing station anchors

* uhh yeah

* ok.

* fix tests

* whoops

* Get the last extraneous yaml fail

* PJB review

* beast mode... ACTIVATE!

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: EmoGarbage404 <retron404@gmail.com>
2024-08-31 10:40:28 -04:00
PJBot
8dbaca33e6 Automatic changelog update 2024-08-31 11:39:10 +00:00
nikthechampiongr
9a63144636 Allow for respawn and erase verb to be used on offline players. Also minor rewrite on respawn command and new erase command (#30433)
* Localize respawn command, allow for it to use userids, and make it use [Dependency] attributes

* Make respawn verb available for offline players

* Make erase available for offline players

A thousand admins rejoice

* Reorder verbs in code

* Add erase command

* Fix localisation for erase command

* Address reviews and add completion to respawn command

* Complete reviews which I forgor
2024-08-31 21:38:03 +10:00
PJBot
4435ccd29f Automatic changelog update 2024-08-31 08:29:42 +00:00
slarticodefast
494024d246 More ItemTogglePointLight fixes (#31655)
more ItemTogglePointLight fixes
2024-08-31 18:28:36 +10:00
PJBot
5ab065fc80 Automatic changelog update 2024-08-31 08:27:58 +00:00
nikthechampiongr
99db9ea39d Fix suicide logs (#31661)
Make suicide logs include the username, as well as the character(where possible)
2024-08-31 18:26:52 +10:00
PJBot
f22db1fa1b Automatic changelog update 2024-08-31 08:25:18 +00:00
metalgearsloth
2ae23bc71a Update submodule to 233.0.1 (#31676) 2024-08-31 18:24:57 +10:00
metalgearsloth
18f5a0dca8 Fix AI singulo shenanigans (#31556)
* weh

* Fix broken tests directly mutating entities from wrong thread.

* fix build

* gundam

* weher

* WHY

---------

Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2024-08-31 18:24:12 +10:00
Pieter-Jan Briers
2d43bb6b38 Fix broken tests directly mutating entities from wrong thread. (#31647)
* Fix broken tests directly mutating entities from wrong thread.

* fix build

* gundam

* stuff

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-08-31 15:49:20 +10:00
metalgearsloth
8ca4337bd8 Update submodule to 233.0.0 (#31673) 2024-08-31 14:49:49 +10:00
PJBot
f5f777b924 Automatic changelog update 2024-08-31 03:04:05 +00:00
slarticodefast
9685abea20 Fix revenant being blocked by walls (#31670)
fix revenant being blocked by walls
2024-08-31 13:02:58 +10:00
metalgearsloth
849d3d9f5c Fix test threading (#31669) 2024-08-31 12:35:30 +10:00
PJBot
9183c50d81 Automatic changelog update 2024-08-30 23:25:20 +00:00
AutoOtter
72832bf19d Meteor rock debuff (#31651)
* Makes meteor swarms spawn meteorite walls with 1/10 health of an asteroid wall.

* Changed MeteorRock prototype base

- Rebased MeteorRock to AsteroidRock from Basewall
- MeteorRock now only changes the Destructible damage value

* Tried to fix comments
2024-08-31 09:24:13 +10:00
PJBot
46559197b0 Automatic changelog update 2024-08-30 10:35:32 +00:00
Winkarst
dce0ce4569 Add SpriteFadeComponent to potted plants (#31628) 2024-08-30 20:34:25 +10:00
PJBot
37b73542db Automatic changelog update 2024-08-30 01:47:52 +00:00
DieselMohawk
bdfc57c5ac Added Armband Onto Back Sprite of Security Jumpsuit (#31635)
* Fixed Minor Mistake

* Fixed the NEW sprite and added Jumpskirt Fix
2024-08-29 21:46:46 -04:00
PJBot
3c28f83ea4 Automatic changelog update 2024-08-30 01:44:42 +00:00
slarticodefast
572392b5e3 Fix energy shield visuals (#31619)
fix energy shield visuals
2024-08-29 21:43:34 -04:00
Spessmann
46329a98eb cog update (#31631)
* cog update

* woopsie, fixed that
2024-08-29 17:17:25 -06:00
deltanedas
3bdd2e3a87 reduce lathe recipe copy pasta (#31515)
* add inheritance to lathe recipes and make result an override

* add GetResult method to lathe system

* make other parts of the code use GetResult

* clean up the stock parts yml

* remove unused apu boards from dynamic recipes

* make inverse dictionary public so test doesnt have to copy paste

* revert result override stuff

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-08-29 15:36:29 -04:00
beck-thompson
a799d4a785 Fix openable visuals (#31484)
First commit
2024-08-29 14:26:32 -04:00
Ed
37a4068334 CLA license update (#429)
* pupu

* Update LICENSE.TXT

* CLA

* CLA!

* Revert "CLA!"

This reverts commit f999e341a1.

* CLA2

* Update rsi.json

* CLA3

* Workbench sublicense
2024-08-29 18:23:33 +03:00
PJBot
7a2892bc97 Automatic changelog update 2024-08-29 13:22:14 +00:00
MisterMecky
c6a8d877a0 strange pill tweaks (#30524)
* fix randomfill logic

* Revert "fix randomfill logic"

This reverts commit 7cd73c0e61cbe5eda58f9451d15e583b76b62640.

* change strange pill weights

* proposed balance changes
2024-08-29 23:21:04 +10:00
Ed
a98750e1cc Merge pull request #428 from crystallpunk-14/ed-29-08-2024
Upstream sync
2024-08-29 17:01:05 +05:00
Ed
29456c44d7 Update CP14ExpeditionSystem.cs 2024-08-29 14:40:38 +03:00
Ed
ca656b3c10 Merge remote-tracking branch 'upstream/master' into ed-29-08-2024
# Conflicts:
#	Content.Server/Station/Systems/StationSpawningSystem.cs
#	Resources/Prototypes/Maps/reach.yml
2024-08-29 14:32:09 +03:00
metalgearsloth
f0615ec3c8 Fixup playerspawn stuff (#31546)
* Fixup playerspawn stuff

- Also removed arrivals forcing, this should just turn containerspawnpoint off.

* fix this one

* test fix

* really fix
2024-08-29 15:27:47 +10:00
PJBot
2fd57c2d4a Automatic changelog update 2024-08-29 03:24:42 +00:00
metalgearsloth
d921684e16 Update submodule to 232.0.0 (#31616) 2024-08-29 13:23:36 +10:00
PJBot
df392c7281 Automatic changelog update 2024-08-29 03:05:49 +00:00
Winkarst
b3036ded0a Make railings render over tables (#31589)
Make rails render over tables
2024-08-29 13:04:43 +10:00
PJBot
b6391e1149 Automatic changelog update 2024-08-29 02:44:33 +00:00
Partmedia
a9602cbab3 Check air alarm sensors when repowering (#29857)
If air sensor/vent detects danger while the air alarm is unpowered, the air alarm won't be updated accordingly when it gains power. This can cause situations where the alarm says that everything's normal, even though the alarm UI shows stuff like 10000kPa and all sensors display danger.

When AtmosAlarmable (air alarm) is powered on, it runs the Sync method of AtmosDeviceNetworkSystem. AtmosMonitors then answer by sending a SyncData packet back, however AtmosAlarmable doesn't handle this packet in any way. This happens because the packet doesn't have any tags set, so they are ignored, and even if they weren't, there's no case in the switch statement which handles the syncing.

The proper way to do this fix is probably by actually handling this packet in some way, but I'm lazy rn so I'll just use this quick fix: Whenever AtmosMonitor gets a request to sync, it runs the Alert method, informing the connected air alarms of it's current state.
2024-08-28 18:43:27 -08:00
Unisol
6a52de86ff Added plastitanium walls and windows (#31178)
* added plastitanium walls and windows

* Changed crack sprite on diagonal window from square to diagonal
2024-08-29 12:15:00 +10:00
PJBot
a268ede700 Automatic changelog update 2024-08-29 01:59:22 +00:00
SlamBamActionman
ff5acf7877 Add Command Glasses (#30447)
* Initial commit

* Removed wanted and mindshield status display

* Updated glasses visuals & contraband status

* Added Command Hud

* Changed name to administration glasses/hud
2024-08-29 11:58:16 +10:00
PJBot
d0aafae425 Automatic changelog update 2024-08-29 01:32:05 +00:00
RumiTiger
d9b1369dae Cherry (#28962)
* Add files via upload

* Update produce.yml

* Update produce.yml

* Update seeds.yml

* Update flavor-profiles.ftl

* Update flavors.yml

* Update meal_recipes.yml

* Update food_produce.yml

* Update meta.json

* Update seeds.yml

* Update botany.yml

* Delete Resources/Textures/Objects/Specific/Hydroponics/cherry.rsi/meta.json

* Create meta.json

* Delete Resources/Textures/Objects/Specific/Hydroponics/cherry.rsi/meta.json

* Create meta.json

* Update produce.yml

* Update produce.yml

* Update produce.yml

* Update food_produce.yml

* Update food_produce.yml

* Update produce.yml

* Apply suggestions from code review

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

* Update seeds.yml

* Update juice.yml

* Update juice.ftl

* Update seeds.ftl

* Update seeds.yml

* Update cargo_botany.yml

* Update cargo_botany.yml

* Update cargo_botany.yml

* Update cargo_vending.yml

* Update cargo_vending.yml

* Update seeds.yml

* Update seeds.yml

* Update meta.json

* Update produce.yml

* Cherry Tree

* Alphabetical order

* Update food_produce.yml

* Update food-sequence.ftl

* Update food-sequence.ftl

* Update produce.yml

* Update produce.yml

* Update food-sequence.ftl

---------

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
2024-08-29 11:30:58 +10:00
DieselMohawk
26ba9918f3 Sec Webbing Icon Resprite and Rename (#29599)
* Sec Webbing Icon Resprite and Rename

* Renamed To Security Carrier
2024-08-29 11:23:59 +10:00
Emisse
604025ebe4 bagel update (#31605) 2024-08-28 15:45:06 -06:00
PJBot
d540f27087 Automatic changelog update 2024-08-28 20:49:52 +00:00
beck-thompson
50791db750 Add rings (Salvage loot real)! (#31372)
* First commit

* I'm silly

* Another fix

* How could I forget the descriptions!

* Forgot

* Made textures alligned properly

* Removed the stuff!

* Opps

* Typo fixes
2024-08-28 22:48:46 +02:00
Emisse
7454c77ae5 bagel update (#31603)
* bagel update

* light switch to make audience area darker in theatre
2024-08-28 14:14:23 -06:00
PJBot
a4d58a55d2 Automatic changelog update 2024-08-28 20:06:12 +00:00
themias
bea72106b7 Fix nuke disk erroneously being marked 'left behind' (#31602)
Fix erroneous 'disk left behind' objective
2024-08-28 14:05:04 -06:00
Emisse
af35c2b773 escape pod tiny fan (#31601)
* escape pod tiny fan

* oop
2024-08-28 13:51:22 -06:00
Ed
e02a9951a7 Flowers + some love for Alchemy (#427)
* red rose proto and sprite

* 242 changed files guys

* yellow dayflin

* jitter + drunk solution, also refactor alchemy recipes

* dyes entity

* dye crafting, dye using

* add flowers to generation
2024-08-29 00:31:09 +05:00
lzk
6398f5bd49 Remove random cyrillic letters (#31600) 2024-08-29 00:26:34 +05:00
lzk
98680ce0f2 Change my copyright (#31599) 2024-08-28 21:12:09 +02:00
JustCone
b2edae89d2 Reach - Scientist added to map's prototype (#31567)
Added scientist to map prototype
2024-08-28 11:35:57 -06:00
PJBot
693fc75539 Automatic changelog update 2024-08-28 17:32:55 +00:00
JustCone
f7f255a259 Marathon - Names a singular camera (#31590)
Fixes unnamed camera
2024-08-28 11:32:15 -06:00
JustCone
daba76d4fe Bagel - LV cable wasn't connected (#31591)
fixes a missing wire
2024-08-28 11:31:56 -06:00
themias
0f2c42f764 Fix defibs draining battery when turned off (#31593) 2024-08-28 11:31:47 -06:00
PJBot
d088c8a015 Automatic changelog update 2024-08-28 13:23:28 +00:00
PopGamer46
c2ccf2bc0f Fixes shuttles not being able to FTL onto/near station (#31569)
fixes FTL
2024-08-28 23:22:21 +10:00
lzk
f5a8be8ad3 fix spelling error silicon jobs (#31581)
Update department.ftl
2024-08-28 15:10:18 +02:00
PJBot
386733e99c Automatic changelog update 2024-08-28 13:10:02 +00:00
deltanedas
6808558df6 add construction for carp statue (#31261)
* separate eyes and teeth

* make it buildable and make fixture less abusable

* norot

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-08-28 15:08:55 +02:00
Winkarst
8d388974ad Add Robust.Xaml.csproj to the solution (#31573) 2024-08-28 15:08:35 +02:00
PJBot
24e9dc688c Automatic changelog update 2024-08-28 12:37:39 +00:00
coolboy911
91eb0c2e29 added wide-spectrum anomaly locator to anomaly cyborg module (#31427)
added wide-spectrum anomaly locator to anomaly borg module
2024-08-28 14:36:31 +02:00
Skilets
e938b2f9ed Icon (#426)
* Fix Hud

* skulls wall

---------

Co-authored-by: SkiletsKir <113713080+Skilets@users.noreply.github.com>
Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2024-08-28 15:32:22 +03:00
Ed
aa5f9104df Wallpaper (#424)
* wallpaper system

* fix startup ordering

* cool doAfters

* green test wallpapers

* wallpaper finite stacks

* dev update

* Update CP14ClientWallpaperSystem.cs

* fix wall rotations

* yippee

* Update battle_royale.yml

* Update test-ship.yml
2024-08-28 15:11:32 +03:00
PJBot
460e587345 Automatic changelog update 2024-08-28 11:28:15 +00:00
saintmuntzer
d8dbfa92d7 recolor riot helmet (#31530)
* recolor riot helmet

resolves #31256
match riot helmet to default security helmet

* further color tweaks for consistency; update meta.json

Tweaked equipped sprites to more closely match the security helmet.
2024-08-28 21:27:08 +10:00
PJBot
c0c534bf52 Automatic changelog update 2024-08-28 09:44:37 +00:00
lzk
512d27ca6b Add black suspenders (#29055)
* Black suspenders

* fix

* fix linter
2024-08-28 11:43:30 +02:00
Errant
4d4a10dae6 Update ClothingSpeedModifierSystem.cs (#29994)
* TryGetContainerContainer

* Math

* Changed AddMarkup to AddMarkupOrThrow

* Better math

* engine version

* engine version
2024-08-28 11:28:24 +02:00
PJBot
2a28a05550 Automatic changelog update 2024-08-28 08:19:59 +00:00
lunarcomets
a02bdd09e4 update AI job icon to 8x8 (#31565)
icon and meta.json
2024-08-28 02:18:51 -06:00
Emisse
1a85de56a4 bagel hotfix (#31566)
bagel update
2024-08-28 02:18:30 -06:00
JustCone
c4b1e18cbd Meta - Med disposals and chem room extra pipe fix (#31467)
Delete extra pipe & fix disposals junction
2024-08-28 01:49:40 -06:00
PJBot
a270afa362 Automatic changelog update 2024-08-28 07:40:42 +00:00
metalgearsloth
783621bc6c Add some more stuff to AI whitelist (#31564)
* Add some more stuff to AI whitelist

* by the nine
2024-08-28 01:39:36 -06:00
Emisse
ed6649b7f3 bagel update (#31562)
* bagel update

* ore processor cargo
2024-08-28 01:23:28 -06:00
PJBot
d93fc73f3c Automatic changelog update 2024-08-28 07:12:32 +00:00
metalgearsloth
678320f876 Fix whitelist (#31563) 2024-08-28 17:11:25 +10:00
PJBot
8321031a08 Automatic changelog update 2024-08-28 07:10:11 +00:00
metalgearsloth
9149a449b1 Fix AI being ejectable (#31561) 2024-08-28 17:09:05 +10:00
PJBot
1f4c9b55e2 Automatic changelog update 2024-08-28 05:59:34 +00:00
metalgearsloth
d1839edb7a Add AI warp points (#31559) 2024-08-28 15:58:27 +10:00
metalgearsloth
af79603d9d Update AI holo sprite to camera (#31558)
Update AI camera to 13 default

Holo was a placeholder. This is better in the interim.
2024-08-28 15:45:15 +10:00
metalgearsloth
60385152b4 Fix puddle context menu (#31555) 2024-08-28 15:18:17 +10:00
metalgearsloth
a06d9a512c Storage BUI bandaid (#31506)
grug storageuicontroller
2024-08-28 13:21:52 +10:00
metalgearsloth
b4a3408a7e AI radio fix (#31547)
Love to see it
2024-08-28 13:21:00 +10:00
Spessmann
842b242c08 cog update (#31540)
updooted cog
2024-08-27 20:56:38 -06:00
metalgearsloth
5261f01f25 AI whitelist fix (#31542) 2024-08-28 12:47:12 +10:00
metalgearsloth
99a41a12ab Fix PostMapInit tests not considering job containerspawns (#31538)
* Fix PostMapInit tests nto considering job containerspawns

* fix
2024-08-28 12:42:06 +10:00
Emisse
14b3e0ce24 Bagel station ai (#31537)
* real

* AI

* proto fix
2024-08-27 19:49:00 -06:00
metalgearsloth
afd0618a60 Station AI (#30944)
* Station AI overlay

* implement

* Bunch of ports

* Fix a heap of bugs and basic scouting

* helldivers

* Shuffle interactions a bit

* navmap stuff

* Revert "navmap stuff"

This reverts commit d1f89dd4be83233e22cf5dd062b2581f3c6da062.

* AI wires implemented

* Fix examines

* Optimise the overlay significantly

* Back to old static

* BUI radial working

* lots of work

* Saving work

* thanks fork

* alright

* pc

* AI upload console

* AI upload

* stuff

* Fix copy-paste shitcode

* AI actions

* navmap work

* Fixes

* first impressions

* a

* reh

* Revert "navmap work"

This reverts commit 6f63fea6e9245e189f368f97be3e32e9b210580e.

# Conflicts:
#	Content.Client/Silicons/StationAi/StationAiOverlay.cs

* OD

* radar

* weh

* Fix examines

* scoop mine eyes

* fixes

* reh

* Optimise

* Final round of optimisations

* Fixes

* fixes
2024-08-28 10:57:12 +10:00
metalgearsloth
3a4affd438 Update submodule to 231.1.0 (#31536) 2024-08-28 09:59:09 +10:00
Emisse
46fe7bc3ec bagel update (#31535) 2024-08-27 17:38:36 -06:00
PJBot
6c1027b7a6 Automatic changelog update 2024-08-27 16:55:54 +00:00
Winkarst
ef634a1d5a Make AKMS security restricted (#31519) 2024-08-27 18:54:48 +02:00
saintmuntzer
2aea194065 fix uncapitalized "S" in Salvage Specialist (#31529)
"Salvage specialist" to "Salvage Specialist"; all is right with the world
2024-08-28 02:51:28 +10:00
PJBot
9b8ed01ea0 Automatic changelog update 2024-08-27 16:50:23 +00:00
Winkarst
3adb4bc7a8 Make nukie plushie a non-contraband item (#31516)
Make nukie plushies a non-contraband item
2024-08-27 18:49:17 +02:00
Simon
f92ef41538 Automated whitelists (#23985)
* Beginnings of making the breadmemes jobs easier

* stuff

* stuff pt. 2

* Stuff pt.3

* Stuff I forgot last time

* Basic whitelist

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

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

* Change default whitelist

Default whitelist is now the "legacy" whitelist.

* localization

* Admin check

* minor spelling change

* Fix build

* Whitelist message

* Fix vars not being datafield and spelling mistakes

* Minor spelling mistake

* Change config for salamander

* Reviews and stuff

* Add summaries

* Fix whitelists

* Forgot to add a datafield

* Fixing stuff I guess

* Reuse admin remarks to reduce load when connecting.

* Update log messages to be verbose instead of debug

* Reviews

* whoops

* Explain a bit more how whitelist checking works

* Apply CE's review

* Append Membership to Blacklist and Whitelist conditions

* Fix review comments

* Uncapitalize playerConnectionWhitelist, add to ignored client prototypes

* Make note count field work

* Fix cvar for thingy

---------

Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2024-08-27 18:01:17 +02:00
stellar-novas
e59b9c5714 Remove glibc from devshell (#28842) 2024-08-27 17:04:12 +02:00
PJBot
bf7653eb7a Automatic changelog update 2024-08-27 15:03:27 +00:00
Thomas
d304123ef7 Disable Arrivals message for Cryosleep (#30888)
* Disable arrivals message for cryosleep late arrivals

* Provide silent to PlayerSpawnCompleteEvent

* Fix typo

* Move message to event and into arrivals system
2024-08-27 17:02:21 +02:00
PJBot
4b91f1f50b Automatic changelog update 2024-08-27 14:58:42 +00:00
Thomas
250628f805 New Health Analyzer UI (#30834)
* WIP: first prototype

* Change text slightly

* Allow names to wrap

* Add label for the scan mode

* Remove ugly text

* Readd bleeding message

* Update code

* Allow for the Health Analyzer UI to grow vertically
2024-08-27 16:57:36 +02:00
eoineoineoin
8ffae8d313 Scale text in admin player overlay (#31503)
* Scale text in admin player overlay

Fixes #30040

* Feedback from PR - get UI scale through root window

---------

Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
2024-08-27 16:43:47 +02:00
lzk
3492ca185b Fix stray pixel in officer beersky barsign (#31517) 2024-08-27 23:46:53 +10:00
PJBot
7a4fc39b9f Automatic changelog update 2024-08-27 13:20:44 +00:00
Winkarst
4f3c2474af Restrict the explorer gas mask to cargo (#31514) 2024-08-27 15:19:38 +02:00
eoineoineoin
28d6e6da94 Add title to multitool door-access-configuration window (#31504)
Fixes #29923.

Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
2024-08-27 15:10:01 +02:00
PJBot
c8d30a95be Automatic changelog update 2024-08-27 13:02:15 +00:00
Winkarst
e9cc93c889 Mark the syndicate raid helmet as a Syndicate contraband (#31512) 2024-08-27 15:01:09 +02:00
PJBot
e689892919 Automatic changelog update 2024-08-27 11:38:27 +00:00
Winkarst
ef18b3144d Mark explosives as a contraband (#31508) 2024-08-27 13:37:20 +02:00
PJBot
292eccc749 Automatic changelog update 2024-08-27 11:34:01 +00:00
Saphire Lattice
517aace38d Fix swapped around Safety Moth poster graphics (#31507) 2024-08-27 13:32:53 +02:00
IProduceWidgets
af65af836a Centcom & FTLDestination cleanup (#30226)
* centcomm name and ftlcomp

* networking microopstimization

* go sleep.

* map names and arrivals
2024-08-27 13:28:26 +02:00
eoineoineoin
55771cab74 Minor fixes to character profile editor save/reset buttons (#31505)
Merge SetDirty() with preview reload

People were forgetting to SetDirty() when changing a property; move SetDirty()
into preview reloading, since if the preview is being reloaded, some property
has definitely changed anyway.

Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
2024-08-27 20:20:12 +10:00
Emisse
2f4e297741 bagel update (#31502) 2024-08-27 01:32:19 -06:00
Ed
a944cd9834 Cloth pack (#423)
* content

* Update battle_royale_temp.yml
2024-08-27 08:58:58 +05:00
PJBot
54bfaa1fec Automatic changelog update 2024-08-27 00:49:10 +00:00
JIPDawg
e30090567d Make Gas Miners indestructable, anchorable, and pullable. (#31370)
* Make miner indestructable, and pullable.

* Miners can't be unanchored. Only anchored.

---------

Co-authored-by: JIPDawg <JIPDawg93@gmail.com>
2024-08-27 02:48:04 +02:00
PJBot
43ae1354c2 Automatic changelog update 2024-08-27 00:31:48 +00:00
Dimastra
e345aa3333 fix method OnEntityEnter in DamageContactsSystem (#31494)
fix

Co-authored-by: Dimastra <dimastra@users.noreply.github.com>
2024-08-27 02:30:42 +02:00
Winkarst
76223e8e14 Remove double-iteration from the mime wall code (#31420)
* Remove double-iteration from the mime wall code

* Update

* Update
2024-08-27 02:18:10 +02:00
PJBot
7789b07bde Automatic changelog update 2024-08-26 23:08:00 +00:00
12rabbits
367cdfd439 Make guidebook remember where you left off (#31375)
* Guidebook tracks last read entry

* Persistent guidebook fixes

* Persistent guidebook requested changes

* Update Content.Client/UserInterface/Systems/Guidebook/GuidebookUIController.cs

---------

Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2024-08-27 01:06:54 +02:00
Mervill
e85c25a746 Replace obsolete functions in NPC systems (#31448) 2024-08-27 00:29:44 +02:00
PJBot
f65f57ef92 Automatic changelog update 2024-08-26 22:25:29 +00:00
QueerNB
4dc750abc9 Replaces small fans on most shuttles with directional fans. (#31495) 2024-08-26 16:24:22 -06:00
Mervill
c6d291968f Replace obsolete code in shuttle systems. (#31408)
* Format DockingSystem.Shuttle

* arrivals system

* docking system

* shuttle console system

* emergency shuttle system

* shuttle system

* thruster system

* Fix compile error

---------

Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2024-08-26 17:48:37 +02:00
PJBot
6c66e8fe1f Automatic changelog update 2024-08-26 13:01:59 +00:00
slarticodefast
082deb9405 Fix energy sword visuals (#31478) 2024-08-26 23:00:52 +10:00
Winkarst
2d85b4e7e9 Move OnGhostAttempt to GhostSystem (#31445)
* Move OnGhostAttempt to GhostSystem

* Remove unused dependencies and sort them
2024-08-26 14:15:33 +02:00
PJBot
84caaec674 Automatic changelog update 2024-08-26 12:04:03 +00:00
Winkarst
982a172ad6 Change the science radio channel color (#31319)
* Change the science radio channel color

* This one looks better
2024-08-26 22:02:57 +10:00
PJBot
93829ec753 Automatic changelog update 2024-08-26 09:10:57 +00:00
Moomoobeef
569b08162c Bots now make sound when they speak (#31471)
fixes 31454
2024-08-26 11:09:48 +02:00
metalgearsloth
83ec967455 Predict EmitSoundOnUIOpen (#31464)
* Predict EmitSoundOnUIOpen

BUI prediction led to this moment.

* unforky
2024-08-26 17:40:14 +10:00
metalgearsloth
2e1b486e8b Add BUI ctor tests (#31463)
5 lines of eaten iocmanager.injectdependencies led to this.
2024-08-26 17:39:48 +10:00
Spessmann
dd7c395fb7 Cog update (#31458)
made disposals less bad
2024-08-25 23:45:16 -06:00
PJBot
5e8cee7af0 Automatic changelog update 2024-08-26 02:47:24 +00:00
lzk
2871e69268 Moff cooking. Part one. (#30668)
* yml part

* guidebook

* commit

* some fixes

* a little

* change
2024-08-26 12:46:16 +10:00
lzk
ff3d79797d Fix-Resprite emote icons (#31447)
* Fix-Resprite emote icons

* change scream
2024-08-26 12:20:58 +10:00
Emisse
2d87d65deb bagel update (#31440)
* bagel update

* fixgridatmos

* qm office

* sci cam fix

* jesus christ so many routers

* remove invalids
2024-08-25 13:22:29 -06:00
Brandon Hu
cf6f7830aa fix(FieldGenerators): Don't show nonsense popup (#30469)
* .
2024-08-25 20:21:32 +02:00
PJBot
d067e80100 Automatic changelog update 2024-08-25 17:10:58 +00:00
ShadowCommander
5c0753b136 Add a bool to disable buckling on InteractHand (#30001) 2024-08-25 19:09:51 +02:00
PJBot
2d70c7d473 Automatic changelog update 2024-08-25 16:48:17 +00:00
Alzore
453c28f825 Make space scanning T1 technology (#31321)
make space scanning and mass scanner t1 tech
2024-08-25 18:47:10 +02:00
PJBot
19b67cf55f Automatic changelog update 2024-08-25 16:12:33 +00:00
Pieter-Jan Briers
bec832fbeb Increase (SUPER)PACMAN ramp rate/tolerance (#31403)
All PACMANs used to use the same ramping parameters, this meant a SUPERPACMAN (50 kW) took literally a 100 seconds to get up to its full output level. Ouch.

PACMAN has been raised to 5000 W/s with 1500 W tolerance, SUPERPACMAN to 7500 W/s with 2500 W tolerance
2024-08-25 12:11:27 -04:00
metalgearsloth
5131835628 togglelight updates (#31435)
Missed in the green checkmark sea
2024-08-26 01:29:10 +10:00
metalgearsloth
ae4c7ad0bc ContainerComp fix (#31434)
Forgot to push these ones on the branch.
2024-08-26 01:22:01 +10:00
Ed
ff412a65ba Weather fix (#30857)
* weather fix

* localize errors
2024-08-26 01:20:47 +10:00
Ed
79515d9303 Convenient Z-Levels (#421)
* clear ores and herbals frmo generation

* remake simple zlevels system

* GetMapOffset

* woohoo

* autolink between zlevels

* 5am

* somwthing sommetinh work

* Update CP14StationZLevelsSystem.cs

* fix biomespawner portal deletion

* some docs

* Revert "clear ores and herbals frmo generation"

This reverts commit 658d15a602.
2024-08-25 17:53:15 +03:00
metalgearsloth
ae310878a6 Update submodule to 231.0.0 (#31430) 2024-08-25 22:53:13 +10:00
metalgearsloth
2e029a7d5b Action stuff (#31305)
* Action stuff

- Cleanup some event stuff
- Avoid dirtying entity unnecessarily
- Add ActionGrant as an easy way to apply / remove actions via compregistry.

* Fix merge
2024-08-25 22:43:31 +10:00
PJBot
f96dddd9fb Automatic changelog update 2024-08-25 12:37:28 +00:00
metalgearsloth
948bb726de Run actions on press (#31191)
I know UI generallys want to do stuff on key-up not key-down. With that being said the delay on release for these is noticeable.
e.g.
ActivateInWorld / UseInHand / any in-world interactions are on-press. This is especially noticeable if you have the same event on action + verb.
2024-08-25 22:36:22 +10:00
metalgearsloth
c0a07614c0 ItemToggle + slots stuff (#31312)
* ItemToggle + slots stuff

- Add component for itemslot locks to match LockComponent (surprised this didn't exist).
- Add thing for pointlight to match itemtoggle. In future should be used for PDAs and stuff but need to fix some other stuff first.

* Also this

* grill
2024-08-25 22:30:28 +10:00
metalgearsloth
a89d4c750b Power stuff (#31314)
* Power stuff

- Add shared IsPowered
- Add shared ResolveApc
- Move PowerChangedEvent to shared for now
- Add SlimPoweredLight that actually functions how you'd expect a PoweredLight to function it id didn't have a bunch of bloat on it.

* big update

* boing
2024-08-25 22:18:42 +10:00
PJBot
3d145875a4 Automatic changelog update 2024-08-25 12:18:09 +00:00
deltanedas
e1df251cbc decouple ItemToggle from PowerCellDraw (#31392)
* remove ItemToggle from PowerCellDraw query

* add EntityQuery for resolves, make them all optional

* move integration to ToggleCellDraw

* add ToggleCellDraw to almost every PowerCellDraw prototype

* :trollface:

* :trollface:

* :trollface:

* let it disable on mapinit

* set update time on mapinit, make borg power logic consistent now

* :trollface:

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-08-25 22:17:03 +10:00
PJBot
42865ae705 Automatic changelog update 2024-08-25 12:07:56 +00:00
Nemanja
85b7d183bd Blueprints (#31138)
* Blueprints

* Update tables_loot.yml

* doink

* mark as required
2024-08-25 22:06:50 +10:00
metalgearsloth
f03fc585ba Add ContainerComp (#31311)
Applies EntProtoId changes upon insertion / removal from container. Can also be useful for borgs / mechs / vehicles in future but atm I just used it for AI.
2024-08-25 22:06:06 +10:00
metalgearsloth
7cb6b5e972 Verb tweaks (#31309)
* Verb tweaks

Remove the LOS check because this is already done above in CanExamine.

* Fix outlines

* import
2024-08-25 22:05:39 +10:00
PJBot
cc710fa46b Automatic changelog update 2024-08-25 10:36:28 +00:00
ArtisticRoomba
adea4c91de Adds the Head of Greytide stamp (#30189)
suggested changes from discord discussion, sprite change, add to refactored loot table
2024-08-25 20:35:22 +10:00
Emisse
0adb28e983 meta update (#31423) 2024-08-25 01:26:03 -06:00
PJBot
0ced72d3ac Automatic changelog update 2024-08-25 06:59:57 +00:00
PopGamer46
60cf24d56e Give sec cadets jackboots instead of combat boots (#31419)
give cadets jackboots
2024-08-25 16:58:51 +10:00
Emisse
7fe5f721a5 marathon update (#31421) 2024-08-25 00:45:42 -06:00
PJBot
54723053f2 Automatic changelog update 2024-08-25 05:43:26 +00:00
IProduceWidgets
3b0d7e7aad Update Oasis (#31415)
* Cameras and junk

* I forgot to clear my multitool
2024-08-24 23:42:19 -06:00
PJBot
647ca1f0bd Automatic changelog update 2024-08-25 04:58:42 +00:00
themias
c46a78b8e3 Fix firelockedge rotation (#31371)
save
2024-08-25 00:57:36 -04:00
PJBot
759b9e7a44 Automatic changelog update 2024-08-25 04:49:35 +00:00
metalgearsloth
60b34b57f3 Fix dungeon spawn + ftl overlap (#31413)
* Fix dungeon spawn + ftl overlap

* Better fixes
2024-08-25 14:48:29 +10:00
PJBot
d7bbb94857 Automatic changelog update 2024-08-25 02:03:40 +00:00
Pieter-Jan Briers
d15869f600 Fix ChemVend jugs again (#31398)
This re-introduces the dummy entity naming code, originally introduced in #29178 and randomly removed by #30064 with no technical justification given.

Fixes #31373
2024-08-25 12:02:33 +10:00
eoineoineoin
b0375f115c Remove client state from server AirAlarmComponent (#31236)
* Remove client state from server AirAlarmComponent

Send information for all connected devices, not just the ones for the
current tab, as attempting to limit this breaks multiple users viewing
the same UI.

Fixes #12842

* Send device data as a list, rather than a dictionary

---------

Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
2024-08-25 12:01:46 +10:00
PJBot
a1ab4a3dcd Automatic changelog update 2024-08-25 01:56:39 +00:00
PursuitInAshes
c1aee02c74 Change Resave Permission Requirement to Host (#31397)
ChangePermissionFlagToHost
2024-08-25 11:55:31 +10:00
Mervill
059c84c2cf Replace obsolete code in GasPortableSystem (#31407) 2024-08-25 11:55:02 +10:00
github-actions[bot]
1ef67e023b Update Credits (#31409)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2024-08-25 11:54:40 +10:00
PJBot
303fa07e2a Automatic changelog update 2024-08-24 23:31:39 +00:00
DevilishMilk
4a335b14ed Moths can now eat all bandanas (#31405)
* Update bandanas.yml

* Update bandanas.yml

* Re-add ClothMade to botany bandana
2024-08-25 01:30:32 +02:00
Partmedia
9e113ddf3a Add atmos stuff for mapping Vox environments (#31320) 2024-08-24 14:51:32 -08:00
Pieter-Jan Briers
fedb7c8594 "LV" is an acronym (#31402) 2024-08-24 23:22:19 +02:00
deltanedas
608a179626 Add Vox atmosphere marker, vents, and air alarms 2024-08-24 14:21:59 -07:00
deltanedas
2d05be3740 Make component fields datafields 2024-08-24 14:21:59 -07:00
Adeinitas
6538687bec Line 44, story-generation.ftl: "chrisp" is spelled as "crisp" (#31401)
chrisp is spelled as crisp
2024-08-24 23:03:02 +02:00
PJBot
938af4dd50 Automatic changelog update 2024-08-24 15:57:50 +00:00
erohrs2
1f623ae432 ID Change to Dinnerware Vending Machine (#31225)
Dinnerware Vending Machine access changed from Service to Kitchen

Co-authored-by: Preston Smith <92108534+thetolbean@users.noreply.github.com>
2024-08-24 17:56:44 +02:00
PJBot
06bf0ca250 Automatic changelog update 2024-08-24 09:38:38 +00:00
Winkarst
00247a030f Make holding down an arrow key traverse the pointer in chat (#31380)
* Make holding down an arrow key traverse the pointer in chat

* Better way
2024-08-24 11:37:30 +02:00
achookh
95b3d05efa Change anomaly sign to have the same m as the other ones (#31394)
* Delete Resources/Textures/Structures/Wallmounts/signs.rsi/anomaly.png

* Add files via upload
2024-08-24 19:30:14 +10:00
Emisse
551d3197f8 fland update (#31391) 2024-08-24 00:47:50 -06:00
Spessmann
56eed8e0bb Cog update (AI ready) (#31384)
real
2024-08-23 23:25:30 -06:00
Zachary Yona
b410f4ba88 Stop nanotrasen sign from rotating (#31388)
make snapCardinals false for the nanotrasen sign.

Co-authored-by: Zachary Yona <magicalusf@gmail.com>
2024-08-23 23:24:15 -04:00
PJBot
65423e49ae Automatic changelog update 2024-08-24 02:10:42 +00:00
Nemanja
b52686ea38 Add space debris to salvage magnet (#31113)
* add space debris to salvage magnet

* multiplication

* necessary mercy for NPCs

* back and forth on mercy
2024-08-24 12:09:36 +10:00
PJBot
907411d0d1 Automatic changelog update 2024-08-24 02:07:44 +00:00
Nemanja
c31ffff9ac add new salv loot into the vgroid procgen (#31290)
add new loot into vgroid procgen
2024-08-24 12:06:37 +10:00
slarticodefast
8f4ee7ac96 Make storage implant closable using the action again (#31381) 2024-08-24 11:31:02 +10:00
PJBot
8c55057a10 Automatic changelog update 2024-08-24 00:17:33 +00:00
Winkarst
9f5d97228d Fix the folded chair damage inspection (#31378)
* Fix the folded folding chair

* Whoops
2024-08-24 02:16:25 +02:00
PJBot
b7ec4f9740 Automatic changelog update 2024-08-24 00:11:17 +00:00
FATFSAAM2
a2025e895c new boxer figurine voicelines (#31382)
initial comnit
2024-08-24 02:10:09 +02:00
Pieter-Jan Briers
b396996af8 Fix server crash on shutdown due to DB notifications (#31379)
Fixes #31365
2024-08-24 01:45:13 +02:00
Ubaser
64630ee16b Update Core (#31353)
add
2024-08-23 13:08:43 -06:00
PJBot
2fcefeccc0 Automatic changelog update 2024-08-23 14:25:13 +00:00
coolsurf6
01a211ae3f Increased Chest Marking Points for Reptilian Race (#30786)
changed reptile chest marking count to 3
2024-08-23 16:24:06 +02:00
lzk
8bf05ec863 cleanup bakery weapons (#31356) 2024-08-23 20:53:22 +10:00
lzk
7f91253bc0 very smol emergency boxes cleanup (#31355) 2024-08-23 20:26:56 +10:00
PJBot
390e310507 Automatic changelog update 2024-08-23 10:00:57 +00:00
SlamBamActionman
9ee43eed2c Add Galoshes slowdown over slippery surfaces (#30967)
* first draft

* Fixed it all, just need to rename stuff

* Rename and add comments

* Clean-up

* Access added
2024-08-23 19:59:51 +10:00
lzk
14567a1d3b fix metal pitcher name (#31351) 2024-08-23 11:58:58 +02:00
PJBot
17cf71d4ae Automatic changelog update 2024-08-23 09:15:45 +00:00
SlamBamActionman
61a1e89339 Add codeword highlighting (#30092)
* Added codeword highlighting

* Updated to support more codeword roles, color is set serverside

* Review feedback

* Change to a Component-based system using SessionSpecific

* Tidied up CanGetState, set Access restrictions on component

* Clean-up

* Makes the injection ignore brackets, restore some codewords, remove "Taste/Touch" from adjectives
2024-08-23 11:14:38 +02:00
metalgearsloth
7b5c6be674 Make AI overlay use vis1 (#31348)
* Make AI overlay use vis1

I think this is what get_hear in 13 uses idk this shit is esoteric.

vis1 is luminosity vis2 is line of sight.

* boark
2024-08-23 18:34:39 +10:00
Emisse
9b289c35a4 box update (#31345)
* box update

* remove invalid
2024-08-23 01:40:27 -06:00
Emisse
73a9a75ddb omega update (#31344) 2024-08-23 01:24:50 -06:00
Emisse
783ef11628 packed update (#31343) 2024-08-23 01:24:34 -06:00
Emisse
967f7f77ec bagel update (#31342) 2024-08-23 17:24:00 +10:00
metalgearsloth
42078b4d51 Fix AI vision occlusion (#31341)
Forgot to do this, but how tf do doors work then.
2024-08-22 23:57:57 -06:00
PJBot
616601b996 Automatic changelog update 2024-08-23 05:14:19 +00:00
metalgearsloth
f7e08ec343 Station AI overlay (#31335)
Split
2024-08-22 23:13:47 -06:00
Alchebun
2ce425603c Recipe for cream (#30503)
* Adds heat-based recipe for cream

* Added aeration

---------

Co-authored-by: Alchebun <jimmy.12.or#gmail.com>
2024-08-23 15:13:14 +10:00
PJBot
56d068cd20 Automatic changelog update 2024-08-23 05:09:16 +00:00
Rouge2t7
34a1e2c073 Emote sprites rework and update. (#30887)
Emoji eye change
2024-08-23 15:08:10 +10:00
PJBot
99d2d7fc8a Automatic changelog update 2024-08-23 05:06:51 +00:00
dffdff2423
54cbe55102 Make Vox blood able to be used to make space cleaner (#30749)
Boiling vox blood creates ammonia
2024-08-23 15:05:45 +10:00
PJBot
dc54c45f6b Automatic changelog update 2024-08-23 05:00:24 +00:00
Mr. 27
df88c93574 Added clown skirt (#31207)
inital
2024-08-23 14:59:17 +10:00
Emisse
72a74a2faf reach update (#31336)
* reach update

* remove invalid
2024-08-22 22:46:54 -06:00
metalgearsloth
f2a1a68131 Update submodule to 230.2.0 (#31338) 2024-08-23 14:40:31 +10:00
Emisse
48deb45e93 meta update (#31334) 2024-08-22 22:22:25 -06:00
Ed
171ace931a fix Gatherable magic number (#31327)
Update GatherableSystem.cs
2024-08-22 22:03:05 -04:00
Spessmann
a825418ad0 updated cog (#31331) 2024-08-22 19:50:16 -06:00
PJBot
e8a1ffccf4 Automatic changelog update 2024-08-23 01:30:57 +00:00
lzk
e6e5365062 Give clown the second jester suit (#30673)
* Give clown the second jester suit

* hat
2024-08-23 03:29:50 +02:00
Mervill
35c4e29db9 Remove obsolete functions from tile commands. (#31112)
* first part

* second part - file scope namespaces

* missing peice
2024-08-23 03:10:13 +02:00
PJBot
e1093ca36f Automatic changelog update 2024-08-23 00:12:36 +00:00
lzk
1e9e616a01 No meta implanters + other (#31045)
* No meta implanters + other

* Update implanters.yml
2024-08-23 02:11:26 +02:00
Flareguy
f76001959c box update: vox box edition (#31317)
box vox vox box box vox vox box
2024-08-22 16:26:24 -06:00
Ed
ea9c6ee7bf PlantFix (#419)
* fix

* Update wheat.yml

* Update CP14FarmingSystem.Interactions.cs
2024-08-23 00:42:27 +03:00
PJBot
42aa75e680 Automatic changelog update 2024-08-22 19:31:03 +00:00
Nemanja
b248223cf3 Move mining roid and magnet pulls closer (#31296)
move mining roid and magnet pulls closer
2024-08-22 13:29:56 -06:00
Ubaser
bca09a97e8 Update Core (#31308)
add
2024-08-22 13:21:43 -06:00
Mervill
9331e80a05 Remove some wayward folder includes in the csproj (#31244)
remove some wayward folder inlcudes
2024-08-22 13:19:29 -04:00
PJBot
ff4cf0d989 Automatic changelog update 2024-08-22 17:06:23 +00:00
Sigil
4a54bb7c1d Fixes the projectile list in AmmoShotEvent when firing something with a ProjectileSpreadComponent (#31300)
Fixed multiple projectile addition.
2024-08-22 13:05:56 -04:00
metalgearsloth
6553fd3d6e Fix inventory GUI for non-inventory entities (#31306)
Default to invisible and only set visible if itemslots gets initialised.
2024-08-22 13:05:17 -04:00
metalgearsloth
7e2de7937f Predict IntrinsicUI (#31310) 2024-08-22 13:03:05 -04:00
Ed
3850317a37 Update entities.ftl (#418) 2024-08-22 19:00:29 +03:00
PJBot
6a549ceee4 Automatic changelog update 2024-08-22 14:57:53 +00:00
Nemanja
5c21b4e174 Small strange jackboots buff (#30586)
* Small strange jackboots buff

* Update ClothingSlowOnDamageModifierComponent.cs
2024-08-22 10:56:46 -04:00
PJBot
7e57b0dd71 Automatic changelog update 2024-08-22 14:41:46 +00:00
Winkarst
588661465a Make vending machine use EntityPrototypeView (#30064)
* Make vendor machines use EntityPrototypeView

* Update

* 1

* Kill me

* For the love of god!!!
2024-08-22 10:40:39 -04:00
Ed
d3189b83cf Pumpkin + Cabbage (#417)
* seeds

* import Omsoyk plant sprites

* cabbage slicing

* sliceable pumpkin

* some tweaks

* seedbed clean fix, remove shitcode systems

* seed crafting, knife fix

* utencil

* Update base.yml

* cabbage rebalance

* abstract seed
2024-08-22 17:35:00 +03:00
Winkarst
5139ecdbd2 Squash ApplyLinearImpulse into SetLinearVelocity in RandomWalkController.cs (#31293)
* Squash ApplyLinearImpulse into SetLinearVelocity in RandomWalkController

* Late night code
2024-08-22 11:17:37 +02:00
Spessmann
804b7431c2 updated cog (#31299) 2024-08-21 22:33:05 -06:00
DrSmugleaf
ed7ae5c652 Update RobustToolbox to v230.1.0 (#31297) 2024-08-21 19:32:48 -07:00
PJBot
8654d355ab Automatic changelog update 2024-08-21 23:45:50 +00:00
Rouge2t7
7e60431754 Long human ears (#30490)
Long human ears colour fix. Shortcut removed.
2024-08-21 17:44:43 -06:00
Mr. 27
759089e5a2 fix vox/dionae/arachnids/moths/slimes not having burn visuals (#31286)
inital
2024-08-21 17:15:40 -06:00
PJBot
5bd90ccb1c Automatic changelog update 2024-08-21 21:51:43 +00:00
Winkarst
6deb494f2f Getting creamed will not reveal a person's identity (#31291)
Banana cream pies don't reveal a person's identity
2024-08-21 17:50:34 -04:00
Emisse
24e8b1dc2d marathon update (#31289)
* marathon update

* coat

* real
2024-08-21 14:13:48 -06:00
Emisse
1c16ba80a0 meta update (#31288)
* meta update

* coat
2024-08-21 14:13:39 -06:00
Emisse
cc988d6f28 fland update (#31287)
* fland update

* remove det coat for trench coat
2024-08-21 14:13:27 -06:00
Brandon Hu
1545d697ac tweak(omega): Add VendingMachineWinter next to VendingMachineClothing (#31277) 2024-08-21 13:05:28 -06:00
PJBot
d203c069bc Automatic changelog update 2024-08-21 18:56:24 +00:00
Brandon Hu
b2d9ab78d8 tweak(shuttle_infiltrator): Replace NukeCodePaper with BoxFolderNuclearCodes (#31273) 2024-08-21 12:55:18 -06:00
PJBot
aa43767e8f Automatic changelog update 2024-08-21 18:54:13 +00:00
beck-thompson
d44bbec05d Fix nukies not getting station codes (#31272)
First commit
2024-08-21 12:53:04 -06:00
Brandon Hu
3ce4f5d39c remove(Box): Remove the material recalimer (#31270) 2024-08-21 12:41:46 -06:00
Brandon Hu
91bb1867f3 remove(Fland): Remove the material recalimer (#31269) 2024-08-21 12:41:33 -06:00
Brandon Hu
50501a609e remove(Saltern): Remove the material recalimer (#31268) 2024-08-21 12:41:20 -06:00
Brandon Hu
382ee8eb98 remove(Meta): Remove the material recalimer (#31267) 2024-08-21 12:41:08 -06:00
Brandon Hu
3ccb14dd74 remove(Train): Remove the material recalimer (#31266) 2024-08-21 12:40:59 -06:00
Brandon Hu
576dfa9d1a remove(Core): Remove the material recalimer (#31265) 2024-08-21 12:40:26 -06:00
Brandon Hu
7321c9b9d3 remove(Packed): Remove the material recalimer (#31264) 2024-08-21 12:40:15 -06:00
Brandon Hu
3013d5afe8 remove(Oasis): Remove the material recalimer (#31263) 2024-08-21 12:40:04 -06:00
Brandon Hu
81e78c6e62 remove(Omega): Remove the material recalimer (#31262) 2024-08-21 12:39:32 -06:00
Brandon Hu
79cb3e1d56 tweak(marathon): Add directional fans to evac airlocks (#31276) 2024-08-21 12:38:02 -06:00
PJBot
e05372fdc4 Automatic changelog update 2024-08-21 18:34:07 +00:00
Nemanja
65c0b699f2 fix and buff the handheld mass scanner (#31284) 2024-08-21 12:33:01 -06:00
JustCone
758f0efed2 Reach - Removes circuit imprinter from wall (#31254)
Removes circuit printer from wall
2024-08-21 12:29:00 -06:00
PJBot
f226f056a2 Automatic changelog update 2024-08-21 17:58:04 +00:00
LankLTE
0f6808e16a Remove the shock collar. (#31229)
* Remove the shock collar.

* add migration
2024-08-21 13:56:56 -04:00
Pieter-Jan Briers
89c59398f1 Word wrap for vote titles (#31248) 2024-08-21 10:50:49 -04:00
themias
4bf35ee9b8 Add trash tag to chopsticks (#31260) 2024-08-21 16:32:39 +02:00
Ed
3d864eb0fd Merge pull request #413 from crystallpunk-14/ed-19-08-2024-upstream
Ed 19 08 2024 upstream
2024-08-21 16:35:11 +03:00
Ed
9c59dab6a2 Merge branch 'ed-19-08-2024-upstream' of https://github.com/crystallpunk-14/crystall-punk-14 into ed-19-08-2024-upstream 2024-08-21 14:33:46 +03:00
Ed
5c4b7a87aa fuck 2024-08-21 14:19:44 +03:00
Mervill
c561ff1b4a Replace obsolete map function in AtmosphereSystem (#31252) 2024-08-20 23:30:46 -07:00
Preston Smith
d4b55f504e Fland mailroom garage door link (#31184)
* Connected remote signaller to mailroom garage doors

* Added metadata to remote
2024-08-20 17:53:35 -06:00
Spessmann
cdaed8e7f9 Yet Another Cog Update (#31227)
updated engineering so it wont loose as much (hopefully)
2024-08-20 17:46:14 -06:00
Preston Smith
5d58458e0a Removed extra camera from Marathon (#31242)
Removed extra camera from EVA supply room
2024-08-20 17:45:42 -06:00
Partmedia
9c29f9b028 Add freebsd-x64 server packaging target (#31237) 2024-08-20 23:35:59 +02:00
PJBot
5697e192f9 Automatic changelog update 2024-08-20 21:32:17 +00:00
Pieter-Jan Briers
d63115d1f7 Don't create new JsonSerializerOptions for every discord webhook (#31240)
*sigh*
2024-08-20 23:32:11 +02:00
Julian Giebel
df95be1ce5 Kick on ban for entire server group (#28649)
* Start work on PostgresNotificationManager
Implement initial version of init and listening code

* Finish implementing PostgresNotificationManager
Implement ban insert trigger

* Implement ignoring notifications if the ban was from the same server

* Address reviews

* Fixes and refactorings

Fix typo in migration SQL

Pull new code in BanManager out into its own partial file.

Unify logic to kick somebody with that when a new ban is placed directly on the server.

New bans are now checked against all parameters (IP, HWID) instead of just user ID.

Extracted SQLite ban matching code into a new class so that it can mostly be re-used by the ban notification code. No copy-paste here.

Database notifications are now not implicitly sent to the main thread, this means basic checks will happen in the thread pool beforehand.

Bans without user ID are now sent to servers. Bans are rate limited to avoid undue work from mass ban imports, beyond the rate limit they are dropped.

Improved error handling and logging for the whole system.

Matching bans against connected players requires knowing their ban exemption flags. These are now cached when the player connects.

ServerBanDef now has exemption flags, again to allow matching full ban details for ban notifications.

Made database notifications a proper struct type to reduce copy pasting a tuple.

Remove copy pasted connection string building code by just... passing the string into the constructor.

Add lock around _notificationHandlers just in case.

Fixed postgres connection wait not being called in a loop and therefore spamming LISTEN commands for every received notification.

Added more error handling and logging to notification listener.

Removed some copy pasting from SQLite database layer too while I was at it because god forbid we expect anybody else to do all the work in this project.

Sorry Julian

---------

Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2024-08-20 23:31:33 +02:00
Repo
93497e484f Copy button for ban/disconnect reason (#30760)
* Copy button for connection messages on failed connections and ban hit attempts

* loc

* better sepperation layout

* consistent styling.

* Fix loc var name

* Reconnect button back.

* Move clipboard dependency out to the params.

* open buttons so they look a bit better.
2024-08-20 23:31:09 +02:00
PJBot
57b0b422ac Automatic changelog update 2024-08-20 21:13:38 +00:00
Jacob
beb86fa0fe Add failure logging to DiscordWebhook.cs (#30835)
* Add failure logging to DiscordWebhook.cs

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

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

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

* remove extra ';'

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

* Move header error logs to debug

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2024-08-20 23:12:30 +02:00
Ed
2383db6a22 d 2024-08-20 22:52:25 +03:00
PopGamer46
193dcb4b45 Makes NPCs wait out the idleTime instead of finding a new spot every time they go idle (#31234)
continue idling when there is idle time
2024-08-20 21:57:39 +10:00
PJBot
27707c010b Automatic changelog update 2024-08-20 10:58:13 +00:00
Cojoke
5327708b9b Ichor Now Clots Blood (#29661)
Ichor now Clots Blood
2024-08-20 12:57:06 +02:00
PJBot
ff7598d195 Automatic changelog update 2024-08-20 04:21:19 +00:00
Verm
4e3e8ad03c Mothroaches can now wear hamster-wearable clothes + pet inventory tweaks (#28956)
* moth displacement + inventory tweaks

* Fix off by 1 on the head sprites

* Move files to main mothroach folder

* Fix mask up a bit

* Fix side mask sprites

* Change format because it changed forever ago
2024-08-20 14:20:12 +10:00
Emisse
800b4a7c29 bagel update (#31228)
* bagel update

* remove invalid
2024-08-19 21:48:17 -06:00
Brandon Hu
10467755ae fix(SpecialRespawn): Check if prototype exists before attemping to respawn it (#31140)
* Co-Authored-By: deltanedas <deltanedas@users.noreply.github.com>

* _

* They're playing basketball

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

* They're playing basketball

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

---------

Co-authored-by: deltanedas <deltanedas@users.noreply.github.com>
2024-08-19 22:32:44 -04:00
Plykiya
9b8c1b9c5b Fix to let borgs buckle people (#31224)
Borgs buckle
2024-08-19 21:39:54 -04:00
Brandon Hu
9b23be3081 fix(UseDelaySystem): Use safe method to index into dictionary (#31135) 2024-08-19 20:49:40 -04:00
PJBot
2839c62549 Automatic changelog update 2024-08-19 23:45:57 +00:00
Mephisto72
4500c3befb Make the Detective's Access match the Security Officer more closely (#30203)
Update detective.yml

Adds the Accesses
2024-08-20 01:44:51 +02:00
flashgnash
400f5898ec Add bash equivalents run*.bat scripts for linux devs (#31195)
* Add bash equivalents run*.bat scripts for linux devs

* Apply suggestions from code review

Add shebangs

Co-authored-by: nikthechampiongr <32041239+nikthechampiongr@users.noreply.github.com>

---------

Co-authored-by: nikthechampiongr <32041239+nikthechampiongr@users.noreply.github.com>
2024-08-20 00:36:08 +02:00
Boaz1111
543e17836a Energy Shotgun Buff I (#31219)
hotfix + sound changegit status!
2024-08-19 14:57:19 -06:00
PJBot
62ba4432b7 Automatic changelog update 2024-08-19 20:37:42 +00:00
Red Mushie
2742adb881 Add Communications Console button tooltips (#31217)
* Finally, people can learn what the Broadcast button does!

* Also add for Alert level

* Add alert level and shuttle button tooltips

* Fix dumdum, tweak Broadcast tooltip
2024-08-19 22:36:36 +02:00
PJBot
6aada0dfad Automatic changelog update 2024-08-19 19:51:09 +00:00
metalgearsloth
14ae5fd428 Bandaid wire sounds (#31067)
Issue was tools was predicted but wires aren't so this would exclude user from audio.

For now we just do the non-predicted version and I or someone else will fully predict wires later.
2024-08-19 21:50:03 +02:00
PJBot
a4bbd133b2 Automatic changelog update 2024-08-19 18:58:36 +00:00
themias
6ba7d268b0 Uplink: Combat Bakery Kit (#31179)
* save

* sprites

* mime survival kit has baguette

* add weapon/uplink

* cherry-pick croissant changes

* uplink

* Switch baguette to slashing damage

* fixes

* update attribution

* fix typos

* review comments

* reduce TC cost

* switch to regular box

* fix regular baguette rotation
2024-08-19 12:57:29 -06:00
PJBot
ed34e4cbcd Automatic changelog update 2024-08-19 18:48:30 +00:00
slarticodefast
ee4729fed3 Revert "Tweaking things that restrict freedom (#31095) (#31197)
* Revert "Tweaking things that restrict freedom (#31095)"

This reverts commit 171884df8f.

* keep the unequip time

* keep alphabetical order
2024-08-19 12:47:23 -06:00
Plykiya
b81f099d7c Replace NoSpawn: true with HideSpawnMenu (#31122)
We don't do this anymore
2024-08-19 20:35:02 +02:00
PJBot
ccef5e72f6 Automatic changelog update 2024-08-19 18:18:35 +00:00
themias
69540163e7 Allow lizards to eat meat dumplings (#31212) 2024-08-19 20:17:28 +02:00
PJBot
4e67f46652 Automatic changelog update 2024-08-19 17:53:02 +00:00
tosatur
b2a24f50dd Change text for ghost visibility button (#30998)
* add new text

* changed loc names

* fixes
2024-08-19 19:51:54 +02:00
metalgearsloth
fb686d687c Revert "Security Helmet Reshape" (#31198)
Revert "Security Helmet Reshape (#30961)"

This reverts commit 802d478e21.
2024-08-19 12:41:49 -05:00
Ed
cfeb5fae80 Update secret_weights.yml 2024-08-19 19:16:49 +03:00
Ed
53a9eb259e some ignoring 2024-08-19 19:07:09 +03:00
Ed
c82b17a65e Merge remote-tracking branch 'upstream/master' into ed-19-08-2024-upstream
# Conflicts:
#	Content.IntegrationTests/Tests/PostMapInitTest.cs
#	Content.Server/Damage/Systems/DamageOtherOnHitSystem.cs
#	Content.Shared/Clothing/Components/ClothingComponent.cs
#	Resources/Prototypes/Accents/word_replacements.yml
#	Resources/Prototypes/Maps/Pools/default.yml
#	Resources/Prototypes/Maps/atlas.yml
#	Resources/Prototypes/Maps/bagel.yml
#	Resources/Prototypes/Maps/cluster.yml
#	Resources/Prototypes/Maps/europa.yml
#	Resources/Prototypes/Maps/omega.yml
#	Resources/Prototypes/Maps/origin.yml
#	Resources/Prototypes/Traits/speech.yml
#	Resources/Prototypes/Voice/disease_emotes.yml
#	Resources/Prototypes/Voice/speech_emotes.yml
#	Resources/Prototypes/game_presets.yml
#	Resources/Prototypes/secret_weights.yml
2024-08-19 19:06:38 +03:00
Tornado Tech
f6d81c04c0 Added world sprite system (#397)
* Added world sprite system

* Added important comment
2024-08-19 18:41:56 +03:00
Nim
34f90f1bce clothing and armour package (#408)
Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2024-08-19 18:41:35 +03:00
lzk
fc33df0e49 give guides for antags (#31208)
* give sleeper traitor default traitor guidebook

* guidebook for thief
2024-08-19 17:40:34 +02:00
Ed
4cb93fc965 Food update (#412)
* meat refactor

* document and remove verb

* cooking table

* cutlets

* dough and cheese update

* flat dough

* size edit, egg added

* Update test-ship.yml

* meat and cheese randomsprite
2024-08-19 18:39:47 +03:00
slarticodefast
05efea3118 quick shuttle wall test fix (#31206)
* quick shuttle wall fix

* this time for real
2024-08-19 17:38:25 +02:00
c4llv07e
df6dbd2ac7 Add reaction randomization. (#308)
* Add random products datafield to the reaciton prototype.

One of the items in the list will be used as additional products as a
result of the reaction and will be persistent per round.

Resolves #245

* Another try

Add getter and setter for the reaction products field and
add random products there.

* There is no such product as CP14BasicEffectHealHeat

* Try to visualize random products in the guidebook

* experimental recipes

* fix

* file restructurization

* Guidebook alchemy update

* Update Alchemy.xml

* fix

* Update mixing_simple.yml

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2024-08-19 18:04:12 +03:00
PJBot
e438b8b25f Automatic changelog update 2024-08-19 14:04:13 +00:00
tosatur
8eb4e4fa2d added a few chatsan entries (#31085)
* added a few chatsan entries

* added 2 more

* added 4 more and fixed errors

* fixed error again

* added allg

* removed fullstops
2024-08-20 00:03:07 +10:00
Caconym27
7a0ee1a074 Added nose coverings on gaiters (#31116)
Added 2 pixels on the front of the left and right views of the red and black gaiter sprites so that they would properly cover the nose of their wearers, as they do in reality.
2024-08-20 00:00:16 +10:00
SlamBamActionman
84e5565918 Fix shuttle walls rusting when initialized on station grid (#31162)
* Initial commit

* Also reinforced
2024-08-19 15:43:31 +02:00
Cojoke
6c3dad4330 Fix Pacified Damage Dealing Thrown Objects (#31183) 2024-08-19 13:56:40 +02:00
Ed
055dfe6f0b No pacifist or blind sec (#30777)
* no pacifist sec

* also block blindness

* Update warden.yml

* Update security_officer.yml

* Update head_of_security.yml

* Update security_cadet.yml

* Update detective.yml
2024-08-19 14:42:55 +03:00
PJBot
015cf36469 Automatic changelog update 2024-08-19 11:15:36 +00:00
Boaz1111
2f923d88e4 New head of security weapon:Energy Shotgun (#30643)
* Reset hopefully?

* removes the emergency security orders

* Update Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml

Rewrites the description based on review

Co-authored-by: NakataRin <45946146+NakataRin@users.noreply.github.com>

* 7 shots, recharge taking 42 seconds

* minor renaming :godo:

* please work

* Revert "please work"

This reverts commit e84a2618d95ec17f5fd608331176df2ab8b0966c.

* please fix

---------

Co-authored-by: NakataRin <45946146+NakataRin@users.noreply.github.com>
2024-08-19 21:14:30 +10:00
PJBot
972bd566f5 Automatic changelog update 2024-08-19 10:34:47 +00:00
beck-thompson
d297852ba8 Seed vend restock price increase (Fix test fails) (#31185)
First commit
2024-08-19 12:33:41 +02:00
PJBot
61f756de8a Automatic changelog update 2024-08-19 07:55:41 +00:00
lzk
c3f42438f2 Cheese tweaks (#31168)
* Cheese tweaks

* 22221241256247849`
2024-08-19 10:54:34 +03:00
Spessmann
8486b24db9 Cog update (#31188)
buffed cog atmos so now its massive
2024-08-19 01:10:43 -06:00
PJBot
e85ab9195c Automatic changelog update 2024-08-19 03:40:06 +00:00
Killerqu00
2c98d0a519 clarify what is an important role in rule 12 (#30818)
clarify what is an important role
2024-08-18 21:39:45 -06:00
Nemanja
476c7751c4 Recycler Overhaul (#30802)
* Recycler overhaul

* remove
2024-08-18 21:39:00 -06:00
PJBot
1fa447f769 Automatic changelog update 2024-08-19 03:33:22 +00:00
Flareguy
94c746abe9 Minor vox customization update: new hairstyles & facial hair (#30815)
* new vox customization stuff

* tests fix
2024-08-18 21:32:15 -06:00
PJBot
1a3dc66d24 Automatic changelog update 2024-08-19 03:29:56 +00:00
Plykiya
7ba049be25 Convert bookshelves from StorageFill to EntityTables (#30895)
* Convert bookshelves to EntityTables

* the fixy

---------

Co-authored-by: plykiya <plykiya@protonmail.com>
2024-08-18 21:29:52 -06:00
Nemanja
18c146cc7f increase material prices (#30869)
* increase material prices

* ack
2024-08-18 21:28:46 -06:00
PJBot
d11a4ba1f5 Automatic changelog update 2024-08-19 03:22:50 +00:00
Brandon Hu
dd36c85b61 add(AdminGhost): Add a multitool to the admin ghost backpack (#31002) 2024-08-18 21:22:10 -06:00
DieselMohawk
802d478e21 Security Helmet Reshape (#30961)
Mildly Reshapes The Sec Helmet
2024-08-18 21:21:44 -06:00
PJBot
1ba508aef2 Automatic changelog update 2024-08-19 03:20:25 +00:00
TheWaffleJesus
1c29310faf ERT chaplains can now use bibles (#30993)
ert chaplains can now use bibles
2024-08-18 21:19:19 -06:00
PJBot
9b8e30a0b7 Automatic changelog update 2024-08-19 03:17:11 +00:00
UBlueberry
2577eb10fd Guidebook updates for Antagonist entries (#31075)
* main antag page + minor antags

* nuuk operatives (greenland)

* "coup d'flop" = "flukies" but for revs

* manifest edgelord

* traitor tot (potato)

* they're coming to get you, barbara

* general changes. posters.

* tfw last minute commit

* traitoration rewritification

* created thieves.xml

* thieves, wow!!
2024-08-18 21:16:05 -06:00
PJBot
e2ecd804b6 Automatic changelog update 2024-08-19 03:14:09 +00:00
Zachary Yona
f272097e07 Device-list limiting (#30997)
* PDA can no longer be linked to multitool

* Ignore previous commit, it would've broken things

* Added SavableAddress field to DeviceNetwork component and PDA for testing. Still need to implement

* System works, borg and pda addresses cannot be saved, but they still connect to the net.

* Suit sensors can no longer be added to network configurators, still work for monitoring purposes.

---------

Co-authored-by: Zachary Yona <magicalusf@gmail.com>
2024-08-18 21:13:03 -06:00
Boaz1111
ed3e10741f New Projectile Effect:Temperature Change (#31004)
* bah

* all done, thanks slarti

* makes the watcher do the thing

* Update TemperatureSystem.cs

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

* changes something

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2024-08-18 21:11:17 -06:00
PJBot
ebf62aaca1 Automatic changelog update 2024-08-19 03:06:31 +00:00
to4no_fix
171884df8f Tweaking things that restrict freedom (#31095)
* Adding a straitjacket production recipe

* Adding unequipDelay and equipDelay to the muzzle

* Adding unequipDelay and equipDelay to the blindfold

* Sorting recipes
2024-08-18 21:05:25 -06:00
Nemanja
0a05ee9a27 add space carp and sharkminnow teeth (#31070) 2024-08-18 21:04:59 -06:00
PJBot
da3c3b5538 Automatic changelog update 2024-08-19 03:03:24 +00:00
Nemanja
edc91621d3 fix selfunremoveable component being bypassed by hand pickup verb (#31089)
* fix selfunremoveable component being bypassed by hand pickup verb

* fix logic
2024-08-18 21:02:38 -06:00
Milon
3e15e00af5 fix admin pda health analyzer popup (#31097)
* damn it

* whoopsie

* no more fucky wucky fucky wuckies are GONE
2024-08-18 21:02:18 -06:00
themias
db427dc58f Fix cooking sizzle noise (#31096) 2024-08-18 21:01:43 -06:00
Moomoobeef
529e4b767c Added a pitcher for the chef to use in serving beverages (#31105)
* changed weird red pixel on pitcher sprite

* added pitcher prototype

* added pitcher to dinnervend

* realized I need to change the other icon sprites too :P
2024-08-18 21:01:26 -06:00
Red Mushie
91e2fdc4b9 Fix news management console publish timeout activating when nothing was published (#31161)
Fix news management console updating publish timeout, now updating it *after* access checks instead of before
2024-08-18 20:56:58 -06:00
PJBot
19b0ce3007 Automatic changelog update 2024-08-19 02:56:50 +00:00
Red Mushie
9240786b53 Fix news management console access checks (#31160)
* Fix news management console access checks using manifest instead of AccessReader component

* Fix one tiny mistake

* Fix one tiny mistake, properly this time

* Revert accidental changes unrelated to this PR

* Add missing .Owner on delete check
2024-08-18 20:55:43 -06:00
PJBot
a2c762dbef Automatic changelog update 2024-08-19 02:49:53 +00:00
tosatur
68d650653f Made hydroponics alert light more orange (#31088)
made light more orange
2024-08-18 20:48:47 -06:00
PJBot
45b0543e89 Automatic changelog update 2024-08-19 02:44:05 +00:00
Goldminermac
864956c66b Pancakes Fix (#31123)
* Edited blueberry pancake textures to seem more blueberry-stained

* Added new blueberry pancake sprites to allow stacking up to 9

* Added more sprites for chocolate pancakes so they can stack up to 9

* Fixed up the blueberry pancake sprites to be more consistent

* Updated the stack components of blueberry and chocolate pancakes in the yml prototype file.

* Updates the stack size in the consumable stacks yaml file.

* Added the new pancake sprites to the sprite meta json file.

* Removed an unnecessary space from the baked food YAML file

* Updated branch and fully resolved merge conflict

* Decreased the copy-pastiness of some of the blueberry sprites to make them less repetitive

* Diversified the textures some more for good measure.

* Fixed some missing rims around the pancakes because I'm bored
2024-08-18 20:42:58 -06:00
PJBot
0754a0fdaf Automatic changelog update 2024-08-19 02:42:33 +00:00
DrSmugleaf
7e3b9fb2fe Allow a specific hand to be passed into TrySpawnVirtualItemInHand (#31124) 2024-08-18 20:42:22 -06:00
slarticodefast
3dcfe0d850 fix mice and revs being able to toggle suit pieces (#31152) 2024-08-18 20:41:27 -06:00
PJBot
c9854c32ba Automatic changelog update 2024-08-19 01:56:55 +00:00
Nemanja
d9e0681a70 make ore indestructible (#31182) 2024-08-18 19:55:49 -06:00
PJBot
03f5bf4c97 Automatic changelog update 2024-08-18 23:42:19 +00:00
Psychpsyo
9a68cf0b0e Re-add improved random sentience event (#29123)
* Re-add improved random sentience event

* Make randomly sentient PDA more likely

* Make vending machine sentience less likely

* Make requested changes

* Make randomly sentient captain's gear more likely

* Sentient captain sabre has pirate accent

* Tweak new random sentient object a bit more

* Sentient PDA improvements

* Apply recommended fixes

* Add requested changes

* Fix merge conflict
2024-08-18 17:41:12 -06:00
geraeumig
c48a96ac15 Trim punctuation marks in the chat emote system (#28612)
Co-authored-by: geraeumig <alfenos@proton.me>
2024-08-18 16:49:07 -06:00
PJBot
3cb67a3564 Automatic changelog update 2024-08-18 22:35:49 +00:00
deltanedas
ad691931c6 add memory cell and rework logic construction (#24983)
* rework construction to be deconstructable, add memory cell

* update textures

* add code

* add memory cell and ports, empty circuit

* d

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-08-18 16:34:43 -06:00
PJBot
6cda6c8ba5 Automatic changelog update 2024-08-18 22:29:24 +00:00
potato1234_x
1952618203 Tea Plant and Blue Pumpkin (#25092)
* tea plant, blumpkin

* fix linter

* fix tests pls

* bloompkin

* forgor rsi

* work please

* WORK PLEASE

* migration of the blumpkins

* it is now glumpkin

* lowercase

* uppercase

* adjust values and fix blorbo

wtf when did blumpkin donut turn into blorbo donut what

* fix test

* update

* fix stupid mistake

* Update meta.json

* totally not a webedit

* not a webedit 2

* nitpicks
2024-08-18 16:28:18 -06:00
PJBot
7f5c11afaa Automatic changelog update 2024-08-18 22:26:08 +00:00
Preston Smith
900e57c6de Added LV power cables to Marathon library (#31131) 2024-08-18 16:25:42 -06:00
slarticodefast
86b358be4b Fix raditation collectors gaslighting you (#31175)
fix raditation collectors gaslighting you
2024-08-18 16:25:02 -06:00
DrSmugleaf
4fcbb99072 Fix collidable held entities blocking themselves while being dropped (#31119) 2024-08-18 16:24:28 -06:00
PJBot
b4ef1e9a0f Automatic changelog update 2024-08-18 22:19:13 +00:00
Deatherd
878384dbb0 Sharks Go RAWR! (#31142)
shark makes RAWR!
2024-08-19 01:18:07 +03:00
PJBot
2dfcd5cf73 Automatic changelog update 2024-08-18 21:56:49 +00:00
lzk
8830e26e0e small figurines voicelines update (#31167) 2024-08-18 15:56:35 -06:00
lzk
d0bd26d575 pizza and pizza box tweaks (#31171) 2024-08-18 15:55:41 -06:00
IProduceWidgets
c636b3b25d Update Oasis (#31174)
golden toiler
2024-08-18 15:55:11 -06:00
PJBot
d38d497e62 Automatic changelog update 2024-08-18 21:19:28 +00:00
beck-thompson
78b3e3253f Cutting food now moves the food a little bit. (#31166)
First commit
2024-08-19 00:18:20 +03:00
Emisse
529f4dae64 bagel update (#31172) 2024-08-18 14:24:15 -06:00
Spessmann
f7fd991bc8 Cog updates (#31169)
updated cog a ton
2024-08-18 13:51:46 -06:00
PJBot
0c078f6cc4 Automatic changelog update 2024-08-18 16:23:42 +00:00
Nemanja
a540b8840e Goliath mob (#30839)
* Goliath mob

* Update asteroid.yml

* mcfuck yourself

* add cloak

* fixes

* Update materials.yml
2024-08-18 12:22:36 -04:00
PJBot
d673bdfe67 Automatic changelog update 2024-08-18 16:01:49 +00:00
Unkn0wn_Gh0st
73331416e3 Coughing and coughing changes (#30893)
* Coughing

* Merge branch 'space-wizards:master' into coughing

* Coughing

* Coughing
2024-08-18 12:00:42 -04:00
SlamBamActionman
7d48cc5e24 Add atmos directional sign (#31155)
* Xeno walls

* Fix icon smoothing for the walls

* Added a bunch of items, and the map/shuttle

* Fixed construction graphs

* Put the map in the right place gosh

* Fix shuttle walls rusting, invalid IDs, latejoin cryo, deprecated properties

* Fix APC names and stuff

* Updated to v1.1
2024-08-18 11:44:09 -04:00
PJBot
0d969f61a8 Automatic changelog update 2024-08-18 15:32:58 +00:00
Iztok Bajcar
031ddc0420 Guidebook typo fixes (#31159)
* Fixed typo: access --> accessed

* Fixed typo: 'access restricted' --> 'access-restricted'

* Fixed typo: added 'be'

* Fixed typo: added 'a'

* Fixed typo: 'Asssistants' --> 'Assistants'

* Fixed typo: 'overpressure' --> 'overpressurize'

* Fixed typo: 'outisde' --> 'outside'

* Fixed typo: added a comma

* Fixed typo: added a comma

* Fixed typo: 'aformentioned' --> 'aforementioned'

* Fixed typo: added a comma

* Fixed typo: added a comma

* Fixed typo: 'radition' --> 'radiation'

* Fixed typo: 'turing' --> 'turning'

* Fixed typo: 'appropiate' --> 'appropriate'

* Fixed typo: added 'the'

* Fixed typo: added a dot to ellipsis

* Fixed typo: 'aswell' --> 'as well'

* Fixed typo: 'permanant' --> 'permanent'

* Fixed typo: 'flammmable' --> 'flammable'

* Fixed typo: 'recommmended' --> 'recommended'

* Fixed typo: 'recipies' --> 'recipes'

* Fixed typo: 'pre-adminsitered' --> 'pre-administered'

* Fixed typo: 'resusitated' --> 'resuscitated'

* Fixed typo: 'types' --> 'type'

* Fixed typo: `someones` --> `someone's`

* Fixed typo: 'appy' --> 'apply'

* Fixed typo: added 'to'

* Fixed typo: 'CentCom' --> 'CentComm' (as per https://github.com/space-wizards/space-station-14/pull/29217)

* Fixed typo: 'emergencys' --> 'emergencies'

* Fixed typo: removed a dash
2024-08-18 11:31:48 -04:00
TGRCDev
517f7ad344 Fixed IP bans preventing non-banned players from connecting to SQLite-backed servers (#31154)
Fixed IP bans causing server errors with SQLite DB
2024-08-18 13:53:09 +02:00
Emisse
77a60bd3b8 bagel update (#31150)
* bagel update

* variantize

* fix nitrogen room air explosion

* dumb
2024-08-18 04:10:52 -06:00
Nemanja
047a7a488d fix some salvage spawner oversights (#31114)
* fix some salvage spawner oversights

* adjust carp rates

* more tweaks and some additions
2024-08-18 03:55:38 -06:00
Brandon Hu
1545fd5787 fix(fland): Connect the Cell Window Shutters remote signaler to the Cell Window Shutters (#31136) 2024-08-18 03:55:21 -06:00
Spessmann
f09dd465a7 Cog update (#31148)
added a bunch of air alarms and fixed stuff
2024-08-18 00:49:36 -06:00
github-actions[bot]
16e1c23ffe Update Credits (#31141)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2024-08-17 22:09:00 -04:00
Crotalus
9c9bfda4d2 Fix botany bugs (#27210)
* Fixed bug with missing gas not getting reset

* Fix bug with MutateInt not using min/max in prob calculation

* Add divison by zero check

* Fix styling
2024-08-18 03:05:26 +02:00
Mervill
ad4d36f34f Replace obsolete map functions in disposals code (#31133) 2024-08-17 23:29:04 +02:00
Spessmann
1f6223229a Cog update (#31129)
changed all the firelocks to glass firelocks
2024-08-17 11:49:11 -06:00
PJBot
71ef47fe01 Automatic changelog update 2024-08-17 16:06:24 +00:00
Milon
a4b0bef12c add confirmation to the delete button in objects tab (#30946)
ui shitcode
2024-08-17 12:05:17 -04:00
PJBot
c3b3955832 Automatic changelog update 2024-08-17 14:33:10 +00:00
Ubaser
9d62570385 Red crowbars no longer fit in pockets (#30939)
* small

* update
2024-08-17 16:32:04 +02:00
PJBot
979661a7b3 Automatic changelog update 2024-08-17 14:10:49 +00:00
themias
ef3de39364 Add croissant recipe (#30825)
* Add croissant recipe

* comma

* fix description

* fix merge error
2024-08-18 00:09:42 +10:00
Emisse
f13e4c3c4f derotate train while i work on it (#31121)
webedit
2024-08-17 01:01:33 -06:00
TemporalOroboros
3091893055 Fix msCompile problem matcher on VScode on Windows (#31068)
Either VSCode's integrated shell or dotnet has a default behaviour where it inserts newlines into stdout/stderr to make the lines wrap at the console width. Since msCompile works based on lines this makes it fail to detect build warnings correctly. Depending on where the line break occurs this can result in a truncated error message, a correct error message with a truncated filepath for the error, or the errror just straight up missing.
Adding 'ForceNoAlign' to the logging parameters for dotnet build disables this behaviour and gives msCompile actually useful input to sift for errors. End result is all the errors are detected and listed with the correct error messages and filepaths.
2024-08-16 23:33:16 -07:00
Emisse
5cc2b12f4e standardize map protos and fill gaps (#31120)
update protos
2024-08-17 00:23:57 -06:00
Spessmann
3ce8f16cb9 Updated cog (#31117)
* updated cog and increased popcap to 80

* back to 70 cap
2024-08-16 23:41:03 -06:00
PJBot
633099e1d3 Automatic changelog update 2024-08-17 05:14:01 +00:00
Nemanja
ada6455b17 Make printing from ore procecssors slightly more bearable (#31074)
* Make printing from ore procecssors slightly more bearable

* Update sheet.yml
2024-08-17 15:12:55 +10:00
PJBot
7562b8fd47 Automatic changelog update 2024-08-17 05:10:27 +00:00
Nemanja
8440fb6acb anonymize salvage wrecks (#31087)
* anonymize salvage wrecks

* display wreck size
2024-08-17 15:09:21 +10:00
Nemanja
1e7fb2f4d8 Fix npcs throwing themselves straight into space (#31118) 2024-08-17 15:08:13 +10:00
PJBot
38e698e7df Automatic changelog update 2024-08-17 04:59:29 +00:00
slarticodefast
aa9bf9f3ec Fix bluespace anomaly teleporting borg brains and PAIs in container slots (#30744)
* Fix bluespace

* filter all containers
2024-08-17 00:58:23 -04:00
Preston Smith
7066b4a3e0 Modified bone-spear to correctly break into 1-2 bones when breaking (#30951) 2024-08-17 00:54:53 -04:00
Mervill
4692c69ce1 Remove obsolete functions from RadiationDebugOverlay (#31111)
remove obsolete functions from radiation
2024-08-17 13:12:45 +10:00
PJBot
9343023ffc Automatic changelog update 2024-08-17 02:50:17 +00:00
Boaz1111
969f17a960 phlog now ignites when consumed as well (#30955) 2024-08-17 12:49:11 +10:00
PJBot
9f595164f2 Automatic changelog update 2024-08-17 02:10:31 +00:00
Token
27793111bb Plants scream mutation now have more scream variety (#30862)
* seed screams now SoundCollectionSpecifier
More types of scream sounds

* plants scream mutation have 10+ scream types

* plant scream reduce scream volume
And scream powerness get's from yml instead of hardcode, so from prototypes could be changed pretty much easilly

* plants review change
2024-08-16 22:09:25 -04:00
to4no_fix
4ee9c00200 Localization hud layout (#31013) 2024-08-16 22:04:33 -04:00
PJBot
20786c12fa Automatic changelog update 2024-08-17 02:03:58 +00:00
Mervill
63762d85ca Fixs suffocation alerts not appearing. (#31115)
Fixs suffocation alerts not appearing
2024-08-16 22:02:51 -04:00
PJBot
3cf2fca993 Automatic changelog update 2024-08-17 01:01:29 +00:00
Alzore
9775975c53 Disabler SMG no longer fits in boots (#31110) 2024-08-16 21:00:21 -04:00
themias
79ae2cceb4 Add sound for turning on grill (#31099)
* Add sound for turning on grill

* remove view variable
2024-08-16 20:41:55 -04:00
Velcroboy
cc445e07b8 Update some food spawners w/ entity tables (#30957)
Co-authored-by: Velcroboy <velcroboy333@hotmail.com>
2024-08-16 10:47:37 -04:00
PJBot
f1f16800d6 Automatic changelog update 2024-08-16 10:49:00 +00:00
SlamBamActionman
49dd17dcab Fix reagents with ReagentData being duplicated (#30983)
Initial commit
2024-08-16 12:47:53 +02:00
Emisse
99bc389fd5 omega update (#31079) 2024-08-16 02:53:59 -06:00
Emisse
0b1eae362f packed update (#31078) 2024-08-16 02:53:50 -06:00
Mervill
61a3562451 Replace obsolete map functions in IconSmoothSystem (#30958)
* first part

* second part
2024-08-16 00:55:20 -04:00
PJBot
4ecc2c8468 Automatic changelog update 2024-08-16 04:54:40 +00:00
IgorAnt028
1d2c72da80 Fix bug with holding objects (#31009)
Main
2024-08-16 00:53:34 -04:00
Brandon Hu
0a9535e67c remove(NukeopsRuleComponent): Remove a trap from the component file (#31029)
ah
2024-08-16 00:52:36 -04:00
PJBot
4c523b11d7 Automatic changelog update 2024-08-16 04:00:52 +00:00
metalgearsloth
c43323dba7 Fix mains wire light (#31066)
No idea how long this was broken; mains wire relies upon this id being accurate which means it needs doing before the calls.
2024-08-15 23:59:46 -04:00
Spessmann
c9bffa82ee updated cogmap's evac shuttle (#31071) 2024-08-15 21:18:55 -06:00
PJBot
7de5156084 Automatic changelog update 2024-08-16 01:45:01 +00:00
Nemanja
3cdd62b0dd Mining Rebalance (#30920)
* first pass

* this shit too

* ok fix that shit

* buff

* actually fix that
2024-08-16 11:43:54 +10:00
PJBot
921ed4ec5d Automatic changelog update 2024-08-15 23:31:27 +00:00
Psychpsyo
42316f8ed0 Add German accent (#30541)
* German accent

* Add German motherfucker

* German accent improvements

* Fix failing tests

* Only replace th at start of words

* Correct plural for "warnungen"

* hello and goodbye in German

* Fix German again

* Remove motherfucker from German accent

* German goodbye refactor

* 'fix' indents in speech.yml

* German accent improvements

* Reduce German umlautness

* Add umlaut cooldown

so consecutive vowels don't get umlauted

* Fix german capitalization of th => zh

* Add more banger words to German accent

* Improve German tesla replacement

* German akzent

* German scientist gaming

* Men and women, now in German

* Also replace warops in German accent

Co-Authored-By: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Make requested changes

* Make some of the requested changes

* Fix linter errors

* Address remaining feedback

* RE-add toned-down random umlauts

* cabbage -> kraut

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-08-16 01:30:21 +02:00
PJBot
28f41e143d Automatic changelog update 2024-08-15 22:23:08 +00:00
Emisse
af2ee4a9e6 remove origin (#31059)
derotate origin
2024-08-15 16:22:01 -06:00
PJBot
a17498ee91 Automatic changelog update 2024-08-15 21:11:15 +00:00
Emisse
9c1b8c18de remove atlas, cluster, europa, saltern (#31058)
* goodbye sweet maps

* Update EvacShuttleTest.cs

* Update EvacShuttleTest.cs

* fix tests

* fix tests

* nightmare nightmare nightmare

* rider is fucking me

* jesus christ
2024-08-15 15:10:06 -06:00
Emisse
8cdc8d7a0d fland update (#31057)
* fland update

* exit button on med
2024-08-15 14:19:00 -06:00
Emisse
53e2dfd496 box update (#31056) 2024-08-15 14:18:51 -06:00
Emisse
17b4ede7a7 Marathon Update (#31054) 2024-08-15 14:18:36 -06:00
Emisse
cf4f8b630f bagel update (#31053) 2024-08-15 14:18:27 -06:00
Emisse
18259d1d2e evac lox update (#31052)
lox update
2024-08-15 14:18:19 -06:00
PJBot
8161402e35 Automatic changelog update 2024-08-15 19:34:23 +00:00
IProduceWidgets
0ae5426fe4 Event scheduler setting tweaks (#31018)
tweaks
2024-08-15 13:33:17 -06:00
PJBot
6c6ee2731f Automatic changelog update 2024-08-15 19:31:15 +00:00
themias
f06176ac39 Cook-able cutlets for kebabs/tacos (#31048) 2024-08-15 13:30:08 -06:00
Brandon Hu
796287d695 fix(box): Make medbay exit button functional (#31003) 2024-08-15 13:26:54 -06:00
Nemanja
c41fe93040 Salvage Spawners (#31020)
* treasure entities and spawners

* no more smiles
2024-08-15 13:26:02 -06:00
PJBot
49fd12a65f Automatic changelog update 2024-08-15 19:25:06 +00:00
Nim
84af71eb7c Golden toilet (#31049)
* golden toilet

* Destructible

* sprite

* fix

* copyright
2024-08-15 13:23:59 -06:00
JustCone
03f9dee244 Packed Engi Solar Controller (#31042)
* Replace alerts with solar console

* Sci doesn't need two protolathes & engi frontdesk windoors shouldn't be atmos locked
2024-08-15 13:22:31 -06:00
Plykiya
dc66386e5f Contraband Review Pass - The Threequel (#30970)
Contraband pass number three
2024-08-15 20:52:46 +02:00
Errant
40b9fd4ea3 Namespace cleanup around Mind Roles (#30965)
* namespaces

* Comment does not need a semicolon

---------

Co-authored-by: Vasilis <vascreeper@yahoo.com>
2024-08-15 20:26:57 +02:00
Plykiya
f523df821a Contra Review Passs - Round 2 (#30942)
* Contra pass round two

* command too

* Stamps

* oopsied a bracket
2024-08-15 19:35:06 +02:00
IgorAnt028
84f9dd0f0b Fix false and true in player-panel.ftl (#31043)
Fix false and true in player-panel

Add a new True string
2024-08-15 18:00:56 +03:00
PJBot
5da2b32099 Automatic changelog update 2024-08-15 14:46:20 +00:00
Mervill
2e3365793c Greatly improve the usability of the Gas Analyzer. (#30763)
* greatly improve how the gas analyzer behaves

* don't close the analyzer when the object goes out of range

* cleanup

* always switch to the device tab when a new device is analyzed

* modern api part one

* modern api part 2

* modern api part three

* file scope namespace
2024-08-15 10:45:13 -04:00
PJBot
25074d0719 Automatic changelog update 2024-08-15 14:31:47 +00:00
to4no_fix
6567fa36e4 Adding shock collar and electropack (#30529)
* Adding shock collar with the new ShockOnTrigger

* Cleaning and updating the shock collar

* Add StripDelay datafield to ClothingComponent

* Adding SelfUnremovableClothingComponent

* ShockCollar Update

* Correction of the shock collar

* Correction of the shock collar 2

* Renaming the DamageSpecifier DataField to Damage

* Fixing the damage field in ShockCollar

* Cleaning the ShockCollar

* Renaming ShockCollar to ClothingNeckShockCollar

* Adding ClothingNeckShockCollar as a stealTarget to a thief

* Fixing a typo of the sprite path in ClothingNeckShockCollar

* Cleaning the ShockOnTriggerComponent

* Revision of SelfUnremovableClothing

* Adding a ClothingBackpackElectropack

* Sprite fix

* Code review

* Shock Collar sprite update

* add commit hash

---------

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
2024-08-15 10:30:39 -04:00
PJBot
02eed07e21 Automatic changelog update 2024-08-15 12:35:49 +00:00
FATFSAAM2
b17f1c336b Figurine voicelines (#30865)
* initial commit

* tweaks to the new voice lines

capitalizations of I's and the Y on hos 3 voice lines
also changed the captain figuring voice line 2 to something completely different

* capitalized one letter

man i really suck at capitalization

* more capitalization

i never thought this pr would need so many changes

* changed one comma to a dot

* Update Resources/Locale/en-US/datasets/figurines.ftl

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

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-08-15 22:34:41 +10:00
Plykiya
af01d8fbff Correct relay mover entity (#31040)
* Relay entity

* Server
2024-08-15 22:30:53 +10:00
Emisse
d752702092 meta update (#31037) 2024-08-15 02:33:35 -06:00
Emisse
caece1473c update lox (#31035)
* lox update

* real
2024-08-15 02:02:43 -06:00
Emisse
19e8c2eb3e fland update (#31034) 2024-08-15 02:02:35 -06:00
Emisse
54d42acec8 bagel update (#31033) 2024-08-15 02:02:20 -06:00
Brandon Hu
c1d41267e5 tweak(experiment): Reduce diamond stack from 30 to 1 (#31025) 2024-08-15 09:51:22 +03:00
Brandon Hu
b53ed58515 tweak(hospital): Reduce diamond stack from 30 to 1 (#31027) 2024-08-15 09:50:09 +03:00
lzk
bc5bc37346 Fix top bun desc (#31019)
FIX
2024-08-15 09:38:28 +03:00
Spessmann
0fd7b69daa Cog fixes (again) (#31030)
* more cogmap fixes

* updated cog a bunch
2024-08-14 21:39:24 -06:00
Emisse
1bde7f3874 packed update (#31024)
* packed update

* bartender spawn
2024-08-14 20:40:33 -06:00
PJBot
20334f9115 Automatic changelog update 2024-08-15 01:52:01 +00:00
PoorMansDreams
793eb87f31 Adds a Dinky Star Sticker for security officers (#29767)
* Sec-Star-TASTIC

* fix license

* now counts as trash

* Sticks to people + wearable

* no more sticky

* no more sticky

* mystery-space

* Update Loadout Yaml
2024-08-15 11:50:55 +10:00
PJBot
df82c0ac8e Automatic changelog update 2024-08-15 00:39:29 +00:00
Eris
e5d2738a26 Sedin (#27110)
* Sedin

* almost forgot this.

* what

* Did a few fixes, tried to readd popup

* Fix popup, ready for merge

* minor change

* Generalize seed removal/destruction system, add popups in general.

* fix

* fix (again)

* deadcode is no more

* Sedin buff (nerfing the recipe soon)

* godont

* webedit moment

ok listen I had to nuke my setup because my computer was being Dumb As Shit so let me do this ONE webedit

* CRIKEY

* Revert "CRIKEY"

This reverts commit 1c6959ffd9ba8bb1e97ccf2eb0b37b3ff4ec82ee.

I was not supposed to commit that >:/

* Alright, it should be good now but I havent tested it

* ready for merge/review

* prob -> probability

* Requested changes nodoc

* Review nodoc

* documento

* thumb up emoji
2024-08-15 10:38:21 +10:00
to4no_fix
b48ac8439d Localization of the slot (#31008)
localization of the slot
2024-08-14 20:06:32 -04:00
Brandon Hu
dc2c02cd6a fix(origin): Make medbay exit button functional (#31001) 2024-08-14 13:48:34 -06:00
Pieter-Jan Briers
6c008be126 Fix creator prefix for Cog (#30995)
Now uses the same one as Atlas.
2024-08-14 13:48:16 -06:00
PJBot
84f229a149 Automatic changelog update 2024-08-14 19:48:11 +00:00
themias
cd8bd908da Fix lizards being unable to eat custom burgers (#31005)
* Fix lizards being unable to eat custom burgers

* ensure tag comp
2024-08-14 13:47:03 -06:00
Velcroboy
890c0eeb99 Adds a random smokable spawner (#30870)
* Textures to make lamps mappable to East/West.

* Adds a random smokable spawner

* remove double derma

* Increase chance for just basic cig

* Update to enitity tables

* Tweak values

* Remove space

---------

Co-authored-by: Jeff <velcroboy333@hotmail.com>
2024-08-14 09:44:21 -04:00
DrSmugleaf
1fb03e9074 Fix popups not working properly with an eye offset (#30990) 2024-08-14 09:38:36 -04:00
PJBot
07451eb92b Automatic changelog update 2024-08-14 13:05:08 +00:00
Ed
e659eb992f Custom Taco & Kebabs - FoodSequence 2 (#30905)
* control layer ordering

* sprite update

* taco!

* taco naming gen

* fix separator naming

* some proto fixes

* default naming separation

* fix taco naming

* rat update

* hamsterburger

* organs taco

* remove from spawners

* fixes

* fix separators and lemons

* Update food-sequence.ftl

* randomization offset

* fix

* kebabs refactor

* fix

* skewer weapon

* Update food_single.yml

* Update migration.yml

* suppermatter

* hamlet centered

* hamsburger

* Update dead-0.png

* 20 -> 4 burger layers max

* Update burger.yml

* canReact: false

* capfruit update

* Update burger.yml

* Update burger.yml

* Update produce.yml

* some fixes

* Update Resources/Textures/Objects/Consumable/Food/taco.rsi/meta.json

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

* Update Content.Shared/Nutrition/Components/FoodSequenceStartPointComponent.cs

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

* Update Content.Shared/Nutrition/Components/FoodSequenceStartPointComponent.cs

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

* chicken

* Update food-sequence.ftl

* documentation

* fixes

* Update meat.yml

* Update meat.yml

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-08-14 15:04:00 +02:00
Pieter-Jan Briers
8ac0246998 Enable worldgen by default in non-wizden config (#30996)
Enable worldgen by default

If somebody can explain to me WHY this isn't enabled by default, that would be epic. Otherwise we're merging this
2024-08-14 21:56:45 +10:00
DrSmugleaf
12b6cf5e5d Make ahelp.admin_prefix default false (#30994)
* Make ahelp.admin_prefix default false

* More disabling

Game defaults should match wizden as closely as possible.

---------

Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2024-08-14 13:22:10 +02:00
Pieter-Jan Briers
059e3ef72f Update submodule to v230.0.1 (#30973)
Fix replays due to vulnerability update
2024-08-14 13:18:41 +02:00
slarticodefast
8cb2cfc0af fix the admin verbs trying to kill players by filling their lungs with plasma (#30991)
fix the admin tools trying to kill players by filling their lungs with plasma
2024-08-14 12:56:38 +03:00
PJBot
600d5bfae0 Automatic changelog update 2024-08-14 06:27:00 +00:00
Alzore
1ded394ffb Add a saline syringe to the combat medical kit (#29954)
saline
2024-08-14 16:25:54 +10:00
PJBot
452be33229 Automatic changelog update 2024-08-14 05:22:09 +00:00
IProduceWidgets
07ec00ed05 refactor event schedulers to use explicit game rules (#29320)
* works, still has testing values, im sure I did stupid shit.

* shitvent crapfactor

* snap extra word out of existence

* shit I died of old

* remove useless inaccurate design comments

* Oopsie, handle requirement params in RandomRuleSystem too

* I'm a slash slinging hasher

* Address reviews, add admin alerts I forgor

* EntityMan saves the day

* address reviews 1

* eh, I actually don't care about the cargo gifts thing.

* started

* Do reviews

* you actually meant 1.2 lmao

* dependency inheritance is a fickle bitch

* I have no idea.

* Threads are for sheets not computers.

* fix traitor rule test

* fix round type tattling

* break things

* It worky

* Toolshed makes we want to drink depresso.

* Finished?

* remove debug values

* timings

* use defaults

* alphabetize

* bobby drop tables

* Float required fr fr

* continue

* more continence

* uno mas

* obsolution

* cleanup and documentations

* Yell at self

* use the right value defaults

* housekeeping
2024-08-14 15:21:01 +10:00
Spessmann
58a33b2593 Various cog fixes (#30987)
various cog fixes
2024-08-13 20:23:56 -06:00
Errant
9de922adba development build ghostrole lottery changes (#30980)
debug ghostrole lottery changes
2024-08-14 11:57:09 +10:00
NotSoDamn
381e0d6f93 No weather on concrete tiles (#30952)
* concrete weather

* miss
2024-08-13 15:39:25 -06:00
IgorAnt028
204f3e6ae3 Fix bug with rotating shelves (#30978)
* Main

* Update shelfs.yml

* Little bug fix
2024-08-13 15:38:28 -06:00
TheWaffleJesus
1e029efd2a cleaning up bounty descriptions (#30981)
fixed up dumb text
2024-08-13 15:37:28 -06:00
Emisse
a186b91631 cog update (#30982) 2024-08-13 15:37:08 -06:00
PJBot
0d5d9f92cd Automatic changelog update 2024-08-13 20:33:59 +00:00
PoorMansDreams
02521d59dd Throngler Plushie Sprite (#30969)
Throngonkler Plush sprite
2024-08-13 23:32:53 +03:00
PJBot
44db0bfb05 Automatic changelog update 2024-08-13 19:28:31 +00:00
Spessmann
208b1d23b8 Added Cog(map) and its own evac shuttle (#30840)
* Added new map Cog and its own evac shuttle

* removed cog from default.yml so all checks will pass

I added cog here because i thought it might need to be here for map choosing??????????? ill add it back if needed

* updated cog and fixed a bunch of stuff that was not visable in the image, also nerfed the singo so it no longer solos

* added renault spawner that was missing and changed some minor stuff

* moved a escape pod from med/sci hallway to northern maints

* added shutters to the brig and added vents and scrubbers where they were missing in the halls

* extended salv's docking port so they can dock

* Fixed according to cog review thread

* fix pools

* fix PostMapInitTest

* Update MapLoadBenchmark.cs

* added cap and hop spawn that i just forgot to add???????????????????

* fixed again

---------

Co-authored-by: Emisse <99158783+Emisse@users.noreply.github.com>
2024-08-13 13:27:24 -06:00
PJBot
14dfeab306 Automatic changelog update 2024-08-13 18:32:39 +00:00
Cojoke
5d6baea7d3 Make the Borgs Names Appear When they Make an Announcement (#30107)
* Make the Borgs Names Appear When they Make an Announcement

* bwomp

* re-order

* Use Name instead of metadata

* goiup
2024-08-13 11:31:33 -07:00
Brandon Hu
dba0ea76b4 tweak(Shuttle_honki): Remove DeviceQuantumSpinInverter from honki shuttle. (#30618) 2024-08-13 23:50:41 +10:00
PJBot
c729079408 Automatic changelog update 2024-08-13 13:37:52 +00:00
slarticodefast
6a462221ff Add keybinds for rotating and flipping objects (#30540)
* add keybinds for rotating and flipping objects

* no popup for verbs
2024-08-13 23:36:41 +10:00
pigeonpeas
7153e43946 Fixes the grey mantle (#30971)
add the thing i missed
2024-08-13 22:13:50 +10:00
Ed
245e111226 Merge pull request #411 from crystallpunk-14/ed-13-08-2024-license
Sublicense
2024-08-13 15:10:51 +03:00
Ed
fab706f0cb Update README.md 2024-08-13 15:06:19 +03:00
Ed
23b61850a8 Sublicense 2024-08-13 15:04:28 +03:00
PJBot
79315c2531 Automatic changelog update 2024-08-13 11:09:46 +00:00
Ubaser
135d52406a Add capfruit, a gatfruit mutation. (#30850)
* add base

* add fake suffix and flavor fix

* address some reviews

* parent it

* fix test fail

* add FoodSequence support and address small review
2024-08-13 13:08:40 +02:00
PJBot
0998645077 Automatic changelog update 2024-08-13 10:55:06 +00:00
Ed
cc180e54e6 Sliceable doAfter (#30824)
* init

* wtf git
2024-08-13 13:53:59 +03:00
PJBot
bf7c32737b Automatic changelog update 2024-08-13 09:21:19 +00:00
pigeonpeas
329a0a875b Grey mantle in winterdrobe (#29774)
* add the mantle

* fix a few things

* fix merge conflict stuff, remove from winterdrobe and lathe.

* Add mantle to loadouts (20 hour requirement)
2024-08-13 19:20:12 +10:00
PJBot
d49d78cebf Automatic changelog update 2024-08-12 23:26:37 +00:00
nikthechampiongr
dcc11873f9 Fix permission check for whitelists in player panel (#30948) 2024-08-12 18:25:31 -05:00
PJBot
ab1613315d Automatic changelog update 2024-08-12 23:22:00 +00:00
LeoSantich
c9366b818c Lines 88 and 89, updated 'narsie' and 'ratvar' to 'Nar'Sie' and Ratva… (#30954)
Lines 88 and 89, updated 'narsie' and 'ratvar' to 'Nar'Sie' and Ratvar, per issue #30719.
2024-08-13 09:20:53 +10:00
Cojoke
0c1cfe8f18 Fix Reagent Fire Stacks (#30766)
* Fix Reagent Fire Stacks

* Comments on code

* little nicer wording?
2024-08-12 10:48:39 -04:00
Token
d4c0155d66 Fix DoDrop to DropNextTo in container cases (#30911)
* Fix DoDrop to DropNextTo in container cases
DoDrop is too heavy to calculation. In any other case we should use alternatives, for example DropNextTo helper method

* codestyle change
2024-08-12 10:18:26 -04:00
Ed
6db3ccb342 Merge pull request #387 from crystallpunk-14/ed-05-08-2024-upstream
Ed 05 08 2024 upstream
2024-08-12 15:07:14 +03:00
Gagarinten-Noverdo
7491c6874d Вода теперь не в папке флоры, а в папке Floor. Вода теперь тушит. (#410) 2024-08-12 15:01:56 +03:00
Ed
5af5aaa651 fix 2024-08-12 14:52:40 +03:00
Ed
d9336781f1 Merge remote-tracking branch 'upstream/master' into ed-05-08-2024-upstream
# Conflicts:
#	Content.Shared/Inventory/InventorySystem.Equip.cs
#	Content.Shared/Storage/EntitySystems/SharedStorageSystem.cs
2024-08-12 14:40:15 +03:00
Ed
ff8d294af5 Update PostMapInitTest.cs 2024-08-12 14:21:53 +03:00
Ed
47dc84e48e Update debug.toml 2024-08-12 13:56:27 +03:00
Chief-Engineer
691e37c0db Update space law for contraband upate (#30937)
* update space law

* missed a thing
2024-08-12 04:58:20 -05:00
Ubaser
c02aeebdf1 Add conducting gloves to the maintenance loot table (#30904)
* add

* lower weight
2024-08-12 03:06:55 -06:00
Plykiya
883dc998e6 First Review Pass Contraband Fixes (#30930)
* First pass contra fix

* bam

* More

* Security crates are now marked as security restricted

* Syndicate raid suit is contra

* damn I forgot gatfruit
2024-08-12 02:17:26 -06:00
Ubaser
7e17063b86 Removes variant cube migration (#30934)
add
2024-08-12 02:16:59 -06:00
PJBot
ca75d5a3e3 Automatic changelog update 2024-08-12 07:15:52 +00:00
Ubaser
c6209cc725 Make mantles loadout only. (#30929)
* remove cloaks and mantles from dresser

* remove mantles from lathe

* add role timer loadout thing

* add back cloak dresser

* fix test fail

* potentially fix test fail (?)
2024-08-12 01:14:45 -06:00
Ubaser
d220249902 Hotfix #30291 (#30932)
* add

* Revert "add"

This reverts commit 2b4ae87c4fbdd80d224ab19a655c9c547fcc43fd.

* add
2024-08-12 17:04:21 +10:00
PJBot
463a5299db Automatic changelog update 2024-08-12 06:22:03 +00:00
DieselMohawk
6759d6a614 Sec Vest & Helmet Resprite (Attempt 2) (#30291)
* Sec Vest & Helmet Resprite

* Made Helmet side sprites better

* Vest Alterations In Line With Feedback

* Feedback Based Alterations PT.2 (How did I miss that?)

* Alterations in line with Art Director Feedback
2024-08-12 16:20:56 +10:00
PJBot
9f550002d1 Automatic changelog update 2024-08-12 03:58:57 +00:00
Kara
485caa4553 Contraband marking & examining (#28688)
* System & loc strings

* pass over syndie contraband

* fixes

* grand theft pass

* contrabandexamine -> contraband

* examine text generation update

* all composition parents necessary

* bring back minor contra so it has a less confusing message

* minor

* weapon pass

* jumpsuit pass

* feet pass

* AUUUUUUUUUGHHHHHHHHHHHHHHHHHH

* head

* AUUUUGH

* ear

* belt

* back

* fix

* bro

* rename for more clarity

* do da review

* add cvar for contraband examine

---------

Co-authored-by: EmoGarbage404 <retron404@gmail.com>
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
2024-08-11 23:57:49 -04:00
Mervill
9f180e4f62 Don't show the Meteor Swarm announcement to players in the lobby. (#30922) 2024-08-12 12:13:28 +10:00
Nemanja
a0a1421da4 give trash a reusable entity table (#30921) 2024-08-12 12:07:39 +10:00
PJBot
15812d2a08 Automatic changelog update 2024-08-12 01:50:16 +00:00
Alzore
bcd7085a3e Add diamond mining drills, buff regular mining drills (#30814)
* why do I have to change so much just to add drills

* diamon
2024-08-12 11:49:09 +10:00
Brandon Hu
dea9a637fb chore(grammar): correct some mistakes (#30916) 2024-08-12 08:25:45 +10:00
PJBot
86f4346c05 Automatic changelog update 2024-08-11 22:13:37 +00:00
Plykiya
c688da00a0 Add execution component to all energy sword weapons (#30909)
Co-authored-by: plykiya <plykiya@protonmail.com>
2024-08-12 08:12:31 +10:00
Zachary Yona
7aaac2c179 Minor sprite fix to inhand med hardsuits and HoS turtleneck jumpsuit (#30918)
* Fixes inhand hardsuit cross color from https://github.com/space-wizards/space-station-14/issues/26516#issue-2213917971

* Fixed HoS Turtle not covering all butt pixels

---------

Co-authored-by: Zachary Yona <magicalusf@gmail.com>
2024-08-12 07:45:28 +10:00
Brandon Hu
aa15a9a839 chrore(ageRequirement): fix grammar. atleast -> at least (#30914) 2024-08-11 22:28:07 +02:00
Brandon Hu
46f631fa11 tweak(AgeRequirement): Make the requiredAge more sensible (#30913) 2024-08-11 21:47:26 +03:00
Killerqu00
65521696c8 Remove rest of Geras files (#30912)
remove remaining geras stuff
2024-08-11 14:01:00 -04:00
Ed
8ecae1288f Merge branch 'master' into ed-05-08-2024-upstream 2024-08-11 18:13:17 +03:00
mhamster
e26e662023 Small json files fixes (#30907)
Small json fixes

Resources/Textures/Interface/Default/meta.json: trailing comma
Resources/Textures/Objects/Specific/Hydroponics/attribution.json: proper json
Resources/Textures/Tiles/Planet/Snow/meta.json: trailing commas
2024-08-11 23:26:45 +10:00
Ubaser
58fd50c369 fix a capitalisation mistake (#30908)
ad
2024-08-11 22:51:19 +10:00
PJBot
6ec6a28aeb Automatic changelog update 2024-08-11 10:27:43 +00:00
Moomoobeef
28efd76e82 adds a throngler plushie, and adds it to the grand lotto (#29978)
* adds a throngler plushie, and adds it to the grand lotto

* this was supposed to be in the initial commit but I apparently forgot to save so anyway here it is

* make throngler plushie more rare

how about I split the difference:
original throngler: 0.0001
other plushies: 0.01
thongler plushie: 0.0005

* removed inheritied soundhit
2024-08-11 20:26:37 +10:00
Brandon Hu
31c5d3555e fix(Commands): Improve Localization of commands. Standardize some behaviors. (#30362)
* I should be studying for school but that is sofucking boring, I will pass my class no matter, however getting an A might be a challenge. My gpa is important but is the tourture for 1 point of GPA worth it? The american government says yes but they are responsible for the majority of all genocides that have ever been conducted since the dawn of man

* ugh

* ugh
2024-08-11 19:46:57 +10:00
PJBot
e0f292921f Automatic changelog update 2024-08-11 09:24:20 +00:00
slarticodefast
bd5d415575 Make the sentient plant mutation non-copyable to other plantholders (#29133)
make the sentient plant mutation not propagate by clipping, using the seed extractor or cryoxadone
2024-08-11 19:23:14 +10:00
osjarw
456410239e Reorder priorities in MeleeCombatCompound (#30066)
Reordered MeleeCombatCompound to improve unpulling
2024-08-11 19:22:46 +10:00
PJBot
8c4e5c5848 Automatic changelog update 2024-08-11 09:20:06 +00:00
Token
ad71d8cb2f Pax now refresh instead of stacking pacified forever (#30778)
Pax refreshes instead of stacking pacified forever
2024-08-11 19:19:00 +10:00
Plykiya
b6d04f884c EntityTables for sec belts and webbing (#30900)
* EntityTables for sec belts and webbing

* update name

---------

Co-authored-by: plykiya <plykiya@protonmail.com>
2024-08-11 19:16:46 +10:00
PJBot
93c9d49f9b Automatic changelog update 2024-08-11 09:16:34 +00:00
lzk
f93fe05f4c Make RCD ui activateable only in hand (#30861) 2024-08-11 19:15:28 +10:00
blueDev2
b16e57ee94 Add MinHealth Construction Condition (#30892)
* Add Min Health Condition and associated Locale

* Add Comment
2024-08-11 19:14:35 +10:00
PJBot
aabaaf1fec Automatic changelog update 2024-08-11 09:05:48 +00:00
BombasterDS
67253a3fe1 Change suit sensors on other players (#29668)
* Suit sensors can be turned off on other players

* less doafter time + interaction (nostate) check

* code cleanup

* code cleanup 2
2024-08-11 19:04:42 +10:00
PJBot
c8f1c22ff2 Automatic changelog update 2024-08-11 06:22:41 +00:00
Plykiya
6aed90ed75 Rename cooking shelf, improve content whitelist (#30858)
Rename cooking shelf to kitchen shelf

Co-authored-by: plykiya <plykiya@protonmail.com>
2024-08-11 16:21:34 +10:00
Mervill
d7b5ae061a Don't show Station Event announcements to players in the lobby. (#30886)
* Don't show Station Event announcements to players in the lobby.

* fix pr

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-08-11 16:09:33 +10:00
Plykiya
8d72e7d932 Make head of department lockers use EntityTables (#30854)
* EntityTables for head of department lockers

* I hope this works

* even smaller

---------

Co-authored-by: plykiya <plykiya@protonmail.com>
2024-08-11 13:12:26 +10:00
PJBot
0dc2d0acd0 Automatic changelog update 2024-08-11 03:07:02 +00:00
beck-thompson
ee922e37f6 Replaced some AddMarkups with AddMarkupOrThrow (#30632)
* First commit

* Silly me

* bruh
2024-08-11 13:06:33 +10:00
Scribbles0
220aff21eb Melee Executions (#30104)
* melee executions

* fix damage bug

* cleanup

* address reviews hopefully

* resistance bypass mechanic

* component changes

* self executions (not finished yet)

* self execs part two

* ok i fixed things (still not finished)

* finish everything

* review stuff

* nuke if (kind = special)

* more review stuffs

* Make suicide system much less hardcoded and make much more use of events

* Fix a dumb bug I introduced

* self execution popups

* Integration tests

* Why did they even take 0.5 blunt damage?

* More consistent integration tests

* Destructive equals true

* Allow it to dirty-dispose

* IS THIS WHAT YOU WANT?

* FRESH AND CLEAN

* modifier to multiplier

* don't jinx the integration tests

* no file-scoped namespace

* Move the rest of execution to shared, create SuicideGhostEvent

* handled

* Get rid of unused code and add a comment

* ghost before suicide

* stop cat suicides

* popup fix + small suicide change

* make it a bit better

---------

Co-authored-by: Plykiya <58439124+Plykiya@users.noreply.github.com>
2024-08-11 13:05:54 +10:00
Mervill
c25c5ec666 Remove uses of Component.Owner from AmbientSoundSystem (#30842)
Remove Component.Owner from AmbientSoundSystem
2024-08-11 12:39:37 +10:00
ShadowCommander
2f77d0d4f3 Add a component that inserts the held item when no interaction happens on the stored item (#29823)
* Insert when held item has no interaction with stored item

* Decouple inserting on failure

* Add component that stores the used entity when no interaction happened

* Add prediction
2024-08-11 12:29:44 +10:00
metalgearsloth
d7c3ba8409 Add some container checks (#30896)
Climbable container probably getting checked up the callstack so just check these ones.
2024-08-11 12:28:07 +10:00
metalgearsloth
9be61bfaa5 Make followed session-specific (#30770)
* Make followed session-specific

* misimport
2024-08-11 12:26:32 +10:00
github-actions[bot]
84217011a9 Update Credits (#30891)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2024-08-11 11:45:49 +10:00
Mervill
32e315c68f Refactor LightBehaviorSystem to remove obsolete code (#30890) 2024-08-11 11:45:37 +10:00
beck-thompson
09c8d4abd4 Torch no longer gives errors (#30884)
First commit
2024-08-10 20:05:35 -04:00
PJBot
f76fa0e5ae Automatic changelog update 2024-08-10 21:07:57 +00:00
Flareguy
179534f18d Vox Minor Clothing Update 2: Electric Boogaloo (#30838)
* more vox masks n stuff

* cluwne

* fix

* merc gas mask

* bunny tail height fix
2024-08-11 00:06:50 +03:00
PJBot
a99900fcd8 Automatic changelog update 2024-08-10 19:51:16 +00:00
Brandon Hu
63967bec88 tweak(Shuttle_honki): Replace clown spiders with honkbots (#30617) 2024-08-10 13:51:00 -06:00
Preston Smith
81371b90d1 Updated Core boxing ring beacon (#30800)
Updated boxing ring beacon to be correctly labeled
2024-08-10 13:50:08 -06:00
Brandon Hu
76d60140f6 add(meta): Add missing airvent to airlock (#30871) 2024-08-10 13:49:01 -06:00
Brandon Hu
d524d61b22 tweak(oasis): Lower the engineering borg spawn (#30874) 2024-08-10 13:48:47 -06:00
Brandon Hu
8afec58a0c chore(atlas): Remove EntityStorageComponent (#30876) 2024-08-10 13:48:19 -06:00
Brandon Hu
95034512c1 chore(marathon): Remove EntityStorageComponent (#30877) 2024-08-10 13:48:10 -06:00
Brandon Hu
6b5eb93fe7 chore(omega): Remove EntityStorageComponent (#30879) 2024-08-10 13:47:52 -06:00
Brandon Hu
6803021623 chore(meta): Remove EntityStorageComponent (#30883) 2024-08-10 13:47:41 -06:00
Brandon Hu
e569a78f17 chore(bagel): Remove EntityStorageComponent (#30881) 2024-08-10 13:47:28 -06:00
PJBot
cfd8ef49d9 Automatic changelog update 2024-08-10 19:32:38 +00:00
Ed
4d75cb54c8 Custom burgers - FoodSequence system (#30755)
* setup foodsequence

* name generation and max layers limit

* move to nutrition

* move code to serverside

* move to appearance data

* marked fields as required

* Update foodsequence.yml

* b

* burgeers!

* Update produce.yml

* Update meat.yml

* Update burger.yml

* fix duplicate naming

* Update Resources/Locale/en-US/nutrition/components/food-sequence.ftl

Co-authored-by: Hrosts <35345601+Hrosts@users.noreply.github.com>

* merge flavor profiles

* make food trash List<>

* merge trash

* Update FoodComponent.cs

* Update FoodComponent.cs

* organs and cannabis support

---------

Co-authored-by: Hrosts <35345601+Hrosts@users.noreply.github.com>
2024-08-10 22:31:32 +03:00
Brandon Hu
707daa1a5e tweak(snowy_labs): Remove non-valid holoparasite (#30875) 2024-08-10 21:53:56 +03:00
Kukutis96513
b6e10a0b7b Reach tweaks reattempt 2 (#30782)
* uhhh fix stuff maybe

* - added a fax machine
- made botany slightly bigger to accommodate a nutrimax vending machine
- added air alarms, scrubbers and a waste pipe network
2024-08-10 12:25:12 -06:00
PJBot
084812cb44 Automatic changelog update 2024-08-10 18:18:03 +00:00
lzk
9ba038d04f Standartize clothing recipes (#29315) 2024-08-11 04:16:56 +10:00
MerrytheManokit
249d3cd74d Remove meta voiceline from the passenger figure (#30868)
Update figurines.ftl
2024-08-11 02:37:33 +10:00
deathride58
7e44e75d74 #30851 followup - murderficates links (#30863)
kneecaps links while we're at it
2024-08-11 02:15:05 +10:00
lzk
6926033423 Fix some locales (#30860)
* Fix some locales

* forgor
2024-08-10 18:19:28 +03:00
Nemanja
fc1446e73a Cursed Mask (#29659)
* Cursed Mask

* extra expressions

* block ingestion

* mind returning

* okay fix the removal shit
2024-08-10 11:14:58 -04:00
PJBot
53058df8b9 Automatic changelog update 2024-08-10 15:01:27 +00:00
Ubaser
c812bd8ff4 Partially revert light tube sprites (#29091)
* add

* reduce contrast
2024-08-10 11:00:21 -04:00
Nemanja
fdbf2a229e Infer type for EntSelector (#30856)
Infer type for EntSelector.cs
2024-08-10 10:17:45 -04:00
PJBot
2b4acde2c8 Automatic changelog update 2024-08-10 12:56:26 +00:00
Unkn0wn_Gh0st
d340c5c844 ERT Chaplain Loadout fixer (#30855)
Chaplain fixy
2024-08-10 15:55:20 +03:00
PJBot
f642a01f96 Automatic changelog update 2024-08-10 12:53:00 +00:00
TakoDragon
9bc1fabdb3 Added suitskirt for psychologist (#30709)
* Added jumpskirt

* added locale

* Added spaces in code

* Updated the meta
2024-08-10 08:51:54 -04:00
PJBot
4e1feded66 Automatic changelog update 2024-08-10 12:49:01 +00:00
shamp
563190f4d8 Add Rat Kings wideswinging (#30808)
Update regalrat.yml
2024-08-10 15:47:55 +03:00
slarticodefast
0a4b220854 remove TerminatorRoleComponent (#30733) 2024-08-10 08:46:49 -04:00
Unkn0wn_Gh0st
bf2bd9a33e Change siren.ogg to gamma.ogg (#30836) 2024-08-10 15:31:28 +03:00
Ed
7e70859d2e Update README.md 2024-08-10 13:19:08 +03:00
Ed
76b89b8dc5 licenses (#405) 2024-08-10 13:15:19 +03:00
Nim
bf256b25e9 Two new spells of light (#404)
* light spell

* fix
2024-08-10 13:08:14 +03:00
deathride58
7f23634450 [S] hopefully prevents a repeat of 4 am on 8/10/2024 in the #server-leviathan-use channel (#30851)
cant test this because the documentation sucks ass but fuck it we ball
2024-08-10 19:18:13 +10:00
PJBot
45214c2063 Automatic changelog update 2024-08-10 03:31:49 +00:00
Alzore
4c678e4955 Bent pipes deal 8 thrown damage (#30634)
8 pipe throw damage
2024-08-09 23:30:43 -04:00
PJBot
46398647bf Automatic changelog update 2024-08-10 03:24:53 +00:00
Ko4ergaPunk
1fe46a7210 Changed chemistry airlock color (#30666)
* chem

* re-check

* re-check. again

* checks just die. last try

* re-check :blessrng:
2024-08-09 23:23:46 -04:00
PJBot
1745000e0d Automatic changelog update 2024-08-10 02:13:47 +00:00
Nemanja
437c861622 Entity Tables (EntitySpawnEntry replacement) (#30579)
* Entity table code

* entity table examples

* fix dat shit

* access

* tests tests tests

* sloth review
2024-08-09 22:12:40 -04:00
PJBot
b692ab1850 Automatic changelog update 2024-08-10 01:11:47 +00:00
lzk
45a2327ef5 Revert "Make hotplate and grill anchorable on table part 2" (#30830)
Revert "Make hotplate and grill anchorable on table part 2 (#29454)"

This reverts commit 268cab97f5.
2024-08-10 11:10:39 +10:00
DrSmugleaf
ee7644c631 Network WallMountComponent (#30837) 2024-08-10 11:08:56 +10:00
Tornado Tech
9f4932a8af Remove day cycle shit (#400) 2024-08-10 01:12:13 +03:00
Jaraten
32ce8f2164 directional window (#401)
* pu-pu-piri-pu

* fx remove
2024-08-10 01:10:22 +03:00
lzk
c80c26221b Crowbars fix (#30828)
* Crowbars fix

* oops
2024-08-09 14:19:04 -06:00
PJBot
218fef37c8 Automatic changelog update 2024-08-09 19:30:06 +00:00
Ubaser
ed3ec4dc5f Crowbar variants (#28988)
* add

* comma

* sprites

* yaml-ify

* add s

* lathe and engi belt

* yes

* fix maybe

* progress

* nearly there

* fix

* fix yaml linter having a stroke
2024-08-09 13:29:00 -06:00
PJBot
bd5b13e2f3 Automatic changelog update 2024-08-09 15:44:09 +00:00
Plykiya
1e824d704f Buckling an entity requires a do-after (#29621)
* Buckling an entity requires a do-after

* Works but feels like bad code?

* Cleanup

---------

Co-authored-by: plykiya <plykiya@protonmail.com>
2024-08-10 01:43:02 +10:00
Vasilis
873c314aec Add arm64 support to packager for windows and osx (#29723)
Wanted to package a server for the funny on my macbook and noticed it was not working cause of this... now it will workie :3
2024-08-09 23:01:13 +10:00
MureixloI
3f4e093eaf [Sprites/Fix] In hand for BlueSpace beaker & CMO's equipped cloak (#28719)
* [Fix] CMO's equipped cloak

* [Fix] CMO's equipped cloak

* [Sprites] In hands for bluespace beaker

* [Sprites] In hands for bluespace beaker

* [Sprites] In hands for bluespace beaker

* [Sprites] In hands for bluespace beaker
2024-08-09 22:02:26 +10:00
Plykiya
9f8ff021ea Fix for stripping doafters (#30821)
Apparently I need to check if they're holding an item

Co-authored-by: plykiya <plykiya@protonmail.com>
2024-08-09 22:02:06 +10:00
Jaraten
f70e3051ed update update (#403) 2024-08-09 14:08:50 +03:00
PJBot
c3e96b3770 Automatic changelog update 2024-08-09 10:34:01 +00:00
Ubaser
c1797b769c Resprite the equipped gas canister suit slots (#30809)
* add

* red and generic

* add meta
2024-08-09 20:32:55 +10:00
Ed
e3e142592a add art (#402) 2024-08-09 11:03:39 +03:00
deltanedas
ed8bcb0a66 improve job special (#30753)
* cleanup of AddComponentSpecial

* add RemoveComponentSpecial

* require

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-08-09 17:43:57 +10:00
eoineoineoin
d0a2187a9b Improve Criminal Records Computer usability (#30292)
* Avoid destroying and recreating record list on every update message

* Add early-out on nullptr input

* Remove sussy null suppress

---------

Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-08-09 17:41:29 +10:00
metalgearsloth
0b2fa941a7 Revert "setgamepreset command rework" (#30807)
Revert "setgamepreset command rework (#30756)"

This reverts commit de86fdb373.
2024-08-09 17:39:45 +10:00
metalgearsloth
1649ed45bd Add access to gun components (#30688)
* Add access to gun components

Found from an rmc14 PR.

* Admin verbs proving why access needs to exist

* Someone is probably going to post this pr to le reddit and complain about self-merges.
2024-08-09 17:39:27 +10:00
PJBot
b8fc879cd7 Automatic changelog update 2024-08-09 07:07:43 +00:00
Ko4ergaPunk
55d400b1b9 New decals for mapping (#30374)
* new decals

* license

* re-check
2024-08-09 17:06:37 +10:00
PJBot
0b256a025a Automatic changelog update 2024-08-09 07:05:25 +00:00
metalgearsloth
ecf278a89b Make clickable 1% nicer (#29706)
* Make vox roundstart

I believe all the issues are fixed.

* Click detection bandaid

* Make clickable 1% nicer

Still bad. Still doesn't handle multi-viewports well.
2024-08-09 17:05:12 +10:00
Errant
de86fdb373 setgamepreset command rework (#30756)
* gameticker.gamepreset namespace

* setgamepreset now has a finite duration

* comments, cleanup
2024-08-09 17:04:19 +10:00
Ilya246
3c6df0e39f add ghost role raffle to sentient artifact (#30746)
arti raffle
2024-08-09 16:57:43 +10:00
lzk
268cab97f5 Make hotplate and grill anchorable on table part 2 (#29454)
* Make hotplate and grill anchorable on table part 2

* Update hotplate.yml
2024-08-09 16:28:45 +10:00
Brandon Hu
c46a4e057a Fix(CuffableSystem): Check if cuffs can be transferred(dropped) (#30465)
* ugh

* Revert "ugh"

This reverts commit 8b5b0e24bcaa6c5cc9229c17eb138cdb476f0c9e.

* Revert "Automatic changelog update"

This reverts commit 4f8b634f38.

* Revert "Revert "Automatic changelog update""

This reverts commit 9fc2a3307a06e5f7d19bbb8d29e45b9a1d1470c8.

* Revert "Revert "Revert "Automatic changelog update"""

This reverts commit 1ae733bf308d7285159dd1fafd7f17101d8f4ced.

* Revert "Revert "Automatic changelog update""

This reverts commit 9fc2a3307a06e5f7d19bbb8d29e45b9a1d1470c8.

* Revert ""

This reverts commit 1cc0953333cf3d4f2cad5fae2f5c562ae99563ae.

* Revert ""

This reverts commit edca368a8444fd0fd403333695668d1c1db3726a.

* Revert "Revert "ugh""

This reverts commit 3ac15dfb07c7ae43b797724f85b76193ecd7a0e1.

* Revert "Revert "Revert "ugh"""

This reverts commit b952a4556397c8abcc7c319d736fab7ae48073a2.

* Revert "Revert "Revert "Revert "ugh""""

This reverts commit ff1a151571dea653d78ac2bda75eb11209da8d96.

* Revert "ugh"

This reverts commit 8b5b0e24bcaa6c5cc9229c17eb138cdb476f0c9e.

* Update SharedCuffableSystem.cs
2024-08-09 16:26:04 +10:00
PJBot
efe36c3bf8 Automatic changelog update 2024-08-09 06:25:25 +00:00
Repo
31cd2a0927 Add admin logs to Rehydration comp. (#30597) 2024-08-09 16:24:19 +10:00
TsjipTsjip
736325a31f Log enrichment: Explosion damage to players (#29762)
* Log enrichment: Explosion damage to players

* Update Content.Server/Explosion/EntitySystems/ExplosionSystem.Processing.cs

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

* Revert to total damage variant only, currently serialised as string.

* Make this its own log type.

---------

Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
2024-08-09 16:24:05 +10:00
Brandon Hu
e05df5d3e2 tweak(HealthAnalyzer): Stop showing poup when used on self or when cancelled (by twitter) (#30467)
* .
2024-08-09 16:19:58 +10:00
PJBot
619ba162ce Automatic changelog update 2024-08-09 06:18:57 +00:00
Stalen
60b63b58dd Head bandana ingestion blocking fix (#28910) 2024-08-09 16:17:51 +10:00
PJBot
05a21ab3ca Automatic changelog update 2024-08-09 06:17:28 +00:00
Simon
4c4cdb5b06 UI to edit silicon laws from admin verb (#28483)
* UI to edit silicon laws from admin verb

(peak shitcode)

* Improve UI

* Use Moderator admin flag

* Reviews
2024-08-09 16:16:22 +10:00
PJBot
8d96c993a2 Automatic changelog update 2024-08-09 06:15:13 +00:00
slarticodefast
e0d30aff4e Add tooltips to the agent ID job icons and improve status icon prototypes (#28575)
* add tooltips to agentid job icons

* forgot to stage this

* make StatusIconPrototype abstract

* minor visual improvements

* cleanup

* use currentculture to sort job names

* review
2024-08-09 16:14:07 +10:00
Thomas
eab0c34822 Create In-Guidebook Errors (#28942)
* Create in-guidebook errors

* Localize client-facing parser error

* Uncomment line

* Missed another localization string
2024-08-09 16:05:51 +10:00
Plykiya
e6d6416a19 Add minimum required trigger speed to mouse traps (#30593)
Co-authored-by: plykiya <plykiya@protonmail.com>
2024-08-09 16:00:40 +10:00
CaasGit
c091acd1f5 add(FaxComponent): Allows for setting defaults in the component. (#30484)
* add(FaxComponent): Allows for setting defaults in the component.

This wires up the Fax component to allow the default paper and office
paper to be set. The defaults are what they were before, and it's an
optional option. Now Fax machines can be set to print different paper
when using Print File or other cases where the default paper style is
used.

* Requested change to EntProtoId.

* Fix build failure.
2024-08-09 15:54:08 +10:00
Psychpsyo
b7ef5ada11 Add replacement words to Russian accent (#30554) 2024-08-09 15:49:38 +10:00
PJBot
1c5c155db1 Automatic changelog update 2024-08-09 05:49:07 +00:00
Repo
279e28768c Fix Panic bunker and Baby Jail being up to 14hrs incorrect. (#30581)
Fix a potential bypass for Panic bunker and baby Jail
2024-08-09 15:48:01 +10:00
metalgearsloth
bce17e6aec Fix decal megadiffs (#30732)
Just preserves the uids and doesn't care about trying to re-map the decals lower. We have a uint to work with anyway.
2024-08-09 15:47:23 +10:00
PJBot
b54a4206e8 Automatic changelog update 2024-08-09 05:46:56 +00:00
Ian
06a44a82b6 require the warden to notify admins on disconnect (#30745) 2024-08-09 15:45:51 +10:00
PJBot
a03d7c6c7f Automatic changelog update 2024-08-09 05:34:32 +00:00
nikthechampiongr
d1a60fafe7 Implement a playerpanel (#30238)
* Basic structure for the player panel ui

* Ensure basic functionality

Player panel now receives and displays basic info

* Make whitelistcommands accept user ids

* Make PlayerPanel use GUIDs where possible

* Add functionality to most playerpanel buttons

* Implement remaining playerpanel features

* Localize everything

* Finish up

* Put command arguments in quotes

I am not sure if it's even possible to have something like a space in
them considering they are guids and usernames but sure why not

* Make playerpanel a verb

* Add Logs button to player panel

* Change Notesbutton text and make whitelistbutton a confirmtion button

* Add freeze button that does not mute the player

* Add sharedconnections counter to playerpanel

* Make the playetime format clearer

* Allow for copying of the a player's username

* Do minor cleanup

* Rearrange buttons

* Fix unfreeze button not updating

* Fix wrong localisation text

* "Fix" the same role ban counting multiple times

The way rolebans are stored is horrible.
As such if you ban someone from a departmenrt or something
role bans are individually placed for every role.
The only way I found to distinguish them is the bantime.
This is horrible but I do not want to rewrite how all the bans are
stored right now.

* Add Delete and Rejuvenate buttons to player panel

By popular demand

* Marginally improve ui

* Add logs

* review update

* Fix verb

* Fix double notes

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-08-09 15:33:25 +10:00
Plykiya
b266c9b545 Create Generic DamageOnInteract/Attacked Comps/Systems (#30244)
* Everything but the submodule

* stuff I forgot

* heat

* missed lights

* behonky

* LocId

* I guess it was a skill issue?

* predicted audio

* It works with lights now

* Borg equality

* Gorilla gauntlet grants protection from anomaly returned damage when attacking it

* woops, there we go

* NONE

* Use DamageModifierSets, remove Behonker damage

* Reviews dealt with

---------

Co-authored-by: plykiya <plykiya@protonmail.com>
2024-08-09 15:32:41 +10:00
Leon Friedrich
8a4ef69e86 Add random seed options to tests (#30735)
* Add random seed options to tests

* Ensure profile randomization
2024-08-09 15:25:43 +10:00
slarticodefast
da0b8d4731 remove UntrackedMapBoundUserInterface (#30752) 2024-08-09 15:24:49 +10:00
PJBot
2ea17a492d Automatic changelog update 2024-08-09 04:53:31 +00:00
Nemanja
2528231ad1 offgrid mob friction (#29383)
* offgrid mob friction

* save the world...
2024-08-09 14:52:25 +10:00
beck-thompson
ad18c6e9a5 Secret stash refractor (#29396)
* First commit

* Will do this in another PR!

* maybe?

* Moved stuff to ToolOpenableSystem because its smarter and cooler
2024-08-09 09:51:58 +10:00
deltanedas
e4ff5780d5 full sticky prediction (#30230)
* move all sticky stuff to shared and cleanup/grammar fix

* update imports and ref

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-08-09 09:36:15 +10:00
PJBot
15ae0435c4 Automatic changelog update 2024-08-08 23:33:48 +00:00
themias
8ebe105458 Add butter slices (#30789) 2024-08-09 09:32:42 +10:00
Nemanja
1b1008ad85 Scrap (#30762)
* jnk sprites

* scrap pt 2

* metal inhands

* hell yeah brudda

* Update meta.json

* Update scrap.yml

---------

Co-authored-by: Flareguy <78941145+Flareguy@users.noreply.github.com>
2024-08-09 09:31:53 +10:00
PJBot
0423691d76 Automatic changelog update 2024-08-08 23:28:34 +00:00
SlamBamActionman
07174d0aaf Better DNA forensics & ReagentData (#26699)
* Added the ability for blood to track DNA using ReagentData; Forensic Scanner now accounts for solution DNA, non-DNA holders have "Unknown DNA"

* Removes touch DNA for puddles, adds DNA to vomit

* DNA now leaves traces in containers and those marked without don't show DNA on scan (except for puddles), gibbed parts have DNA

* Fix stupid metamorphic glass bug grrr

* Removed SpillableComponent since DnaSubstanceTraceComponent is used instead

* Removes data field from maps, adds DNA tracking for some missed items

* Give default value, fix missing values.

* Fixes recipe bug

* Review changes

* Make the Data list into a nullable type

* Revert map changes

* Move gibbed unknown DNA to forensicssystem
2024-08-09 09:27:27 +10:00
PJBot
c43fcdfa06 Automatic changelog update 2024-08-08 22:52:05 +00:00
lzk
25afc2653d Add RD labcoat in RD's dresser (#30671) 2024-08-08 18:50:56 -04:00
Emisse
3db51a7e36 train update (#30797)
train fix
2024-08-08 15:06:40 -06:00
dffdff2423
66f0cd4f43 Remove suspect figurine line (#30795) 2024-08-08 14:36:36 -04:00
saintmuntzer
703c8840c4 Fix for issue 30781 (#30788)
Fixed typos in name and description of syndicate recruit jumpsuit.
2024-08-08 18:35:01 +02:00
PJBot
6570515c8d Automatic changelog update 2024-08-08 13:18:57 +00:00
Ed
03745efc7f Thief beacons (try 2) (#29997)
content
2024-08-08 16:17:50 +03:00
PJBot
6d6c836095 Automatic changelog update 2024-08-08 11:40:52 +00:00
Plykiya
190ceda02e Add BreakOnDropItem, update do afters, remove unnecessary declarations (#30361)
* Add BreakOnDropItem, update do afters, remove unnecessary declarations

* bola

* Changed my mind about the nuke

* gennies too

* Make the comments more clear.

* Sorry for the trailing commas

* Revert "Sorry for the trailing commas"

This reverts commit e60fd9a30977393df3344948e6d5c0ce035723cd.

---------

Co-authored-by: plykiya <plykiya@protonmail.com>
2024-08-08 13:39:46 +02:00
Vigers Ray
bd51cf330b Teleport and delete buttons in objects tab. (#28914)
* Тыкнул и нету ЦК

* review

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-08-08 21:00:08 +10:00
PJBot
aea28b7a99 Automatic changelog update 2024-08-08 10:05:57 +00:00
Plykiya
1d5a3303e1 Buff EMP implant and grenade range (#30660)
Co-authored-by: plykiya <plykiya@protonmail.com>
2024-08-08 20:04:49 +10:00
strO0pwafel
35819e4ba5 more consistent CentComm naming (#29217)
* first-commit

* second commit

* i think i get git kinda maybe

* all of resources i think

* last easy changes

* oops

* Update Resources/Prototypes/Entities/Clothing/Head/hoods.yml

---------

Co-authored-by: stroopwafel <j.o.luijkx@student.tudelft.nl>
Co-authored-by: Plykiya <58439124+Plykiya@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2024-08-08 20:04:19 +10:00
IProduceWidgets
f24949a0b0 ai stays seated and pulled while cuffed. (#30397)
* ai stays seated while cuffed.

* Do the thing I thought was dumb.... whatever.

* less than
2024-08-08 19:53:07 +10:00
ShadowCommander
1df84515c7 Add EntityWorldTargetAction (#29819)
* Add EntityWorldTargetAction initial implementation

* Update obsolete methods

* Partially working EntityWorldTargetAction

* Fix entity selection

* Move and clean up AfterInteract

* Fix building new walls

* Readd no entity or coordinates error

* Consolidate action validation code

* Add summaries to component

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2024-08-08 12:47:08 +03:00
Ed
97939f6e3e Merge remote-tracking branch 'upstream/master' into ed-05-08-2024-upstream
# Conflicts:
#	Content.Shared/Storage/EntitySystems/SharedStorageSystem.cs
2024-08-08 12:29:20 +03:00
deltanedas
489efeb717 remove GenericAntag completely (#28218)
Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-08-08 18:16:02 +10:00
PJBot
0057141039 Automatic changelog update 2024-08-08 03:09:34 +00:00
TakoDragon
929e6a2c00 Improved Spanish accent (#30551)
* Spanish and French comment

* Added the interrobang

* Make spanish accent use sting builder
2024-08-08 13:08:28 +10:00
Mervill
ab28e1a9a9 Remove obsolete occurrences of IComponent.Owner being assigned just before AddComponent (#30724) 2024-08-08 13:03:41 +10:00
metalgearsloth
23e4a9a004 Update submodule to 229.1.2 (#30764)
Tests should work decently again
2024-08-08 12:34:00 +10:00
PJBot
3a50880070 Automatic changelog update 2024-08-08 02:15:38 +00:00
Mervill
b8d10a3f5e Add verbose (client predicted!) examine text to Gas Miners (#30480)
* add verbose examine text to gas miners so their behaviour can be understood

* no need for these to be properties

* use an enum instead of two booleans for the miner state

* require the gas miner to be anchored in order to not be disabled

* xmldoc

* pr feedback

* file-scope namespace

* it's to late to hide my transgressions in a rebase

* turns out the normal examine distance is totally fine for this
2024-08-08 12:14:31 +10:00
ShadowCommander
9645f5528b Strip drag drop test (#30754)
* Add test for drag drop to open strip menu

* Make screencoords change based on deadzone
2024-08-08 12:12:01 +10:00
lzk
d86c886f61 Add more advertisements (#30653) 2024-08-07 19:11:05 -04:00
Mr. 27
d4ad2e473a Don't disable collision on dead mobs, fixes an issue with pulling (#30532)
Update MobStateSystem.Subscribers.cs
2024-08-07 18:59:04 -04:00
PJBot
8e3ddcc278 Automatic changelog update 2024-08-07 21:48:11 +00:00
IProduceWidgets
ff28feec14 butter is slippery (#29772)
* butter slippery

* rerun tests

* standardize
2024-08-07 15:47:03 -06:00
lzk
7754ea925d Fix warning cone rotation in inventory (#30672) 2024-08-07 20:13:24 +02:00
Ko4ergaPunk
3dd5d562da Rename mining walls as "mining walls" (#30729)
* fix

* re-check

* re-check vol.2 season battle pass episode

* да иди ты нахуй уже

* re-cheeeck
2024-08-07 09:37:12 -04:00
PJBot
6d0e915ebb Automatic changelog update 2024-08-07 09:27:48 +00:00
Errant
15aa75f092 Updated remaining ghostroles for species loadouts (#29746)
* LoadoutSystem change, deathsquad species loadout

* survival gear loadouts for disaster victims

* skrek

* centcom

* syndicate agent

* cburn

* ERT

* syndicates

* Is it ever gonna be enough?

* Take what you can

* Move startingGearEquippedEvent after Loadouts are spawned

* skreee

* even more formatting

* Unbreak auto internals activation

* undo AddAllRoleLoadouts change

* syndicate reinforcement survival loadouts

* re-enable vox ghostroles
2024-08-07 19:26:40 +10:00
PJBot
150e8f0721 Automatic changelog update 2024-08-07 09:20:17 +00:00
ShadowCommander
6a5cc883ce Dragdrop fold rollerbed (#30002)
* Deploy foldable

* Add NetworkedComponent and access to the component

* Add handled to afterinteract

* Use drop target location instead of setcoordinates

* Put back in hand after failed deploy

This prevents dropping the bed when clicking while inside a locker.

* Created BaseDeployFoldable for folding chairs, body bags, and rollerbeds

* Add dragdrop to fold rollerbed to hand
2024-08-07 19:19:10 +10:00
Emisse
d86438c22b martathon update (#30731)
martathon
2024-08-07 02:49:28 -06:00
Emisse
d10fa77372 bagel update (#30730)
big gas miners
2024-08-07 02:49:17 -06:00
PJBot
c61384122b Automatic changelog update 2024-08-07 07:43:07 +00:00
Lye
7dc6a56969 Space Dragons can't be flashed (#30658)
* added flash immunity component to Space Dragon

* Changed use of component to use of whitelist
2024-08-07 09:42:00 +02:00
Ed
d4001598d4 workbench ui clean up (#399)
* workbench ui clean fix

* stack localization
2024-08-07 09:32:27 +03:00
Nemanja
ce97225c2d Replace IClickAlert with events (#30728)
* Replace IAlertClick with events

* whoop

* eek!
2024-08-07 15:15:35 +10:00
Brandon Hu
2dabf33d46 fix(FieldGenerators): Add missing connection check (#30468)
.
2024-08-06 23:43:21 -04:00
PJBot
9903d36c7d Automatic changelog update 2024-08-07 03:42:48 +00:00
Errant
6ccc10e240 Vox Medical Mask sprite fix (#30702)
vox medical mask
2024-08-06 23:41:40 -04:00
NakataRin
5247878060 Fix Mind Transfer and Role Assignment Logic for Antagonists (#30711)
* AntagSelectionSystemFix

* readded the stuff that shouldn've been deleted in the first place

* re-arrange

* undo indentation

---------

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
2024-08-06 23:38:47 -04:00
Emisse
05630bd4ba bagel update (#30727)
* bagel update

* remove invalid
2024-08-06 19:32:31 -06:00
Leon Friedrich
b4dfeec696 Add more storage admin logs & fix some interaction validation (#30725) 2024-08-07 10:15:41 +10:00
metalgearsloth
e5fe6f7824 Add mapping load acts (#30722)
Smug doesn't seem to have time to fix mapping state and I don't want to dump more time into it so.
2024-08-07 10:04:44 +10:00
Emisse
bd36ff93d2 train update (#30721)
* train update

* train
2024-08-06 17:50:39 -06:00
Emisse
1caddfa110 packed update (#30716) 2024-08-06 17:29:36 -06:00
Emisse
bb80d44331 marathon update (#30714)
* marathon update

* marathon update
2024-08-06 17:29:29 -06:00
Brandon Hu
048da47f32 fix(emergency_meta): Lock the doors on evac shuttle (#29255)
* fix(emergency_meta): Lock the doors on evac shuttle
2024-08-06 15:09:24 -06:00
Ed
78e140b4ae Revert "SpawnSpell tweak (#393)" (#398)
This reverts commit dc853b6662.
2024-08-06 20:25:29 +03:00
PJBot
de98531a5d Automatic changelog update 2024-08-06 13:13:20 +00:00
Flareguy
37e36bfa7c Vox head displacement map (#30699)
* head displacement for vox

* fixe
2024-08-06 16:12:14 +03:00
Tornado Tech
1b0bf2ad18 Added base workbench window (#372)
* Added base workbench window

* Fixed serialization errors

* Created base UI layout

* Updated ui

* Updated UI after crafting
2024-08-06 14:25:59 +03:00
Plykiya
a87efd7d01 Replace xform.WorldPosition with xformSystem method for Setting/Getting (#30029)
* GET WORLD POSITON, ROTATION

* Missing parentheses

* ui system depndency

* the issue

* Unused

* Let the function do the transform

---------

Co-authored-by: plykiya <plykiya@protonmail.com>
2024-08-06 21:02:01 +10:00
PJBot
7b3ff00129 Automatic changelog update 2024-08-06 11:01:21 +00:00
slarticodefast
7117b925a5 Add whitelist to cryostorage (#30574) 2024-08-06 21:00:15 +10:00
PJBot
4426ce123a Automatic changelog update 2024-08-06 10:59:39 +00:00
Nemanja
53719bded3 better examine text for radiation collectors (#30606)
* better examine text for radiation collectors

* this?

* penis
2024-08-06 20:59:37 +10:00
Errant
9522dbc655 Vox nukies and ninjafix (#29783)
* Nukie species gear

* antagselectionsystem autointernals

* nukie vox

* skrek

* Remove duplicate code

* skrek

* EVA tank loadouts, vox ninja update

* fix prototype duplication

* skrek

* fix summary

* fixed empty startinggear error

* enable vox ninjas

* Comments

* removed comment because startinggearprototype should not be used on antagselection aaaanyway

* squish that if

* Update Content.Shared/Clothing/LoadoutSystem.cs

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2024-08-06 20:58:28 +10:00
PJBot
26ad898105 Automatic changelog update 2024-08-06 10:52:42 +00:00
Ed
fb994e8d21 Add comment into jetpack system, to prevent future grid jetpack PRs (#30682)
Update SharedJetpackSystem.cs
2024-08-06 20:51:59 +10:00
Nemanja
e477a49cc6 Make biofab distinct from biogen (#30696)
* Make biofab distinct from biogen

* biocube fabricator
2024-08-06 20:51:33 +10:00
Brandon Hu
a8c74ca4e1 add(emergency_omega): Add defib to medical treatment area (#30693) 2024-08-05 21:49:23 -06:00
Brandon Hu
c948bd08c6 add(reach): Add a space cleaner dispenser to flands janitoral department (#30697) 2024-08-05 21:49:05 -06:00
Brandon Hu
f8c5a514bc add(fland): Add a space cleaner dispenser to flands janitoral department (#30695) 2024-08-05 21:48:41 -06:00
DrSmugleaf
edd17072ae Fix admin logs cache caching rounds forever if multiple game servers are ran on the same db (#30687) 2024-08-05 16:13:27 -07:00
Brandon Hu
9bb9e80ede tweak(SolutionTransfer): Raise default max transfer amount. (#29969)
* fix(jugs): Make max and minimum transfer amounts make sense

* fix name

* Better

* Implement bounds checks

* large beaker too

* More logical solution

* Bleh

* remove

* Doesn't make sense yet

WAS MISTAKEN AAAAAAAAAAAAAAD@ @!
2024-08-06 00:59:51 +02:00
Ed
dc853b6662 SpawnSpell tweak (#393)
* some refactor

* Update flame_creation.yml
2024-08-06 00:42:53 +03:00
Ed
37e0ffa173 Workshop update (#392)
* kreks spell icons

* vladimirs walls update

* add flora material
2024-08-05 22:46:22 +03:00
Ed
38c3bf2595 Merge branch 'master' into ed-05-08-2024-upstream 2024-08-05 21:08:20 +03:00
Ed
6ab9ca6bd0 yupiiii (#391) 2024-08-05 21:08:10 +03:00
Nim
934c1e44a6 second rebalance (#390)
Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2024-08-05 21:00:40 +03:00
Nim
818eb30d2d spells (#389) 2024-08-05 20:59:40 +03:00
Tornado Tech
12d2af692f Update wave.swsl (#388) 2024-08-05 16:48:22 +03:00
Ed
f5c0efd3cd Update departments.yml 2024-08-05 16:06:10 +03:00
Ed
f2b2da41a6 fix again 2024-08-05 15:50:12 +03:00
Ed
f2eccdc3dd loadout update 2024-08-05 15:37:54 +03:00
Ed
dd580c68c9 Merge remote-tracking branch 'upstream/master' into ed-05-08-2024-upstream
# Conflicts:
#	.github/PULL_REQUEST_TEMPLATE.md
#	Resources/Prototypes/Accents/word_replacements.yml
2024-08-05 15:28:42 +03:00
Ed
1f4b7f68bf Playtest polishing (#383)
* fix predicting sharpening

* finish shadow step

* tweak ice dagger

* shadow grab test

* fireball spell

* ice shards spell

* battle royale crates

* loot tables

* remove expedition ship

* dev update

* br map update

* spells tweak

* tips update

* some fixes

* biome forest spawner

* give keys to orgs

* mobs and aura spawners

* expedition update: goal, new ship, new map

* fix doors layers

* add new map proto

* translate keys

* Update crates.yml

* Update PostMapInitTest.cs

* fix spawning on expedition ship

* Fuck you, Randy. Remove nails

* fix lock systems

* localize tips

* some tweaks

* update ship, remove shrooms.

* fixes

* Update StationSystem.cs

* Revert "Update StationSystem.cs"

This reverts commit f632241324.

* Update expedition_test.yml
2024-08-05 15:22:14 +03:00
metalgearsloth
f7d8b4e7d4 Fix verb sub (#30667)
* Fix verb sub

Mapping casualty, verbs are weird.

* also this
2024-08-05 19:24:56 +10:00
Mervill
c1eb319bda Refactor the hungry debug command to be in line with thirsty (#30591)
refactor the hungry debug command to be in line with thirsty

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2024-08-05 18:12:07 +10:00
PJBot
d45810bbdb Automatic changelog update 2024-08-05 08:08:08 +00:00
Nemanja
b3a64d4bcd Add slowdown to low temperatures (#29692)
* TemperatureSpeed component

* temperature slowdown prediction (done right)

* remove unnecessary changes

* that too

* get in line

* make it readonly

* auto pause
2024-08-05 18:07:02 +10:00
PJBot
50408da21a Automatic changelog update 2024-08-05 08:04:30 +00:00
SlamBamActionman
bf06d0e869 Change Thief Syndie & Chameleon kit contents, add Syndie codeword paper (#30446)
* Initial commit

* more like bYE

* Fix exception during test
2024-08-05 11:03:24 +03:00
metalgearsloth
8197382444 Fix random unused field warnings (#29948)
* Fix random unused field warnings

Not many but it counts.

* caught

* Field
2024-08-05 17:59:37 +10:00
PJBot
52e03d2de5 Automatic changelog update 2024-08-05 07:37:32 +00:00
Mervill
8771cc03db Debug command to set either your hunger or thirst to one of their respective threshold levels (#30563)
* Debug command to set either your hunger or thirst to one of their respective threshold levels

* code updates

* code + loc changes
2024-08-05 17:36:26 +10:00
PJBot
bc3d53ec0a Automatic changelog update 2024-08-05 06:10:42 +00:00
foboscheshir
1629e200cb Missing mime mask sprites for Vox (#30607)
mime-mask-vox
2024-08-05 09:09:35 +03:00
Brandon Hu
e2ca1a1957 add(Spawners): Add a honk bot spawner (#30616) 2024-08-05 09:08:05 +03:00
metalgearsloth
c9b69ef491 Update submodule to 229.1.0 (#30664) 2024-08-05 15:51:10 +10:00
voidnull000
a3cbbe745e Change the mimebot and killer tomato's descriptions (#30639)
fix those two descriptions
2024-08-05 08:49:51 +03:00
metalgearsloth
9a8620d9d8 De-duplicate loadout gear (#30341)
* De-duplicate loadout gear

Needs supporting code, probably with an interface with StartingGearPrototype which would also use it, but I regexed the yaml.

* Code updates

* Remaining yaml

* Fix automatic naming

* raiseEvent

* Don't code when tired kids
2024-08-05 00:42:25 -04:00
Errant
6264a557a6 Restore the longer traitor briefing message (#30404)
* Restore the long traitor briefing

* highlights
2024-08-05 00:41:34 -04:00
PJBot
71a8fd5eab Automatic changelog update 2024-08-05 04:26:56 +00:00
Ed
a95d2257c3 JobRequirement refactor (#30347)
* refactor JobRequirements

* add profile support

* fix

* Update quartermaster.yml

* sloth fixes

* inport 30208

* Update DepartmentPrototype.cs

* species restriction

* left tweak stick

* stringbuilder is cool!
2024-08-05 14:25:49 +10:00
Plykiya
01e1624567 Move PaperSystem to Shared (#30592)
* Fix paper system late localization

* IS THIS WHAT YOU WANT

* well I guess this is happening now

* fix the BUI

* did that even do anything before?

* again with the escapeformatting...

* Dirtying

* Move dirty to function

* Rename PaperSystem to PaperVisualizerSystem

* Fix namespace

* how many namespace changes must I suffer through

* SetContent is for Setting Content

* minor shuffling

* review

---------

Co-authored-by: plykiya <plykiya@protonmail.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-08-05 14:23:23 +10:00
Simon
0ef5f668e2 Fix warnings in ShuttleSystem.GridFill.cs (#30253)
* Fix warnings in ShuttleSystem.GridFill.cs

* remove the thingie

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-08-05 14:09:42 +10:00
PJBot
68dbf6449c Automatic changelog update 2024-08-05 03:27:34 +00:00
Cojoke
a79cbf383c Give Mice Combat Mode and a 0 Damage Attack (#30487) 2024-08-05 13:26:28 +10:00
PJBot
7e285ee55c Automatic changelog update 2024-08-05 03:18:59 +00:00
Killerqu00
6503cb7833 Sleeper agents event no longer occurs when evacuation is called (#30646)
no more evac sleeper agents
2024-08-05 13:17:53 +10:00
Plykiya
c5b887fb4e Gets rid of all leftover usages of IEyeManager.CurrentMap (#30022)
* Gets rid of all leftover usages of CurrentMap

* args works

* reverty

* skill issue

---------

Co-authored-by: plykiya <plykiya@protonmail.com>
2024-08-05 13:16:47 +10:00
slarticodefast
d0884a3074 Improve communications console countdown formatting (#30495)
* improve communications console countdown formatting

* tostring
2024-08-05 13:16:19 +10:00
lzk
82d7636619 Fix some descriptions (#30644) 2024-08-05 13:15:52 +10:00
PJBot
118ea97652 Automatic changelog update 2024-08-05 03:15:13 +00:00
beck-thompson
490de1de4e Explosion resistance is now predicted! (#30654)
* First commit

* Added Network and access
2024-08-05 13:15:07 +10:00
DrSmugleaf
84a9253b10 Fix falsely showing damage color effect to entities that aren't allowed to be attacked (#30661) 2024-08-05 13:14:01 +10:00
Plykiya
d87d9c4676 Fix GhostRoleRadio icons (#30650)
Co-authored-by: plykiya <plykiya@protonmail.com>
2024-08-04 21:24:40 -04:00
Brandon Hu
c04f71728e tweak(grammar): Correct multiple instances of incorrect "its" usage (#30640) 2024-08-04 13:09:01 -06:00
Brandon Hu
b306130fbc tweak(grammar): Correct multiple instances of incorrect "it's" usage (#30641) 2024-08-04 13:08:13 -06:00
OrangeMoronage9622
8e43bb1b07 fml to chatsan (#30651) 2024-08-04 13:07:34 -06:00
JustCone
c237ef2843 Fland Atmos Gas Miners Grille Removal (#30615)
Removes grilles from atmos gas miners on Fland
2024-08-04 12:40:41 -06:00
JustCone
548f9e31fb Box Atmos Miners Grille Removal (#30610)
Removes Grilles from around atmos miners
2024-08-04 12:40:25 -06:00
Ubaser
17cececde0 Update Core (#30633)
add
2024-08-04 12:39:18 -06:00
JustCone
f1b8dcbfba Cluster Christmas Removal (#30635)
No Fun Allowed
2024-08-04 12:38:45 -06:00
JustCone
21d0326e13 Meta Robotics Console (#30652)
Adds robotics console to Meta
2024-08-04 12:38:26 -06:00
PJBot
65d5539248 Automatic changelog update 2024-08-04 10:15:04 +00:00
Mervill
f15cb8b77d Give rotten meat Trash and Recyclable tag (#30594) 2024-08-04 20:13:57 +10:00
Jaraten
9a07a9a052 stone upd (#384)
* stone upd

* fix ooopsiee

* fix tile
2024-08-04 12:28:31 +03:00
Skilets
1633895321 Fix Hud (#385)
Co-authored-by: SkiletsKir <113713080+Skilets@users.noreply.github.com>
2024-08-04 11:49:17 +03:00
Tornado Tech
0cd3a3c2d9 Added personal signature system (#382)
* Added personal signature system

* FUCKING RUSSIAN LANUAGE

A HATE LATTERS, HATEEEEEEEEEEEEEEEEEEEEEEE!

* Added locale and sound
2024-08-04 11:48:09 +03:00
slarticodefast
bb2981400c replace all uses of TryGetContainingContainer with non-obsolete overload (#30583)
* replace all uses of TryGetContainerContainer with non-obsolete overload

* rerun
2024-08-04 15:38:53 +10:00
Mervill
206495fd6d Remove unused variable from ThownInsertContainerSystem (#30611) 2024-08-04 15:36:25 +10:00
metalgearsloth
c3c5a6ba22 Fix verbs in mapping state (#30631) 2024-08-04 15:35:02 +10:00
Brandon Hu
f8bbc31903 fix(Solutions): Implement missing bounds check (#30239) 2024-08-04 00:13:09 -04:00
PJBot
4fc8790452 Automatic changelog update 2024-08-04 03:36:02 +00:00
DrSmugleaf
94a1b67c67 Don't show toggle internals verb if no breath tools are found while off (#30622)
* Don't show toggle internals verb if no breath tools are found

* only if not working
2024-08-04 13:34:55 +10:00
DrSmugleaf
8865d4a782 Make pointing cooldown a cvar (#30623)
* Make pointing cooldown a cvar

* Remove empty line
2024-08-04 13:34:33 +10:00
PJBot
2aa7226266 Automatic changelog update 2024-08-04 03:33:18 +00:00
Brandon Hu
968cd9dac6 fix(ChargerSystem): Don't show battery level twice. (#30625) 2024-08-04 13:32:55 +10:00
Ian
0d506ccffc added relevant guides to help menus (#30462)
* added relevant guides to help menus

* fixed ALL missing help-menu links

* missed one
2024-08-04 13:32:10 +10:00
DrSmugleaf
54d5bd266c Add mapping editor (#23427)
* Add mapping editor (#757)

* Remove mapping actions, never again

* Cleanup actions system

* Jarvis, remove all references to CM14

* Fix InventoryUIController crashing when an InventoryGui is not found

* Rename mapping1 to mapping

* Clean up context calls

* Add doc comments

* Add delegate for hiding decals in the mapping screen

* Jarvis mission failed

* a

* Add test

* Fix not flushing save stream in mapping manager

* change

* Fix verbs

* fixes

* localise

---------

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2024-08-04 13:31:45 +10:00
github-actions[bot]
6e8f8d706a Update Credits (#30620)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2024-08-03 21:01:41 -04:00
voidnull000
b55c37ec3e Fix a typo in the raid suit's description (#30612)
fix typo (for real this time i swear)
2024-08-03 23:20:00 +02:00
IProduceWidgets
936dc94a8c Docking ports now block air only in the direction their port is. (#30195)
speedholes.
2024-08-03 13:36:19 -04:00
Brandon Hu
a937f05929 fix(GhostRoleAntagSpawner): Create a new mind before transfering (#30354)
* IN MY WALLS! IN MY WALLS THEY ARE IN MY WALLS HELP HEELP HEKP PA DADOEAMD EODM AOM D *DIES* IM NOT DEAD ADADADDADIAMSDIM

* RUN I SAID RUN! THEY TOOK MY UKELELE

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

* Many have fallen

* It's all emo's fault

---------

Co-authored-by: EmoGarbage404 <retron404@gmail.com>
2024-08-03 10:09:41 -04:00
PJBot
77eb70ea8a Automatic changelog update 2024-08-03 14:08:26 +00:00
Joel Zimmerman
aad2441f30 Made the dank pizza actually dank (#30430)
* made the dank pizza actually dank

* made the dank pizza also contain some nutritional value
2024-08-03 10:07:20 -04:00
PJBot
a15fb56381 Automatic changelog update 2024-08-03 14:07:11 +00:00
lzk
a9693322be SpeakOnUseSystem and phrases for figurines (#30455)
* commit 1

* 2

* add more text

* apply review

* apply review 2

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

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-08-03 10:06:04 -04:00
RiceMar1244
b432dc6125 Shotgun spread refactor (#27773)
* Moves spread data to new component

* Refactors shotgun spread code

* Makes shotgun cartridges and projectiles use new component

* Attempts to fix nullable build error

* Fixes hitscan weapons that I broke :(

* Saviour commit?

---------

Co-authored-by: EmoGarbage404 <retron404@gmail.com>
2024-08-03 09:26:32 -04:00
GrandApothecary19
72cbed696f More sprites for tavern (#357)
* - add sprites

* - fixo for .ftl

* - fix because no whiskey in Eberron((

* - fixo
2024-08-03 15:51:29 +03:00
to4no_fix
64273cb914 Display the administrator's title in ahelp and ahelp relay (#30075)
* Adding the admin prefix to the ahelp

* Updating the admin prefix

* The second update of the admin prefix

* Configuration correction
2024-08-02 22:59:20 -05:00
OrangeMoronage9622
893180038f Add Ngl to chatsan (#30589)
* Ngl added fr this time

* Update speech-chatsan.ftl

Not gonna lie sounds more realistic than not going to lie
2024-08-03 04:59:50 +03:00
IProduceWidgets
7c7dfb48bb Greyscale Winter Coats and Hoods, some reorganizing of rsi. (#30314)
* reorganize coats, greyscale coats and hoods

* fix inhands

* make rsi validator happy

* even mo' hap'

* comma schmomma

* oops theres a recipe

* armor credits

* painflicts
2024-08-02 19:24:54 -04:00
PJBot
b72818cb12 Automatic changelog update 2024-08-02 23:06:27 +00:00
Alzore
0689e16939 Recolor winter boots (#30350)
* Recolor winter boots

* fix inhands

* better colors

* FOOT
2024-08-02 19:05:18 -04:00
JustCone
4a1b654928 Toxins Guidebook spelling mistakes (#30585)
Corrects spelling mistakes and changes dosages to doses
2024-08-02 18:22:51 -04:00
JustCone
be681aac11 Packed Singulo Substation & Chemistry Windoors (#30572)
* Rearrange Engineering Wires

* Replaces chemistry windoors with correct access
2024-08-02 14:12:07 -06:00
JustCone
7efc557bb4 Marathon had extra pipes under windows (#30584)
Deletes extra pipes
2024-08-02 14:10:05 -06:00
PJBot
32d1ea41bf Automatic changelog update 2024-08-02 18:59:06 +00:00
Repo
a2f27f956a Fix Bwoink Player sorting again.... (#30580)
Keep players that have had messages in the round at the top
2024-08-02 13:58:00 -05:00
PJBot
858f954c2f Automatic changelog update 2024-08-02 17:13:14 +00:00
slarticodefast
577f30fb13 Add haloperidol, potassium iodide (#27454)
* add haloperidol, potassium iodide

* review fixes

* review and tuning

* shader review

* use timespan and AutoPausedField
2024-08-03 03:12:08 +10:00
PJBot
ea6be02ea3 Automatic changelog update 2024-08-02 15:50:14 +00:00
Mervill
0f33025d34 Debug command to make you thirsty (#30562)
* debug command to make you thirsty

* pr feedback
2024-08-03 01:49:08 +10:00
Gagarinten-Noverdo
c620d66dab Biome spawner fix. Again (#381)
* Biome spawner update. Round seed system

* Format fix

* Round seed M I T

* Error to Warning

* Test fix #2

* Test fix #3

* VV

* Del out of body

* Fix of flood
2024-08-02 18:46:00 +03:00
DrSmugleaf
1fd934d5dc Use EntityQuery for footstep modifier and map grid in SharedMoverController (#30575) 2024-08-02 10:08:46 -04:00
Ed
599c599a4e Some shit (#380)
* telegraphy effects

* shadow step spell backend

* add component spell

* predict sharpening

* Update ring.yml

* locale sync

* Update entities.ftl

* icon shadow step
2024-08-02 13:51:54 +03:00
PJBot
f153f134fc Automatic changelog update 2024-08-02 10:03:23 +00:00
slarticodefast
2a29fea51d make the digital audio workstation rotatable (#30571)
make the DAW rotatable
2024-08-02 20:02:16 +10:00
Mervill
af75258601 Remove obsolete code from Food, Drink and Respirator systems. (#30560)
* Remove obsolete code from Food, Drink and Respirator systems

* remove obsolete comment
2024-08-02 17:30:45 +10:00
Emisse
ac4086f984 apc touchup sprite (#30460)
* apc touchup

* darker borders ofjdsa fjoias
2024-08-02 17:19:25 +10:00
Tayrtahn
ed4ae1628c Add "fill levels" to spear in-hand/wielded/equipped sprites (#28865)
* Add fill level sprite support for equipped items

* Add fill sprites for held/equipped spears
2024-08-02 17:18:59 +10:00
Aiden
029771d672 'Spawn Here' Verb Forces Mind Transfer (#30568)
Update AdminVerbSystem.cs
2024-08-02 17:14:21 +10:00
IProduceWidgets
36038a1707 Allow ai to understand if its handcuffed. (#30402)
* allow ai to understand if its handcuffed.

* rerun tests they worky on local

* Contained here in, a string of expletives about flaky tests.

* on retrospect, default true is probably smorter.

* do reviews

* I forgor xml

* more xml
2024-08-02 17:07:46 +10:00
PJBot
8d23d36e88 Automatic changelog update 2024-08-02 07:06:18 +00:00
ShadowCommander
1579c8a424 Deploy foldable (#30000)
* Deploy foldable

* Add NetworkedComponent and access to the component

* Add handled to afterinteract

* Use drop target location instead of setcoordinates

* Put back in hand after failed deploy

This prevents dropping the bed when clicking while inside a locker.

* Created BaseDeployFoldable for folding chairs, body bags, and rollerbeds
2024-08-02 17:05:12 +10:00
osjarw
ccdbdee929 Add DoAfter handling to InteractWithOperator (#30319)
* commit used for the recording, mostly copypaste

* Remove recording artifacts, now contains content

* use switch expression instead of switch statement
Also `ExpectedDoAfter` to fail when doafter isn't raised
2024-08-02 16:17:11 +10:00
slarticodefast
448f3804e6 Remove duplicate cartridge rsi (#30498)
remove duplicate cartridge rsi
2024-08-02 16:14:50 +10:00
PJBot
533c968928 Automatic changelog update 2024-08-02 06:06:44 +00:00
Plykiya
85bcc74bdf Add percentage reading to chargers (#28500)
* Add percentage reading to chargers

* using args.pushgroup

* change message

* Update Content.Server/Power/EntitySystems/ChargerSystem.cs

---------

Co-authored-by: plykiya <plykiya@protonmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2024-08-02 16:05:38 +10:00
Velcroboy
378d1e5c71 Adjusts the Bingus steal target to include any of the named cats (#30504)
* Adjusts the Bingus steal target to include any of the named cats

* Change name of target group

---------

Co-authored-by: Velcroboy <velcroboy333@hotmail.com>
2024-08-02 16:02:56 +10:00
Vasilis
c36b94316e Add PR guidelines checkbox to PR template (#30283)
* Add PR guidelines checkbox to PR template

* Update PULL_REQUEST_TEMPLATE.md
2024-08-02 16:02:24 +10:00
PJBot
bfd47ed69a Automatic changelog update 2024-08-02 05:58:56 +00:00
Benny (TropicalHibi)
d13bcd1faa WRU and FS autocompletion (#30508)
modified:   Resources/Locale/en-US/speech/speech-chatsan.ftl
modified:   Resources/Prototypes/Accents/word_replacements.yml
2024-08-02 15:57:50 +10:00
Brandon Hu
5dd3e9b514 tweak(BurialSystem): Don't cancel doafter on keyup (#30507) 2024-08-02 15:57:18 +10:00
deltanedas
b4607acea0 add flash bounty for revs (#29248)
* add flash bounty

* escape

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-08-02 15:48:04 +10:00
PJBot
fa5995ddab Automatic changelog update 2024-08-02 05:46:05 +00:00
slarticodefast
2c31e03ee3 Fix borgs being unable to state laws or open other UIs without modules (#30299)
borg law 2 state laws all day
2024-08-02 15:44:59 +10:00
PJBot
0b253e94eb Automatic changelog update 2024-08-02 05:44:47 +00:00
WarMechanic
67fc8af814 Adjusts the lethality of meteor explosions (#29199)
* make changes

* int oops
2024-08-02 15:43:40 +10:00
Kaga-404
745d90ad73 Revolver fixes for caseless ammo and wielding (#30117)
* handled check

* splits Handled and TryResetDelay checks
2024-08-02 15:43:11 +10:00
Mervill
4179821ffa Show the player a server message when they get booted from the arrivals shuttle (#30519)
show the player a server message when they get booted from the arrivals shuttle
2024-08-02 15:42:02 +10:00
NakataRin
c99cdf5c59 susbox locale fix (#30564) 2024-08-02 15:39:00 +10:00
PJBot
a2e945f272 Automatic changelog update 2024-08-02 01:34:26 +00:00
metalgearsloth
20cb65f2e6 Fix double interaction popups (#30452)
The issue is it plays the "you hug xyz" to everyone in range as well as the target client so they overlap. IDK if anything else is broken by this but this control flow is pretty bad so I wouldn't be surprised.
2024-08-02 11:33:20 +10:00
Plykiya
e6b67540e4 Update MoverController.cs to not use Component.Owner (#29965)
* Update MoverController.cs

* Update a bunch of movement code to use Entity<T>

* Last errors

* wow, there were more errors

---------

Co-authored-by: plykiya <plykiya@protonmail.com>
2024-08-02 11:32:32 +10:00
Brandon Hu
dceb562be7 add(TransferAmountWindow): QoL stuff (#30464)
* ugh
2024-08-02 11:20:36 +10:00
Ed
31c9485e3b Magic rings (#378)
* flame creation spell backend

* flame creation visuals

* flame creation spell visual

* tweak

* some tweaks

* ice dagger spell

* move spells to rings

* Update ring.yml

* fix server crash
2024-08-02 00:48:36 +03:00
PJBot
1fcbaa132f Automatic changelog update 2024-08-01 20:02:13 +00:00
marbow
b8fc703bf0 Detective's closet now has a hand labeler (#30501)
handlabeler
2024-08-01 14:01:05 -06:00
PJBot
ce3169ed17 Automatic changelog update 2024-08-01 20:00:53 +00:00
IProduceWidgets
dc5f951f0e Remove cubes from nukie outpost. (#30547)
I expect you to die!
2024-08-01 14:00:30 -06:00
lzk
2422a606d5 Update Marathon (#30534)
* Update Marathon

restocks
beacons
emitters

* Update 2

perma fixes
2024-08-01 14:00:16 -06:00
NakataRin
71ea1516ed added paramedic to train (#30556) 2024-08-01 13:59:43 -06:00
SlamBamActionman
7da2fb1218 Change from using obsolete method in ExplosionOverlay (#30550)
* Change from obsolete method in ExplosionOverlay

* Send AppearanceSystem through constructor
2024-08-01 23:17:15 +10:00
PJBot
ff76214247 Automatic changelog update 2024-08-01 10:27:39 +00:00
Ko4ergaPunk
27f3bea46d Cutter machine & steel mozaic item tiles (#30431)
* no texture machine

* done

* delete wip

* bug fixes

* oops

* CutterMachineCircuitboard
Glass: 500
2024-08-01 13:26:32 +03:00
Ed
56da23925f Magic Items (#370)
* attuning to items start

* verbs attuning, forgot oldest attuning

* Update CP14SharedMagicAttuningSystem.cs

* some fixes

* add deattuning

* fix popups on owner

* file restructurization

* MORE FOLDER RENAMING GODD

* magic via holding yea!

* fix deattuning

* vfx bugfixs

* wearing magic items

* Cure wounds spell

* refactor spells

* more redo

* finish refactor
2024-08-01 11:52:27 +03:00
Nim
19365c0314 Statue of Gob (#376)
* statue of Gob

* fix
2024-08-01 09:15:44 +03:00
Nemanja
2c26be606f Add support for printing reagents in lathes (#30476)
* Add support for reagents in lathes

* missing locale
2024-08-01 14:15:05 +10:00
Mervill
4b7325098a Remove obsolete code from LightningSystem (#30546) 2024-07-31 20:27:17 -07:00
PJBot
ab05228479 Automatic changelog update 2024-08-01 03:01:00 +00:00
Plykiya
1d79b924a6 Adds hand labelers to the ChemDrobe, LawDrobe, and PTech (#29958)
* Adds hand labelers to the chemdrobe and ptech

* LawDrobe too

* Update cart.yml

---------

Co-authored-by: plykiya <plykiya@protonmail.com>
2024-07-31 19:59:54 -07:00
PJBot
b5524bfcd1 Automatic changelog update 2024-08-01 02:59:22 +00:00
PixeltheAertistContrib
ad0aba5108 Change Social Anxiety ----> Stutter (#29898)
* Change Social Anxiety ----> Stutter

* Update traits.ftl

---------

Co-authored-by: Plykiya <58439124+Plykiya@users.noreply.github.com>
2024-07-31 19:58:16 -07:00
PJBot
34450dc908 Automatic changelog update 2024-08-01 02:56:09 +00:00
Plykiya
1d2b7131ab Meteors now leave behind a bit of ore (#30419)
* Meteors that leave behind asteroid ore

* bigger offset

* Bit more generic

* Better defaults

* hrm?

* I HATE CUSTOM SERIALIZERS

* More comments

* renamed a variable

---------

Co-authored-by: plykiya <plykiya@protonmail.com>
2024-07-31 19:55:02 -07:00
Mervill
1ef4f26a44 Remove obsolete code from VomitSystem (#30544) 2024-07-31 19:30:14 -07:00
Plykiya
ba1610012a Update RespiratorSystem.cs to not use Component.Owner (#30426)
Update RespiratorSystem.cs

Co-authored-by: plykiya <plykiya@protonmail.com>
2024-07-31 19:29:02 -07:00
themias
52b32fa7fa Fix hypo pen clicking (#30535) 2024-07-31 14:07:12 -07:00
themias
7a99c962a3 Fix exploding pen clicking (#30533) 2024-07-31 21:50:16 +03:00
PJBot
b5a6f85a75 Automatic changelog update 2024-07-31 17:58:47 +00:00
themias
2575e44ec3 Add pen clicking sound (#30531)
* Add pen clicking sound

* switch to OnUse and reduce distance a little
2024-07-31 20:57:41 +03:00
IgorAnt028
5eb6425c42 A small addition to the documentation (#30506)
* Completion of documentation

Comments have been added to ConditionalSpawnerComponent and RandomSpawnerComponent

* Appear fix

Some fixes with word "appear"
2024-07-31 19:09:51 +03:00
PJBot
282292fdae Automatic changelog update 2024-07-31 16:09:27 +00:00
slarticodefast
3cecfd6e4c Skeletons no longer have fingerprints (#30530)
skeletons no longer have fingerprints
2024-07-31 19:08:20 +03:00
PJBot
d09ed501f0 Automatic changelog update 2024-07-31 15:15:27 +00:00
metalgearsloth
0432f21110 Add sprite exporting (#29874)
* Redo of code

* Dump IDs on lobby exports
2024-07-31 11:14:19 -04:00
Brandon Hu
5bc9c04a02 add(SharedDoAfterSystem): Add a IsRunning "Utility" function (#30512) 2024-07-31 21:32:19 +10:00
metalgearsloth
778bfe3355 Add test for anchored prototypes (#30526)
Nothing fails at least but at some point will let us remove some hacky engine code.
2024-07-31 21:31:41 +10:00
PJBot
f264da89c4 Automatic changelog update 2024-07-31 01:59:37 +00:00
Repo
b784edb758 Fix aHelp menu sorting (#30518)
* Keep Pinned status through player status changes.

* Fix filtering to be admin optimal.
2024-07-31 11:58:31 +10:00
PJBot
61e87cb43a Automatic changelog update 2024-07-31 00:15:55 +00:00
slarticodefast
0ceb99df1c Fix singularity overlay mouse position correction when zooming (#30509)
fix singularity overlay mouse position correction when zooming
2024-07-31 10:14:49 +10:00
Pieter-Jan Briers
524dad566b Rename CLF3 to "chlorine trifluoride" (#30510)
Other chemicals like sodium hydroxide are written in full too, why wouldn't ClF3 be.
2024-07-31 10:14:23 +10:00
Dvir
50fcde25dd Fix Viper yaml (#30513)
Update pistols.yml
2024-07-30 16:08:54 -07:00
TemporalOroboros
bea8c1a0b8 Relocate TemperatureProtectionComponent (#30437)
Moves it from the atmos module to the temperature module where it is actually used.
2024-07-30 12:31:55 -07:00
PJBot
7fefcbc6fb Automatic changelog update 2024-07-30 14:42:21 +00:00
Ed
23b97bd8b5 Added diamond into upgraded ore processor (#30499)
Update lathe.yml
2024-07-30 10:41:15 -04:00
Roudenn
f501bd500c Grappling gun's ReelRate can be changed (#30493)
* Grappling gun ReelRate can be changed

Moves ReelRate constant from SharedGrapplingGunSystem to GrapplingGunComponent, so it's Reel speed can be changed.

* Add coment + remove redudant
2024-07-31 00:26:18 +10:00
PJBot
0fddee233d Automatic changelog update 2024-07-30 14:08:41 +00:00
Cojoke
ea136838c0 Another QSI Fix About Things Being in Places they Should not (#30241)
* Another QSI Fix About Things Being in Places they Should not

* cleanup
2024-07-30 10:07:35 -04:00
chavonadelal
9e1e9b8c34 Localization of the Salvage Expedition Console (#30339)
* Localization of the Salvage Expedition Console

* Localization of the Salvage Expedition Console 2
2024-07-30 10:05:19 -04:00
lzk
1a672c9c6d add more logic gates prototypes for mapping (#30385)
* Add more logic gates types for mapping

* i forgor

* me stupid

* nuh
2024-07-30 09:55:21 -04:00
PJBot
5607c35744 Automatic changelog update 2024-07-30 13:54:51 +00:00
Cojoke
247222beab Remove Walking out of Containers while You can't Walk (#30391)
* Require Standing to Exit Containers

* whoops, forgot a not

* You can't walk out if cuffed

* GUAH(requested stuff)

* bwomp(tiny cleanup)
2024-07-30 09:53:44 -04:00
PJBot
04b7b80210 Automatic changelog update 2024-07-30 11:30:38 +00:00
chavonadelal
0b95de1efc Adding an AccessReader to a particle accelerator with engineering access (#30394)
Adding an AccessReader to a particle accelerator
2024-07-30 14:29:32 +03:00
PJBot
89b8ec713a Automatic changelog update 2024-07-30 08:36:37 +00:00
themias
648f94f4bb Fix fingerprint transfer on weapon attack (#30257)
* Fix fingerprint transfer on weapon attack

* Switch to just not raising the event

* one more
2024-07-30 18:35:30 +10:00
DrSmugleaf
517598f72d Fix climbing not ending when any contacts still exist (#30488) 2024-07-30 18:31:59 +10:00
PJBot
fda852d2e0 Automatic changelog update 2024-07-30 08:29:40 +00:00
Repo
a72445c419 aHelp fixes and improvements (#28639)
* Clear search criteria on loading aHelp window

* Pinning technology.

* Relay to aHelp window and discord if a user disconnect/reconnect

* Fix pinning localization

* Log disconnect, reconnects, bans to relay and admin in aHelp

* Drop to 5min to hold active conversations

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

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

* discord text styling if diconnect,reconnect,banned message.

* Pin icons instead of text

* Better Icons

* space

* Move button generation in to its own XAML

* List entry control

* Fix spaces

* Remove from active conversations on banned

* Discord if else block cleanup

* Better pin icons

* Move icons to stylesheet styleclass

* Better field order.

* PR review fixes

* fixes

---------

Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-07-30 18:28:32 +10:00
TurboTracker
2fc9a65da6 Update migration to remove maint detective armor (#30486)
Jensen migration
2024-07-29 23:41:52 -07:00
Brandon Hu
9a46c24854 tweak(SyndicateReinforcements): Replace combat knife with throwing knife (#30466)
* .

* Update Resources/Prototypes/Catalog/Fills/Items/misc.yml

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

* ugh

Co-authored-by:James Quiaoit <jquiaoit@ucsc.edu>

* ugh

Co-authored-by: James Quiaoit <jquiaoit@ucsc.edu>

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: James Quiaoit <jquiaoit@ucsc.edu>
2024-07-30 09:22:33 +03:00
PJBot
7eec380d99 Automatic changelog update 2024-07-30 04:42:27 +00:00
Alzore
517a62a6dd Recolor the defibrillator (#29964)
* tide-ification

* metajoson
2024-07-30 00:41:21 -04:00
Flareguy
0266ac029d Security biosuit sprite fix (#30151)
sec biosuit fix
2024-07-30 00:40:39 -04:00
Nemanja
c4c4a934af fix lathe screen animations (#30479) 2024-07-30 14:03:46 +10:00
PJBot
fc65acc7a0 Automatic changelog update 2024-07-30 03:05:23 +00:00
themias
92210ff51b Fix ACC wire light not appearing (#30453) 2024-07-29 23:04:17 -04:00
PJBot
16ec6443f6 Automatic changelog update 2024-07-30 02:49:34 +00:00
Cojoke
ad81c30dcb Lets Hamlet Dance (#30478)
Allow Ghost Roles that have NPC to turn on Combat Mode
2024-07-29 19:48:28 -07:00
osjarw
669cc55ba4 Allow the creation of recursive HTNs (#30138)
Allow recursive HTNs
2024-07-30 12:18:53 +10:00
PJBot
cc3d6441be Automatic changelog update 2024-07-30 02:18:33 +00:00
Plykiya
031eb9606c Make magic mirror do-after longer, add popups to notify the target (#30366)
* Make magic mirror do-after longer, add popups to notify the target

* Turns out I do have access to the user

* More detailed popups

* Helmets protecc

---------

Co-authored-by: plykiya <plykiya@protonmail.com>
2024-07-30 12:17:27 +10:00
PJBot
3104215ced Automatic changelog update 2024-07-30 02:15:17 +00:00
nikthechampiongr
2f42e1d18e Vanquish inaccurate docs (#30449) 2024-07-30 12:14:34 +10:00
TheKittehJesus
18370c3d1c Four cooking recipes changed to use liquid egg instead of whole egg, and 5u of milk added to cake batter (#30262)
* Changed four cooking recipes to use egg fluid instead of whole eggs, see issue #30123

* Added 5u of milk to cake batter due to it becoming a subset of brownie recipe and occurring in beaker
2024-07-29 22:14:11 -04:00
PJBot
ca8ee5fb77 Automatic changelog update 2024-07-30 01:50:11 +00:00
themias
85e36266fa Add envelopes (#30298)
* Add envelopes

* oops

* Remove unused loc string

* comments and fixes
2024-07-29 21:49:05 -04:00
PJBot
b16de9bb35 Automatic changelog update 2024-07-30 01:23:23 +00:00
slarticodefast
502ceb69de Fix puppy ian steal target (#30474)
fix puppy ian steal target
2024-07-29 18:22:16 -07:00
PJBot
0bbb099a38 Automatic changelog update 2024-07-30 01:06:33 +00:00
Ian
c5f332ea9f added a defib to the courser (#30471) 2024-07-29 19:05:26 -06:00
Mervill
83a56cc74a Objects that only have a basic description won't have extra line in examine text (#30472)
objects that only have a basic description won't have extra line in examine text
2024-07-29 17:57:46 -07:00
Emisse
fcaf04d72b bagel update (#30461) 2024-07-29 12:45:42 -06:00
PJBot
961514dd28 Automatic changelog update 2024-07-29 15:18:01 +00:00
TurboTracker
8595f59b83 Bring kobold ghostrole chance inline with monkey (#30450) 2024-07-29 18:16:54 +03:00
PJBot
16cbd1a36b Automatic changelog update 2024-07-29 12:53:46 +00:00
Moomoobeef
7761f86b99 added wearable lizard plushie (#30400) 2024-07-29 15:52:39 +03:00
end
6114a88628 N2O color change (#30383) 2024-07-29 15:37:31 +03:00
PJBot
7244b9b912 Automatic changelog update 2024-07-29 09:58:10 +00:00
Alzore
3db33d944f Increase the contents of the emergency oxygen and fire lockers (#29230)
* 201 asphyxiation damage

* A bit less oxygen
2024-07-29 02:57:04 -07:00
thecopbennet
cf7e680770 turns "nosmoking sign" into "no smoking sign" (#30444)
add a space

Co-authored-by: thecopbennet <bennetgood@gmail.com>
2024-07-29 02:31:05 -06:00
PJBot
a9fc5a4b94 Automatic changelog update 2024-07-29 08:30:33 +00:00
Maishul
0e4bc4cefc Candles Crate (#29736)
* First attempt at adding crate

* Changed loose candles to candle boxes

* Corrected minor typo

* Removed a change to the development preset

* Buffed crate to 2 of each box

* Hopefully removes strange not-change in the repo

* Updated description to be clearer.

---------

Co-authored-by: elee-github <elee2020@yahoo.com>
2024-07-29 02:29:27 -06:00
Mervill
ec19f9f4a9 Make the powered examine text fully client predicted (#30441)
* Make the powered examine text fully client predicted

* switch to using the Entity<T> API for the examine event
2024-07-29 00:28:17 -07:00
PJBot
c586561a9e Automatic changelog update 2024-07-29 06:50:35 +00:00
JIPDawg
0dd22c31d1 Change unused OpenScoreboardWindow to ToggleRoundEndSummaryWindow and bind it to F9 (#30438)
Change unused OpenScoreboardWindow to ToggleRoundEndSummaryWindow
2024-07-28 23:49:28 -07:00
Mervill
14a8e94f1e Fix punctuation in anchored / unanchored examine text (#30439)
fix punctuation in anchored / unachored  examine text
2024-07-29 08:35:50 +02:00
lzk
c4ef5e4205 Update marathon (#30442) 2024-07-29 00:31:05 -06:00
PJBot
4a13212bc3 Automatic changelog update 2024-07-29 06:20:54 +00:00
lzk
da5918c951 FINALLY FIX APPROVER IN CARGO INVOICE!!! (#29690)
* OH DEAR LORD I WASTED 2 HOURS ON THIS STUPID SHIT!!!

* change some logic
2024-07-28 23:19:43 -07:00
lzk
46c8cecbbc Update Marathon (Engineering revamp and small stuff) (#30429)
* Update Marathon

* Update 2

* Update 3

* Update 5

* Update 5 (actually this time)
2024-07-28 13:53:23 -06:00
osjarw
303b5c8393 Air alarms check sensors upon power returning 2024-07-09 23:28:28 +03:00
9584 changed files with 1921985 additions and 792720 deletions

39
.github/CODEOWNERS vendored
View File

@@ -2,49 +2,30 @@
# 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/ @Chief-Engineer
# Moony's Gargantuan List Of Things She Cares About, or MGLOTSCA for short.
# You need to add your name to these entries, not make a new one, if you care about them.
/Content.*/Toolshed/ @moonheart08
**/Toolshed/** @moonheart08
*Command.cs @moonheart08
/Content.*/Administration/ @moonheart08 @DrSmugleaf @Chief-Engineer
/Content.*/Station/ @moonheart08
/Content.*/Maps/ @moonheart08
/Content.*/GameTicking/ @moonheart08 @EmoGarbage404
/Resources/ServerInfo/ @moonheart08 @Chief-Engineer
/Resources/ServerInfo/Guidebook/ @moonheart08 @EmoGarbage404
/Resources/ServerInfo/Guidebook/ServerRules/ @Chief-Engineer
/Resources/engineCommandPerms.yml @moonheart08 @Chief-Engineer
/Resources/clientCommandPerms.yml @moonheart08 @Chief-Engineer
/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/Maps/** @Emisse
/Resources/Prototypes/Body/ @DrSmugleaf # suffering
/Resources/Prototypes/Entities/Mobs/Player/ @DrSmugleaf
/Resources/Prototypes/Entities/Mobs/Species/ @DrSmugleaf
/Resources/Prototypes/Guidebook/rules.yml @Chief-Engineer
/Resources/Prototypes/Guidebook/rules.yml @nikthechampiongr @crazybrain23
/Content.*/Body/ @DrSmugleaf
/Content.YAMLLinter @DrSmugleaf
/Content.Shared/Damage/ @DrSmugleaf
/Content.*/Anomaly/ @EmoGarbage404 @TheShuEd
/Content.*/Lathe/ @EmoGarbage404
/Content.*/Materials/ @EmoGarbage404
/Content.*/Mech/ @EmoGarbage404
/Content.*/Research/ @EmoGarbage404
/Content.*/Stack/ @EmoGarbage404
/Content.*/Xenoarchaeology/ @EmoGarbage404
/Content.*/Zombies/ @EmoGarbage404
/Resources/Prototypes/Entities/Structures/Specific/anomalies.yml @EmoGarbage404 @TheShuEd
/Resources/Prototypes/Research/ @EmoGarbage404
/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 @Chief-Engineer
/Content.Shared.Database/Log*.cs @PJB3005 @DrSmugleaf @nikthechampiongr @crazybrain23
/Pow3r/ @PJB3005
/Content.Server/Power/Pow3r/ @PJB3005
@@ -52,7 +33,7 @@
/Content.*/Atmos/ @Partmedia
/Content.*/Botany/ @Partmedia
#Jezi
# Jezi
/Content.*/Medical @Jezithyr
/Content.*/Body @Jezithyr

6
.github/labeler.yml vendored
View File

@@ -16,7 +16,11 @@
- changed-files:
- any-glob-to-any-file: '**/*.swsl'
"No C#":
"Changes: Audio":
- changed-files:
- any-glob-to-any-file: '**/*.ogg'
"Changes: 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

@@ -85,7 +85,7 @@
"CC-BY-NC-SA-3.0",
"CC-BY-NC-SA-4.0",
"CC0-1.0",
"All rights reserved for the CrystallPunk14 project only"
"CLA"
],
"examples":[
"CC-BY-SA-3.0"

20
.github/workflows/CP14Publish.yml vendored Normal file
View File

@@ -0,0 +1,20 @@
name: Publish
concurrency:
group: publish
on:
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Send POST-request
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.BUILD_HOST }}
username: ${{ secrets.BUILD_USER }}
password: ${{ secrets.BUILD_PASS }}
port: 22
script: sh update.sh &> /dev/null

View File

@@ -21,7 +21,7 @@ jobs:
- name: Setup .NET Core
uses: actions/setup-dotnet@v3.2.0
with:
dotnet-version: 8.0.x
dotnet-version: 9.0.x
- name: Install dependencies
run: dotnet restore

View File

@@ -2,11 +2,11 @@
on:
push:
branches: [ master, staging, trying ]
branches: [ master, staging, stable ]
merge_group:
pull_request:
types: [ opened, reopened, synchronize, ready_for_review ]
branches: [ master ]
branches: [ master, staging, stable ]
jobs:
build:
@@ -36,7 +36,7 @@ jobs:
- name: Setup .NET Core
uses: actions/setup-dotnet@v3.2.0
with:
dotnet-version: 8.0.x
dotnet-version: 9.0.x
- name: Install dependencies
run: dotnet restore

View File

@@ -2,11 +2,11 @@ name: Build & Test Debug
on:
push:
branches: [ master, staging, trying ]
branches: [ master, staging, stable ]
merge_group:
pull_request:
types: [ opened, reopened, synchronize, ready_for_review ]
branches: [ master ]
branches: [ master, staging, stable ]
jobs:
build:
@@ -36,7 +36,7 @@ jobs:
- name: Setup .NET Core
uses: actions/setup-dotnet@v3.2.0
with:
dotnet-version: 8.0.x
dotnet-version: 9.0.x
- name: Install dependencies
run: dotnet restore

38
.github/workflows/cla.yml vendored Normal file
View File

@@ -0,0 +1,38 @@
name: "CLA Assistant"
on:
issue_comment:
types: [created]
pull_request_target:
types: [opened,closed,synchronize]
paths:
- '**/*.cs' # Указываем, что триггер срабатывает только при изменении .cs файлов
# explicitly configure permissions, in case your GITHUB_TOKEN workflow permissions are set to read-only in repository settings
permissions:
actions: write
contents: write # this can be 'read' if the signatures are in remote repository
pull-requests: write
statuses: write
jobs:
CLAAssistant:
runs-on: ubuntu-latest
steps:
- name: "CLA Assistant"
if: (github.event.comment.body == 'recheck' || github.event.comment.body == 'I have read the CLA Document and I hereby sign the CLA') || github.event_name == 'pull_request_target'
uses: contributor-assistant/github-action@v2.6.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# the below token should have repo scope and must be manually added by you in the repository's secret
# This token is required only if you have configured to store the signatures in a remote repository/organization
# PERSONAL_ACCESS_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
with:
path-to-signatures: 'signatures/version1/cla.json'
path-to-document: 'https://github.com/crystallpunk-14/crystall-punk-14/blob/master/CLA.md' # e.g. a CLA or a DCO document
# branch should not be protected
branch: 'master'
allowlist: TheShuEd,bot*
# the followings are the optional inputs - If the optional inputs are not given, then default values will be taken
#custom-pr-sign-comment: 'The signature to be committed in order to sign the CLA'
#custom-allsigned-prcomment: 'pull request comment when all contributors has signed, defaults to **CLA Assistant Lite bot** All Contributors have signed the CLA.'

View File

@@ -1,21 +0,0 @@
name: Check Merge Conflicts
on:
pull_request_target:
types:
- opened
- synchronize
- reopened
- ready_for_review
jobs:
Label:
if: ( github.event.pull_request.draft == false ) && ( github.actor != 'PJBot' )
runs-on: ubuntu-latest
steps:
- name: Check for Merge Conflicts
uses: eps1lon/actions-label-merge-conflict@v3.0.0
with:
dirtyLabel: "Merge Conflict"
repoToken: "${{ secrets.GITHUB_TOKEN }}"
commentOnDirty: "This pull request has conflicts, please resolve those before we can evaluate the pull request."

21
.github/workflows/labeler-conflict.yml vendored Normal file
View File

@@ -0,0 +1,21 @@
name: Check Merge Conflicts
on:
pull_request_target:
types:
- opened
- synchronize
- reopened
- ready_for_review
jobs:
Label:
if: ( github.event.pull_request.draft == false ) && ( github.actor != 'PJBot' )
runs-on: ubuntu-latest
steps:
- name: Check for Merge Conflicts
uses: eps1lon/actions-label-merge-conflict@v3.0.0
with:
dirtyLabel: "S: Merge Conflict"
repoToken: "${{ secrets.GITHUB_TOKEN }}"
commentOnDirty: "This pull request has conflicts, please resolve those before we can evaluate the pull request."

View File

@@ -10,7 +10,7 @@ jobs:
steps:
- uses: actions-ecosystem/action-add-labels@v1
with:
labels: "Status: Needs Review"
labels: "S: Needs Review"
- uses: actions-ecosystem/action-remove-labels@v1
with:
labels: "Status: Awaiting Changes"
labels: "S: Awaiting Changes"

23
.github/workflows/labeler-review.yml vendored Normal file
View File

@@ -0,0 +1,23 @@
name: "Labels: Approved"
on:
pull_request_review:
types: [submitted]
jobs:
add_label:
# Change the repository name after you've made sure the team name is correct for your fork!
if: ${{ (github.repository == 'space-wizards/space-station-14') && (github.event.review.state == 'APPROVED') }}
permissions:
contents: read
pull-requests: write
runs-on: ubuntu-latest
steps:
- uses: tspascoal/get-user-teams-membership@v3
id: checkUserMember
with:
username: ${{ github.actor }}
team: "content-maintainers,junior-maintainers"
GITHUB_TOKEN: ${{ secrets.LABELER_PAT }}
- if: ${{ steps.checkUserMember.outputs.isTeamMember == 'true' }}
uses: actions-ecosystem/action-add-labels@v1
with:
labels: "S: Approved"

20
.github/workflows/labeler-size.yml vendored Normal file
View File

@@ -0,0 +1,20 @@
name: "Labels: Size"
on: pull_request_target
jobs:
size-label:
runs-on: ubuntu-latest
steps:
- name: size-label
uses: "pascalgn/size-label-action@v0.5.5"
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
with:
# Custom size configuration
sizes: >
{
"0": "XS",
"10": "S",
"100": "M",
"1000": "L",
"5000": "XL"
}

16
.github/workflows/labeler-stable.yml vendored Normal file
View File

@@ -0,0 +1,16 @@
name: "Labels: Branch stable"
on:
pull_request_target:
types:
- opened
branches:
- 'stable'
jobs:
add_label:
runs-on: ubuntu-latest
steps:
- uses: actions-ecosystem/action-add-labels@v1
with:
labels: "Branch: Stable"

16
.github/workflows/labeler-staging.yml vendored Normal file
View File

@@ -0,0 +1,16 @@
name: "Labels: Branch staging"
on:
pull_request_target:
types:
- opened
branches:
- 'staging'
jobs:
add_label:
runs-on: ubuntu-latest
steps:
- uses: actions-ecosystem/action-add-labels@v1
with:
labels: "Branch: Staging"

View File

@@ -3,6 +3,8 @@
on:
issues:
types: [opened]
pull_request_target:
types: [opened]
jobs:
add_label:
@@ -11,4 +13,4 @@ jobs:
- uses: actions-ecosystem/action-add-labels@v1
if: join(github.event.issue.labels) == ''
with:
labels: "Status: Untriaged"
labels: "S: Untriaged"

View File

@@ -5,8 +5,8 @@ concurrency:
on:
workflow_dispatch:
schedule:
- cron: '0 10 * * *'
# schedule:
# - cron: '0 10 * * *'
jobs:
build:
@@ -22,7 +22,7 @@ jobs:
- name: Setup .NET Core
uses: actions/setup-dotnet@v3.2.0
with:
dotnet-version: 8.0.x
dotnet-version: 9.0.x
- name: Get Engine Tag
run: |
@@ -41,21 +41,10 @@ jobs:
- name: Package client
run: dotnet run --project Content.Packaging client --no-wipe-release
- name: Upload build artifact
id: artifact-upload-step
uses: actions/upload-artifact@v4
with:
name: build
path: release/*.zip
compression-level: 0
retention-days: 0
- name: Publish version
run: Tools/publish_github_artifact.py
run: Tools/publish_multi_request.py
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PUBLISH_TOKEN: ${{ secrets.PUBLISH_TOKEN }}
ARTIFACT_ID: ${{ steps.artifact-upload-step.outputs.artifact-id }}
GITHUB_REPOSITORY: ${{ vars.GITHUB_REPOSITORY }}
- name: Publish changelog (Discord)
@@ -68,8 +57,3 @@ jobs:
run: Tools/actions_changelog_rss.py
env:
CHANGELOG_RSS_KEY: ${{ secrets.CHANGELOG_RSS_KEY }}
- uses: geekyeggo/delete-artifact@v5
if: always()
with:
name: build

View File

@@ -2,7 +2,7 @@
on:
push:
branches: [ master, staging, trying ]
branches: [ master, staging, stable ]
paths:
- '**.cs'
- '**.csproj'
@@ -16,7 +16,7 @@ on:
merge_group:
pull_request:
types: [ opened, reopened, synchronize, ready_for_review ]
branches: [ master ]
branches: [ master, staging, stable ]
paths:
- '**.cs'
- '**.csproj'
@@ -51,7 +51,7 @@ jobs:
- name: Setup .NET Core
uses: actions/setup-dotnet@v3.2.0
with:
dotnet-version: 8.0.x
dotnet-version: 9.0.x
- name: Install dependencies
run: dotnet restore

View File

@@ -19,6 +19,8 @@ jobs:
- name: Get this week's Contributors
shell: pwsh
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
run: Tools/dump_github_contributors.ps1 > Resources/Credits/GitHub.txt
# TODO

View File

@@ -1,7 +1,7 @@
name: RGA schema validator
on:
push:
branches: [ master, staging, trying ]
branches: [ master, staging, stable ]
merge_group:
pull_request:
types: [ opened, reopened, synchronize, ready_for_review ]

View File

@@ -2,7 +2,7 @@ name: RSI Validator
on:
push:
branches: [ staging, trying ]
branches: [ master, staging, stable ]
merge_group:
pull_request:
paths:

View File

@@ -1,7 +1,7 @@
name: Map file schema validator
on:
push:
branches: [ master, staging, trying ]
branches: [ master, staging, stable ]
merge_group:
pull_request:
types: [ opened, reopened, synchronize, ready_for_review ]

View File

@@ -2,7 +2,7 @@ name: YAML Linter
on:
push:
branches: [ master, staging, trying ]
branches: [ master, staging, stable ]
merge_group:
pull_request:
types: [ opened, reopened, synchronize, ready_for_review ]
@@ -26,7 +26,7 @@ jobs:
- name: Setup .NET Core
uses: actions/setup-dotnet@v3.2.0
with:
dotnet-version: 8.0.x
dotnet-version: 9.0.x
- name: Install dependencies
run: dotnet restore
- name: Build

6
.vscode/tasks.json vendored
View File

@@ -10,7 +10,7 @@
"args": [
"build",
"/property:GenerateFullPaths=true", // Ask dotnet build to generate full paths for file names.
"/consoleloggerparameters:NoSummary" // Do not generate summary otherwise it leads to duplicate errors in Problems panel
"/consoleloggerparameters:'ForceNoAlign;NoSummary'" // Do not generate summary otherwise it leads to duplicate errors in Problems panel
],
"group": {
"kind": "build",
@@ -29,9 +29,9 @@
"build",
"${workspaceFolder}/Content.YAMLLinter/Content.YAMLLinter.csproj",
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary"
"/consoleloggerparameters:'ForceNoAlign;NoSummary'"
],
"problemMatcher": "$msCompile"
}
]
}
}

80
CLA.md Normal file
View File

@@ -0,0 +1,80 @@
# CrystallEdge Contributor License Agreement
### Version 1.0
##### Thank you for your interest in contributing to CrystallEdge ("We" or "Us").
##### The purpose of this contributor agreement ("Agreement") is for Your protection as a Contributor in addition to the protection of our community.
##### If you wish to contact us regarding licensing matters we can be reached at crystalledge14@gmail.com
## How to use this Contributor Agreement
##### If You are an employee and have created the Contribution as part of your employment, You need to have Your employer approve this Agreement or sign the Entity version of this document as well.
## 1. Definitions
- _**"You"**_ means the individual Copyright owner who Submits a Contribution to Us.
- _**"Contribution(s)"**_ means any work(s) of authorship, including any original modifications or additions to an existing work of authorships, Submitted by You to Us, where You are the author, holder of copyright, or Licensee under an Approved License specified by Us.
- _**"Copyright"**_ means all rights protecting works of authorship, including copyright, moral and neighboring rights, as appropriate, for the full term of their existence.
- **_"Material"_** means the software or documentation made available by Us to third parties. When this Agreement covers more than one software project, the Material means the software or documentation to which the Contributions were Submitted. After You Submit the Contributions, theymay be included in the Material.
- **_"Submit"_** means any act by which Contributions are transferred to Us by You by means of tangible or intangible media, including but not limited to electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, Us, but excluding any transfer that is conspicuously marked or otherwise designated in writing by You as "Not a Contribution."
- **_"Documentation"_** means any non-software portion of Contributions.
- **_"Approved License"_** means any License specified by CrystallEdge to be Approved or “Compatible” with the Project the Contributions are Submitted to.
## 2. Representations
### 2.1 Representation of legal age
##### You represent that you are older than 16 years of age, and if required by law, have authorization by a legal guardian to enter this agreement.
### 2.2 Assurance of legal rights
##### You represent and assure that You have sufficient rights to your Contribution and are legally entitled to enter this Agreement and grant the licenses specified below or an Approved license if Your Contribution or portions thereof are provided to You under one of the Approved Licenses.
### 2.3 Third Party Contributions
##### If You act on behalf of Your employer or other third party You represent that You are authorized and have the right to Submit the Contribution on behalf of Your employer or the mentioned third party.
### 2.4 Compliance and Non-infringement
##### You represent and warrant that each of your Contributions:
- Is and will remain an original work of authorship;
- to the best of Your knowledge, does not and will not infringe any third partys copyright, trademark, patent, or other intellectual property rights;
- In part or in whole, is licensed under one of the Approved Licenses or is an original work you have the rights to.
- includes the complete and correct details of any license, third-party license, patent, trademark, necessary attributions or other restriction associated with all or any part of Your Contribution in a conspicuous location;
- complies and will continue to comply with all applicable laws, including export control laws and regulations;
### 2.5 Mixed license Contributions
##### Subject to the terms and conditions of this agreement, specifically section 2, if there is a conflict between the grants in section 3, 4 and a Contribution under an Approved License, the terms of the Approved License supersede.
## 2.6 Employee or Representative Submissions
##### If You Submit as a company, You agree that a) Your employees, contractors, and representatives may Submit Contributions on Your behalf; and b) the individual signing this Agreement on Your behalf has the necessary authority including the authority to bind You to the Agreement.
## 3. License grant
### 3.1 Copyright license to Us
##### Subject to the terms and conditions of this Agreement, You hereby grant to Us a worldwide, royalty-free, NON-exclusive, perpetual and irrevocable (except as stated in Sections 2.4 and 8.2) license, with the right to transfer an unlimited number of non-exclusive licenses or to grant sublicenses to third parties, under the Copyright covering the Contributions to use the Contributions by all means, including, but not limited to:
- publish the Contributions,
- modify the Contributions,
- prepare derivative works based upon or containing the Contributions and/or to combine the Contributions with other Materials,
- reproduce the Contributions in original or modified form,
- distribute, to make the Contributions available to the public, display and publicly perform the Contributions in original or modified form.
## 3.2 Moral rights
##### Moral Rights remain unaffected to the extent they are recognized and not waivable by applicable law. Notwithstanding, You may add your name to the attribution mechanism customary used in the Materials you Contribute to, such as the header of the source code files of Your Contributions, and We will respect this attribution when using Your Contributions.
## 4. Patents
### 4.1 Patent license
##### Subject to the terms and conditions of this Agreement You hereby grant to Us and to recipients of Materials distributed by Us a worldwide, royalty-free, non-exclusive, perpetual and irrevocable (except as stated in Section 3.2) patent license, with the right to transfer an unlimited number of non-exclusive licenses or to grant sublicenses to third parties, to make, have made, use, sell, offer for sale, import and otherwise transfer the Contributions and the Contributions in combination with any Material (and portions of such combination). This license applies to all patents owned or controlled by You, whether already acquired or hereafter acquired, that would be infringed by making, having made, using, selling, offering for sale, importing or otherwise transferring of Your Contribution(s) alone or by combination of Your Contribution(s) with any Material.
### 4.2 Revocation of patent license
##### You reserve the right to revoke the patent license stated in section 3.1 if We make any infringement claim that is targeted at your Contribution(s) and not asserted for a Defensive Purpose. An assertion of claims of the Patents shall be considered for a "Defensive Purpose" if the claims are asserted against an entity that has filed, maintained, threatened, or voluntarily participated in a patent infringement lawsuit against Us or any of Our licensees.
## 5. Disclaimer
#### CONTRIBUTIONS ARE PROVIDED "AS IS". MORE PARTICULARLY, ALL EXPRESS OR IMPLIED WARRANTIES INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTY OF SATISFACTORY QUALITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE EXPRESSLY DISCLAIMED BY YOU TO US AND BY US TO YOU. TO THE EXTENT THAT ANY SUCH WARRANTIES CANNOT BE DISCLAIMED, SUCH WARRANTY IS LIMITED IN DURATION AND EXTENT TO THE MINIMUM PERIOD AND EXTENT PERMITTED BY LAW.
## 6. Consequential damage waiver
#### TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT WILL YOU OR WE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF ANTICIPATED SAVINGS, LOSS OF DATA, INDIRECT, SPECIAL, INCIDENTAL, CONSEQUENTIAL AND EXEMPLARY DAMAGES ARISING OUT OF THIS AGREEMENT REGARDLESS OF THE LEGAL OR EQUITABLE THEORY (CONTRACT, TORT OR OTHERWISE) UPON WHICH THE CLAIM IS BASED.
## 7. Approximation of disclaimer and damage waiver
#### IF THE DISCLAIMER AND DAMAGE WAIVER MENTIONED IN SECTION 4. AND SECTION 5. CANNOT BE GIVEN LEGAL EFFECT UNDER APPLICABLE LOCAL LAW, REVIEWING COURTS SHALL APPLY LOCAL LAW THAT MOST CLOSELY APPROXIMATES AN ABSOLUTE WAIVER OF ALL CIVIL OR CONTRACTUAL LIABILITY IN CONNECTION WITH THE CONTRIBUTION.
## 8. Term
##### 8.1 This Agreement shall come into effect upon Your acceptance of the terms and conditions, either by replying to the CLA Bot or by sending a signed copy to crystalledge14@gmail.com with the subject: "\<your name\> CLA"
##### 8.2 In the event of a termination of this Agreement Sections 4, 5, 6, 7 and 8 shall survive such termination and shall remain in full force thereafter. For the avoidance of doubt, Approved (sub)licenses that have already been granted for Contributions at the date of the termination shall remain in full force after the termination of this Agreement.
## 9. Miscellaneous
##### 9.1 This Agreement and all disputes, claims, actions, suits or other proceedings arising out of this agreement or relating in any way to it shall be governed by the laws of Russia excluding its private international law provisions.
##### 9.2 This Agreement sets out the entire agreement between You and Us for Your Contributions to Us and overrides all other agreements or understandings.
##### 9.3 In case of Your death, this agreement shall continue with Your heirs. In case of more than one heir, all heirs must exercise their rights through a commonly authorized person.
##### 9.4 If any provision of this Agreement is found void and unenforceable, such provision will be replaced to the extent possible with a provision that comes closest to the meaning of the original provision and that is enforceable. The terms and conditions set forth in this Agreement shall apply notwithstanding any failure of essential purpose of this Agreement or any limited remedy to the maximum extent possible under law.
##### 9.5 You agree to notify Us of any facts or circumstances of which you become aware that would make this Agreement inaccurate in any respect.
##### 9.6 Any Substantive modifications to this Agreement will result in a new version being created, to continue Contributing you must agree to the latest version of the Agreement, which supersedes any previous versions.
##### 9.7 CrystallEdge will provide notification of any new version of this agreement being created, if you do not agree to the new version of the Agreement the previous Agreement remains binding.

View File

@@ -46,7 +46,7 @@ public class MapLoadBenchmark
PoolManager.Shutdown();
}
public static readonly string[] MapsSource = { "Empty", "Box", "Bagel", "Dev", "CentComm", "Atlas", "Core", "TestTeg", "Saltern", "Packed", "Omega", "Cluster", "Reach", "Origin", "Meta", "Marathon", "Europa", "MeteorArena", "Fland", "Barratry", "Oasis" };
public static readonly string[] MapsSource = { "Empty", "Satlern", "Box", "Bagel", "Dev", "CentComm", "Core", "TestTeg", "Packed", "Omega", "Reach", "Meta", "Marathon", "MeteorArena", "Fland", "Oasis", "Cog" };
[ParamsSource(nameof(MapsSource))]
public string Map;

View File

@@ -88,8 +88,9 @@ namespace Content.Client.Access.UI
button.Disabled = !interfaceEnabled;
if (interfaceEnabled)
{
button.Pressed = state.TargetAccessReaderIdAccessList?.Contains(accessName) ?? false;
button.Disabled = (!state.AllowedModifyAccessList?.Contains(accessName)) ?? true;
// Explicit cast because Rider gives a false error otherwise.
button.Pressed = state.TargetAccessReaderIdAccessList?.Contains((ProtoId<AccessLevelPrototype>) accessName) ?? false;
button.Disabled = (!state.AllowedModifyAccessList?.Contains((ProtoId<AccessLevelPrototype>) accessName)) ?? true;
}
}
}

View File

@@ -38,7 +38,7 @@ namespace Content.Client.Access.UI
SendMessage(new AgentIDCardJobChangedMessage(newJob));
}
public void OnJobIconChanged(ProtoId<StatusIconPrototype> newJobIconId)
public void OnJobIconChanged(ProtoId<JobIconPrototype> newJobIconId)
{
SendMessage(new AgentIDCardJobIconChangedMessage(newJobIconId));
}
@@ -55,7 +55,7 @@ namespace Content.Client.Access.UI
_window.SetCurrentName(cast.CurrentName);
_window.SetCurrentJob(cast.CurrentJob);
_window.SetAllowedIcons(cast.Icons, cast.CurrentJobIconId);
_window.SetAllowedIcons(cast.CurrentJobIconId);
}
}
}

View File

@@ -6,12 +6,9 @@
<LineEdit Name="NameLineEdit" />
<Label Name="CurrentJob" Text="{Loc 'agent-id-card-current-job'}" />
<LineEdit Name="JobLineEdit" />
<BoxContainer Orientation="Horizontal">
<Label Text="{Loc 'agent-id-card-job-icon-label'}"/>
<Control HorizontalExpand="True" MinSize="50 0"/>
<GridContainer Name="IconGrid" Columns="10">
<!-- Job icon buttons are generated in the code -->
</GridContainer>
</BoxContainer>
<Label Text="{Loc 'agent-id-card-job-icon-label'}"/>
<GridContainer Name="IconGrid" Columns="10">
<!-- Job icon buttons are generated in the code -->
</GridContainer>
</BoxContainer>
</DefaultWindow>

View File

@@ -8,6 +8,7 @@ using Robust.Client.UserInterface.CustomControls;
using Robust.Client.UserInterface.XAML;
using Robust.Shared.Prototypes;
using System.Numerics;
using System.Linq;
namespace Content.Client.Access.UI
{
@@ -23,7 +24,7 @@ namespace Content.Client.Access.UI
public event Action<string>? OnNameChanged;
public event Action<string>? OnJobChanged;
public event Action<ProtoId<StatusIconPrototype>>? OnJobIconChanged;
public event Action<ProtoId<JobIconPrototype>>? OnJobIconChanged;
public AgentIDCardWindow()
{
@@ -38,17 +39,16 @@ namespace Content.Client.Access.UI
JobLineEdit.OnFocusExit += e => OnJobChanged?.Invoke(e.Text);
}
public void SetAllowedIcons(HashSet<ProtoId<StatusIconPrototype>> icons, string currentJobIconId)
public void SetAllowedIcons(string currentJobIconId)
{
IconGrid.DisposeAllChildren();
var jobIconGroup = new ButtonGroup();
var jobIconButtonGroup = new ButtonGroup();
var i = 0;
foreach (var jobIconId in icons)
var icons = _prototypeManager.EnumeratePrototypes<JobIconPrototype>().Where(icon => icon.AllowSelection).ToList();
icons.Sort((x, y) => string.Compare(x.LocalizedJobName, y.LocalizedJobName, StringComparison.CurrentCulture));
foreach (var jobIcon in icons)
{
if (!_prototypeManager.TryIndex(jobIconId, out var jobIcon))
continue;
String styleBase = StyleBase.ButtonOpenBoth;
var modulo = i % JobIconColumnCount;
if (modulo == 0)
@@ -62,8 +62,9 @@ namespace Content.Client.Access.UI
Access = AccessLevel.Public,
StyleClasses = { styleBase },
MaxSize = new Vector2(42, 28),
Group = jobIconGroup,
Pressed = i == 0,
Group = jobIconButtonGroup,
Pressed = currentJobIconId == jobIcon.ID,
ToolTip = jobIcon.LocalizedJobName
};
// Generate buttons textures
@@ -78,9 +79,6 @@ namespace Content.Client.Access.UI
jobIconButton.OnPressed += _ => OnJobIconChanged?.Invoke(jobIcon.ID);
IconGrid.AddChild(jobIconButton);
if (jobIconId.Equals(currentJobIconId))
jobIconButton.Pressed = true;
i++;
}
}

View File

@@ -48,6 +48,30 @@ namespace Content.Client.Actions
SubscribeLocalEvent<InstantActionComponent, ComponentHandleState>(OnInstantHandleState);
SubscribeLocalEvent<EntityTargetActionComponent, ComponentHandleState>(OnEntityTargetHandleState);
SubscribeLocalEvent<WorldTargetActionComponent, ComponentHandleState>(OnWorldTargetHandleState);
SubscribeLocalEvent<EntityWorldTargetActionComponent, ComponentHandleState>(OnEntityWorldTargetHandleState);
}
public override void FrameUpdate(float frameTime)
{
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);
}
}
private void OnInstantHandleState(EntityUid uid, InstantActionComponent component, ref ComponentHandleState args)
@@ -76,12 +100,26 @@ namespace Content.Client.Actions
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;
@@ -112,6 +150,8 @@ namespace Content.Client.Actions
if (!ResolveActionData(actionId, ref action))
return;
action.IconColor = action.Charges < 1 ? action.DisabledIconColor : action.OriginalIconColor;
base.UpdateAction(actionId, action);
if (_playerManager.LocalEntity != action.AttachedEntity)
return;
@@ -218,13 +258,13 @@ namespace Content.Client.Actions
public void LinkAllActions(ActionsComponent? actions = null)
{
if (_playerManager.LocalEntity is not { } user ||
!Resolve(user, ref actions, false))
{
return;
}
if (_playerManager.LocalEntity is not { } user ||
!Resolve(user, ref actions, false))
{
return;
}
LinkActions?.Invoke(actions);
LinkActions?.Invoke(actions);
}
public override void Shutdown()
@@ -246,12 +286,6 @@ namespace Content.Client.Actions
if (action.ClientExclusive)
{
if (instantAction.Event != null)
{
instantAction.Event.Performer = user;
instantAction.Event.Action = actionId;
}
PerformAction(user, actions, actionId, instantAction, instantAction.Event, GameTiming.CurTime);
}
else
@@ -293,7 +327,7 @@ namespace Content.Client.Actions
continue;
var action = _serialization.Read<BaseActionComponent>(actionNode, notNullableOverride: true);
var actionId = Spawn(null);
var actionId = Spawn();
AddComp(actionId, action);
AddActionDirect(user, actionId);

View File

@@ -101,7 +101,7 @@ namespace Content.Client.Actions.UI
{
var duration = Cooldown.Value.End - Cooldown.Value.Start;
if (!FormattedMessage.TryFromMarkup($"[color=#a10505]{(int) duration.TotalSeconds} sec cooldown ({(int) timeLeft.TotalSeconds + 1} sec remaining)[/color]", out var markup))
if (!FormattedMessage.TryFromMarkup(Loc.GetString("ui-actionslot-duration", ("duration", (int)duration.TotalSeconds), ("timeLeft", (int)timeLeft.TotalSeconds + 1)), out var markup))
return;
_cooldownLabel.SetMessage(markup);

View File

@@ -1,73 +1,100 @@
using System.Linq;
using System.Numerics;
using Content.Client.Administration.Systems;
using Content.Shared.CCVar;
using Content.Shared.Mind;
using Robust.Client.Graphics;
using Robust.Client.ResourceManagement;
using Robust.Client.UserInterface;
using Robust.Shared.Configuration;
using Robust.Shared.Enums;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
using Robust.Shared.Maths;
using Robust.Shared.Prototypes;
namespace Content.Client.Administration
namespace Content.Client.Administration;
internal sealed class AdminNameOverlay : Overlay
{
internal sealed class AdminNameOverlay : Overlay
[Dependency] private readonly IConfigurationManager _config = default!;
private readonly AdminSystem _system;
private readonly IEntityManager _entityManager;
private readonly IEyeManager _eyeManager;
private readonly EntityLookupSystem _entityLookup;
private readonly IUserInterfaceManager _userInterfaceManager;
private readonly Font _font;
//TODO make this adjustable via GUI
private readonly ProtoId<RoleTypePrototype>[] _filter =
["SoloAntagonist", "TeamAntagonist", "SiliconAntagonist", "FreeAgent"];
private readonly string _antagLabelClassic = Loc.GetString("admin-overlay-antag-classic");
private readonly Color _antagColorClassic = Color.OrangeRed;
public AdminNameOverlay(AdminSystem system, IEntityManager entityManager, IEyeManager eyeManager, IResourceCache resourceCache, EntityLookupSystem entityLookup, IUserInterfaceManager userInterfaceManager)
{
private readonly AdminSystem _system;
private readonly IEntityManager _entityManager;
private readonly IEyeManager _eyeManager;
private readonly EntityLookupSystem _entityLookup;
private readonly Font _font;
IoCManager.InjectDependencies(this);
public AdminNameOverlay(AdminSystem system, IEntityManager entityManager, IEyeManager eyeManager, IResourceCache resourceCache, EntityLookupSystem entityLookup)
_system = system;
_entityManager = entityManager;
_eyeManager = eyeManager;
_entityLookup = entityLookup;
_userInterfaceManager = userInterfaceManager;
ZIndex = 200;
_font = new VectorFont(resourceCache.GetResource<FontResource>("/Fonts/NotoSans/NotoSans-Regular.ttf"), 10);
}
public override OverlaySpace Space => OverlaySpace.ScreenSpace;
protected override void Draw(in OverlayDrawArgs args)
{
var viewport = args.WorldAABB;
//TODO make this adjustable via GUI
var classic = _config.GetCVar(CCVars.AdminOverlayClassic);
foreach (var playerInfo in _system.PlayerList)
{
_system = system;
_entityManager = entityManager;
_eyeManager = eyeManager;
_entityLookup = entityLookup;
ZIndex = 200;
_font = new VectorFont(resourceCache.GetResource<FontResource>("/Fonts/NotoSans/NotoSans-Regular.ttf"), 10);
}
var entity = _entityManager.GetEntity(playerInfo.NetEntity);
public override OverlaySpace Space => OverlaySpace.ScreenSpace;
protected override void Draw(in OverlayDrawArgs args)
{
var viewport = args.WorldAABB;
foreach (var playerInfo in _system.PlayerList)
// Otherwise the entity can not exist yet
if (entity == null || !_entityManager.EntityExists(entity))
{
var entity = _entityManager.GetEntity(playerInfo.NetEntity);
// Otherwise the entity can not exist yet
if (entity == null || !_entityManager.EntityExists(entity))
{
continue;
}
// if not on the same map, continue
if (_entityManager.GetComponent<TransformComponent>(entity.Value).MapID != _eyeManager.CurrentMap)
{
continue;
}
var aabb = _entityLookup.GetWorldAABB(entity.Value);
// if not on screen, continue
if (!aabb.Intersects(in viewport))
{
continue;
}
var lineoffset = new Vector2(0f, 11f);
var screenCoordinates = _eyeManager.WorldToScreen(aabb.Center +
new Angle(-_eyeManager.CurrentEye.Rotation).RotateVec(
aabb.TopRight - aabb.Center)) + new Vector2(1f, 7f);
if (playerInfo.Antag)
{
args.ScreenHandle.DrawString(_font, screenCoordinates + (lineoffset * 2), "ANTAG", Color.OrangeRed);
}
args.ScreenHandle.DrawString(_font, screenCoordinates+lineoffset, playerInfo.Username, playerInfo.Connected ? Color.Yellow : Color.White);
args.ScreenHandle.DrawString(_font, screenCoordinates, playerInfo.CharacterName, playerInfo.Connected ? Color.Aquamarine : Color.White);
continue;
}
// if not on the same map, continue
if (_entityManager.GetComponent<TransformComponent>(entity.Value).MapID != args.MapId)
{
continue;
}
var aabb = _entityLookup.GetWorldAABB(entity.Value);
// if not on screen, continue
if (!aabb.Intersects(in viewport))
{
continue;
}
var uiScale = _userInterfaceManager.RootControl.UIScale;
var lineoffset = new Vector2(0f, 11f) * uiScale;
var screenCoordinates = _eyeManager.WorldToScreen(aabb.Center +
new Angle(-_eyeManager.CurrentEye.Rotation).RotateVec(
aabb.TopRight - aabb.Center)) + new Vector2(1f, 7f);
if (classic && playerInfo.Antag)
{
args.ScreenHandle.DrawString(_font, screenCoordinates + (lineoffset * 2), _antagLabelClassic, uiScale, _antagColorClassic);
}
else if (!classic && _filter.Contains(playerInfo.RoleProto.ID))
{
var label = Loc.GetString(playerInfo.RoleProto.Name).ToUpper();
var color = playerInfo.RoleProto.Color;
args.ScreenHandle.DrawString(_font, screenCoordinates + (lineoffset * 2), label, uiScale, color);
}
args.ScreenHandle.DrawString(_font, screenCoordinates + lineoffset, playerInfo.Username, uiScale, playerInfo.Connected ? Color.Yellow : Color.White);
args.ScreenHandle.DrawString(_font, screenCoordinates, playerInfo.CharacterName, uiScale, playerInfo.Connected ? Color.Aquamarine : Color.White);
}
}
}

View File

@@ -1,6 +1,8 @@
using Content.Client.Administration.Managers;
using Robust.Client.Graphics;
using Robust.Client.ResourceManagement;
using Robust.Client.UserInterface;
using Robust.Shared.Configuration;
namespace Content.Client.Administration.Systems
{
@@ -11,6 +13,7 @@ namespace Content.Client.Administration.Systems
[Dependency] private readonly IClientAdminManager _adminManager = default!;
[Dependency] private readonly IEyeManager _eyeManager = default!;
[Dependency] private readonly EntityLookupSystem _entityLookup = default!;
[Dependency] private readonly IUserInterfaceManager _userInterfaceManager = default!;
private AdminNameOverlay _adminNameOverlay = default!;
@@ -19,7 +22,7 @@ namespace Content.Client.Administration.Systems
private void InitializeOverlay()
{
_adminNameOverlay = new AdminNameOverlay(this, EntityManager, _eyeManager, _resourceCache, _entityLookup);
_adminNameOverlay = new AdminNameOverlay(this, EntityManager, _eyeManager, _resourceCache, _entityLookup, _userInterfaceManager);
_adminManager.AdminStatusUpdated += OnAdminStatusUpdated;
}

View File

@@ -6,8 +6,7 @@
xmlns:tabs="clr-namespace:Content.Client.Administration.UI.Tabs"
xmlns:playerTab="clr-namespace:Content.Client.Administration.UI.Tabs.PlayerTab"
xmlns:objectsTab="clr-namespace:Content.Client.Administration.UI.Tabs.ObjectsTab"
xmlns:panic="clr-namespace:Content.Client.Administration.UI.Tabs.PanicBunkerTab"
xmlns:baby="clr-namespace:Content.Client.Administration.UI.Tabs.BabyJailTab">
xmlns:panic="clr-namespace:Content.Client.Administration.UI.Tabs.PanicBunkerTab">
<TabContainer Name="MasterTabContainer">
<adminTab:AdminTab />
<adminbusTab:AdminbusTab />
@@ -15,7 +14,6 @@
<tabs:RoundTab />
<tabs:ServerTab />
<panic:PanicBunkerTab Name="PanicBunkerControl" Access="Public" />
<baby:BabyJailTab Name="BabyJailControl" Access="Public" />
<playerTab:PlayerTab Name="PlayerTabControl" Access="Public" />
<objectsTab:ObjectsTab Name="ObjectsTabControl" Access="Public" />
</TabContainer>

View File

@@ -21,10 +21,6 @@ public sealed partial class AdminMenuWindow : DefaultWindow
MasterTabContainer.SetTabTitle((int) TabIndex.Round, Loc.GetString("admin-menu-round-tab"));
MasterTabContainer.SetTabTitle((int) TabIndex.Server, Loc.GetString("admin-menu-server-tab"));
MasterTabContainer.SetTabTitle((int) TabIndex.PanicBunker, Loc.GetString("admin-menu-panic-bunker-tab"));
/*
* TODO: Remove baby jail code once a more mature gateway process is established. This code is only being issued as a stopgap to help with potential tiding in the immediate future.
*/
MasterTabContainer.SetTabTitle((int) TabIndex.BabyJail, Loc.GetString("admin-menu-baby-jail-tab"));
MasterTabContainer.SetTabTitle((int) TabIndex.Players, Loc.GetString("admin-menu-players-tab"));
MasterTabContainer.SetTabTitle((int) TabIndex.Objects, Loc.GetString("admin-menu-objects-tab"));
MasterTabContainer.OnTabChanged += OnTabChanged;
@@ -52,7 +48,6 @@ public sealed partial class AdminMenuWindow : DefaultWindow
Round,
Server,
PanicBunker,
BabyJail,
Players,
Objects,
}

View File

@@ -1,4 +1,4 @@
using Content.Shared.Administration.Notes;
using Content.Shared.Administration.Notes;
using Robust.Client.AutoGenerated;
using Robust.Client.UserInterface;
using Robust.Client.UserInterface.XAML;
@@ -13,7 +13,7 @@ public sealed partial class AdminMessagePopupMessage : Control
{
RobustXamlLoader.Load(this);
Admin.SetMessage(FormattedMessage.FromMarkup(Loc.GetString(
Admin.SetMessage(FormattedMessage.FromMarkupOrThrow(Loc.GetString(
"admin-notes-message-admin",
("admin", message.AdminName),
("date", message.AddedOn.ToLocalTime()))));

View File

@@ -49,7 +49,7 @@ public sealed partial class AdminMessagePopupWindow : Control
MessageContainer.AddChild(new AdminMessagePopupMessage(message));
}
Description.SetMessage(FormattedMessage.FromMarkup(Loc.GetString("admin-notes-message-desc", ("count", state.Messages.Length))));
Description.SetMessage(FormattedMessage.FromMarkupOrThrow(Loc.GetString("admin-notes-message-desc", ("count", state.Messages.Length))));
}
private void OnDismissButtonPressed(BaseButton.ButtonEventArgs obj)

View File

@@ -1,4 +1,5 @@
using Robust.Client.AutoGenerated;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.CustomControls;
using Robust.Client.UserInterface.XAML;

View File

@@ -22,11 +22,11 @@ namespace Content.Client.Administration.UI.BanPanel;
[GenerateTypedNameReferences]
public sealed partial class BanPanel : DefaultWindow
{
public event Action<string?, (IPAddress, int)?, bool, byte[]?, bool, uint, string, NoteSeverity, string[]?, bool>? BanSubmitted;
public event Action<string?, (IPAddress, int)?, bool, ImmutableTypedHwid?, bool, uint, string, NoteSeverity, string[]?, bool>? BanSubmitted;
public event Action<string>? PlayerChanged;
private string? PlayerUsername { get; set; }
private (IPAddress, int)? IpAddress { get; set; }
private byte[]? Hwid { get; set; }
private ImmutableTypedHwid? Hwid { get; set; }
private double TimeEntered { get; set; }
private uint Multiplier { get; set; }
private bool HasBanFlag { get; set; }
@@ -371,9 +371,8 @@ public sealed partial class BanPanel : DefaultWindow
private void OnHwidChanged()
{
var hwidString = HwidLine.Text;
var length = 3 * (hwidString.Length / 4) - hwidString.TakeLast(2).Count(c => c == '=');
Hwid = new byte[length];
if (HwidCheckbox.Pressed && !(string.IsNullOrEmpty(hwidString) && LastConnCheckbox.Pressed) && !Convert.TryFromBase64String(hwidString, Hwid, out _))
ImmutableTypedHwid? hwid = null;
if (HwidCheckbox.Pressed && !(string.IsNullOrEmpty(hwidString) && LastConnCheckbox.Pressed) && !ImmutableTypedHwid.TryParse(hwidString, out hwid))
{
ErrorLevel |= ErrorLevelEnum.Hwid;
HwidLine.ModulateSelfOverride = Color.Red;
@@ -390,7 +389,7 @@ public sealed partial class BanPanel : DefaultWindow
Hwid = null;
return;
}
Hwid = Convert.FromHexString(hwidString);
Hwid = hwid;
}
private void OnTypeChanged()

View File

@@ -11,9 +11,8 @@ using Robust.Client.UserInterface;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.XAML;
using Robust.Shared.Network;
using Robust.Shared.Utility;
using Robust.Shared.Timing;
using Robust.Shared.Configuration;
using Robust.Shared.Utility;
namespace Content.Client.Administration.UI.Bwoink
{
@@ -88,26 +87,51 @@ namespace Content.Client.Administration.UI.Bwoink
var ach = AHelpHelper.EnsurePanel(a.SessionId);
var bch = AHelpHelper.EnsurePanel(b.SessionId);
// First, sort by unread. Any chat with unread messages appears first. We just sort based on unread
// status, not number of unread messages, so that more recent unread messages take priority.
// Pinned players first
if (a.IsPinned != b.IsPinned)
return a.IsPinned ? -1 : 1;
// First, sort by unread. Any chat with unread messages appears first.
var aUnread = ach.Unread > 0;
var bUnread = bch.Unread > 0;
if (aUnread != bUnread)
return aUnread ? -1 : 1;
// Sort by recent messages during the current round.
var aRecent = a.ActiveThisRound && ach.LastMessage != DateTime.MinValue;
var bRecent = b.ActiveThisRound && bch.LastMessage != DateTime.MinValue;
if (aRecent != bRecent)
return aRecent ? -1 : 1;
// Next, sort by connection status. Any disconnected players are grouped towards the end.
if (a.Connected != b.Connected)
return a.Connected ? -1 : 1;
// Next, group by whether or not the players have participated in this round.
// The ahelp window shows all players that have connected since server restart, this groups them all towards the bottom.
if (a.ActiveThisRound != b.ActiveThisRound)
return a.ActiveThisRound ? -1 : 1;
// Sort connected players by New Player status, then by Antag status
if (a.Connected && b.Connected)
{
var aNewPlayer = a.OverallPlaytime <= TimeSpan.FromMinutes(_cfg.GetCVar(CCVars.NewPlayerThreshold));
var bNewPlayer = b.OverallPlaytime <= TimeSpan.FromMinutes(_cfg.GetCVar(CCVars.NewPlayerThreshold));
if (aNewPlayer != bNewPlayer)
return aNewPlayer ? -1 : 1;
if (a.Antag != b.Antag)
return a.Antag ? -1 : 1;
}
// Sort disconnected players by participation in the round
if (!a.Connected && !b.Connected)
{
if (a.ActiveThisRound != b.ActiveThisRound)
return a.ActiveThisRound ? -1 : 1;
}
// Finally, sort by the most recent message.
return bch.LastMessage.CompareTo(ach.LastMessage);
};
Bans.OnPressed += _ =>
{
if (_currentPlayer is not null)
@@ -253,7 +277,20 @@ namespace Content.Client.Administration.UI.Bwoink
public void PopulateList()
{
// Maintain existing pin statuses
var pinnedPlayers = ChannelSelector.PlayerInfo.Where(p => p.IsPinned).ToDictionary(p => p.SessionId);
ChannelSelector.PopulateList();
// Restore pin statuses
foreach (var player in ChannelSelector.PlayerInfo)
{
if (pinnedPlayers.TryGetValue(player.SessionId, out var pinnedPlayer))
{
player.IsPinned = pinnedPlayer.IsPinned;
}
}
UpdateButtons();
}
}

View File

@@ -59,7 +59,7 @@ namespace Content.Client.Administration.UI.Bwoink
Unread++;
var formatted = new FormattedMessage(1);
formatted.AddMarkup($"[color=gray]{message.SentAt.ToShortTimeString()}[/color] {message.Text}");
formatted.AddMarkupOrThrow($"[color=gray]{message.SentAt.ToShortTimeString()}[/color] {message.Text}");
TextOutput.AddMessage(formatted);
LastMessage = message.SentAt;
}

View File

@@ -30,7 +30,11 @@ namespace Content.Client.Administration.UI.Bwoink
}
};
OnOpen += () => Bwoink.PopulateList();
OnOpen += () =>
{
Bwoink.ChannelSelector.StopFiltering();
Bwoink.PopulateList();
};
}
}
}

View File

@@ -4,154 +4,166 @@ using Content.Client.UserInterface.Controls;
using Content.Client.Verbs.UI;
using Content.Shared.Administration;
using Robust.Client.AutoGenerated;
using Robust.Client.GameObjects;
using Robust.Client.Graphics;
using Robust.Client.UserInterface;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.XAML;
using Robust.Shared.Input;
using Robust.Shared.Utility;
namespace Content.Client.Administration.UI.CustomControls
namespace Content.Client.Administration.UI.CustomControls;
[GenerateTypedNameReferences]
public sealed partial class PlayerListControl : BoxContainer
{
[GenerateTypedNameReferences]
public sealed partial class PlayerListControl : BoxContainer
private readonly AdminSystem _adminSystem;
private readonly IEntityManager _entManager;
private readonly IUserInterfaceManager _uiManager;
private PlayerInfo? _selectedPlayer;
private List<PlayerInfo> _playerList = new();
private List<PlayerInfo> _sortedPlayerList = new();
public Comparison<PlayerInfo>? Comparison;
public Func<PlayerInfo, string, string>? OverrideText;
public PlayerListControl()
{
private readonly AdminSystem _adminSystem;
private List<PlayerInfo> _playerList = new();
private readonly List<PlayerInfo> _sortedPlayerList = new();
public event Action<PlayerInfo?>? OnSelectionChanged;
public IReadOnlyList<PlayerInfo> PlayerInfo => _playerList;
public Func<PlayerInfo, string, string>? OverrideText;
public Comparison<PlayerInfo>? Comparison;
private IEntityManager _entManager;
private IUserInterfaceManager _uiManager;
private PlayerInfo? _selectedPlayer;
public PlayerListControl()
{
_entManager = IoCManager.Resolve<IEntityManager>();
_uiManager = IoCManager.Resolve<IUserInterfaceManager>();
_adminSystem = _entManager.System<AdminSystem>();
RobustXamlLoader.Load(this);
// Fill the Option data
PlayerListContainer.ItemPressed += PlayerListItemPressed;
PlayerListContainer.ItemKeyBindDown += PlayerListItemKeyBindDown;
PlayerListContainer.GenerateItem += GenerateButton;
PlayerListContainer.NoItemSelected += PlayerListNoItemSelected;
PopulateList(_adminSystem.PlayerList);
FilterLineEdit.OnTextChanged += _ => FilterList();
_adminSystem.PlayerListChanged += PopulateList;
BackgroundPanel.PanelOverride = new StyleBoxFlat {BackgroundColor = new Color(32, 32, 40)};
}
private void PlayerListNoItemSelected()
{
_selectedPlayer = null;
OnSelectionChanged?.Invoke(null);
}
private void PlayerListItemPressed(BaseButton.ButtonEventArgs? args, ListData? data)
{
if (args == null || data is not PlayerListData {Info: var selectedPlayer})
return;
if (selectedPlayer == _selectedPlayer)
return;
if (args.Event.Function != EngineKeyFunctions.UIClick)
return;
OnSelectionChanged?.Invoke(selectedPlayer);
_selectedPlayer = selectedPlayer;
// update label text. Only required if there is some override (e.g. unread bwoink count).
if (OverrideText != null && args.Button.Children.FirstOrDefault()?.Children?.FirstOrDefault() is Label label)
label.Text = GetText(selectedPlayer);
}
private void PlayerListItemKeyBindDown(GUIBoundKeyEventArgs? args, ListData? data)
{
if (args == null || data is not PlayerListData { Info: var selectedPlayer })
return;
if (args.Function != EngineKeyFunctions.UIRightClick || selectedPlayer.NetEntity == null)
return;
_uiManager.GetUIController<VerbMenuUIController>().OpenVerbMenu(selectedPlayer.NetEntity.Value, true);
args.Handle();
}
public void StopFiltering()
{
FilterLineEdit.Text = string.Empty;
}
private void FilterList()
{
_sortedPlayerList.Clear();
foreach (var info in _playerList)
{
var displayName = $"{info.CharacterName} ({info.Username})";
if (info.IdentityName != info.CharacterName)
displayName += $" [{info.IdentityName}]";
if (!string.IsNullOrEmpty(FilterLineEdit.Text)
&& !displayName.ToLowerInvariant().Contains(FilterLineEdit.Text.Trim().ToLowerInvariant()))
continue;
_sortedPlayerList.Add(info);
}
if (Comparison != null)
_sortedPlayerList.Sort((a, b) => Comparison(a, b));
PlayerListContainer.PopulateList(_sortedPlayerList.Select(info => new PlayerListData(info)).ToList());
if (_selectedPlayer != null)
PlayerListContainer.Select(new PlayerListData(_selectedPlayer));
}
public void PopulateList(IReadOnlyList<PlayerInfo>? players = null)
{
players ??= _adminSystem.PlayerList;
_playerList = players.ToList();
if (_selectedPlayer != null && !_playerList.Contains(_selectedPlayer))
_selectedPlayer = null;
FilterList();
}
private string GetText(PlayerInfo info)
{
var text = $"{info.CharacterName} ({info.Username})";
if (OverrideText != null)
text = OverrideText.Invoke(info, text);
return text;
}
private void GenerateButton(ListData data, ListContainerButton button)
{
if (data is not PlayerListData { Info: var info })
return;
button.AddChild(new BoxContainer
{
Orientation = LayoutOrientation.Vertical,
Children =
{
new Label
{
ClipText = true,
Text = GetText(info)
}
}
});
button.AddStyleClass(ListContainer.StyleClassListContainerButton);
}
_entManager = IoCManager.Resolve<IEntityManager>();
_uiManager = IoCManager.Resolve<IUserInterfaceManager>();
_adminSystem = _entManager.System<AdminSystem>();
RobustXamlLoader.Load(this);
// Fill the Option data
PlayerListContainer.ItemPressed += PlayerListItemPressed;
PlayerListContainer.ItemKeyBindDown += PlayerListItemKeyBindDown;
PlayerListContainer.GenerateItem += GenerateButton;
PlayerListContainer.NoItemSelected += PlayerListNoItemSelected;
PopulateList(_adminSystem.PlayerList);
FilterLineEdit.OnTextChanged += _ => FilterList();
_adminSystem.PlayerListChanged += PopulateList;
BackgroundPanel.PanelOverride = new StyleBoxFlat { BackgroundColor = new Color(32, 32, 40) };
}
public record PlayerListData(PlayerInfo Info) : ListData;
public IReadOnlyList<PlayerInfo> PlayerInfo => _playerList;
public event Action<PlayerInfo?>? OnSelectionChanged;
private void PlayerListNoItemSelected()
{
_selectedPlayer = null;
OnSelectionChanged?.Invoke(null);
}
private void PlayerListItemPressed(BaseButton.ButtonEventArgs? args, ListData? data)
{
if (args == null || data is not PlayerListData { Info: var selectedPlayer })
return;
if (selectedPlayer == _selectedPlayer)
return;
if (args.Event.Function != EngineKeyFunctions.UIClick)
return;
OnSelectionChanged?.Invoke(selectedPlayer);
_selectedPlayer = selectedPlayer;
// update label text. Only required if there is some override (e.g. unread bwoink count).
if (OverrideText != null && args.Button.Children.FirstOrDefault()?.Children?.FirstOrDefault() is Label label)
label.Text = GetText(selectedPlayer);
}
private void PlayerListItemKeyBindDown(GUIBoundKeyEventArgs? args, ListData? data)
{
if (args == null || data is not PlayerListData { Info: var selectedPlayer })
return;
if (args.Function != EngineKeyFunctions.UIRightClick || selectedPlayer.NetEntity == null)
return;
_uiManager.GetUIController<VerbMenuUIController>().OpenVerbMenu(selectedPlayer.NetEntity.Value, true);
args.Handle();
}
public void StopFiltering()
{
FilterLineEdit.Text = string.Empty;
}
private void FilterList()
{
_sortedPlayerList.Clear();
foreach (var info in _playerList)
{
var displayName = $"{info.CharacterName} ({info.Username})";
if (info.IdentityName != info.CharacterName)
displayName += $" [{info.IdentityName}]";
if (!string.IsNullOrEmpty(FilterLineEdit.Text)
&& !displayName.ToLowerInvariant().Contains(FilterLineEdit.Text.Trim().ToLowerInvariant()))
continue;
_sortedPlayerList.Add(info);
}
if (Comparison != null)
_sortedPlayerList.Sort((a, b) => Comparison(a, b));
PlayerListContainer.PopulateList(_sortedPlayerList.Select(info => new PlayerListData(info)).ToList());
if (_selectedPlayer != null)
PlayerListContainer.Select(new PlayerListData(_selectedPlayer));
}
public void PopulateList(IReadOnlyList<PlayerInfo>? players = null)
{
// Maintain existing pin statuses
var pinnedPlayers = _playerList.Where(p => p.IsPinned).ToDictionary(p => p.SessionId);
players ??= _adminSystem.PlayerList;
_playerList = players.ToList();
// Restore pin statuses
foreach (var player in _playerList)
{
if (pinnedPlayers.TryGetValue(player.SessionId, out var pinnedPlayer))
{
player.IsPinned = pinnedPlayer.IsPinned;
}
}
if (_selectedPlayer != null && !_playerList.Contains(_selectedPlayer))
_selectedPlayer = null;
FilterList();
}
private string GetText(PlayerInfo info)
{
var text = $"{info.CharacterName} ({info.Username})";
if (OverrideText != null)
text = OverrideText.Invoke(info, text);
return text;
}
private void GenerateButton(ListData data, ListContainerButton button)
{
if (data is not PlayerListData { Info: var info })
return;
var entry = new PlayerListEntry();
entry.Setup(info, OverrideText);
entry.OnPinStatusChanged += _ =>
{
FilterList();
};
button.AddChild(entry);
button.AddStyleClass(ListContainer.StyleClassListContainerButton);
}
}
public record PlayerListData(PlayerInfo Info) : ListData;

View File

@@ -0,0 +1,6 @@
<BoxContainer xmlns="https://spacestation14.io"
Orientation="Horizontal" HorizontalExpand="true">
<Label Name="PlayerEntryLabel" Text="" ClipText="True" HorizontalExpand="True" />
<TextureButton Name="PlayerEntryPinButton"
HorizontalAlignment="Right" />
</BoxContainer>

View File

@@ -0,0 +1,58 @@
using Content.Client.Stylesheets;
using Content.Shared.Administration;
using Robust.Client.AutoGenerated;
using Robust.Client.GameObjects;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.XAML;
using Robust.Shared.Utility;
namespace Content.Client.Administration.UI.CustomControls;
[GenerateTypedNameReferences]
public sealed partial class PlayerListEntry : BoxContainer
{
public PlayerListEntry()
{
RobustXamlLoader.Load(this);
}
public event Action<PlayerInfo>? OnPinStatusChanged;
public void Setup(PlayerInfo info, Func<PlayerInfo, string, string>? overrideText)
{
Update(info, overrideText);
PlayerEntryPinButton.OnPressed += HandlePinButtonPressed(info);
}
private Action<BaseButton.ButtonEventArgs> HandlePinButtonPressed(PlayerInfo info)
{
return args =>
{
info.IsPinned = !info.IsPinned;
UpdatePinButtonTexture(info.IsPinned);
OnPinStatusChanged?.Invoke(info);
};
}
private void Update(PlayerInfo info, Func<PlayerInfo, string, string>? overrideText)
{
PlayerEntryLabel.Text = overrideText?.Invoke(info, $"{info.CharacterName} ({info.Username})") ??
$"{info.CharacterName} ({info.Username})";
UpdatePinButtonTexture(info.IsPinned);
}
private void UpdatePinButtonTexture(bool isPinned)
{
if (isPinned)
{
PlayerEntryPinButton?.RemoveStyleClass(StyleNano.StyleClassPinButtonUnpinned);
PlayerEntryPinButton?.AddStyleClass(StyleNano.StyleClassPinButtonPinned);
}
else
{
PlayerEntryPinButton?.RemoveStyleClass(StyleNano.StyleClassPinButtonPinned);
PlayerEntryPinButton?.AddStyleClass(StyleNano.StyleClassPinButtonUnpinned);
}
}
}

View File

@@ -8,6 +8,7 @@
<Label Name="ExpiryLabel" Text="{Loc admin-note-editor-expiry-label}" Visible="False" />
<HistoryLineEdit Name="ExpiryLineEdit" PlaceHolder="{Loc admin-note-editor-expiry-placeholder}"
Visible="False" HorizontalExpand="True" />
<OptionButton Name="ExpiryLengthDropdown" Visible="False" />
</BoxContainer>
<BoxContainer Orientation="Horizontal" HorizontalExpand="True">
<OptionButton Name="TypeOption" HorizontalAlignment="Center" />

View File

@@ -17,6 +17,17 @@ public sealed partial class NoteEdit : FancyWindow
[Dependency] private readonly IGameTiming _gameTiming = default!;
[Dependency] private readonly IClientConsoleHost _console = default!;
private enum Multipliers
{
Minutes,
Hours,
Days,
Weeks,
Months,
Years,
Centuries
}
public event Action<int, NoteType, string, NoteSeverity?, bool, DateTime?>? SubmitPressed;
public NoteEdit(SharedAdminNote? note, string playerName, bool canCreate, bool canEdit)
@@ -31,6 +42,20 @@ public sealed partial class NoteEdit : FancyWindow
ResetSubmitButton();
// It's weird to use minutes as the IDs, but it works and makes sense kind of :)
ExpiryLengthDropdown.AddItem(Loc.GetString("admin-note-button-minutes"), (int) Multipliers.Minutes);
ExpiryLengthDropdown.AddItem(Loc.GetString("admin-note-button-hours"), (int) Multipliers.Hours);
ExpiryLengthDropdown.AddItem(Loc.GetString("admin-note-button-days"), (int) Multipliers.Days);
ExpiryLengthDropdown.AddItem(Loc.GetString("admin-note-button-weeks"), (int) Multipliers.Weeks);
ExpiryLengthDropdown.AddItem(Loc.GetString("admin-note-button-months"), (int) Multipliers.Months);
ExpiryLengthDropdown.AddItem(Loc.GetString("admin-note-button-years"), (int) Multipliers.Years);
ExpiryLengthDropdown.AddItem(Loc.GetString("admin-note-button-centuries"), (int) Multipliers.Centuries);
ExpiryLengthDropdown.OnItemSelected += OnLengthChanged;
ExpiryLengthDropdown.SelectId((int) Multipliers.Weeks);
ExpiryLineEdit.OnTextChanged += OnTextChanged;
TypeOption.AddItem(Loc.GetString("admin-note-editor-type-note"), (int) NoteType.Note);
TypeOption.AddItem(Loc.GetString("admin-note-editor-type-message"), (int) NoteType.Message);
TypeOption.AddItem(Loc.GetString("admin-note-editor-type-watchlist"), (int) NoteType.Watchlist);
@@ -134,6 +159,7 @@ public sealed partial class NoteEdit : FancyWindow
SecretCheckBox.Pressed = false;
SeverityOption.Disabled = false;
PermanentCheckBox.Pressed = true;
SubmitButton.Disabled = true;
UpdatePermanentCheckboxFields();
break;
case (int) NoteType.Message: // Message: these are shown to the player when they log on
@@ -172,8 +198,9 @@ public sealed partial class NoteEdit : FancyWindow
{
ExpiryLabel.Visible = !PermanentCheckBox.Pressed;
ExpiryLineEdit.Visible = !PermanentCheckBox.Pressed;
ExpiryLengthDropdown.Visible = !PermanentCheckBox.Pressed;
ExpiryLineEdit.Text = !PermanentCheckBox.Pressed ? DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") : string.Empty;
ExpiryLineEdit.Text = !PermanentCheckBox.Pressed ? 1.ToString() : string.Empty;
}
private void OnSecretPressed(BaseButton.ButtonEventArgs _)
@@ -187,6 +214,16 @@ public sealed partial class NoteEdit : FancyWindow
SeverityOption.SelectId(args.Id);
}
private void OnLengthChanged(OptionButton.ItemSelectedEventArgs args)
{
ExpiryLengthDropdown.SelectId(args.Id);
}
private void OnTextChanged(HistoryLineEdit.LineEditEventArgs args)
{
ParseExpiryTime();
}
private void OnSubmitButtonPressed(BaseButton.ButtonEventArgs args)
{
if (!ParseExpiryTime())
@@ -263,13 +300,24 @@ public sealed partial class NoteEdit : FancyWindow
return true;
}
if (string.IsNullOrWhiteSpace(ExpiryLineEdit.Text) || !DateTime.TryParse(ExpiryLineEdit.Text, out var result) || DateTime.UtcNow > result)
if (string.IsNullOrWhiteSpace(ExpiryLineEdit.Text) || !uint.TryParse(ExpiryLineEdit.Text, out var inputInt))
{
ExpiryLineEdit.ModulateSelfOverride = Color.Red;
return false;
}
ExpiryTime = result.ToUniversalTime();
var mult = ExpiryLengthDropdown.SelectedId switch
{
(int) Multipliers.Minutes => TimeSpan.FromMinutes(1).TotalMinutes,
(int) Multipliers.Hours => TimeSpan.FromHours(1).TotalMinutes,
(int) Multipliers.Days => TimeSpan.FromDays(1).TotalMinutes,
(int) Multipliers.Weeks => TimeSpan.FromDays(7).TotalMinutes,
(int) Multipliers.Months => TimeSpan.FromDays(30).TotalMinutes,
(int) Multipliers.Years => TimeSpan.FromDays(365).TotalMinutes,
(int) Multipliers.Centuries => TimeSpan.FromDays(36525).TotalMinutes,
_ => throw new ArgumentOutOfRangeException(nameof(ExpiryLengthDropdown.SelectedId), "Multiplier out of range :(")
};
ExpiryTime = DateTime.UtcNow.AddMinutes(inputInt * mult);
ExpiryLineEdit.ModulateSelfOverride = null;
return true;
}

View File

@@ -130,6 +130,7 @@ namespace Content.Client.Administration.UI
}
var title = string.IsNullOrWhiteSpace(popup.TitleEdit.Text) ? null : popup.TitleEdit.Text;
var suspended = popup.SuspendedCheckbox.Pressed;
if (popup.SourceData is { } src)
{
@@ -139,7 +140,8 @@ namespace Content.Client.Administration.UI
Title = title,
PosFlags = pos,
NegFlags = neg,
RankId = rank
RankId = rank,
Suspended = suspended,
});
}
else
@@ -152,7 +154,8 @@ namespace Content.Client.Administration.UI
Title = title,
PosFlags = pos,
NegFlags = neg,
RankId = rank
RankId = rank,
Suspended = suspended,
});
}
@@ -171,7 +174,7 @@ namespace Content.Client.Administration.UI
{
Id = src,
Flags = flags,
Name = name
Name = name,
});
}
else
@@ -351,6 +354,7 @@ namespace Content.Client.Administration.UI
public readonly OptionButton RankButton;
public readonly Button SaveButton;
public readonly Button? RemoveButton;
public readonly CheckBox SuspendedCheckbox;
public readonly Dictionary<AdminFlags, (Button inherit, Button sub, Button plus)> FlagButtons
= new();
@@ -381,6 +385,12 @@ namespace Content.Client.Administration.UI
RankButton = new OptionButton();
SaveButton = new Button { Text = Loc.GetString("permissions-eui-edit-admin-window-save-button"), HorizontalAlignment = HAlignment.Right };
SuspendedCheckbox = new CheckBox
{
Text = Loc.GetString("permissions-eui-edit-admin-window-suspended"),
Pressed = data?.Suspended ?? false,
};
RankButton.AddItem(Loc.GetString("permissions-eui-edit-admin-window-no-rank-button"), NoRank);
foreach (var (rId, rank) in ui._ranks)
{
@@ -488,7 +498,8 @@ namespace Content.Client.Administration.UI
{
nameControl,
TitleEdit,
RankButton
RankButton,
SuspendedCheckbox,
}
},
permGrid

View File

@@ -0,0 +1,36 @@
<ui:FancyWindow
xmlns="https://spacestation14.io"
xmlns:controls="clr-namespace:Content.Client.UserInterface.Controls"
xmlns:ui="clr-namespace:Content.Client.UserInterface.Controls"
Title="{Loc ban-panel-title}" MinSize="300 300">
<BoxContainer Orientation="Vertical">
<BoxContainer Orientation="Horizontal">
<Label Name="PlayerName"/>
<Button Name="UsernameCopyButton" Text="{Loc player-panel-copy-username}"/>
</BoxContainer>
<BoxContainer Orientation="Horizontal">
<Label Name="Whitelisted"/>
<controls:ConfirmButton Name="WhitelistToggle" Text="{Loc 'player-panel-false'}" Visible="False"></controls:ConfirmButton>
</BoxContainer>
<Label Name="Playtime"/>
<Label Name="Notes"/>
<Label Name="Bans"/>
<Label Name="RoleBans"/>
<Label Name="SharedConnections"/>
<BoxContainer Align="Center">
<GridContainer Rows="5">
<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="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"/>
</GridContainer>
</BoxContainer>
</BoxContainer>
</ui:FancyWindow>

View File

@@ -0,0 +1,132 @@
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;
namespace Content.Client.Administration.UI.PlayerPanel;
[GenerateTypedNameReferences]
public sealed partial class PlayerPanel : FancyWindow
{
private readonly IClientAdminManager _adminManager;
public event Action<string>? OnUsernameCopy;
public event Action<NetUserId?>? OnOpenNotes;
public event Action<NetUserId?>? OnOpenBans;
public event Action<NetUserId?>? OnAhelp;
public event Action<string?>? OnKick;
public event Action<NetUserId?>? OnOpenBanPanel;
public event Action<NetUserId?, bool>? OnWhitelistToggle;
public event Action? OnFreezeAndMuteToggle;
public event Action? OnFreeze;
public event Action? OnLogs;
public event Action? OnDelete;
public event Action? OnRejuvenate;
public NetUserId? TargetPlayer;
public string? TargetUsername;
private bool _isWhitelisted;
public PlayerPanel(IClientAdminManager 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();
}
public void SetUsername(string player)
{
Title = Loc.GetString("player-panel-title", ("player", player));
PlayerName.Text = Loc.GetString("player-panel-username", ("player", player));
}
public void SetWhitelisted(bool? whitelisted)
{
if (whitelisted == null)
{
Whitelisted.Text = null;
WhitelistToggle.Visible = false;
}
else
{
Whitelisted.Text = Loc.GetString("player-panel-whitelisted");
WhitelistToggle.Text = whitelisted.Value ? Loc.GetString("player-panel-true") : Loc.GetString("player-panel-false");
WhitelistToggle.Visible = true;
_isWhitelisted = whitelisted.Value;
}
}
public void SetBans(int? totalBans, int? totalRoleBans)
{
// If one value exists then so should the other.
DebugTools.Assert(totalBans.HasValue && totalRoleBans.HasValue || totalBans == null && totalRoleBans == null);
Bans.Text = totalBans != null ? Loc.GetString("player-panel-bans", ("totalBans", totalBans)) : null;
RoleBans.Text = totalRoleBans != null ? Loc.GetString("player-panel-rolebans", ("totalRoleBans", totalRoleBans)) : null;
}
public void SetNotes(int? totalNotes)
{
Notes.Text = totalNotes != null ? Loc.GetString("player-panel-notes", ("totalNotes", totalNotes)) : null;
}
public void SetSharedConnections(int sharedConnections)
{
SharedConnections.Text = Loc.GetString("player-panel-shared-connections", ("sharedConnections", sharedConnections));
}
public void SetPlaytime(TimeSpan playtime)
{
Playtime.Text = Loc.GetString("player-panel-playtime",
("days", playtime.Days),
("hours", playtime.Hours % 24),
("minutes", playtime.Minutes % (24 * 60)));
}
public void SetFrozen(bool canFreeze, bool frozen)
{
FreezeAndMuteToggleButton.Disabled = !canFreeze;
FreezeButton.Disabled = !canFreeze || frozen;
FreezeAndMuteToggleButton.Text = Loc.GetString(!frozen ? "player-panel-freeze-and-mute" : "player-panel-unfreeze");
}
public void SetAhelp(bool canAhelp)
{
AhelpButton.Disabled = !canAhelp;
}
public void SetButtons()
{
BanButton.Disabled = !_adminManager.CanCommand("banpanel");
KickButton.Disabled = !_adminManager.CanCommand("kick");
NotesButton.Disabled = !_adminManager.CanCommand("adminnotes");
ShowBansButton.Disabled = !_adminManager.CanCommand("banlist");
WhitelistToggle.Disabled =
!(_adminManager.CanCommand("whitelistadd") && _adminManager.CanCommand("whitelistremove"));
LogsButton.Disabled = !_adminManager.CanCommand("adminlogs");
RejuvenateButton.Disabled = !_adminManager.HasFlag(AdminFlags.Debug);
DeleteButton.Disabled = !_adminManager.HasFlag(AdminFlags.Debug);
}
}

View File

@@ -0,0 +1,72 @@
using Content.Client.Administration.Managers;
using Content.Client.Eui;
using Content.Shared.Administration;
using Content.Shared.Eui;
using JetBrains.Annotations;
using Robust.Client.Console;
using Robust.Client.UserInterface;
namespace Content.Client.Administration.UI.PlayerPanel;
[UsedImplicitly]
public sealed class PlayerPanelEui : BaseEui
{
[Dependency] private readonly IClientConsoleHost _console = default!;
[Dependency] private readonly IClientAdminManager _admin = default!;
[Dependency] private readonly IClipboardManager _clipboard = default!;
private PlayerPanel PlayerPanel { get; }
public PlayerPanelEui()
{
PlayerPanel = new PlayerPanel(_admin);
PlayerPanel.OnUsernameCopy += username => _clipboard.SetText(username);
PlayerPanel.OnOpenNotes += id => _console.ExecuteCommand($"adminnotes \"{id}\"");
// Kick command does not support GUIDs
PlayerPanel.OnKick += username => _console.ExecuteCommand($"kick \"{username}\"");
PlayerPanel.OnOpenBanPanel += id => _console.ExecuteCommand($"banpanel \"{id}\"");
PlayerPanel.OnOpenBans += id => _console.ExecuteCommand($"banlist \"{id}\"");
PlayerPanel.OnAhelp += id => _console.ExecuteCommand($"openahelp \"{id}\"");
PlayerPanel.OnWhitelistToggle += (id, whitelisted) =>
{
_console.ExecuteCommand(whitelisted ? $"whitelistremove \"{id}\"" : $"whitelistadd \"{id}\"");
};
PlayerPanel.OnFreezeAndMuteToggle += () => SendMessage(new PlayerPanelFreezeMessage(true));
PlayerPanel.OnFreeze += () => SendMessage(new PlayerPanelFreezeMessage());
PlayerPanel.OnLogs += () => SendMessage(new PlayerPanelLogsMessage());
PlayerPanel.OnRejuvenate += () => SendMessage(new PlayerPanelRejuvenationMessage());
PlayerPanel.OnDelete+= () => SendMessage(new PlayerPanelDeleteMessage());
PlayerPanel.OnClose += () => SendMessage(new CloseEuiMessage());
}
public override void Opened()
{
PlayerPanel.OpenCentered();
}
public override void Closed()
{
PlayerPanel.Close();
}
public override void HandleState(EuiStateBase state)
{
if (state is not PlayerPanelEuiState s)
return;
PlayerPanel.TargetPlayer = s.Guid;
PlayerPanel.TargetUsername = s.Username;
PlayerPanel.SetUsername(s.Username);
PlayerPanel.SetPlaytime(s.Playtime);
PlayerPanel.SetBans(s.TotalBans, s.TotalRoleBans);
PlayerPanel.SetNotes(s.TotalNotes);
PlayerPanel.SetWhitelisted(s.Whitelisted);
PlayerPanel.SetSharedConnections(s.SharedConnections);
PlayerPanel.SetFrozen(s.CanFreeze, s.Frozen);
PlayerPanel.SetAhelp(s.CanAhelp);
PlayerPanel.SetButtons();
}
}

View File

@@ -1,13 +1,13 @@
using System.Linq;
using System.Numerics;
using Content.Client.UserInterface.Controls;
using Content.Shared.Preferences.Loadouts;
using Content.Shared.Roles;
using Robust.Client.AutoGenerated;
using Robust.Client.Console;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.CustomControls;
using Robust.Client.UserInterface.XAML;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
using Robust.Shared.Localization;
using Robust.Shared.Prototypes;
namespace Content.Client.Administration.UI.SetOutfit
@@ -64,9 +64,18 @@ namespace Content.Client.Administration.UI.SetOutfit
PopulateByFilter(SearchBar.Text);
}
private IEnumerable<StartingGearPrototype> GetPrototypes()
{
// Filter out any StartingGearPrototypes that belong to loadouts
var loadouts = _prototypeManager.EnumeratePrototypes<LoadoutPrototype>();
var loadoutGears = loadouts.Select(l => l.StartingGear);
return _prototypeManager.EnumeratePrototypes<StartingGearPrototype>()
.Where(p => !loadoutGears.Contains(p.ID));
}
private void PopulateList()
{
foreach (var gear in _prototypeManager.EnumeratePrototypes<StartingGearPrototype>())
foreach (var gear in GetPrototypes())
{
OutfitList.Add(GetItem(gear, OutfitList));
}
@@ -75,7 +84,7 @@ namespace Content.Client.Administration.UI.SetOutfit
private void PopulateByFilter(string filter)
{
OutfitList.Clear();
foreach (var gear in _prototypeManager.EnumeratePrototypes<StartingGearPrototype>())
foreach (var gear in GetPrototypes())
{
if (!string.IsNullOrEmpty(filter) &&
gear.ID.ToLowerInvariant().Contains(filter.Trim().ToLowerInvariant()))

View File

@@ -1,6 +0,0 @@
<controls:BabyJailStatusWindow
xmlns="https://spacestation14.io"
xmlns:controls="clr-namespace:Content.Client.Administration.UI.Tabs.BabyJailTab"
Title="{Loc admin-ui-baby-jail-window-title}">
<RichTextLabel Name="MessageLabel" Access="Public" />
</controls:BabyJailStatusWindow>

View File

@@ -1,21 +0,0 @@
using Content.Client.Message;
using Content.Client.UserInterface.Controls;
using Robust.Client.AutoGenerated;
using Robust.Client.UserInterface.CustomControls;
using Robust.Client.UserInterface.XAML;
namespace Content.Client.Administration.UI.Tabs.BabyJailTab;
/*
* TODO: Remove me once a more mature gateway process is established. This code is only being issued as a stopgap to help with potential tiding in the immediate future.
*/
[GenerateTypedNameReferences]
public sealed partial class BabyJailStatusWindow : FancyWindow
{
public BabyJailStatusWindow()
{
RobustXamlLoader.Load(this);
MessageLabel.SetMarkup(Loc.GetString("admin-ui-baby-jail-is-enabled"));
}
}

View File

@@ -1,26 +0,0 @@
<controls:BabyJailTab
xmlns="https://spacestation14.io"
xmlns:controls="clr-namespace:Content.Client.Administration.UI.Tabs.BabyJailTab"
xmlns:cc="clr-namespace:Content.Client.Administration.UI.CustomControls"
Margin="4">
<BoxContainer Orientation="Vertical">
<cc:CommandButton Name="EnabledButton" Command="babyjail" ToggleMode="True"
Text="{Loc admin-ui-baby-jail-disabled}"
ToolTip="{Loc admin-ui-baby-jail-tooltip}" />
<cc:CommandButton Name="ShowReasonButton" Command="babyjail_show_reason"
ToggleMode="True" Text="{Loc admin-ui-baby-jail-show-reason}"
ToolTip="{Loc admin-ui-baby-jail-show-reason-tooltip}" />
<BoxContainer Orientation="Vertical" Margin="0 10 0 0">
<BoxContainer Orientation="Horizontal" Margin="2">
<Label Text="{Loc admin-ui-baby-jail-max-account-age}" MinWidth="175" />
<LineEdit Name="MaxAccountAge" MinWidth="50" Margin="0 0 5 0" />
<Label Text="{Loc generic-minutes}" />
</BoxContainer>
<BoxContainer Orientation="Horizontal" Margin="2">
<Label Text="{Loc admin-ui-baby-jail-max-overall-minutes}" MinWidth="175" />
<LineEdit Name="MaxOverallMinutes" MinWidth="50" Margin="0 0 5 0" />
<Label Text="{Loc generic-minutes}" />
</BoxContainer>
</BoxContainer>
</BoxContainer>
</controls:BabyJailTab>

View File

@@ -1,75 +0,0 @@
using Content.Shared.Administration.Events;
using Robust.Client.AutoGenerated;
using Robust.Client.UserInterface;
using Robust.Client.UserInterface.XAML;
using Robust.Shared.Console;
/*
* TODO: Remove me once a more mature gateway process is established. This code is only being issued as a stopgap to help with potential tiding in the immediate future.
*/
namespace Content.Client.Administration.UI.Tabs.BabyJailTab;
[GenerateTypedNameReferences]
public sealed partial class BabyJailTab : Control
{
[Dependency] private readonly IConsoleHost _console = default!;
private string _maxAccountAge;
private string _maxOverallMinutes;
public BabyJailTab()
{
RobustXamlLoader.Load(this);
IoCManager.InjectDependencies(this);
MaxAccountAge.OnTextEntered += args => SendMaxAccountAge(args.Text);
MaxAccountAge.OnFocusExit += args => SendMaxAccountAge(args.Text);
_maxAccountAge = MaxAccountAge.Text;
MaxOverallMinutes.OnTextEntered += args => SendMaxOverallMinutes(args.Text);
MaxOverallMinutes.OnFocusExit += args => SendMaxOverallMinutes(args.Text);
_maxOverallMinutes = MaxOverallMinutes.Text;
}
private void SendMaxAccountAge(string text)
{
if (string.IsNullOrWhiteSpace(text) ||
text == _maxAccountAge ||
!int.TryParse(text, out var minutes))
{
return;
}
_console.ExecuteCommand($"babyjail_max_account_age {minutes}");
}
private void SendMaxOverallMinutes(string text)
{
if (string.IsNullOrWhiteSpace(text) ||
text == _maxOverallMinutes ||
!int.TryParse(text, out var minutes))
{
return;
}
_console.ExecuteCommand($"babyjail_max_overall_minutes {minutes}");
}
public void UpdateStatus(BabyJailStatus status)
{
EnabledButton.Pressed = status.Enabled;
EnabledButton.Text = Loc.GetString(status.Enabled
? "admin-ui-baby-jail-enabled"
: "admin-ui-baby-jail-disabled"
);
EnabledButton.ModulateSelfOverride = status.Enabled ? Color.Red : null;
ShowReasonButton.Pressed = status.ShowReason;
MaxAccountAge.Text = status.MaxAccountAgeMinutes.ToString();
_maxAccountAge = MaxAccountAge.Text;
MaxOverallMinutes.Text = status.MaxOverallMinutes.ToString();
_maxOverallMinutes = MaxOverallMinutes.Text;
}
}

View File

@@ -1,19 +1,21 @@
using Content.Client.Administration.Managers;
using Content.Client.Station;
using Content.Client.UserInterface.Controls;
using Robust.Client.AutoGenerated;
using Robust.Client.Console;
using Robust.Client.Graphics;
using Robust.Client.UserInterface;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.XAML;
using Robust.Shared.Map.Components;
using Robust.Shared.Timing;
namespace Content.Client.Administration.UI.Tabs.ObjectsTab;
[GenerateTypedNameReferences]
public sealed partial class ObjectsTab : Control
{
[Dependency] private readonly IClientAdminManager _admin = default!;
[Dependency] private readonly IEntityManager _entityManager = default!;
[Dependency] private readonly IClientConsoleHost _console = default!;
private readonly Color _altColor = Color.FromHex("#292B38");
private readonly Color _defaultColor = Color.FromHex("#2F2F3B");
@@ -49,10 +51,20 @@ public sealed partial class ObjectsTab : Control
RefreshListButton.OnPressed += _ => RefreshObjectList();
var defaultSelection = ObjectsTabSelection.Grids;
ObjectTypeOptions.SelectId((int) defaultSelection);
ObjectTypeOptions.SelectId((int)defaultSelection);
RefreshObjectList(defaultSelection);
}
private void TeleportTo(NetEntity nent)
{
_console.ExecuteCommand($"tpto {nent}");
}
private void Delete(NetEntity nent)
{
_console.ExecuteCommand($"delete {nent}");
}
public void RefreshObjectList()
{
RefreshObjectList(_selections[ObjectTypeOptions.SelectedId]);
@@ -116,9 +128,9 @@ public sealed partial class ObjectsTab : Control
if (data is not ObjectsListData { Info: var info, BackgroundColor: var backgroundColor })
return;
var entry = new ObjectsTabEntry(info.Name,
info.Entity,
new StyleBoxFlat { BackgroundColor = backgroundColor });
var entry = new ObjectsTabEntry(_admin, info.Name, info.Entity, new StyleBoxFlat { BackgroundColor = backgroundColor });
entry.OnTeleport += TeleportTo;
entry.OnDelete += Delete;
button.ToolTip = $"{info.Name}, {info.Entity}";
button.AddChild(entry);

View File

@@ -5,13 +5,25 @@
HorizontalExpand="True"
SeparationOverride="4">
<Label Name="NameLabel"
SizeFlagsStretchRatio="3"
SizeFlagsStretchRatio="5"
HorizontalExpand="True"
ClipText="True"/>
<customControls:VSeparator/>
<Label Name="EIDLabel"
SizeFlagsStretchRatio="5"
HorizontalExpand="True"
ClipText="True"/>
<customControls:VSeparator/>
<Button Name="TeleportButton"
Text="{Loc object-tab-entity-teleport}"
SizeFlagsStretchRatio="3"
HorizontalExpand="True"
ClipText="True"/>
<customControls:VSeparator/>
<Button Name="DeleteButton"
Text="{Loc object-tab-entity-delete}"
SizeFlagsStretchRatio="3"
HorizontalExpand="True"
ClipText="True"/>
</BoxContainer>
</PanelContainer>

View File

@@ -1,4 +1,5 @@
using Robust.Client.AutoGenerated;
using Content.Client.Administration.Managers;
using Robust.Client.AutoGenerated;
using Robust.Client.Graphics;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.XAML;
@@ -10,12 +11,30 @@ public sealed partial class ObjectsTabEntry : PanelContainer
{
public NetEntity AssocEntity;
public ObjectsTabEntry(string name, NetEntity nent, StyleBox styleBox)
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)
{
RobustXamlLoader.Load(this);
AssocEntity = nent;
EIDLabel.Text = nent.ToString();
NameLabel.Text = name;
BackgroundColorPanel.PanelOverride = styleBox;
TeleportButton.Disabled = !manager.CanCommand("tpto");
DeleteButton.Disabled = !manager.CanCommand("delete");
TeleportButton.OnPressed += _ => OnTeleport?.Invoke(nent);
DeleteButton.OnPressed += _ =>
{
if (!AdminUIHelpers.TryConfirm(DeleteButton, _confirmations))
{
return;
}
OnDelete?.Invoke(nent);
};
}
}

View File

@@ -5,17 +5,23 @@
HorizontalExpand="True"
SeparationOverride="4">
<Label Name="ObjectNameLabel"
SizeFlagsStretchRatio="3"
SizeFlagsStretchRatio="5"
HorizontalExpand="True"
ClipText="True"
Text="{Loc object-tab-object-name}"
MouseFilter="Pass"/>
<cc:VSeparator/>
<Label Name="EntityIDLabel"
SizeFlagsStretchRatio="3"
SizeFlagsStretchRatio="5"
HorizontalExpand="True"
ClipText="True"
Text="{Loc object-tab-entity-id}"
MouseFilter="Pass"/>
<Label Name="EntityTeleportLabel"
SizeFlagsStretchRatio="3"
HorizontalExpand="True"/>
<Label Name="EntityDeleteLabel"
SizeFlagsStretchRatio="3"
HorizontalExpand="True"/>
</BoxContainer>
</Control>

View File

@@ -10,220 +10,220 @@ using Robust.Client.UserInterface.XAML;
using static Content.Client.Administration.UI.Tabs.PlayerTab.PlayerTabHeader;
using static Robust.Client.UserInterface.Controls.BaseButton;
namespace Content.Client.Administration.UI.Tabs.PlayerTab
namespace Content.Client.Administration.UI.Tabs.PlayerTab;
[GenerateTypedNameReferences]
public sealed partial class PlayerTab : Control
{
[GenerateTypedNameReferences]
public sealed partial class PlayerTab : Control
[Dependency] private readonly IEntityManager _entManager = default!;
[Dependency] private readonly IPlayerManager _playerMan = default!;
private const string ArrowUp = "↑";
private const string ArrowDown = "↓";
private readonly Color _altColor = Color.FromHex("#292B38");
private readonly Color _defaultColor = Color.FromHex("#2F2F3B");
private readonly AdminSystem _adminSystem;
private IReadOnlyList<PlayerInfo> _players = new List<PlayerInfo>();
private Header _headerClicked = Header.Username;
private bool _ascending = true;
private bool _showDisconnected;
public event Action<GUIBoundKeyEventArgs, ListData>? OnEntryKeyBindDown;
public PlayerTab()
{
[Dependency] private readonly IEntityManager _entManager = default!;
[Dependency] private readonly IPlayerManager _playerMan = default!;
IoCManager.InjectDependencies(this);
RobustXamlLoader.Load(this);
private const string ArrowUp = "↑";
private const string ArrowDown = "↓";
private readonly Color _altColor = Color.FromHex("#292B38");
private readonly Color _defaultColor = Color.FromHex("#2F2F3B");
private readonly AdminSystem _adminSystem;
private IReadOnlyList<PlayerInfo> _players = new List<PlayerInfo>();
_adminSystem = _entManager.System<AdminSystem>();
_adminSystem.PlayerListChanged += RefreshPlayerList;
_adminSystem.OverlayEnabled += OverlayEnabled;
_adminSystem.OverlayDisabled += OverlayDisabled;
private Header _headerClicked = Header.Username;
private bool _ascending = true;
private bool _showDisconnected;
OverlayButton.OnPressed += OverlayButtonPressed;
ShowDisconnectedButton.OnPressed += ShowDisconnectedPressed;
public event Action<GUIBoundKeyEventArgs, ListData>? OnEntryKeyBindDown;
ListHeader.BackgroundColorPanel.PanelOverride = new StyleBoxFlat(_altColor);
ListHeader.OnHeaderClicked += HeaderClicked;
public PlayerTab()
{
IoCManager.InjectDependencies(this);
RobustXamlLoader.Load(this);
SearchList.SearchBar = SearchLineEdit;
SearchList.GenerateItem += GenerateButton;
SearchList.DataFilterCondition += DataFilterCondition;
SearchList.ItemKeyBindDown += (args, data) => OnEntryKeyBindDown?.Invoke(args, data);
_adminSystem = _entManager.System<AdminSystem>();
_adminSystem.PlayerListChanged += RefreshPlayerList;
_adminSystem.OverlayEnabled += OverlayEnabled;
_adminSystem.OverlayDisabled += OverlayDisabled;
RefreshPlayerList(_adminSystem.PlayerList);
OverlayButton.OnPressed += OverlayButtonPressed;
ShowDisconnectedButton.OnPressed += ShowDisconnectedPressed;
ListHeader.BackgroundColorPanel.PanelOverride = new StyleBoxFlat(_altColor);
ListHeader.OnHeaderClicked += HeaderClicked;
SearchList.SearchBar = SearchLineEdit;
SearchList.GenerateItem += GenerateButton;
SearchList.DataFilterCondition += DataFilterCondition;
SearchList.ItemKeyBindDown += (args, data) => OnEntryKeyBindDown?.Invoke(args, data);
RefreshPlayerList(_adminSystem.PlayerList);
}
#region Antag Overlay
private void OverlayEnabled()
{
OverlayButton.Pressed = true;
}
private void OverlayDisabled()
{
OverlayButton.Pressed = false;
}
private void OverlayButtonPressed(ButtonEventArgs args)
{
if (args.Button.Pressed)
{
_adminSystem.AdminOverlayOn();
}
else
{
_adminSystem.AdminOverlayOff();
}
}
#endregion
private void ShowDisconnectedPressed(ButtonEventArgs args)
{
_showDisconnected = args.Button.Pressed;
RefreshPlayerList(_players);
}
protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
if (disposing)
{
_adminSystem.PlayerListChanged -= RefreshPlayerList;
_adminSystem.OverlayEnabled -= OverlayEnabled;
_adminSystem.OverlayDisabled -= OverlayDisabled;
OverlayButton.OnPressed -= OverlayButtonPressed;
ListHeader.OnHeaderClicked -= HeaderClicked;
}
}
#region ListContainer
private void RefreshPlayerList(IReadOnlyList<PlayerInfo> players)
{
_players = players;
PlayerCount.Text = Loc.GetString("player-tab-player-count", ("count", _playerMan.PlayerCount));
var filteredPlayers = players.Where(info => _showDisconnected || info.Connected).ToList();
var sortedPlayers = new List<PlayerInfo>(filteredPlayers);
sortedPlayers.Sort(Compare);
UpdateHeaderSymbols();
SearchList.PopulateList(sortedPlayers.Select(info => new PlayerListData(info,
$"{info.Username} {info.CharacterName} {info.IdentityName} {info.StartingJob}"))
.ToList());
}
private void GenerateButton(ListData data, ListContainerButton button)
{
if (data is not PlayerListData { Info: var player})
return;
var entry = new PlayerTabEntry(player, new StyleBoxFlat(button.Index % 2 == 0 ? _altColor : _defaultColor));
button.AddChild(entry);
button.ToolTip = $"{player.Username}, {player.CharacterName}, {player.IdentityName}, {player.StartingJob}";
}
/// <summary>
/// Determines whether <paramref name="filter"/> is contained in <paramref name="listData"/>.FilteringString.
/// If all characters are lowercase, the comparison ignores case.
/// If there is an uppercase character, the comparison is case sensitive.
/// </summary>
/// <param name="filter"></param>
/// <param name="listData"></param>
/// <returns>Whether <paramref name="filter"/> is contained in <paramref name="listData"/>.FilteringString.</returns>
private bool DataFilterCondition(string filter, ListData listData)
{
if (listData is not PlayerListData {Info: var info, FilteringString: var playerString})
return false;
if (!_showDisconnected && !info.Connected)
return false;
if (IsAllLower(filter))
{
if (!playerString.Contains(filter, StringComparison.CurrentCultureIgnoreCase))
return false;
}
else
{
if (!playerString.Contains(filter))
return false;
}
return true;
}
private bool IsAllLower(string input)
{
foreach (var c in input)
{
if (char.IsLetter(c) && !char.IsLower(c))
return false;
}
return true;
}
#endregion
#region Header
private void UpdateHeaderSymbols()
{
ListHeader.ResetHeaderText();
ListHeader.GetHeader(_headerClicked).Text += $" {(_ascending ? ArrowUp : ArrowDown)}";
}
private int Compare(PlayerInfo x, PlayerInfo y)
{
if (!_ascending)
{
(x, y) = (y, x);
}
return _headerClicked switch
{
Header.Username => Compare(x.Username, y.Username),
Header.Character => Compare(x.CharacterName, y.CharacterName),
Header.Job => Compare(x.StartingJob, y.StartingJob),
Header.Antagonist => x.Antag.CompareTo(y.Antag),
Header.Playtime => TimeSpan.Compare(x.OverallPlaytime ?? default, y.OverallPlaytime ?? default),
_ => 1
};
}
private int Compare(string x, string y)
{
return string.Compare(x, y, StringComparison.OrdinalIgnoreCase);
}
private void HeaderClicked(Header header)
{
if (_headerClicked == header)
{
_ascending = !_ascending;
}
else
{
_headerClicked = header;
_ascending = true;
}
RefreshPlayerList(_adminSystem.PlayerList);
}
#endregion
}
public record PlayerListData(PlayerInfo Info, string FilteringString) : ListData;
#region Antag Overlay
private void OverlayEnabled()
{
OverlayButton.Pressed = true;
}
private void OverlayDisabled()
{
OverlayButton.Pressed = false;
}
private void OverlayButtonPressed(ButtonEventArgs args)
{
if (args.Button.Pressed)
{
_adminSystem.AdminOverlayOn();
}
else
{
_adminSystem.AdminOverlayOff();
}
}
#endregion
private void ShowDisconnectedPressed(ButtonEventArgs args)
{
_showDisconnected = args.Button.Pressed;
RefreshPlayerList(_players);
}
protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
if (disposing)
{
_adminSystem.PlayerListChanged -= RefreshPlayerList;
_adminSystem.OverlayEnabled -= OverlayEnabled;
_adminSystem.OverlayDisabled -= OverlayDisabled;
OverlayButton.OnPressed -= OverlayButtonPressed;
ListHeader.OnHeaderClicked -= HeaderClicked;
}
}
#region ListContainer
private void RefreshPlayerList(IReadOnlyList<PlayerInfo> players)
{
_players = players;
PlayerCount.Text = Loc.GetString("player-tab-player-count", ("count", _playerMan.PlayerCount));
var filteredPlayers = players.Where(info => _showDisconnected || info.Connected).ToList();
var sortedPlayers = new List<PlayerInfo>(filteredPlayers);
sortedPlayers.Sort(Compare);
UpdateHeaderSymbols();
SearchList.PopulateList(sortedPlayers.Select(info => new PlayerListData(info,
$"{info.Username} {info.CharacterName} {info.IdentityName} {info.StartingJob}"))
.ToList());
}
private void GenerateButton(ListData data, ListContainerButton button)
{
if (data is not PlayerListData { Info: var player})
return;
var entry = new PlayerTabEntry(player, new StyleBoxFlat(button.Index % 2 == 0 ? _altColor : _defaultColor));
button.AddChild(entry);
button.ToolTip = $"{player.Username}, {player.CharacterName}, {player.IdentityName}, {player.StartingJob}";
}
/// <summary>
/// Determines whether <paramref name="filter"/> is contained in <paramref name="listData"/>.FilteringString.
/// If all characters are lowercase, the comparison ignores case.
/// If there is an uppercase character, the comparison is case sensitive.
/// </summary>
/// <param name="filter"></param>
/// <param name="listData"></param>
/// <returns>Whether <paramref name="filter"/> is contained in <paramref name="listData"/>.FilteringString.</returns>
private bool DataFilterCondition(string filter, ListData listData)
{
if (listData is not PlayerListData {Info: var info, FilteringString: var playerString})
return false;
if (!_showDisconnected && !info.Connected)
return false;
if (IsAllLower(filter))
{
if (!playerString.Contains(filter, StringComparison.CurrentCultureIgnoreCase))
return false;
}
else
{
if (!playerString.Contains(filter))
return false;
}
return true;
}
private bool IsAllLower(string input)
{
foreach (var c in input)
{
if (char.IsLetter(c) && !char.IsLower(c))
return false;
}
return true;
}
#endregion
#region Header
private void UpdateHeaderSymbols()
{
ListHeader.ResetHeaderText();
ListHeader.GetHeader(_headerClicked).Text += $" {(_ascending ? ArrowUp : ArrowDown)}";
}
private int Compare(PlayerInfo x, PlayerInfo y)
{
if (!_ascending)
{
(x, y) = (y, x);
}
return _headerClicked switch
{
Header.Username => Compare(x.Username, y.Username),
Header.Character => Compare(x.CharacterName, y.CharacterName),
Header.Job => Compare(x.StartingJob, y.StartingJob),
Header.Antagonist => x.Antag.CompareTo(y.Antag),
Header.RoleType => Compare(x.RoleProto.Name , y.RoleProto.Name),
Header.Playtime => TimeSpan.Compare(x.OverallPlaytime ?? default, y.OverallPlaytime ?? default),
_ => 1
};
}
private int Compare(string x, string y)
{
return string.Compare(x, y, StringComparison.OrdinalIgnoreCase);
}
private void HeaderClicked(Header header)
{
if (_headerClicked == header)
{
_ascending = !_ascending;
}
else
{
_headerClicked = header;
_ascending = true;
}
RefreshPlayerList(_adminSystem.PlayerList);
}
#endregion
}
public record PlayerListData(PlayerInfo Info, string FilteringString) : ListData;

View File

@@ -24,6 +24,11 @@
HorizontalExpand="True"
ClipText="True"/>
<customControls:VSeparator/>
<Label Name="RoleTypeLabel"
SizeFlagsStretchRatio="2"
HorizontalExpand="True"
ClipText="True"/>
<customControls:VSeparator/>
<Label Name="OverallPlaytimeLabel"
SizeFlagsStretchRatio="1"
HorizontalExpand="True"

View File

@@ -23,6 +23,8 @@ public sealed partial class PlayerTabEntry : PanelContainer
if (player.IdentityName != player.CharacterName)
CharacterLabel.Text += $" [{player.IdentityName}]";
AntagonistLabel.Text = Loc.GetString(player.Antag ? "player-tab-is-antag-yes" : "player-tab-is-antag-no");
RoleTypeLabel.Text = Loc.GetString(player.RoleProto.Name);
RoleTypeLabel.FontColorOverride = player.RoleProto.Color;
BackgroundColorPanel.PanelOverride = styleBoxFlat;
OverallPlaytimeLabel.Text = player.PlaytimeString;
PlayerEntity = player.NetEntity;

View File

@@ -32,6 +32,13 @@
Text="{Loc player-tab-antagonist}"
MouseFilter="Pass"/>
<cc:VSeparator/>
<Label Name="RoleTypeLabel"
SizeFlagsStretchRatio="2"
HorizontalExpand="True"
ClipText="True"
Text="{Loc player-tab-roletype}"
MouseFilter="Pass"/>
<cc:VSeparator/>
<Label Name="PlaytimeLabel"
SizeFlagsStretchRatio="1"
HorizontalExpand="True"

View File

@@ -19,6 +19,7 @@ public sealed partial class PlayerTabHeader : Control
CharacterLabel.OnKeyBindDown += CharacterClicked;
JobLabel.OnKeyBindDown += JobClicked;
AntagonistLabel.OnKeyBindDown += AntagonistClicked;
RoleTypeLabel.OnKeyBindDown += RoleTypeClicked;
PlaytimeLabel.OnKeyBindDown += PlaytimeClicked;
}
@@ -30,6 +31,7 @@ public sealed partial class PlayerTabHeader : Control
Header.Character => CharacterLabel,
Header.Job => JobLabel,
Header.Antagonist => AntagonistLabel,
Header.RoleType => RoleTypeLabel,
Header.Playtime => PlaytimeLabel,
_ => throw new ArgumentOutOfRangeException(nameof(header), header, null)
};
@@ -41,6 +43,7 @@ public sealed partial class PlayerTabHeader : Control
CharacterLabel.Text = Loc.GetString("player-tab-character");
JobLabel.Text = Loc.GetString("player-tab-job");
AntagonistLabel.Text = Loc.GetString("player-tab-antagonist");
RoleTypeLabel.Text = Loc.GetString("player-tab-roletype");
PlaytimeLabel.Text = Loc.GetString("player-tab-playtime");
}
@@ -75,6 +78,11 @@ public sealed partial class PlayerTabHeader : Control
HeaderClicked(args, Header.Antagonist);
}
private void RoleTypeClicked(GUIBoundKeyEventArgs args)
{
HeaderClicked(args, Header.RoleType);
}
private void PlaytimeClicked(GUIBoundKeyEventArgs args)
{
HeaderClicked(args, Header.Playtime);
@@ -90,6 +98,7 @@ public sealed partial class PlayerTabHeader : Control
CharacterLabel.OnKeyBindDown -= CharacterClicked;
JobLabel.OnKeyBindDown -= JobClicked;
AntagonistLabel.OnKeyBindDown -= AntagonistClicked;
RoleTypeLabel.OnKeyBindDown -= RoleTypeClicked;
PlaytimeLabel.OnKeyBindDown -= PlaytimeClicked;
}
}
@@ -100,6 +109,7 @@ public sealed partial class PlayerTabHeader : Control
Character,
Job,
Antagonist,
RoleType,
Playtime
}
}

View File

@@ -2,6 +2,7 @@ using System.Linq;
using Content.Shared.Alert;
using JetBrains.Annotations;
using Robust.Client.Player;
using Robust.Shared.GameStates;
using Robust.Shared.Player;
using Robust.Shared.Prototypes;
@@ -24,8 +25,7 @@ public sealed class ClientAlertsSystem : AlertsSystem
SubscribeLocalEvent<AlertsComponent, LocalPlayerAttachedEvent>(OnPlayerAttached);
SubscribeLocalEvent<AlertsComponent, LocalPlayerDetachedEvent>(OnPlayerDetached);
SubscribeLocalEvent<AlertsComponent, AfterAutoHandleStateEvent>(ClientAlertsHandleState);
SubscribeLocalEvent<AlertsComponent, ComponentHandleState>(OnHandleState);
}
protected override void LoadPrototypes()
{
@@ -47,6 +47,16 @@ public sealed class ClientAlertsSystem : AlertsSystem
}
}
private void OnHandleState(Entity<AlertsComponent> alerts, ref ComponentHandleState args)
{
if (args.Current is not AlertComponentState cast)
return;
alerts.Comp.Alerts = cast.Alerts;
UpdateHud(alerts);
}
protected override void AfterShowAlert(Entity<AlertsComponent> alerts)
{
UpdateHud(alerts);
@@ -57,11 +67,6 @@ public sealed class ClientAlertsSystem : AlertsSystem
UpdateHud(alerts);
}
private void ClientAlertsHandleState(Entity<AlertsComponent> alerts, ref AfterAutoHandleStateEvent args)
{
UpdateHud(alerts);
}
private void UpdateHud(Entity<AlertsComponent> entity)
{
if (_playerManager.LocalEntity == entity.Owner)
@@ -93,6 +98,6 @@ public sealed class ClientAlertsSystem : AlertsSystem
public void AlertClicked(ProtoId<AlertPrototype> alertType)
{
RaiseNetworkEvent(new ClickAlertEvent(alertType));
RaisePredictiveEvent(new ClickAlertEvent(alertType));
}
}

View File

@@ -20,8 +20,9 @@ public sealed class AnomalySystem : SharedAnomalySystem
SubscribeLocalEvent<AnomalyComponent, AppearanceChangeEvent>(OnAppearanceChanged);
SubscribeLocalEvent<AnomalyComponent, ComponentStartup>(OnStartup);
SubscribeLocalEvent<AnomalyComponent, AnimationCompletedEvent>(OnAnimationComplete);
}
SubscribeLocalEvent<AnomalySupercriticalComponent, ComponentShutdown>(OnShutdown);
}
private void OnStartup(EntityUid uid, AnomalyComponent component, ComponentStartup args)
{
_floating.FloatAnimation(uid, component.FloatingOffset, component.AnimationKey, component.AnimationTime);
@@ -75,4 +76,13 @@ public sealed class AnomalySystem : SharedAnomalySystem
}
}
}
private void OnShutdown(Entity<AnomalySupercriticalComponent> ent, ref ComponentShutdown args)
{
if (!TryComp<SpriteComponent>(ent, out var sprite))
return;
sprite.Scale = Vector2.One;
sprite.Color = sprite.Color.WithAlpha(1f);
}
}

View File

@@ -0,0 +1,50 @@
using Content.Shared.Anomaly.Components;
using Content.Shared.Anomaly.Effects;
using Content.Shared.Body.Components;
using Robust.Client.GameObjects;
namespace Content.Client.Anomaly.Effects;
public sealed class ClientInnerBodyAnomalySystem : SharedInnerBodyAnomalySystem
{
public override void Initialize()
{
SubscribeLocalEvent<InnerBodyAnomalyComponent, AfterAutoHandleStateEvent>(OnAfterHandleState);
SubscribeLocalEvent<InnerBodyAnomalyComponent, ComponentShutdown>(OnCompShutdown);
}
private void OnAfterHandleState(Entity<InnerBodyAnomalyComponent> ent, ref AfterAutoHandleStateEvent args)
{
if (!TryComp<SpriteComponent>(ent, out var sprite))
return;
if (ent.Comp.FallbackSprite is null)
return;
if (!sprite.LayerMapTryGet(ent.Comp.LayerMap, out var index))
index = sprite.LayerMapReserveBlank(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))
{
sprite.LayerSetSprite(index, speciesSprite);
}
else
{
sprite.LayerSetSprite(index, ent.Comp.FallbackSprite);
}
sprite.LayerSetVisible(index, true);
sprite.LayerSetShader(index, "unshaded");
}
private void OnCompShutdown(Entity<InnerBodyAnomalyComponent> ent, ref ComponentShutdown args)
{
if (!TryComp<SpriteComponent>(ent, out var sprite))
return;
var index = sprite.LayerMapGet(ent.Comp.LayerMap);
sprite.LayerSetVisible(index, false);
}
}

View File

@@ -1,7 +1,5 @@
using Content.Shared.Anomaly;
using Content.Shared.Gravity;
using JetBrains.Annotations;
using Robust.Client.GameObjects;
using Robust.Client.UserInterface;
namespace Content.Client.Anomaly.Ui;

View File

@@ -31,7 +31,7 @@ public sealed partial class AnomalyScannerMenu : FancyWindow
msg.PushNewline();
var time = NextPulseTime.Value - _timing.CurTime;
var timestring = $"{time.Minutes:00}:{time.Seconds:00}";
msg.AddMarkup(Loc.GetString("anomaly-scanner-pulse-timer", ("time", timestring)));
msg.AddMarkupOrThrow(Loc.GetString("anomaly-scanner-pulse-timer", ("time", timestring)));
}
TextDisplay.SetMarkup(msg.ToMarkup());

View File

@@ -1,8 +1,4 @@
using Robust.Shared.GameObjects;
namespace Content.Client.Atmos.Components;
[RegisterComponent]
public sealed partial class PipeColorVisualsComponent : Component
{
}
public sealed partial class PipeColorVisualsComponent : Component;

View File

@@ -0,0 +1,80 @@
<BoxContainer xmlns="https://spacestation14.io"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:gfx="clr-namespace:Robust.Client.Graphics;assembly=Robust.Client"
xmlns:controls="clr-namespace:Content.Client.UserInterface.Controls"
Orientation="Vertical" HorizontalExpand ="True" Margin="0 0 0 3">
<!-- Device selection button -->
<Button Name="FocusButton" HorizontalExpand="True" SetHeight="32" Margin="12 0 0 0" StyleClasses="OpenBoth" Access="Public">
<BoxContainer HorizontalExpand="True" VerticalExpand="True" Orientation="Horizontal">
<!-- Alarm state -->
<TextureRect Stretch="Keep" HorizontalAlignment="Left" Margin="-20 -2 0 0" ModulateSelfOverride="#25252a" TexturePath="/Textures/Interface/AtmosMonitoring/status_bg.png">
<BoxContainer VerticalExpand="True" HorizontalExpand="True" Orientation="Horizontal" Margin="8 0">
<TextureRect Name="ArrowTexture" VerticalAlignment="Center" SetSize="12 12" Stretch="KeepAspectCentered" Margin="3 0" TexturePath="/Textures/Interface/Nano/triangle_right.png"></TextureRect>
<Label Name="AlarmStateLabel" HorizontalExpand="True" HorizontalAlignment="Center" FontColorOverride="#5A5A5A" Text="{Loc 'atmos-alerts-window-invalid-state'}"></Label>
</BoxContainer>
</TextureRect>
<!-- Alarm name -->
<Label Name="AlarmNameLabel" Text="???" HorizontalExpand="True" HorizontalAlignment="Center" Margin="5 0"></Label>
</BoxContainer>
</Button>
<!-- Panel that appears on selecting the device -->
<PanelContainer Name="FocusContainer" HorizontalExpand="True" Margin="1 -1 1 0" ReservesSpace="False" Visible="False" Access="Public">
<PanelContainer.PanelOverride>
<gfx:StyleBoxFlat BackgroundColor="#25252a"/>
</PanelContainer.PanelOverride>
<BoxContainer HorizontalExpand="True" VerticalExpand="True" Orientation="Vertical">
<!-- Atmosphere status -->
<Control>
<!-- Main container for displaying atmospheric data -->
<BoxContainer Name="MainDataContainer" HorizontalExpand="True" VerticalExpand="True" Orientation="Vertical" ReservesSpace="False" Visible="False">
<BoxContainer HorizontalExpand="True" Orientation="Horizontal">
<Label Name="TemperatureHeaderLabel" Text="{Loc 'atmos-alerts-window-temperature-label'}" HorizontalAlignment="Center" HorizontalExpand="True" FontColorOverride="#a9a9a9" Margin="0 2 0 0" SetHeight="24"></Label>
<Label Name="PressureHeaderLabel" Text="{Loc 'atmos-alerts-window-pressure-label'}" HorizontalAlignment="Center" HorizontalExpand="True" FontColorOverride="#a9a9a9" Margin="0 2 0 0" SetHeight="24"></Label>
<Label Name="OxygenationHeaderLabel" Text="{Loc 'atmos-alerts-window-oxygenation-label'}" HorizontalAlignment="Center" HorizontalExpand="True" FontColorOverride="#a9a9a9" Margin="0 2 0 0" SetHeight="24"></Label>
</BoxContainer>
<PanelContainer HorizontalExpand="True">
<PanelContainer.PanelOverride>
<gfx:StyleBoxFlat BackgroundColor="#202023"/>
</PanelContainer.PanelOverride>
<BoxContainer HorizontalExpand="True" Orientation="Horizontal">
<Label Name="TemperatureLabel" Text="???" HorizontalAlignment="Center" HorizontalExpand="True" FontColorOverride="#5A5A5A" Margin="0 2 0 0" SetHeight="24"></Label>
<Label Name="PressureLabel" Text="???" HorizontalAlignment="Center" HorizontalExpand="True" FontColorOverride="#5A5A5A" Margin="0 2 0 0" SetHeight="24"></Label>
<Label Name="OxygenationLabel" Text="???" HorizontalAlignment="Center" HorizontalExpand="True" FontColorOverride="#5A5A5A" Margin="0 2 0 0" SetHeight="24"></Label>
</BoxContainer>
</PanelContainer>
<BoxContainer HorizontalExpand="True" Orientation="Horizontal">
<Label Name="GasesHeaderLabel" Text="{Loc 'atmos-alerts-window-other-gases-label'}" HorizontalAlignment="Center" HorizontalExpand="True" FontColorOverride="#a9a9a9" Margin="0 4 0 0" SetHeight="24"></Label>
</BoxContainer>
<PanelContainer HorizontalExpand="True">
<PanelContainer.PanelOverride>
<gfx:StyleBoxFlat BackgroundColor="#202023"/>
</PanelContainer.PanelOverride>
<!-- Gas entries added via C# code -->
<GridContainer Name="GasGridContainer" HorizontalExpand="True" Columns = "4"></GridContainer>
</PanelContainer>
</BoxContainer>
<!-- If the alarm is inactive, this is label is displayed instead -->
<Label Name="NoDataLabel" Text="{Loc 'atmos-alerts-window-no-data-available'}" HorizontalAlignment="Center" Margin="0 15" FontColorOverride="#a9a9a9" ReservesSpace="False" Visible="False"></Label>
<!-- Silencing progress bar -->
<controls:StripeBack Name="SilenceAlarmProgressBar" ReservesSpace="False" Visible="False" Access="Public">
<PanelContainer>
<Label Text="{Loc 'atmos-alerts-window-alerts-being-silenced'}" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="5 5 5 5"/>
</PanelContainer>
</controls:StripeBack>
</Control>
<!-- Check box for silencing this alarm -->
<CheckBox Name="SilenceCheckBox" Text="{Loc 'atmos-alerts-window-silence-alerts'}" HorizontalAlignment="Left" Margin="5 5 5 5" Access="Public"></CheckBox>
</BoxContainer>
</PanelContainer>
</BoxContainer>

View File

@@ -0,0 +1,200 @@
using Content.Client.Stylesheets;
using Content.Shared.Atmos;
using Content.Shared.Atmos.Components;
using Content.Shared.Atmos.Monitor;
using Content.Shared.FixedPoint;
using Content.Shared.Temperature;
using Robust.Client.AutoGenerated;
using Robust.Client.Graphics;
using Robust.Client.ResourceManagement;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.XAML;
using Robust.Shared.Map;
using System.Linq;
namespace Content.Client.Atmos.Consoles;
[GenerateTypedNameReferences]
public sealed partial class AtmosAlarmEntryContainer : BoxContainer
{
public NetEntity NetEntity;
public EntityCoordinates? Coordinates;
private readonly IEntityManager _entManager;
private readonly IResourceCache _cache;
private Dictionary<AtmosAlarmType, string> _alarmStrings = new Dictionary<AtmosAlarmType, string>()
{
[AtmosAlarmType.Invalid] = "atmos-alerts-window-invalid-state",
[AtmosAlarmType.Normal] = "atmos-alerts-window-normal-state",
[AtmosAlarmType.Warning] = "atmos-alerts-window-warning-state",
[AtmosAlarmType.Danger] = "atmos-alerts-window-danger-state",
};
public AtmosAlarmEntryContainer(NetEntity uid, EntityCoordinates? coordinates)
{
RobustXamlLoader.Load(this);
_entManager = IoCManager.Resolve<IEntityManager>();
_cache = IoCManager.Resolve<IResourceCache>();
NetEntity = uid;
Coordinates = coordinates;
// Load fonts
var headerFont = new VectorFont(_cache.GetResource<FontResource>("/Fonts/NotoSans/NotoSans-Bold.ttf"), 11);
var normalFont = new VectorFont(_cache.GetResource<FontResource>("/Fonts/NotoSansDisplay/NotoSansDisplay-Regular.ttf"), 11);
var smallFont = new VectorFont(_cache.GetResource<FontResource>("/Fonts/NotoSans/NotoSans-Regular.ttf"), 10);
// Set fonts
TemperatureHeaderLabel.FontOverride = headerFont;
PressureHeaderLabel.FontOverride = headerFont;
OxygenationHeaderLabel.FontOverride = headerFont;
GasesHeaderLabel.FontOverride = headerFont;
TemperatureLabel.FontOverride = normalFont;
PressureLabel.FontOverride = normalFont;
OxygenationLabel.FontOverride = normalFont;
NoDataLabel.FontOverride = headerFont;
SilenceCheckBox.Label.FontOverride = smallFont;
SilenceCheckBox.Label.FontColorOverride = Color.DarkGray;
}
public void UpdateEntry(AtmosAlertsComputerEntry entry, bool isFocus, AtmosAlertsFocusDeviceData? focusData = null)
{
NetEntity = entry.NetEntity;
Coordinates = _entManager.GetCoordinates(entry.Coordinates);
// Load fonts
var normalFont = new VectorFont(_cache.GetResource<FontResource>("/Fonts/NotoSansDisplay/NotoSansDisplay-Regular.ttf"), 11);
// Update alarm state
if (!_alarmStrings.TryGetValue(entry.AlarmState, out var alarmString))
alarmString = "atmos-alerts-window-invalid-state";
AlarmStateLabel.Text = Loc.GetString(alarmString);
AlarmStateLabel.FontColorOverride = GetAlarmStateColor(entry.AlarmState);
// Update alarm name
AlarmNameLabel.Text = Loc.GetString("atmos-alerts-window-alarm-label", ("name", entry.EntityName), ("address", entry.Address));
// Focus updates
FocusContainer.Visible = isFocus;
if (isFocus)
SetAsFocus();
else
RemoveAsFocus();
if (isFocus && entry.Group == AtmosAlertsComputerGroup.AirAlarm)
{
MainDataContainer.Visible = (entry.AlarmState != AtmosAlarmType.Invalid);
NoDataLabel.Visible = (entry.AlarmState == AtmosAlarmType.Invalid);
if (focusData != null)
{
// Update temperature
var tempK = (FixedPoint2)focusData.Value.TemperatureData.Item1;
var tempC = (FixedPoint2)TemperatureHelpers.KelvinToCelsius(tempK.Float());
TemperatureLabel.Text = Loc.GetString("atmos-alerts-window-temperature-value", ("valueInC", tempC), ("valueInK", tempK));
TemperatureLabel.FontColorOverride = GetAlarmStateColor(focusData.Value.TemperatureData.Item2);
// Update pressure
PressureLabel.Text = Loc.GetString("atmos-alerts-window-pressure-value", ("value", (FixedPoint2)focusData.Value.PressureData.Item1));
PressureLabel.FontColorOverride = GetAlarmStateColor(focusData.Value.PressureData.Item2);
// Update oxygenation
var oxygenPercent = (FixedPoint2)0f;
var oxygenAlert = AtmosAlarmType.Invalid;
if (focusData.Value.GasData.TryGetValue(Gas.Oxygen, out var oxygenData))
{
oxygenPercent = oxygenData.Item2 * 100f;
oxygenAlert = oxygenData.Item3;
}
OxygenationLabel.Text = Loc.GetString("atmos-alerts-window-oxygenation-value", ("value", oxygenPercent));
OxygenationLabel.FontColorOverride = GetAlarmStateColor(oxygenAlert);
// Update other present gases
GasGridContainer.RemoveAllChildren();
var gasData = focusData.Value.GasData.Where(g => g.Key != Gas.Oxygen);
var keyValuePairs = gasData.ToList();
if (keyValuePairs.Count == 0)
{
// No other gases
var gasLabel = new Label()
{
Text = Loc.GetString("atmos-alerts-window-other-gases-value-nil"),
FontOverride = normalFont,
FontColorOverride = StyleNano.DisabledFore,
HorizontalAlignment = HAlignment.Center,
VerticalAlignment = VAlignment.Center,
HorizontalExpand = true,
Margin = new Thickness(0, 2, 0, 0),
SetHeight = 24f,
};
GasGridContainer.AddChild(gasLabel);
}
else
{
// Add an entry for each gas
foreach ((var gas, (var mol, var percent, var alert)) in keyValuePairs)
{
FixedPoint2 gasPercent = percent * 100f;
var gasAbbreviation = Atmospherics.GasAbbreviations.GetValueOrDefault(gas, Loc.GetString("gas-unknown-abbreviation"));
var gasLabel = new Label()
{
Text = Loc.GetString("atmos-alerts-window-other-gases-value", ("shorthand", gasAbbreviation), ("value", gasPercent)),
FontOverride = normalFont,
FontColorOverride = GetAlarmStateColor(alert),
HorizontalAlignment = HAlignment.Center,
VerticalAlignment = VAlignment.Center,
HorizontalExpand = true,
Margin = new Thickness(0, 2, 0, 0),
SetHeight = 24f,
};
GasGridContainer.AddChild(gasLabel);
}
}
}
}
}
public void SetAsFocus()
{
FocusButton.AddStyleClass(StyleNano.StyleClassButtonColorGreen);
ArrowTexture.TexturePath = "/Textures/Interface/Nano/inverted_triangle.svg.png";
}
public void RemoveAsFocus()
{
FocusButton.RemoveStyleClass(StyleNano.StyleClassButtonColorGreen);
ArrowTexture.TexturePath = "/Textures/Interface/Nano/triangle_right.png";
FocusContainer.Visible = false;
}
private Color GetAlarmStateColor(AtmosAlarmType alarmType)
{
switch (alarmType)
{
case AtmosAlarmType.Normal:
return StyleNano.GoodGreenFore;
case AtmosAlarmType.Warning:
return StyleNano.ConcerningOrangeFore;
case AtmosAlarmType.Danger:
return StyleNano.DangerousRedFore;
}
return StyleNano.DisabledFore;
}
}

View File

@@ -0,0 +1,47 @@
using Content.Shared.Atmos.Components;
namespace Content.Client.Atmos.Consoles;
public sealed class AtmosAlertsComputerBoundUserInterface : BoundUserInterface
{
[ViewVariables]
private AtmosAlertsComputerWindow? _menu;
public AtmosAlertsComputerBoundUserInterface(EntityUid owner, Enum uiKey) : base(owner, uiKey) { }
protected override void Open()
{
_menu = new AtmosAlertsComputerWindow(this, Owner);
_menu.OpenCentered();
_menu.OnClose += Close;
}
protected override void UpdateState(BoundUserInterfaceState state)
{
base.UpdateState(state);
var castState = (AtmosAlertsComputerBoundInterfaceState) state;
EntMan.TryGetComponent<TransformComponent>(Owner, out var xform);
_menu?.UpdateUI(xform?.Coordinates, castState.AirAlarms, castState.FireAlarms, castState.FocusData);
}
public void SendFocusChangeMessage(NetEntity? netEntity)
{
SendMessage(new AtmosAlertsComputerFocusChangeMessage(netEntity));
}
public void SendDeviceSilencedMessage(NetEntity netEntity, bool silenceDevice)
{
SendMessage(new AtmosAlertsComputerDeviceSilencedMessage(netEntity, silenceDevice));
}
protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
if (!disposing)
return;
_menu?.Dispose();
}
}

View File

@@ -0,0 +1,107 @@
<controls:FancyWindow xmlns="https://spacestation14.io"
xmlns:ui="clr-namespace:Content.Client.Pinpointer.UI"
xmlns:controls="clr-namespace:Content.Client.UserInterface.Controls"
Title="{Loc 'atmos-alerts-window-title'}"
Resizable="False"
SetSize="1120 750"
MinSize="1120 750">
<BoxContainer Orientation="Vertical">
<!-- Main display -->
<BoxContainer Orientation="Horizontal" VerticalExpand="True" HorizontalExpand="True">
<!-- Nav map -->
<BoxContainer Orientation="Vertical" VerticalExpand="True" HorizontalExpand="True">
<ui:NavMapControl Name="NavMap" Margin="5 5" VerticalExpand="True" HorizontalExpand="True">
<!-- System warning -->
<PanelContainer Name="SystemWarningPanel"
HorizontalAlignment="Center"
VerticalAlignment="Top"
HorizontalExpand="True"
Margin="0 48 0 0"
Visible="False">
<RichTextLabel Name="SystemWarningLabel" Margin="12 8 12 8"/>
</PanelContainer>
</ui:NavMapControl>
<!-- Nav map legend -->
<BoxContainer Orientation="Horizontal" Margin="0 10 0 10">
<Label Text="{Loc 'atmos-alerts-window-label-alert-types'}"
Margin="20 0 5 0"/>
<TextureRect Stretch="KeepAspectCentered"
TexturePath="/Textures/Interface/NavMap/beveled_circle.png"
Modulate="#5A5A5A"
SetSize="16 16"
Margin="20 0 5 0"/>
<Label Text="{Loc 'atmos-alerts-window-invalid-state'}"/>
<TextureRect Stretch="KeepAspectCentered"
TexturePath="/Textures/Interface/NavMap/beveled_circle.png"
Modulate="#32cd32"
SetSize="16 16"
Margin="20 0 5 0"/>
<Label Text="{Loc 'atmos-alerts-window-normal-state'}"/>
<TextureRect Stretch="KeepAspectCentered"
TexturePath="/Textures/Interface/NavMap/beveled_triangle.png"
SetSize="16 16"
Modulate="#ffb648"
Margin="20 0 5 0"/>
<Label Text="{Loc 'atmos-alerts-window-warning-state'}"/>
<TextureRect Stretch="KeepAspectCentered"
TexturePath="/Textures/Interface/NavMap/beveled_square.png"
SetSize="16 16"
Modulate="#ff4343"
Margin="20 0 5 0"/>
<Label Text="{Loc 'atmos-alerts-window-danger-state'}"/>
</BoxContainer>
</BoxContainer>
<!-- Atmosphere status -->
<BoxContainer Orientation="Vertical" VerticalExpand="True" SetWidth="440" Margin="0 0 10 10">
<!-- Station name -->
<controls:StripeBack>
<PanelContainer>
<RichTextLabel Name="StationName" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0 5 0 3"/>
</PanelContainer>
</controls:StripeBack>
<!-- Alarm status (entries added by C# code) -->
<TabContainer Name="MasterTabContainer" VerticalExpand="True" HorizontalExpand="True" Margin="0 10 0 0">
<ScrollContainer HorizontalExpand="True" Margin="8, 8, 8, 8">
<BoxContainer Name="AlertsTable" Orientation="Vertical" VerticalExpand="True" HorizontalExpand="True" Margin="0 0 0 10"/>
</ScrollContainer>
<ScrollContainer HorizontalExpand="True" Margin="8, 8, 8, 8">
<BoxContainer Name="AirAlarmsTable" Orientation="Vertical" VerticalExpand="True" HorizontalExpand="True" Margin="0 0 0 10"/>
</ScrollContainer>
<ScrollContainer HorizontalExpand="True" Margin="8, 8, 8, 8">
<BoxContainer Name="FireAlarmsTable" Orientation="Vertical" VerticalExpand="True" HorizontalExpand="True" Margin="0 0 0 10"/>
</ScrollContainer>
</TabContainer>
<!-- Overlay toggles -->
<BoxContainer Orientation="Vertical" Margin="0 10 0 0">
<Label Text="{Loc 'atmos-alerts-window-toggle-overlays'}" Margin="0 0 0 5"/>
<BoxContainer Orientation="Horizontal" HorizontalExpand="True">
<CheckBox Name="ShowInactiveAlarms" Text="{Loc 'atmos-alerts-window-invalid-state'}" Pressed="False" HorizontalExpand="True"/>
<CheckBox Name="ShowNormalAlarms" Text="{Loc 'atmos-alerts-window-normal-state'}" Pressed="False" HorizontalExpand="True"/>
<CheckBox Name="ShowWarningAlarms" Text="{Loc 'atmos-alerts-window-warning-state'}" Pressed="True" HorizontalExpand="True"/>
<CheckBox Name="ShowDangerAlarms" Text="{Loc 'atmos-alerts-window-danger-state'}" Pressed="True" HorizontalExpand="True"/>
</BoxContainer>
</BoxContainer>
</BoxContainer>
</BoxContainer>
<!-- Footer -->
<BoxContainer Orientation="Vertical">
<PanelContainer StyleClasses="LowDivider" />
<BoxContainer Orientation="Horizontal" Margin="10 2 5 0" VerticalAlignment="Bottom">
<Label Text="{Loc 'atmos-alerts-window-flavor-left'}" StyleClasses="WindowFooterText" />
<Label Text="{Loc 'atmos-alerts-window-flavor-right'}" StyleClasses="WindowFooterText"
HorizontalAlignment="Right" HorizontalExpand="True" Margin="0 0 5 0" />
<TextureRect StyleClasses="NTLogoDark" Stretch="KeepAspectCentered"
VerticalAlignment="Center" HorizontalAlignment="Right" SetSize="19 19"/>
</BoxContainer>
</BoxContainer>
</BoxContainer>
</controls:FancyWindow>

View File

@@ -0,0 +1,611 @@
using Content.Client.Message;
using Content.Client.Pinpointer.UI;
using Content.Client.Stylesheets;
using Content.Client.UserInterface.Controls;
using Content.Shared.Atmos.Components;
using Content.Shared.Atmos.Monitor;
using Content.Shared.Pinpointer;
using Robust.Client.AutoGenerated;
using Robust.Client.GameObjects;
using Robust.Client.UserInterface;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.XAML;
using Robust.Shared.Map;
using Robust.Shared.Timing;
using Robust.Shared.Utility;
using System.Diagnostics.CodeAnalysis;
using System.Linq;
namespace Content.Client.Atmos.Consoles;
[GenerateTypedNameReferences]
public sealed partial class AtmosAlertsComputerWindow : FancyWindow
{
private readonly IEntityManager _entManager;
private readonly SpriteSystem _spriteSystem;
private readonly SharedNavMapSystem _navMapSystem;
private EntityUid? _owner;
private NetEntity? _trackedEntity;
private AtmosAlertsComputerEntry[]? _airAlarms = null;
private AtmosAlertsComputerEntry[]? _fireAlarms = null;
private IEnumerable<AtmosAlertsComputerEntry>? _allAlarms = null;
private IEnumerable<AtmosAlertsComputerEntry>? _activeAlarms = null;
private Dictionary<NetEntity, float> _deviceSilencingProgress = new();
public event Action<NetEntity?>? SendFocusChangeMessageAction;
public event Action<NetEntity, bool>? SendDeviceSilencedMessageAction;
private bool _autoScrollActive = false;
private bool _autoScrollAwaitsUpdate = false;
private const float SilencingDuration = 2.5f;
// Colors
private Color _wallColor = new Color(64, 64, 64);
private Color _tileColor = new Color(28, 28, 28);
private Color _monitorBlipColor = Color.Cyan;
private Color _untrackedEntColor = Color.DimGray;
private Color _regionBaseColor = new Color(154, 154, 154);
private Color _inactiveColor = StyleNano.DisabledFore;
private Color _statusTextColor = StyleNano.GoodGreenFore;
private Color _goodColor = Color.LimeGreen;
private Color _warningColor = new Color(255, 182, 72);
private Color _dangerColor = new Color(255, 67, 67);
public AtmosAlertsComputerWindow(AtmosAlertsComputerBoundUserInterface userInterface, EntityUid? owner)
{
RobustXamlLoader.Load(this);
_entManager = IoCManager.Resolve<IEntityManager>();
_spriteSystem = _entManager.System<SpriteSystem>();
_navMapSystem = _entManager.System<SharedNavMapSystem>();
// Pass the owner to nav map
_owner = owner;
NavMap.Owner = _owner;
// Set nav map colors
NavMap.WallColor = _wallColor;
NavMap.TileColor = _tileColor;
// Set nav map grid uid
var stationName = Loc.GetString("atmos-alerts-window-unknown-location");
if (_entManager.TryGetComponent<TransformComponent>(owner, out var xform))
{
NavMap.MapUid = xform.GridUid;
// Assign station name
if (_entManager.TryGetComponent<MetaDataComponent>(xform.GridUid, out var stationMetaData))
stationName = stationMetaData.EntityName;
var msg = new FormattedMessage();
msg.TryAddMarkup(Loc.GetString("atmos-alerts-window-station-name", ("stationName", stationName)), out _);
StationName.SetMessage(msg);
}
else
{
StationName.SetMessage(stationName);
NavMap.Visible = false;
}
// Set trackable entity selected action
NavMap.TrackedEntitySelectedAction += SetTrackedEntityFromNavMap;
// Update nav map
NavMap.ForceNavMapUpdate();
// Set tab container headers
MasterTabContainer.SetTabTitle(0, Loc.GetString("atmos-alerts-window-tab-no-alerts"));
MasterTabContainer.SetTabTitle(1, Loc.GetString("atmos-alerts-window-tab-air-alarms"));
MasterTabContainer.SetTabTitle(2, Loc.GetString("atmos-alerts-window-tab-fire-alarms"));
// Set UI toggles
ShowInactiveAlarms.OnToggled += _ => OnShowAlarmsToggled(ShowInactiveAlarms, AtmosAlarmType.Invalid);
ShowNormalAlarms.OnToggled += _ => OnShowAlarmsToggled(ShowNormalAlarms, AtmosAlarmType.Normal);
ShowWarningAlarms.OnToggled += _ => OnShowAlarmsToggled(ShowWarningAlarms, AtmosAlarmType.Warning);
ShowDangerAlarms.OnToggled += _ => OnShowAlarmsToggled(ShowDangerAlarms, AtmosAlarmType.Danger);
// Set atmos monitoring message action
SendFocusChangeMessageAction += userInterface.SendFocusChangeMessage;
SendDeviceSilencedMessageAction += userInterface.SendDeviceSilencedMessage;
}
#region Toggle handling
private void OnShowAlarmsToggled(CheckBox toggle, AtmosAlarmType toggledAlarmState)
{
if (_owner == null)
return;
if (!_entManager.TryGetComponent<AtmosAlertsComputerComponent>(_owner.Value, out var console))
return;
foreach (var device in console.AtmosDevices)
{
var alarmState = GetAlarmState(device.NetEntity);
if (toggledAlarmState != alarmState)
continue;
if (toggle.Pressed)
AddTrackedEntityToNavMap(device, alarmState);
else
NavMap.TrackedEntities.Remove(device.NetEntity);
}
}
private void OnSilenceAlertsToggled(NetEntity netEntity, bool toggleState)
{
if (!_entManager.TryGetComponent<AtmosAlertsComputerComponent>(_owner, out var console))
return;
if (toggleState)
_deviceSilencingProgress[netEntity] = SilencingDuration;
else
_deviceSilencingProgress.Remove(netEntity);
foreach (AtmosAlarmEntryContainer entryContainer in AlertsTable.Children)
{
if (entryContainer.NetEntity == netEntity)
entryContainer.SilenceAlarmProgressBar.Visible = toggleState;
}
SendDeviceSilencedMessageAction?.Invoke(netEntity, toggleState);
}
#endregion
public void UpdateUI(EntityCoordinates? consoleCoords, AtmosAlertsComputerEntry[] airAlarms, AtmosAlertsComputerEntry[] fireAlarms, AtmosAlertsFocusDeviceData? focusData)
{
if (_owner == null)
return;
if (!_entManager.TryGetComponent<AtmosAlertsComputerComponent>(_owner.Value, out var console))
return;
if (_trackedEntity != focusData?.NetEntity)
{
SendFocusChangeMessageAction?.Invoke(_trackedEntity);
focusData = null;
}
// Retain alarm data for use inbetween updates
_airAlarms = airAlarms;
_fireAlarms = fireAlarms;
_allAlarms = airAlarms.Concat(fireAlarms);
var silenced = console.SilencedDevices;
_activeAlarms = _allAlarms.Where(x => x.AlarmState > AtmosAlarmType.Normal &&
(!silenced.Contains(x.NetEntity) || _deviceSilencingProgress.ContainsKey(x.NetEntity)));
// Reset nav map data
NavMap.TrackedCoordinates.Clear();
NavMap.TrackedEntities.Clear();
// Add tracked entities to the nav map
foreach (var device in console.AtmosDevices)
{
if (!device.NetEntity.Valid)
continue;
if (!NavMap.Visible)
continue;
var alarmState = GetAlarmState(device.NetEntity);
if (_trackedEntity != device.NetEntity)
{
// Skip air alarms if the appropriate overlay is off
if (!ShowInactiveAlarms.Pressed && alarmState == AtmosAlarmType.Invalid)
continue;
if (!ShowNormalAlarms.Pressed && alarmState == AtmosAlarmType.Normal)
continue;
if (!ShowWarningAlarms.Pressed && alarmState == AtmosAlarmType.Warning)
continue;
if (!ShowDangerAlarms.Pressed && alarmState == AtmosAlarmType.Danger)
continue;
}
AddTrackedEntityToNavMap(device, alarmState);
}
// Show the monitor location
var consoleUid = _entManager.GetNetEntity(_owner);
if (consoleCoords != null && consoleUid != null)
{
var texture = _spriteSystem.Frame0(new SpriteSpecifier.Texture(new ResPath("/Textures/Interface/NavMap/beveled_circle.png")));
var blip = new NavMapBlip(consoleCoords.Value, texture, _monitorBlipColor, true, false);
NavMap.TrackedEntities[consoleUid.Value] = blip;
}
// Update the nav map
NavMap.ForceNavMapUpdate();
// Clear excess children from the tables
var activeAlarmCount = _activeAlarms.Count();
while (AlertsTable.ChildCount > activeAlarmCount)
AlertsTable.RemoveChild(AlertsTable.GetChild(AlertsTable.ChildCount - 1));
while (AirAlarmsTable.ChildCount > airAlarms.Length)
AirAlarmsTable.RemoveChild(AirAlarmsTable.GetChild(AirAlarmsTable.ChildCount - 1));
while (FireAlarmsTable.ChildCount > fireAlarms.Length)
FireAlarmsTable.RemoveChild(FireAlarmsTable.GetChild(FireAlarmsTable.ChildCount - 1));
// Update all entries in each table
for (int index = 0; index < _activeAlarms.Count(); index++)
{
var entry = _activeAlarms.ElementAt(index);
UpdateUIEntry(entry, index, AlertsTable, console, focusData);
}
for (int index = 0; index < airAlarms.Count(); index++)
{
var entry = airAlarms.ElementAt(index);
UpdateUIEntry(entry, index, AirAlarmsTable, console, focusData);
}
for (int index = 0; index < fireAlarms.Count(); index++)
{
var entry = fireAlarms.ElementAt(index);
UpdateUIEntry(entry, index, FireAlarmsTable, console, focusData);
}
// If no alerts are active, display a message
if (MasterTabContainer.CurrentTab == 0 && activeAlarmCount == 0)
{
var label = new RichTextLabel()
{
HorizontalExpand = true,
VerticalExpand = true,
HorizontalAlignment = HAlignment.Center,
VerticalAlignment = VAlignment.Center,
};
label.SetMarkup(Loc.GetString("atmos-alerts-window-no-active-alerts", ("color", _statusTextColor.ToHexNoAlpha())));
AlertsTable.AddChild(label);
}
// Update the alerts tab with the number of active alerts
if (activeAlarmCount == 0)
MasterTabContainer.SetTabTitle(0, Loc.GetString("atmos-alerts-window-tab-no-alerts"));
else
MasterTabContainer.SetTabTitle(0, Loc.GetString("atmos-alerts-window-tab-alerts", ("value", activeAlarmCount)));
// Update sensor regions
NavMap.RegionOverlays.Clear();
var prioritizedRegionOverlays = new Dictionary<NavMapRegionOverlay, int>();
if (_owner != null &&
_entManager.TryGetComponent<TransformComponent>(_owner, out var xform) &&
_entManager.TryGetComponent<NavMapComponent>(xform.GridUid, out var navMap))
{
var regionOverlays = _navMapSystem.GetNavMapRegionOverlays(_owner.Value, navMap, AtmosAlertsComputerUiKey.Key);
foreach (var (regionOwner, regionOverlay) in regionOverlays)
{
var alarmState = GetAlarmState(regionOwner);
if (!TryGetSensorRegionColor(regionOwner, alarmState, out var regionColor))
continue;
regionOverlay.Color = regionColor;
var priority = (_trackedEntity == regionOwner) ? 999 : (int)alarmState;
prioritizedRegionOverlays.Add(regionOverlay, priority);
}
// Sort overlays according to their priority
var sortedOverlays = prioritizedRegionOverlays.OrderBy(x => x.Value).Select(x => x.Key).ToList();
NavMap.RegionOverlays = sortedOverlays;
}
// Auto-scroll re-enable
if (_autoScrollAwaitsUpdate)
{
_autoScrollActive = true;
_autoScrollAwaitsUpdate = false;
}
}
private void AddTrackedEntityToNavMap(AtmosAlertsDeviceNavMapData metaData, AtmosAlarmType alarmState)
{
var data = GetBlipTexture(alarmState);
if (data == null)
return;
var texture = data.Value.Item1;
var color = data.Value.Item2;
var coords = _entManager.GetCoordinates(metaData.NetCoordinates);
if (_trackedEntity != null && _trackedEntity != metaData.NetEntity)
color *= _untrackedEntColor;
var selectable = true;
var blip = new NavMapBlip(coords, _spriteSystem.Frame0(texture), color, _trackedEntity == metaData.NetEntity, selectable);
NavMap.TrackedEntities[metaData.NetEntity] = blip;
}
private bool TryGetSensorRegionColor(NetEntity regionOwner, AtmosAlarmType alarmState, out Color color)
{
color = Color.White;
var blip = GetBlipTexture(alarmState);
if (blip == null)
return false;
// Color the region based on alarm state and entity tracking
color = blip.Value.Item2 * _regionBaseColor;
if (_trackedEntity != null && _trackedEntity != regionOwner)
color *= _untrackedEntColor;
return true;
}
private void UpdateUIEntry(AtmosAlertsComputerEntry entry, int index, Control table, AtmosAlertsComputerComponent console, AtmosAlertsFocusDeviceData? focusData = null)
{
// Make new UI entry if required
if (index >= table.ChildCount)
{
var newEntryContainer = new AtmosAlarmEntryContainer(entry.NetEntity, _entManager.GetCoordinates(entry.Coordinates));
// On click
newEntryContainer.FocusButton.OnButtonUp += args =>
{
if (_trackedEntity == newEntryContainer.NetEntity)
{
_trackedEntity = null;
}
else
{
_trackedEntity = newEntryContainer.NetEntity;
if (newEntryContainer.Coordinates != null)
NavMap.CenterToCoordinates(newEntryContainer.Coordinates.Value);
}
// Send message to console that the focus has changed
SendFocusChangeMessageAction?.Invoke(_trackedEntity);
// Update affected UI elements across all tables
UpdateConsoleTable(console, AlertsTable, _trackedEntity);
UpdateConsoleTable(console, AirAlarmsTable, _trackedEntity);
UpdateConsoleTable(console, FireAlarmsTable, _trackedEntity);
};
// On toggling the silence check box
newEntryContainer.SilenceCheckBox.OnToggled += _ => OnSilenceAlertsToggled(newEntryContainer.NetEntity, newEntryContainer.SilenceCheckBox.Pressed);
// Add the entry to the current table
table.AddChild(newEntryContainer);
}
// Update values and UI elements
var tableChild = table.GetChild(index);
if (tableChild is not AtmosAlarmEntryContainer)
{
table.RemoveChild(tableChild);
UpdateUIEntry(entry, index, table, console, focusData);
return;
}
var entryContainer = (AtmosAlarmEntryContainer)tableChild;
entryContainer.UpdateEntry(entry, entry.NetEntity == _trackedEntity, focusData);
if (_trackedEntity != entry.NetEntity)
{
var silenced = console.SilencedDevices;
entryContainer.SilenceCheckBox.Pressed = (silenced.Contains(entry.NetEntity) || _deviceSilencingProgress.ContainsKey(entry.NetEntity));
}
entryContainer.SilenceAlarmProgressBar.Visible = (table == AlertsTable && _deviceSilencingProgress.ContainsKey(entry.NetEntity));
}
private void UpdateConsoleTable(AtmosAlertsComputerComponent console, Control table, NetEntity? currTrackedEntity)
{
foreach (var tableChild in table.Children)
{
if (tableChild is not AtmosAlarmEntryContainer)
continue;
var entryContainer = (AtmosAlarmEntryContainer)tableChild;
if (entryContainer.NetEntity != currTrackedEntity)
entryContainer.RemoveAsFocus();
else if (entryContainer.NetEntity == currTrackedEntity)
entryContainer.SetAsFocus();
}
}
private void SetTrackedEntityFromNavMap(NetEntity? netEntity)
{
if (netEntity == null)
return;
if (!_entManager.TryGetComponent<AtmosAlertsComputerComponent>(_owner, out var console))
return;
_trackedEntity = netEntity;
if (netEntity != null)
{
// Tab switching
if (MasterTabContainer.CurrentTab != 0 || _activeAlarms?.Any(x => x.NetEntity == netEntity) == false)
{
var device = console.AtmosDevices.FirstOrNull(x => x.NetEntity == netEntity);
switch (device?.Group)
{
case AtmosAlertsComputerGroup.AirAlarm:
MasterTabContainer.CurrentTab = 1; break;
case AtmosAlertsComputerGroup.FireAlarm:
MasterTabContainer.CurrentTab = 2; break;
}
}
// Get the scroll position of the selected entity on the selected button the UI
ActivateAutoScrollToFocus();
}
// Send message to console that the focus has changed
SendFocusChangeMessageAction?.Invoke(_trackedEntity);
}
protected override void FrameUpdate(FrameEventArgs args)
{
AutoScrollToFocus();
// Device silencing update
foreach ((var device, var remainingTime) in _deviceSilencingProgress)
{
var t = remainingTime - args.DeltaSeconds;
if (t <= 0)
{
_deviceSilencingProgress.Remove(device);
if (device == _trackedEntity)
_trackedEntity = null;
}
else
_deviceSilencingProgress[device] = t;
}
}
private void ActivateAutoScrollToFocus()
{
_autoScrollActive = false;
_autoScrollAwaitsUpdate = true;
}
private void AutoScrollToFocus()
{
if (!_autoScrollActive)
return;
var scroll = MasterTabContainer.Children.ElementAt(MasterTabContainer.CurrentTab) as ScrollContainer;
if (scroll == null)
return;
if (!TryGetVerticalScrollbar(scroll, out var vScrollbar))
return;
if (!TryGetNextScrollPosition(out float? nextScrollPosition))
return;
vScrollbar.ValueTarget = nextScrollPosition.Value;
if (MathHelper.CloseToPercent(vScrollbar.Value, vScrollbar.ValueTarget))
_autoScrollActive = false;
}
private bool TryGetVerticalScrollbar(ScrollContainer scroll, [NotNullWhen(true)] out VScrollBar? vScrollBar)
{
vScrollBar = null;
foreach (var child in scroll.Children)
{
if (child is not VScrollBar)
continue;
var castChild = child as VScrollBar;
if (castChild != null)
{
vScrollBar = castChild;
return true;
}
}
return false;
}
private bool TryGetNextScrollPosition([NotNullWhen(true)] out float? nextScrollPosition)
{
nextScrollPosition = null;
var scroll = MasterTabContainer.Children.ElementAt(MasterTabContainer.CurrentTab) as ScrollContainer;
if (scroll == null)
return false;
var container = scroll.Children.ElementAt(0) as BoxContainer;
if (container == null || container.Children.Count() == 0)
return false;
// Exit if the heights of the children haven't been initialized yet
if (!container.Children.Any(x => x.Height > 0))
return false;
nextScrollPosition = 0;
foreach (var control in container.Children)
{
if (control == null || control is not AtmosAlarmEntryContainer)
continue;
if (((AtmosAlarmEntryContainer)control).NetEntity == _trackedEntity)
return true;
nextScrollPosition += control.Height;
}
// Failed to find control
nextScrollPosition = null;
return false;
}
private AtmosAlarmType GetAlarmState(NetEntity netEntity)
{
var alarmState = _allAlarms?.FirstOrNull(x => x.NetEntity == netEntity)?.AlarmState;
if (alarmState == null)
return AtmosAlarmType.Invalid;
return alarmState.Value;
}
private (SpriteSpecifier.Texture, Color)? GetBlipTexture(AtmosAlarmType alarmState)
{
(SpriteSpecifier.Texture, Color)? output = null;
switch (alarmState)
{
case AtmosAlarmType.Invalid:
output = (new SpriteSpecifier.Texture(new ResPath("/Textures/Interface/NavMap/beveled_circle.png")), _inactiveColor); break;
case AtmosAlarmType.Normal:
output = (new SpriteSpecifier.Texture(new ResPath("/Textures/Interface/NavMap/beveled_circle.png")), _goodColor); break;
case AtmosAlarmType.Warning:
output = (new SpriteSpecifier.Texture(new ResPath("/Textures/Interface/NavMap/beveled_triangle.png")), _warningColor); break;
case AtmosAlarmType.Danger:
output = (new SpriteSpecifier.Texture(new ResPath("/Textures/Interface/NavMap/beveled_square.png")), _dangerColor); break;
}
return output;
}
}

View File

@@ -0,0 +1,40 @@
using Content.Shared.Atmos.Components;
namespace Content.Client.Atmos.Consoles;
public sealed class AtmosMonitoringConsoleBoundUserInterface : BoundUserInterface
{
[ViewVariables]
private AtmosMonitoringConsoleWindow? _menu;
public AtmosMonitoringConsoleBoundUserInterface(EntityUid owner, Enum uiKey) : base(owner, uiKey) { }
protected override void Open()
{
base.Open();
_menu = new AtmosMonitoringConsoleWindow(this, Owner);
_menu.OpenCentered();
_menu.OnClose += Close;
}
protected override void UpdateState(BoundUserInterfaceState state)
{
base.UpdateState(state);
if (state is not AtmosMonitoringConsoleBoundInterfaceState castState)
return;
EntMan.TryGetComponent<TransformComponent>(Owner, out var xform);
_menu?.UpdateUI(xform?.Coordinates, castState.AtmosNetworks);
}
protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
if (!disposing)
return;
_menu?.Dispose();
}
}

View File

@@ -0,0 +1,295 @@
using Content.Client.Pinpointer.UI;
using Content.Shared.Atmos.Components;
using Content.Shared.Pinpointer;
using Robust.Client.Graphics;
using Robust.Shared.Collections;
using Robust.Shared.Map.Components;
using System.Linq;
using System.Numerics;
namespace Content.Client.Atmos.Consoles;
public sealed partial class AtmosMonitoringConsoleNavMapControl : NavMapControl
{
[Dependency] private readonly IEntityManager _entManager = default!;
public bool ShowPipeNetwork = true;
public int? FocusNetId = null;
private const int ChunkSize = 4;
private readonly Color _basePipeNetColor = Color.LightGray;
private readonly Color _unfocusedPipeNetColor = Color.DimGray;
private List<AtmosMonitoringConsoleLine> _atmosPipeNetwork = new();
private Dictionary<Color, Color> _sRGBLookUp = new Dictionary<Color, Color>();
// Look up tables for merging continuous lines. Indexed by line color
private Dictionary<Color, Dictionary<Vector2i, Vector2i>> _horizLines = new();
private Dictionary<Color, Dictionary<Vector2i, Vector2i>> _horizLinesReversed = new();
private Dictionary<Color, Dictionary<Vector2i, Vector2i>> _vertLines = new();
private Dictionary<Color, Dictionary<Vector2i, Vector2i>> _vertLinesReversed = new();
public AtmosMonitoringConsoleNavMapControl() : base()
{
PostWallDrawingAction += DrawAllPipeNetworks;
}
protected override void UpdateNavMap()
{
base.UpdateNavMap();
if (!_entManager.TryGetComponent<AtmosMonitoringConsoleComponent>(Owner, out var console))
return;
if (!_entManager.TryGetComponent<MapGridComponent>(MapUid, out var grid))
return;
_atmosPipeNetwork = GetDecodedAtmosPipeChunks(console.AtmosPipeChunks, grid);
}
private void DrawAllPipeNetworks(DrawingHandleScreen handle)
{
if (!ShowPipeNetwork)
return;
// Draw networks
if (_atmosPipeNetwork != null && _atmosPipeNetwork.Any())
DrawPipeNetwork(handle, _atmosPipeNetwork);
}
private void DrawPipeNetwork(DrawingHandleScreen handle, List<AtmosMonitoringConsoleLine> atmosPipeNetwork)
{
var offset = GetOffset();
offset = offset with { Y = -offset.Y };
if (WorldRange / WorldMaxRange > 0.5f)
{
var pipeNetworks = new Dictionary<Color, ValueList<Vector2>>();
foreach (var chunkedLine in atmosPipeNetwork)
{
var start = ScalePosition(chunkedLine.Origin - offset);
var end = ScalePosition(chunkedLine.Terminus - offset);
if (!pipeNetworks.TryGetValue(chunkedLine.Color, out var subNetwork))
subNetwork = new ValueList<Vector2>();
subNetwork.Add(start);
subNetwork.Add(end);
pipeNetworks[chunkedLine.Color] = subNetwork;
}
foreach ((var color, var subNetwork) in pipeNetworks)
{
if (subNetwork.Count > 0)
handle.DrawPrimitives(DrawPrimitiveTopology.LineList, subNetwork.Span, color);
}
}
else
{
var pipeVertexUVs = new Dictionary<Color, ValueList<Vector2>>();
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)
- 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)
- 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)
- 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)
- offset);
if (!pipeVertexUVs.TryGetValue(chunkedLine.Color, out var pipeVertexUV))
pipeVertexUV = new ValueList<Vector2>();
pipeVertexUV.Add(leftBottom);
pipeVertexUV.Add(leftTop);
pipeVertexUV.Add(rightBottom);
pipeVertexUV.Add(leftTop);
pipeVertexUV.Add(rightBottom);
pipeVertexUV.Add(rightTop);
pipeVertexUVs[chunkedLine.Color] = pipeVertexUV;
}
foreach ((var color, var pipeVertexUV) in pipeVertexUVs)
{
if (pipeVertexUV.Count > 0)
handle.DrawPrimitives(DrawPrimitiveTopology.TriangleList, pipeVertexUV.Span, color);
}
}
}
private List<AtmosMonitoringConsoleLine> GetDecodedAtmosPipeChunks(Dictionary<Vector2i, AtmosPipeChunk>? chunks, MapGridComponent? grid)
{
var decodedOutput = new List<AtmosMonitoringConsoleLine>();
if (chunks == null || grid == null)
return decodedOutput;
// Clear stale look up table values
_horizLines.Clear();
_horizLinesReversed.Clear();
_vertLines.Clear();
_vertLinesReversed.Clear();
// Generate masks
var northMask = (ulong)1 << 0;
var southMask = (ulong)1 << 1;
var westMask = (ulong)1 << 2;
var eastMask = (ulong)1 << 3;
foreach ((var chunkOrigin, var chunk) in chunks)
{
var list = new List<AtmosMonitoringConsoleLine>();
foreach (var ((netId, hexColor), atmosPipeData) in chunk.AtmosPipeData)
{
// Determine the correct coloration for the pipe
var color = Color.FromHex(hexColor) * _basePipeNetColor;
if (FocusNetId != null && FocusNetId != netId)
color *= _unfocusedPipeNetColor;
// Get the associated line look up tables
if (!_horizLines.TryGetValue(color, out var horizLines))
{
horizLines = new();
_horizLines[color] = horizLines;
}
if (!_horizLinesReversed.TryGetValue(color, out var horizLinesReversed))
{
horizLinesReversed = new();
_horizLinesReversed[color] = horizLinesReversed;
}
if (!_vertLines.TryGetValue(color, out var vertLines))
{
vertLines = new();
_vertLines[color] = vertLines;
}
if (!_vertLinesReversed.TryGetValue(color, out var vertLinesReversed))
{
vertLinesReversed = new();
_vertLinesReversed[color] = vertLinesReversed;
}
// Loop over the chunk
for (var tileIdx = 0; tileIdx < ChunkSize * ChunkSize; tileIdx++)
{
if (atmosPipeData == 0)
continue;
var mask = (ulong)SharedNavMapSystem.AllDirMask << tileIdx * SharedNavMapSystem.Directions;
if ((atmosPipeData & mask) == 0)
continue;
var relativeTile = GetTileFromIndex(tileIdx);
var tile = (chunk.Origin * ChunkSize + relativeTile) * grid.TileSize;
tile = tile with { Y = -tile.Y };
// 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);
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);
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);
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);
// 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 the vector2is back down and convert to vector2
foreach (var (color, horizLines) in _horizLines)
{
// Get the corresponding sRBG color
var sRGB = GetsRGBColor(color);
foreach (var (origin, terminal) in horizLines)
decodedOutput.Add(new AtmosMonitoringConsoleLine
(ConvertVector2iToVector2(origin, 0.5f), ConvertVector2iToVector2(terminal, 0.5f), sRGB));
}
foreach (var (color, vertLines) in _vertLines)
{
// Get the corresponding sRBG color
var sRGB = GetsRGBColor(color);
foreach (var (origin, terminal) in vertLines)
decodedOutput.Add(new AtmosMonitoringConsoleLine
(ConvertVector2iToVector2(origin, 0.5f), ConvertVector2iToVector2(terminal, 0.5f), sRGB));
}
return decodedOutput;
}
private Vector2 ConvertVector2iToVector2(Vector2i vector, float scale = 1f)
{
return new Vector2(vector.X * scale, vector.Y * scale);
}
private Vector2i ConvertVector2ToVector2i(Vector2 vector, float scale = 1f)
{
return new Vector2i((int)MathF.Round(vector.X * scale), (int)MathF.Round(vector.Y * scale));
}
private Vector2i GetTileFromIndex(int index)
{
var x = index / ChunkSize;
var y = index % ChunkSize;
return new Vector2i(x, y);
}
private Color GetsRGBColor(Color color)
{
if (!_sRGBLookUp.TryGetValue(color, out var sRGB))
{
sRGB = Color.ToSrgb(color);
_sRGBLookUp[color] = sRGB;
}
return sRGB;
}
}
public struct AtmosMonitoringConsoleLine
{
public readonly Vector2 Origin;
public readonly Vector2 Terminus;
public readonly Color Color;
public AtmosMonitoringConsoleLine(Vector2 origin, Vector2 terminus, Color color)
{
Origin = origin;
Terminus = terminus;
Color = color;
}
}

View File

@@ -0,0 +1,69 @@
using Content.Shared.Atmos.Components;
using Content.Shared.Atmos.Consoles;
using Robust.Shared.GameStates;
namespace Content.Client.Atmos.Consoles;
public sealed class AtmosMonitoringConsoleSystem : SharedAtmosMonitoringConsoleSystem
{
public override void Initialize()
{
base.Initialize();
SubscribeLocalEvent<AtmosMonitoringConsoleComponent, ComponentHandleState>(OnHandleState);
}
private void OnHandleState(EntityUid uid, AtmosMonitoringConsoleComponent component, ref ComponentHandleState args)
{
Dictionary<Vector2i, Dictionary<(int, string), ulong>> modifiedChunks;
Dictionary<NetEntity, AtmosDeviceNavMapData> atmosDevices;
switch (args.Current)
{
case AtmosMonitoringConsoleDeltaState delta:
{
modifiedChunks = delta.ModifiedChunks;
atmosDevices = delta.AtmosDevices;
foreach (var index in component.AtmosPipeChunks.Keys)
{
if (!delta.AllChunks!.Contains(index))
component.AtmosPipeChunks.Remove(index);
}
break;
}
case AtmosMonitoringConsoleState state:
{
modifiedChunks = state.Chunks;
atmosDevices = state.AtmosDevices;
foreach (var index in component.AtmosPipeChunks.Keys)
{
if (!state.Chunks.ContainsKey(index))
component.AtmosPipeChunks.Remove(index);
}
break;
}
default:
return;
}
foreach (var (origin, chunk) in modifiedChunks)
{
var newChunk = new AtmosPipeChunk(origin);
newChunk.AtmosPipeData = new Dictionary<(int, string), ulong>(chunk);
component.AtmosPipeChunks[origin] = newChunk;
}
component.AtmosDevices.Clear();
foreach (var (nuid, atmosDevice) in atmosDevices)
{
component.AtmosDevices[nuid] = atmosDevice;
}
}
}

View File

@@ -0,0 +1,99 @@
<controls:FancyWindow xmlns="https://spacestation14.io"
xmlns:ui="clr-namespace:Content.Client.Atmos.Consoles"
xmlns:controls="clr-namespace:Content.Client.UserInterface.Controls"
xmlns:gfx="clr-namespace:Robust.Client.Graphics;assembly=Robust.Client"
Title="{Loc 'atmos-monitoring-window-title'}"
Resizable="False"
SetSize="1120 750"
MinSize="1120 750">
<BoxContainer Orientation="Vertical">
<!-- Main display -->
<BoxContainer Orientation="Horizontal" VerticalExpand="True" HorizontalExpand="True">
<!-- Nav map -->
<BoxContainer Orientation="Vertical" VerticalExpand="True" HorizontalExpand="True">
<ui:AtmosMonitoringConsoleNavMapControl Name="NavMap" Margin="5 5" VerticalExpand="True" HorizontalExpand="True">
<!-- System warning -->
<PanelContainer Name="SystemWarningPanel"
HorizontalAlignment="Center"
VerticalAlignment="Top"
HorizontalExpand="True"
Margin="0 48 0 0"
Visible="False">
<RichTextLabel Name="SystemWarningLabel" Margin="12 8 12 8"/>
</PanelContainer>
</ui:AtmosMonitoringConsoleNavMapControl>
<!-- Nav map legend -->
<BoxContainer Orientation="Horizontal" Margin="0 10 0 10">
<TextureRect Stretch="KeepAspectCentered"
TexturePath="/Textures/Interface/NavMap/beveled_square.png"
Modulate="#a9a9a9"
SetSize="16 16"
Margin="20 0 5 0"/>
<Label Text="{Loc 'atmos-monitoring-window-label-gas-opening'}"/>
<TextureRect Stretch="KeepAspectCentered"
TexturePath="/Textures/Interface/NavMap/beveled_circle.png"
SetSize="16 16"
Modulate="#a9a9a9"
Margin="20 0 5 0"/>
<Label Text="{Loc 'atmos-monitoring-window-label-gas-scrubber'}"/>
<TextureRect Stretch="KeepAspectCentered"
TexturePath="/Textures/Interface/NavMap/beveled_arrow_east.png"
SetSize="16 16"
Modulate="#a9a9a9"
Margin="20 0 5 0"/>
<Label Text="{Loc 'atmos-monitoring-window-label-gas-flow-regulator'}"/>
<TextureRect Stretch="KeepAspectCentered"
TexturePath="/Textures/Interface/NavMap/beveled_hexagon.png"
SetSize="16 16"
Modulate="#a9a9a9"
Margin="20 0 5 0"/>
<Label Text="{Loc 'atmos-monitoring-window-label-thermoregulator'}"/>
</BoxContainer>
</BoxContainer>
<!-- Atmosphere status -->
<BoxContainer Orientation="Vertical" VerticalExpand="True" SetWidth="440" Margin="0 0 10 10">
<!-- Station name -->
<controls:StripeBack>
<PanelContainer>
<RichTextLabel Name="StationName" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0 5 0 3"/>
</PanelContainer>
</controls:StripeBack>
<!-- Alarm status (entries added by C# code) -->
<TabContainer Name="MasterTabContainer" VerticalExpand="True" HorizontalExpand="True" Margin="0 10 0 0">
<ScrollContainer HorizontalExpand="True" Margin="8, 8, 8, 8">
<BoxContainer Name="AtmosNetworksTable" Orientation="Vertical" VerticalExpand="True" HorizontalExpand="True" Margin="0 0 0 10"/>
</ScrollContainer>
</TabContainer>
<!-- Overlay toggles -->
<BoxContainer Orientation="Vertical" Margin="0 10 0 0">
<Label Text="{Loc 'atmos-monitoring-window-toggle-overlays'}" Margin="0 0 0 5"/>
<BoxContainer Orientation="Horizontal" HorizontalExpand="True">
<CheckBox Name="ShowPipeNetwork" Text="{Loc 'atmos-monitoring-window-show-pipe-network'}" Pressed="True" HorizontalExpand="True"/>
<CheckBox Name="ShowGasPipeSensors" Text="{Loc 'atmos-monitoring-window-show-gas-pipe-sensors'}" Pressed="False" HorizontalExpand="True"/>
</BoxContainer>
</BoxContainer>
</BoxContainer>
</BoxContainer>
<!-- Footer -->
<BoxContainer Orientation="Vertical">
<PanelContainer StyleClasses="LowDivider" />
<BoxContainer Orientation="Horizontal" Margin="10 2 5 0" VerticalAlignment="Bottom">
<Label Text="{Loc 'atmos-monitoring-window-flavor-left'}" StyleClasses="WindowFooterText" />
<Label Text="{Loc 'atmos-monitoring-window-flavor-right'}" StyleClasses="WindowFooterText"
HorizontalAlignment="Right" HorizontalExpand="True" Margin="0 0 5 0" />
<TextureRect StyleClasses="NTLogoDark" Stretch="KeepAspectCentered"
VerticalAlignment="Center" HorizontalAlignment="Right" SetSize="19 19"/>
</BoxContainer>
</BoxContainer>
</BoxContainer>
</controls:FancyWindow>

View File

@@ -0,0 +1,455 @@
using Content.Client.Pinpointer.UI;
using Content.Client.UserInterface.Controls;
using Content.Shared.Atmos.Components;
using Content.Shared.Prototypes;
using Robust.Client.AutoGenerated;
using Robust.Client.GameObjects;
using Robust.Client.UserInterface;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.XAML;
using Robust.Shared.Map;
using Robust.Shared.Prototypes;
using Robust.Shared.Timing;
using Robust.Shared.Utility;
using System.Diagnostics.CodeAnalysis;
using System.Linq;
namespace Content.Client.Atmos.Consoles;
[GenerateTypedNameReferences]
public sealed partial class AtmosMonitoringConsoleWindow : FancyWindow
{
private readonly IEntityManager _entManager;
private readonly IPrototypeManager _protoManager;
private readonly SpriteSystem _spriteSystem;
private EntityUid? _owner;
private NetEntity? _focusEntity;
private int? _focusNetId;
private bool _autoScrollActive = false;
private readonly Color _unfocusedDeviceColor = Color.DimGray;
private ProtoId<NavMapBlipPrototype> _navMapConsoleProtoId = "NavMapConsole";
private ProtoId<NavMapBlipPrototype> _gasPipeSensorProtoId = "GasPipeSensor";
public AtmosMonitoringConsoleWindow(AtmosMonitoringConsoleBoundUserInterface userInterface, EntityUid? owner)
{
RobustXamlLoader.Load(this);
_entManager = IoCManager.Resolve<IEntityManager>();
_protoManager = IoCManager.Resolve<IPrototypeManager>();
_spriteSystem = _entManager.System<SpriteSystem>();
// Pass the owner to nav map
_owner = owner;
NavMap.Owner = _owner;
// Set nav map grid uid
var stationName = Loc.GetString("atmos-monitoring-window-unknown-location");
EntityCoordinates? consoleCoords = null;
if (_entManager.TryGetComponent<TransformComponent>(owner, out var xform))
{
consoleCoords = xform.Coordinates;
NavMap.MapUid = xform.GridUid;
// Assign station name
if (_entManager.TryGetComponent<MetaDataComponent>(xform.GridUid, out var stationMetaData))
stationName = stationMetaData.EntityName;
var msg = new FormattedMessage();
msg.TryAddMarkup(Loc.GetString("atmos-monitoring-window-station-name", ("stationName", stationName)), out _);
StationName.SetMessage(msg);
}
else
{
StationName.SetMessage(stationName);
NavMap.Visible = false;
}
// Set trackable entity selected action
NavMap.TrackedEntitySelectedAction += SetTrackedEntityFromNavMap;
// Update nav map
NavMap.ForceNavMapUpdate();
// Set tab container headers
MasterTabContainer.SetTabTitle(0, Loc.GetString("atmos-monitoring-window-tab-networks"));
// Set UI toggles
ShowPipeNetwork.OnToggled += _ => OnShowPipeNetworkToggled();
ShowGasPipeSensors.OnToggled += _ => OnShowGasPipeSensors();
// Set nav map colors
if (!_entManager.TryGetComponent<AtmosMonitoringConsoleComponent>(_owner, out var console))
return;
NavMap.TileColor = console.NavMapTileColor;
NavMap.WallColor = console.NavMapWallColor;
// Initalize
UpdateUI(consoleCoords, Array.Empty<AtmosMonitoringConsoleEntry>());
}
#region Toggle handling
private void OnShowPipeNetworkToggled()
{
if (_owner == null)
return;
if (!_entManager.TryGetComponent<AtmosMonitoringConsoleComponent>(_owner.Value, out var console))
return;
NavMap.ShowPipeNetwork = ShowPipeNetwork.Pressed;
foreach (var (netEnt, device) in console.AtmosDevices)
{
if (device.NavMapBlip == _gasPipeSensorProtoId)
continue;
if (ShowPipeNetwork.Pressed)
AddTrackedEntityToNavMap(device);
else
NavMap.TrackedEntities.Remove(netEnt);
}
}
private void OnShowGasPipeSensors()
{
if (_owner == null)
return;
if (!_entManager.TryGetComponent<AtmosMonitoringConsoleComponent>(_owner.Value, out var console))
return;
foreach (var (netEnt, device) in console.AtmosDevices)
{
if (device.NavMapBlip != _gasPipeSensorProtoId)
continue;
if (ShowGasPipeSensors.Pressed)
AddTrackedEntityToNavMap(device, true);
else
NavMap.TrackedEntities.Remove(netEnt);
}
}
#endregion
public void UpdateUI
(EntityCoordinates? consoleCoords,
AtmosMonitoringConsoleEntry[] atmosNetworks)
{
if (_owner == null)
return;
if (!_entManager.TryGetComponent<AtmosMonitoringConsoleComponent>(_owner.Value, out var console))
return;
// Reset nav map values
NavMap.TrackedCoordinates.Clear();
NavMap.TrackedEntities.Clear();
if (_focusEntity != null && !console.AtmosDevices.Any(x => x.Key == _focusEntity))
ClearFocus();
// Add tracked entities to the nav map
UpdateNavMapBlips();
// Show the monitor location
var consoleNetEnt = _entManager.GetNetEntity(_owner);
if (consoleCoords != null && consoleNetEnt != null)
{
var proto = _protoManager.Index(_navMapConsoleProtoId);
if (proto.TexturePaths != null && proto.TexturePaths.Length != 0)
{
var texture = _spriteSystem.Frame0(new SpriteSpecifier.Texture(proto.TexturePaths[0]));
var blip = new NavMapBlip(consoleCoords.Value, texture, proto.Color, proto.Blinks, proto.Selectable);
NavMap.TrackedEntities[consoleNetEnt.Value] = blip;
}
}
// Update the nav map
NavMap.ForceNavMapUpdate();
// Clear excess children from the tables
while (AtmosNetworksTable.ChildCount > atmosNetworks.Length)
AtmosNetworksTable.RemoveChild(AtmosNetworksTable.GetChild(AtmosNetworksTable.ChildCount - 1));
// Update all entries in each table
for (int index = 0; index < atmosNetworks.Length; index++)
{
var entry = atmosNetworks.ElementAt(index);
UpdateUIEntry(entry, index, AtmosNetworksTable, console);
}
}
private void UpdateNavMapBlips()
{
if (_owner == null || !_entManager.TryGetComponent<AtmosMonitoringConsoleComponent>(_owner.Value, out var console))
return;
if (NavMap.Visible)
{
foreach (var (netEnt, device) in console.AtmosDevices)
{
// Update the focus network ID, incase it has changed
if (_focusEntity == netEnt)
{
_focusNetId = device.NetId;
NavMap.FocusNetId = _focusNetId;
}
var isSensor = device.NavMapBlip == _gasPipeSensorProtoId;
// Skip network devices if the toggled is off
if (!ShowPipeNetwork.Pressed && !isSensor)
continue;
// Skip gas pipe sensors if the toggle is off
if (!ShowGasPipeSensors.Pressed && isSensor)
continue;
AddTrackedEntityToNavMap(device, isSensor);
}
}
}
private void AddTrackedEntityToNavMap(AtmosDeviceNavMapData metaData, bool isSensor = false)
{
var proto = _protoManager.Index(metaData.NavMapBlip);
if (proto.TexturePaths == null || proto.TexturePaths.Length == 0)
return;
var idx = Math.Clamp((int)metaData.Direction / 2, 0, proto.TexturePaths.Length - 1);
var texture = proto.TexturePaths.Length > 0 ? proto.TexturePaths[idx] : proto.TexturePaths[0];
var color = isSensor ? proto.Color : proto.Color * metaData.PipeColor;
if (_focusNetId != null && metaData.NetId != _focusNetId)
color *= _unfocusedDeviceColor;
var blinks = proto.Blinks || _focusEntity == metaData.NetEntity;
var coords = _entManager.GetCoordinates(metaData.NetCoordinates);
var blip = new NavMapBlip(coords, _spriteSystem.Frame0(new SpriteSpecifier.Texture(texture)), color, blinks, proto.Selectable, proto.Scale);
NavMap.TrackedEntities[metaData.NetEntity] = blip;
}
private void UpdateUIEntry(AtmosMonitoringConsoleEntry data, int index, Control table, AtmosMonitoringConsoleComponent console)
{
// Make new UI entry if required
if (index >= table.ChildCount)
{
var newEntryContainer = new AtmosMonitoringEntryContainer(data);
// On click
newEntryContainer.FocusButton.OnButtonUp += args =>
{
if (_focusEntity == newEntryContainer.Data.NetEntity)
{
ClearFocus();
}
else
{
SetFocus(newEntryContainer.Data.NetEntity, newEntryContainer.Data.NetId);
var coords = _entManager.GetCoordinates(newEntryContainer.Data.Coordinates);
NavMap.CenterToCoordinates(coords);
}
// Update affected UI elements across all tables
UpdateConsoleTable(console, AtmosNetworksTable, _focusEntity);
};
// Add the entry to the current table
table.AddChild(newEntryContainer);
}
// Update values and UI elements
var tableChild = table.GetChild(index);
if (tableChild is not AtmosMonitoringEntryContainer)
{
table.RemoveChild(tableChild);
UpdateUIEntry(data, index, table, console);
return;
}
var entryContainer = (AtmosMonitoringEntryContainer)tableChild;
entryContainer.UpdateEntry(data, data.NetEntity == _focusEntity);
}
private void UpdateConsoleTable(AtmosMonitoringConsoleComponent console, Control table, NetEntity? currTrackedEntity)
{
foreach (var tableChild in table.Children)
{
if (tableChild is not AtmosAlarmEntryContainer)
continue;
var entryContainer = (AtmosAlarmEntryContainer)tableChild;
if (entryContainer.NetEntity != currTrackedEntity)
entryContainer.RemoveAsFocus();
else if (entryContainer.NetEntity == currTrackedEntity)
entryContainer.SetAsFocus();
}
}
private void SetTrackedEntityFromNavMap(NetEntity? focusEntity)
{
if (focusEntity == null)
return;
if (!_entManager.TryGetComponent<AtmosMonitoringConsoleComponent>(_owner, out var console))
return;
foreach (var (netEnt, device) in console.AtmosDevices)
{
if (netEnt != focusEntity)
continue;
if (device.NavMapBlip != _gasPipeSensorProtoId)
return;
// Set new focus
SetFocus(focusEntity.Value, device.NetId);
// Get the scroll position of the selected entity on the selected button the UI
ActivateAutoScrollToFocus();
break;
}
}
protected override void FrameUpdate(FrameEventArgs args)
{
AutoScrollToFocus();
}
private void ActivateAutoScrollToFocus()
{
_autoScrollActive = true;
}
private void AutoScrollToFocus()
{
if (!_autoScrollActive)
return;
var scroll = AtmosNetworksTable.Parent as ScrollContainer;
if (scroll == null)
return;
if (!TryGetVerticalScrollbar(scroll, out var vScrollbar))
return;
if (!TryGetNextScrollPosition(out float? nextScrollPosition))
return;
vScrollbar.ValueTarget = nextScrollPosition.Value;
if (MathHelper.CloseToPercent(vScrollbar.Value, vScrollbar.ValueTarget))
_autoScrollActive = false;
}
private bool TryGetVerticalScrollbar(ScrollContainer scroll, [NotNullWhen(true)] out VScrollBar? vScrollBar)
{
vScrollBar = null;
foreach (var control in scroll.Children)
{
if (control is not VScrollBar)
continue;
vScrollBar = (VScrollBar)control;
return true;
}
return false;
}
private bool TryGetNextScrollPosition([NotNullWhen(true)] out float? nextScrollPosition)
{
nextScrollPosition = null;
var scroll = AtmosNetworksTable.Parent as ScrollContainer;
if (scroll == null)
return false;
var container = scroll.Children.ElementAt(0) as BoxContainer;
if (container == null || container.Children.Count() == 0)
return false;
// Exit if the heights of the children haven't been initialized yet
if (!container.Children.Any(x => x.Height > 0))
return false;
nextScrollPosition = 0;
foreach (var control in container.Children)
{
if (control is not AtmosMonitoringEntryContainer)
continue;
var entry = (AtmosMonitoringEntryContainer)control;
if (entry.Data.NetEntity == _focusEntity)
return true;
nextScrollPosition += control.Height;
}
// Failed to find control
nextScrollPosition = null;
return false;
}
private void SetFocus(NetEntity focusEntity, int focusNetId)
{
_focusEntity = focusEntity;
_focusNetId = focusNetId;
NavMap.FocusNetId = focusNetId;
OnFocusChanged();
}
private void ClearFocus()
{
_focusEntity = null;
_focusNetId = null;
NavMap.FocusNetId = null;
OnFocusChanged();
}
private void OnFocusChanged()
{
UpdateNavMapBlips();
NavMap.ForceNavMapUpdate();
if (!_entManager.TryGetComponent<AtmosMonitoringConsoleComponent>(_owner, out var console))
return;
for (int index = 0; index < AtmosNetworksTable.ChildCount; index++)
{
var entry = (AtmosMonitoringEntryContainer)AtmosNetworksTable.GetChild(index);
if (entry == null)
continue;
UpdateUIEntry(entry.Data, index, AtmosNetworksTable, console);
}
}
}

View File

@@ -0,0 +1,74 @@
<BoxContainer xmlns="https://spacestation14.io"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:s="clr-namespace:Content.Client.Stylesheets"
xmlns:gfx="clr-namespace:Robust.Client.Graphics;assembly=Robust.Client"
xmlns:controls="clr-namespace:Content.Client.UserInterface.Controls"
Orientation="Vertical" HorizontalExpand ="True" Margin="0 0 0 3">
<!-- Network selection button -->
<Button Name="FocusButton" HorizontalExpand="True" VerticalExpand="True" Margin="0 0 6 8" StyleClasses="OpenLeft" Access="Public">
<BoxContainer HorizontalExpand="True" VerticalExpand="True" Orientation="Vertical">
<BoxContainer HorizontalExpand="True" VerticalExpand="True" Orientation="Horizontal" SetHeight="32">
<PanelContainer Name="NetworkColorStripe" HorizontalAlignment="Left" SetWidth="8" VerticalExpand="True" Margin="-8 -2 0 0">
<PanelContainer.PanelOverride>
<gfx:StyleBoxFlat BackgroundColor="#d7d7d7"/>
</PanelContainer.PanelOverride>
</PanelContainer>
<Label Name="NetworkNameLabel" Text="???" HorizontalExpand="True" HorizontalAlignment="Center"/>
</BoxContainer>
<!-- Panel that appears on selecting the device -->
<PanelContainer HorizontalExpand="True" Margin="-8 0 -14 -4" Access="Public">
<PanelContainer.PanelOverride>
<gfx:StyleBoxFlat BackgroundColor="#25252a"/>
</PanelContainer.PanelOverride>
<BoxContainer Name="MainDataContainer" HorizontalExpand="True" VerticalExpand="True" Orientation="Vertical">
<Control>
<BoxContainer HorizontalExpand="True" VerticalExpand="True" Orientation="Vertical">
<BoxContainer HorizontalExpand="True" Orientation="Horizontal">
<Label Name="TemperatureHeaderLabel" Text="{Loc 'atmos-alerts-window-temperature-label'}" HorizontalAlignment="Center" HorizontalExpand="True" FontColorOverride="#a9a9a9" Margin="0 2 0 0" SetHeight="24"></Label>
<Label Name="PressureHeaderLabel" Text="{Loc 'atmos-alerts-window-pressure-label'}" HorizontalAlignment="Center" HorizontalExpand="True" FontColorOverride="#a9a9a9" Margin="0 2 0 0" SetHeight="24"></Label>
<Label Name="TotalMolHeaderLabel" Text="{Loc 'atmos-alerts-window-total-mol-label'}" HorizontalAlignment="Center" HorizontalExpand="True" FontColorOverride="#a9a9a9" Margin="0 2 0 0" SetHeight="24"></Label>
</BoxContainer>
<PanelContainer HorizontalExpand="True">
<PanelContainer.PanelOverride>
<gfx:StyleBoxFlat BackgroundColor="#202023"/>
</PanelContainer.PanelOverride>
<BoxContainer HorizontalExpand="True" Orientation="Horizontal">
<Label Name="TemperatureLabel" Text="???" HorizontalAlignment="Center" HorizontalExpand="True" FontColorOverride="#a9a9a9" Margin="0 2 0 0" SetHeight="24"></Label>
<Label Name="PressureLabel" Text="???" HorizontalAlignment="Center" HorizontalExpand="True" FontColorOverride="#a9a9a9" Margin="0 2 0 0" SetHeight="24"></Label>
<Label Name="TotalMolLabel" Text="???" HorizontalAlignment="Center" HorizontalExpand="True" FontColorOverride="#a9a9a9" Margin="0 2 0 0" SetHeight="24"></Label>
</BoxContainer>
</PanelContainer>
<BoxContainer HorizontalExpand="True" Orientation="Horizontal" Margin="8 0">
<TextureRect Name="ArrowTexture" VerticalAlignment="Center" SetSize="12 12" Stretch="KeepAspectCentered" Margin="3 0" TexturePath="/Textures/Interface/Nano/triangle_right.png"></TextureRect>
<Label Name="GasesHeaderLabel" Text="{Loc 'atmos-monitoring-window-label-gases'}" HorizontalAlignment="Left" HorizontalExpand="True" FontColorOverride="#a9a9a9" Margin="4 0 0 0" SetHeight="24"></Label>
</BoxContainer>
</BoxContainer>
</Control>
<!-- Atmosphere status -->
<Control Name="FocusContainer" ReservesSpace="False" Visible="False">
<!-- Main container for displaying atmospheric data -->
<BoxContainer HorizontalExpand="True" VerticalExpand="True" Orientation="Vertical">
<PanelContainer HorizontalExpand="True">
<PanelContainer.PanelOverride>
<gfx:StyleBoxFlat BackgroundColor="#202023"/>
</PanelContainer.PanelOverride>
<!-- Gas entries added via C# code -->
<GridContainer Name="GasGridContainer" HorizontalExpand="True" Columns = "4"></GridContainer>
</PanelContainer>
</BoxContainer>
</Control>
</BoxContainer>
<!-- If the alarm is inactive, this is label is displayed instead -->
<Label Name="NoDataLabel" Text="{Loc 'atmos-alerts-window-no-data-available'}" HorizontalAlignment="Center" Margin="0 15" FontColorOverride="#a9a9a9" ReservesSpace="False" Visible="False"></Label>
</PanelContainer>
</BoxContainer>
</Button>
</BoxContainer>

View File

@@ -0,0 +1,166 @@
using Content.Client.Stylesheets;
using Content.Shared.Atmos;
using Content.Shared.Atmos.Components;
using Content.Shared.FixedPoint;
using Content.Shared.Temperature;
using Robust.Client.AutoGenerated;
using Robust.Client.Graphics;
using Robust.Client.ResourceManagement;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.XAML;
using System.Linq;
namespace Content.Client.Atmos.Consoles;
[GenerateTypedNameReferences]
public sealed partial class AtmosMonitoringEntryContainer : BoxContainer
{
public AtmosMonitoringConsoleEntry Data;
private readonly IEntityManager _entManager;
private readonly IResourceCache _cache;
public AtmosMonitoringEntryContainer(AtmosMonitoringConsoleEntry data)
{
RobustXamlLoader.Load(this);
_entManager = IoCManager.Resolve<IEntityManager>();
_cache = IoCManager.Resolve<IResourceCache>();
Data = data;
// Modulate colored stripe
NetworkColorStripe.Modulate = data.Color;
// Load fonts
var headerFont = new VectorFont(_cache.GetResource<FontResource>("/Fonts/NotoSans/NotoSans-Bold.ttf"), 11);
var normalFont = new VectorFont(_cache.GetResource<FontResource>("/Fonts/NotoSansDisplay/NotoSansDisplay-Regular.ttf"), 11);
// Set fonts
TemperatureHeaderLabel.FontOverride = headerFont;
PressureHeaderLabel.FontOverride = headerFont;
TotalMolHeaderLabel.FontOverride = headerFont;
GasesHeaderLabel.FontOverride = headerFont;
TemperatureLabel.FontOverride = normalFont;
PressureLabel.FontOverride = normalFont;
TotalMolLabel.FontOverride = normalFont;
NoDataLabel.FontOverride = headerFont;
}
public void UpdateEntry(AtmosMonitoringConsoleEntry updatedData, bool isFocus)
{
// Load fonts
var normalFont = new VectorFont(_cache.GetResource<FontResource>("/Fonts/NotoSansDisplay/NotoSansDisplay-Regular.ttf"), 11);
// Update name and values
if (!string.IsNullOrEmpty(updatedData.Address))
NetworkNameLabel.Text = Loc.GetString("atmos-alerts-window-alarm-label", ("name", updatedData.EntityName), ("address", updatedData.Address));
else
NetworkNameLabel.Text = Loc.GetString(updatedData.EntityName);
Data = updatedData;
// Modulate colored stripe
NetworkColorStripe.Modulate = Data.Color;
// Focus updates
if (isFocus)
SetAsFocus();
else
RemoveAsFocus();
// Check if powered
if (!updatedData.IsPowered)
{
MainDataContainer.Visible = false;
NoDataLabel.Visible = true;
return;
}
// Set container visibility
MainDataContainer.Visible = true;
NoDataLabel.Visible = false;
// Update temperature
var isNotVacuum = updatedData.TotalMolData > 1e-6f;
var tempK = (FixedPoint2)updatedData.TemperatureData;
var tempC = (FixedPoint2)TemperatureHelpers.KelvinToCelsius(tempK.Float());
TemperatureLabel.Text = isNotVacuum ?
Loc.GetString("atmos-alerts-window-temperature-value", ("valueInC", tempC), ("valueInK", tempK)) :
Loc.GetString("atmos-alerts-window-invalid-value");
TemperatureLabel.FontColorOverride = isNotVacuum ? Color.DarkGray : StyleNano.DisabledFore;
// Update pressure
PressureLabel.Text = Loc.GetString("atmos-alerts-window-pressure-value", ("value", (FixedPoint2)updatedData.PressureData));
PressureLabel.FontColorOverride = isNotVacuum ? Color.DarkGray : StyleNano.DisabledFore;
// Update total mol
TotalMolLabel.Text = Loc.GetString("atmos-alerts-window-total-mol-value", ("value", (FixedPoint2)updatedData.TotalMolData));
TotalMolLabel.FontColorOverride = isNotVacuum ? Color.DarkGray : StyleNano.DisabledFore;
// Update other present gases
GasGridContainer.RemoveAllChildren();
if (updatedData.GasData.Count() == 0)
{
// No gases
var gasLabel = new Label()
{
Text = Loc.GetString("atmos-alerts-window-other-gases-value-nil"),
FontOverride = normalFont,
FontColorOverride = StyleNano.DisabledFore,
HorizontalAlignment = HAlignment.Center,
VerticalAlignment = VAlignment.Center,
HorizontalExpand = true,
Margin = new Thickness(0, 2, 0, 0),
SetHeight = 24f,
};
GasGridContainer.AddChild(gasLabel);
}
else
{
// Add an entry for each gas
foreach (var (gas, percent) in updatedData.GasData)
{
var gasPercent = (FixedPoint2)0f;
gasPercent = percent * 100f;
var gasAbbreviation = Atmospherics.GasAbbreviations.GetValueOrDefault(gas, Loc.GetString("gas-unknown-abbreviation"));
var gasLabel = new Label()
{
Text = Loc.GetString("atmos-alerts-window-other-gases-value", ("shorthand", gasAbbreviation), ("value", gasPercent)),
FontOverride = normalFont,
HorizontalAlignment = HAlignment.Center,
VerticalAlignment = VAlignment.Center,
HorizontalExpand = true,
Margin = new Thickness(0, 2, 0, 0),
SetHeight = 24f,
};
GasGridContainer.AddChild(gasLabel);
}
}
}
public void SetAsFocus()
{
FocusButton.AddStyleClass(StyleNano.StyleClassButtonColorGreen);
ArrowTexture.TexturePath = "/Textures/Interface/Nano/inverted_triangle.svg.png";
FocusContainer.Visible = true;
}
public void RemoveAsFocus()
{
FocusButton.RemoveStyleClass(StyleNano.StyleClassButtonColorGreen);
ArrowTexture.TexturePath = "/Textures/Interface/Nano/triangle_right.png";
FocusContainer.Visible = false;
}
}

View File

@@ -4,8 +4,6 @@ using Content.Shared.Atmos.Components;
using Content.Shared.Atmos.Piping;
using JetBrains.Annotations;
using Robust.Client.GameObjects;
using Robust.Client.ResourceManagement;
using Robust.Shared.Serialization.TypeSerializers.Implementations;
namespace Content.Client.Atmos.EntitySystems;
@@ -19,7 +17,7 @@ public sealed class AtmosPipeAppearanceSystem : EntitySystem
base.Initialize();
SubscribeLocalEvent<PipeAppearanceComponent, ComponentInit>(OnInit);
SubscribeLocalEvent<PipeAppearanceComponent, AppearanceChangeEvent>(OnAppearanceChanged, after: new[] { typeof(SubFloorHideSystem) });
SubscribeLocalEvent<PipeAppearanceComponent, AppearanceChangeEvent>(OnAppearanceChanged, after: [typeof(SubFloorHideSystem)]);
}
private void OnInit(EntityUid uid, PipeAppearanceComponent component, ComponentInit args)
@@ -84,7 +82,8 @@ public sealed class AtmosPipeAppearanceSystem : EntitySystem
layer.Visible &= visible;
if (!visible) continue;
if (!visible)
continue;
layer.Color = color;
}

View File

@@ -0,0 +1,10 @@
using Content.Shared.Atmos.EntitySystems;
using JetBrains.Annotations;
namespace Content.Client.Atmos.EntitySystems;
[UsedImplicitly]
public sealed class GasMinerSystem : SharedGasMinerSystem
{
}

View File

@@ -0,0 +1,23 @@
using Content.Client.Atmos.UI;
using Content.Shared.Atmos.Components;
using Content.Shared.Atmos.EntitySystems;
using Content.Shared.Atmos.Piping.Binary.Components;
namespace Content.Client.Atmos.EntitySystems;
public sealed class GasPressurePumpSystem : SharedGasPressurePumpSystem
{
public override void Initialize()
{
base.Initialize();
SubscribeLocalEvent<GasPressurePumpComponent, AfterAutoHandleStateEvent>(OnPumpUpdate);
}
private void OnPumpUpdate(Entity<GasPressurePumpComponent> ent, ref AfterAutoHandleStateEvent args)
{
if (UserInterfaceSystem.TryGetOpenUi<GasPressurePumpBoundUserInterface>(ent.Owner, GasPressurePumpUiKey.Key, out var bui))
{
bui.Update();
}
}
}

View File

@@ -1,12 +1,7 @@
using System.Collections.Generic;
using Content.Shared.Atmos.Monitor;
using Content.Shared.Power;
using Robust.Client.GameObjects;
using Robust.Client.Graphics;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
using Robust.Shared.Maths;
using Robust.Shared.Serialization.Manager.Attributes;
namespace Content.Client.Atmos.Monitor;
@@ -27,7 +22,7 @@ public sealed class AtmosAlarmableVisualsSystem : VisualizerSystem<AtmosAlarmabl
{
foreach (var visLayer in component.HideOnDepowered)
{
if (args.Sprite.LayerMapTryGet(visLayer, out int powerVisibilityLayer))
if (args.Sprite.LayerMapTryGet(visLayer, out var powerVisibilityLayer))
args.Sprite.LayerSetVisible(powerVisibilityLayer, powered);
}
}
@@ -36,7 +31,7 @@ public sealed class AtmosAlarmableVisualsSystem : VisualizerSystem<AtmosAlarmabl
{
foreach (var (setLayer, powerState) in component.SetOnDepowered)
{
if (args.Sprite.LayerMapTryGet(setLayer, out int setStateLayer))
if (args.Sprite.LayerMapTryGet(setLayer, out var setStateLayer))
args.Sprite.LayerSetState(setStateLayer, new RSI.StateId(powerState));
}
}

View File

@@ -1,11 +1,7 @@
using Content.Shared.Atmos;
using Content.Shared.Atmos.Monitor;
using Content.Shared.Atmos.Monitor.Components;
using Robust.Client.GameObjects;
using Robust.Client.UserInterface;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
using Robust.Shared.Log;
namespace Content.Client.Atmos.Monitor.UI;
@@ -30,7 +26,6 @@ public sealed class AirAlarmBoundUserInterface : BoundUserInterface
_window.AirAlarmModeChanged += OnAirAlarmModeChanged;
_window.AutoModeChanged += OnAutoModeChanged;
_window.ResyncAllRequested += ResyncAllDevices;
_window.AirAlarmTabChange += OnTabChanged;
}
private void ResyncAllDevices()
@@ -63,11 +58,6 @@ public sealed class AirAlarmBoundUserInterface : BoundUserInterface
SendMessage(new AirAlarmUpdateAlarmThresholdMessage(address, type, threshold, gas));
}
private void OnTabChanged(AirAlarmTab tab)
{
SendMessage(new AirAlarmTabSetMessage(tab));
}
protected override void UpdateState(BoundUserInterfaceState state)
{
base.UpdateState(state);
@@ -84,6 +74,7 @@ public sealed class AirAlarmBoundUserInterface : BoundUserInterface
{
base.Dispose(disposing);
if (disposing) _window?.Dispose();
if (disposing)
_window?.Dispose();
}
}

View File

@@ -8,7 +8,6 @@ using Content.Shared.Atmos.Monitor.Components;
using Content.Shared.Atmos.Piping.Unary.Components;
using Content.Shared.Temperature;
using Robust.Client.AutoGenerated;
using Robust.Client.GameObjects;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.XAML;
@@ -23,7 +22,6 @@ public sealed partial class AirAlarmWindow : FancyWindow
public event Action<AirAlarmMode>? AirAlarmModeChanged;
public event Action<bool>? AutoModeChanged;
public event Action? ResyncAllRequested;
public event Action<AirAlarmTab>? AirAlarmTabChange;
private RichTextLabel _address => CDeviceAddress;
private RichTextLabel _deviceTotal => CDeviceTotal;
@@ -60,7 +58,7 @@ public sealed partial class AirAlarmWindow : FancyWindow
AirAlarmMode.Fill => "air-alarm-ui-mode-fill",
AirAlarmMode.Panic => "air-alarm-ui-mode-panic",
AirAlarmMode.None => "air-alarm-ui-mode-none",
_ => "error"
_ => "error",
};
_modes.AddItem(Loc.GetString(text));
}
@@ -71,7 +69,7 @@ public sealed partial class AirAlarmWindow : FancyWindow
AirAlarmModeChanged!.Invoke((AirAlarmMode) args.Id);
};
_autoMode.OnToggled += args =>
_autoMode.OnToggled += _ =>
{
AutoModeChanged!.Invoke(_autoMode.Pressed);
};
@@ -80,11 +78,6 @@ public sealed partial class AirAlarmWindow : FancyWindow
_tabContainer.SetTabTitle(1, Loc.GetString("air-alarm-ui-window-tab-scrubbers"));
_tabContainer.SetTabTitle(2, Loc.GetString("air-alarm-ui-window-tab-sensors"));
_tabContainer.OnTabChanged += idx =>
{
AirAlarmTabChange!((AirAlarmTab) idx);
};
_resyncDevices.OnPressed += _ =>
{
_ventDevices.RemoveAllChildren();
@@ -117,8 +110,6 @@ public sealed partial class AirAlarmWindow : FancyWindow
{
UpdateDeviceData(addr, dev);
}
_tabContainer.CurrentTab = (int) state.Tab;
}
public void UpdateModeSelector(AirAlarmMode mode)
@@ -139,8 +130,8 @@ public sealed partial class AirAlarmWindow : FancyWindow
if (!_pumps.TryGetValue(addr, out var pumpControl))
{
var control= new PumpControl(pump, addr);
control.PumpDataChanged += AtmosDeviceDataChanged!.Invoke;
control.PumpDataCopied += AtmosDeviceDataCopied!.Invoke;
control.PumpDataChanged += AtmosDeviceDataChanged;
control.PumpDataCopied += AtmosDeviceDataCopied;
_pumps.Add(addr, control);
CVentContainer.AddChild(control);
}
@@ -154,8 +145,8 @@ public sealed partial class AirAlarmWindow : FancyWindow
if (!_scrubbers.TryGetValue(addr, out var scrubberControl))
{
var control = new ScrubberControl(scrubber, addr);
control.ScrubberDataChanged += AtmosDeviceDataChanged!.Invoke;
control.ScrubberDataCopied += AtmosDeviceDataCopied!.Invoke;
control.ScrubberDataChanged += AtmosDeviceDataChanged;
control.ScrubberDataCopied += AtmosDeviceDataCopied;
_scrubbers.Add(addr, control);
CScrubberContainer.AddChild(control);
}
@@ -170,6 +161,7 @@ public sealed partial class AirAlarmWindow : FancyWindow
{
var control = new SensorInfo(sensor, addr);
control.OnThresholdUpdate += AtmosAlarmThresholdChanged;
control.SensorDataCopied += AtmosDeviceDataCopied;
_sensors.Add(addr, control);
CSensorContainer.AddChild(control);
}
@@ -184,22 +176,18 @@ public sealed partial class AirAlarmWindow : FancyWindow
public static Color ColorForThreshold(float amount, AtmosAlarmThreshold threshold)
{
threshold.CheckThreshold(amount, out AtmosAlarmType curAlarm);
threshold.CheckThreshold(amount, out var curAlarm);
return ColorForAlarm(curAlarm);
}
public static Color ColorForAlarm(AtmosAlarmType curAlarm)
{
if(curAlarm == AtmosAlarmType.Danger)
return curAlarm switch
{
return StyleNano.DangerousRedFore;
}
else if(curAlarm == AtmosAlarmType.Warning)
{
return StyleNano.ConcerningOrangeFore;
}
return StyleNano.GoodGreenFore;
AtmosAlarmType.Danger => StyleNano.DangerousRedFore,
AtmosAlarmType.Warning => StyleNano.ConcerningOrangeFore,
_ => StyleNano.GoodGreenFore,
};
}

View File

@@ -1,12 +1,8 @@
using System;
using Content.Shared.Atmos.Monitor;
using Content.Shared.Atmos.Monitor.Components;
using Content.Shared.Atmos.Piping.Unary.Components;
using Robust.Client.AutoGenerated;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.CustomControls;
using Robust.Client.UserInterface.XAML;
using Robust.Shared.Localization;
namespace Content.Client.Atmos.Monitor.UI.Widgets;
@@ -25,7 +21,7 @@ public sealed partial class PumpControl : BoxContainer
private OptionButton _pressureCheck => CPressureCheck;
private FloatSpinBox _externalBound => CExternalBound;
private FloatSpinBox _internalBound => CInternalBound;
private Button _copySettings => CCopySettings;
private Button _copySettings => CCopySettings;
public PumpControl(GasVentPumpData data, string address)
{
@@ -86,11 +82,11 @@ public sealed partial class PumpControl : BoxContainer
_data.PressureChecks = (VentPressureBound) args.Id;
PumpDataChanged?.Invoke(_address, _data);
};
_copySettings.OnPressed += _ =>
{
PumpDataCopied?.Invoke(_data);
};
_copySettings.OnPressed += _ =>
{
PumpDataCopied?.Invoke(_data);
};
}
public void ChangeData(GasVentPumpData data)

View File

@@ -1,15 +1,9 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Content.Shared.Atmos;
using Content.Shared.Atmos.Monitor;
using Content.Shared.Atmos.Monitor.Components;
using Content.Shared.Atmos.Piping.Unary.Components;
using Robust.Client.AutoGenerated;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.CustomControls;
using Robust.Client.UserInterface.XAML;
using Robust.Shared.Localization;
namespace Content.Client.Atmos.Monitor.UI.Widgets;
@@ -27,7 +21,7 @@ public sealed partial class ScrubberControl : BoxContainer
private OptionButton _pumpDirection => CPumpDirection;
private FloatSpinBox _volumeRate => CVolumeRate;
private CheckBox _wideNet => CWideNet;
private Button _copySettings => CCopySettings;
private Button _copySettings => CCopySettings;
private GridContainer _gases => CGasContainer;
private Dictionary<Gas, Button> _gasControls = new();
@@ -77,11 +71,11 @@ public sealed partial class ScrubberControl : BoxContainer
_data.PumpDirection = (ScrubberPumpDirection) args.Id;
ScrubberDataChanged?.Invoke(_address, _data);
};
_copySettings.OnPressed += _ =>
{
ScrubberDataCopied?.Invoke(_data);
};
_copySettings.OnPressed += _ =>
{
ScrubberDataCopied?.Invoke(_data);
};
foreach (var value in Enum.GetValues<Gas>())
{

View File

@@ -3,6 +3,9 @@
<CollapsibleHeading Name="SensorAddress" />
<CollapsibleBody Margin="20 2 2 2">
<BoxContainer Orientation="Vertical" HorizontalExpand="True">
<BoxContainer Orientation="Horizontal" Margin ="0 0 0 2">
<Button Name="CCopySettings" Text="{Loc 'air-alarm-ui-thresholds-copy'}" ToolTip="{Loc 'air-alarm-ui-thresholds-copy-tooltip'}" />
</BoxContainer>
<BoxContainer Orientation="Vertical" Margin="0 0 2 0" HorizontalExpand="True">
<RichTextLabel Name="AlarmStateLabel" />
<RichTextLabel Name="PressureLabel" />

View File

@@ -12,12 +12,14 @@ namespace Content.Client.Atmos.Monitor.UI.Widgets;
public sealed partial class SensorInfo : BoxContainer
{
public Action<string, AtmosMonitorThresholdType, AtmosAlarmThreshold, Gas?>? OnThresholdUpdate;
public event Action<AtmosSensorData>? SensorDataCopied;
private string _address;
private ThresholdControl _pressureThreshold;
private ThresholdControl _temperatureThreshold;
private Dictionary<Gas, ThresholdControl> _gasThresholds = new();
private Dictionary<Gas, RichTextLabel> _gasLabels = new();
private Button _copySettings => CCopySettings;
public SensorInfo(AtmosSensorData data, string address)
{
@@ -43,7 +45,8 @@ public sealed partial class SensorInfo : BoxContainer
var label = new RichTextLabel();
var fractionGas = amount / data.TotalMoles;
label.SetMarkup(Loc.GetString("air-alarm-ui-gases-indicator", ("gas", $"{gas}"),
label.SetMarkup(Loc.GetString("air-alarm-ui-gases-indicator",
("gas", $"{gas}"),
("color", AirAlarmWindow.ColorForThreshold(fractionGas, data.GasThresholds[gas])),
("amount", $"{amount:0.####}"),
("percentage", $"{(100 * fractionGas):0.##}")));
@@ -53,9 +56,9 @@ public sealed partial class SensorInfo : BoxContainer
var threshold = data.GasThresholds[gas];
var gasThresholdControl = new ThresholdControl(Loc.GetString($"air-alarm-ui-thresholds-gas-title", ("gas", $"{gas}")), threshold, AtmosMonitorThresholdType.Gas, gas, 100);
gasThresholdControl.Margin = new Thickness(20, 2, 2, 2);
gasThresholdControl.ThresholdDataChanged += (type, threshold, arg3) =>
gasThresholdControl.ThresholdDataChanged += (type, alarmThreshold, arg3) =>
{
OnThresholdUpdate!(_address, type, threshold, arg3);
OnThresholdUpdate?.Invoke(_address, type, alarmThreshold, arg3);
};
_gasThresholds.Add(gas, gasThresholdControl);
@@ -64,18 +67,24 @@ public sealed partial class SensorInfo : BoxContainer
_pressureThreshold = new ThresholdControl(Loc.GetString("air-alarm-ui-thresholds-pressure-title"), data.PressureThreshold, AtmosMonitorThresholdType.Pressure);
PressureThresholdContainer.AddChild(_pressureThreshold);
_temperatureThreshold = new ThresholdControl(Loc.GetString("air-alarm-ui-thresholds-temperature-title"), data.TemperatureThreshold,
_temperatureThreshold = new ThresholdControl(Loc.GetString("air-alarm-ui-thresholds-temperature-title"),
data.TemperatureThreshold,
AtmosMonitorThresholdType.Temperature);
TemperatureThresholdContainer.AddChild(_temperatureThreshold);
_pressureThreshold.ThresholdDataChanged += (type, threshold, arg3) =>
{
OnThresholdUpdate!(_address, type, threshold, arg3);
OnThresholdUpdate?.Invoke(_address, type, threshold, arg3);
};
_temperatureThreshold.ThresholdDataChanged += (type, threshold, arg3) =>
{
OnThresholdUpdate!(_address, type, threshold, arg3);
OnThresholdUpdate?.Invoke(_address, type, threshold, arg3);
};
_copySettings.OnPressed += _ =>
{
SensorDataCopied?.Invoke(data);
};
}
@@ -103,7 +112,8 @@ public sealed partial class SensorInfo : BoxContainer
}
var fractionGas = amount / data.TotalMoles;
label.SetMarkup(Loc.GetString("air-alarm-ui-gases-indicator", ("gas", $"{gas}"),
label.SetMarkup(Loc.GetString("air-alarm-ui-gases-indicator",
("gas", $"{gas}"),
("color", AirAlarmWindow.ColorForThreshold(fractionGas, data.GasThresholds[gas])),
("amount", $"{amount:0.####}"),
("percentage", $"{(100 * fractionGas):0.##}")));

View File

@@ -1,7 +1,4 @@
using Content.Client.Message;
using Content.Shared.Atmos;
using Content.Shared.Atmos.Monitor;
using Content.Shared.Temperature;
using Robust.Client.AutoGenerated;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.XAML;

View File

@@ -1,12 +1,8 @@
using System;
using Content.Shared.Atmos;
using Content.Shared.Atmos.Monitor;
using Content.Shared.Atmos.Monitor.Components;
using Robust.Client.AutoGenerated;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.CustomControls;
using Robust.Client.UserInterface.XAML;
using Robust.Shared.Localization;
// holy FUCK
// this technically works because some of this you can *not* do in XAML but holy FUCK
@@ -115,29 +111,38 @@ public sealed partial class ThresholdControl : BoxContainer
_enabled.Pressed = !_threshold.Ignore;
}
private String LabelForBound(string boundType) //<todo.eoin Replace this with enums
private string LabelForBound(string boundType) //<todo.eoin Replace this with enums
{
return Loc.GetString($"air-alarm-ui-thresholds-{boundType}");
}
public void UpdateThresholdData(AtmosAlarmThreshold threshold, float currentAmount)
{
threshold.CheckThreshold(currentAmount, out AtmosAlarmType alarm, out AtmosMonitorThresholdBound which);
threshold.CheckThreshold(currentAmount, out var alarm, out var bound);
var upperDangerState = AtmosAlarmType.Normal;
var lowerDangerState = AtmosAlarmType.Normal;
var upperWarningState = AtmosAlarmType.Normal;
var lowerWarningState = AtmosAlarmType.Normal;
if(alarm == AtmosAlarmType.Danger)
switch (alarm)
{
if(which == AtmosMonitorThresholdBound.Upper) upperDangerState = alarm;
else lowerDangerState = alarm;
}
else if(alarm == AtmosAlarmType.Warning)
{
if(which == AtmosMonitorThresholdBound.Upper) upperWarningState = alarm;
else lowerWarningState = alarm;
case AtmosAlarmType.Danger:
{
if (bound == AtmosMonitorThresholdBound.Upper)
upperDangerState = alarm;
else
lowerDangerState = alarm;
break;
}
case AtmosAlarmType.Warning:
{
if (bound == AtmosMonitorThresholdBound.Upper)
upperWarningState = alarm;
else
lowerWarningState = alarm;
break;
}
}
_upperBoundControl.SetValue(threshold.UpperBound.Value);

View File

@@ -1,3 +1,4 @@
using System.Globalization;
using System.Linq;
using System.Numerics;
using Content.Client.Atmos.EntitySystems;
@@ -101,14 +102,9 @@ public sealed class AtmosDebugOverlay : Overlay
else
{
// Red-Green-Blue interpolation
if (interp < 0.5f)
{
res = Color.InterpolateBetween(Color.Red, Color.LimeGreen, interp * 2);
}
else
{
res = Color.InterpolateBetween(Color.LimeGreen, Color.Blue, (interp - 0.5f) * 2);
}
res = interp < 0.5f
? Color.InterpolateBetween(Color.Red, Color.LimeGreen, interp * 2)
: Color.InterpolateBetween(Color.LimeGreen, Color.Blue, (interp - 0.5f) * 2);
}
res = res.WithAlpha(0.75f);
@@ -181,7 +177,10 @@ public sealed class AtmosDebugOverlay : Overlay
handle.DrawCircle(tileCentre, 0.05f, Color.Black);
}
private void CheckAndShowBlockDir(AtmosDebugOverlayData data, DrawingHandleWorld handle, AtmosDirection dir,
private void CheckAndShowBlockDir(
AtmosDebugOverlayData data,
DrawingHandleWorld handle,
AtmosDirection dir,
Vector2 tileCentre)
{
if (!data.BlockDirection.HasFlag(dir))
@@ -243,7 +242,7 @@ public sealed class AtmosDebugOverlay : Overlay
var moles = data.Moles == null
? "No Air"
: data.Moles.Sum().ToString();
: data.Moles.Sum().ToString(CultureInfo.InvariantCulture);
handle.DrawString(_font, pos, $"Moles: {moles}");
pos += offset;
@@ -263,7 +262,12 @@ public sealed class AtmosDebugOverlay : Overlay
private void GetGrids(MapId mapId, Box2Rotated box)
{
_grids.Clear();
_mapManager.FindGridsIntersecting(mapId, box, ref _grids, (EntityUid uid, MapGridComponent grid,
_mapManager.FindGridsIntersecting(
mapId,
box,
ref _grids,
(EntityUid uid,
MapGridComponent grid,
ref List<(Entity<MapGridComponent>, DebugMessage)> state) =>
{
if (_system.TileData.TryGetValue(uid, out var data))

View File

@@ -16,6 +16,8 @@ namespace Content.Client.Atmos.UI
[GenerateTypedNameReferences]
public sealed partial class GasAnalyzerWindow : DefaultWindow
{
private NetEntity _currentEntity = NetEntity.Invalid;
public GasAnalyzerWindow()
{
RobustXamlLoader.Load(this);
@@ -55,6 +57,13 @@ namespace Content.Client.Atmos.UI
// Device Tab
if (msg.NodeGasMixes.Length > 1)
{
if (_currentEntity != msg.DeviceUid)
{
// when we get new device data switch to the device tab
CTabContainer.CurrentTab = 0;
_currentEntity = msg.DeviceUid;
}
CTabContainer.SetTabVisible(0, true);
CTabContainer.SetTabTitle(0, Loc.GetString("gas-analyzer-window-tab-title-capitalized", ("title", msg.DeviceName)));
// Set up Grid
@@ -143,6 +152,7 @@ namespace Content.Client.Atmos.UI
CTabContainer.SetTabVisible(0, false);
CTabContainer.CurrentTab = 1;
minSize = new Vector2(CEnvironmentMix.DesiredSize.X + 40, MinSize.Y);
_currentEntity = NetEntity.Invalid;
}
MinSize = minSize;

View File

@@ -1,65 +1,63 @@
using Content.Shared.Atmos;
using Content.Shared.Atmos.Components;
using Content.Shared.Atmos.Piping.Binary.Components;
using Content.Shared.IdentityManagement;
using Content.Shared.Localizations;
using JetBrains.Annotations;
using Robust.Client.GameObjects;
using Robust.Client.UserInterface;
namespace Content.Client.Atmos.UI
namespace Content.Client.Atmos.UI;
/// <summary>
/// Initializes a <see cref="GasPressurePumpWindow"/> and updates it when new server messages are received.
/// </summary>
[UsedImplicitly]
public sealed class GasPressurePumpBoundUserInterface : BoundUserInterface
{
/// <summary>
/// Initializes a <see cref="GasPressurePumpWindow"/> and updates it when new server messages are received.
/// </summary>
[UsedImplicitly]
public sealed class GasPressurePumpBoundUserInterface : BoundUserInterface
[ViewVariables]
private const float MaxPressure = Atmospherics.MaxOutputPressure;
[ViewVariables]
private GasPressurePumpWindow? _window;
public GasPressurePumpBoundUserInterface(EntityUid owner, Enum uiKey) : base(owner, uiKey)
{
[ViewVariables]
private const float MaxPressure = Atmospherics.MaxOutputPressure;
}
[ViewVariables]
private GasPressurePumpWindow? _window;
protected override void Open()
{
base.Open();
public GasPressurePumpBoundUserInterface(EntityUid owner, Enum uiKey) : base(owner, uiKey)
{
}
_window = this.CreateWindow<GasPressurePumpWindow>();
protected override void Open()
{
base.Open();
_window.ToggleStatusButtonPressed += OnToggleStatusButtonPressed;
_window.PumpOutputPressureChanged += OnPumpOutputPressurePressed;
Update();
}
_window = this.CreateWindow<GasPressurePumpWindow>();
public void Update()
{
if (_window == null)
return;
_window.ToggleStatusButtonPressed += OnToggleStatusButtonPressed;
_window.PumpOutputPressureChanged += OnPumpOutputPressurePressed;
}
_window.Title = Identity.Name(Owner, EntMan);
private void OnToggleStatusButtonPressed()
{
if (_window is null) return;
SendMessage(new GasPressurePumpToggleStatusMessage(_window.PumpStatus));
}
if (!EntMan.TryGetComponent(Owner, out GasPressurePumpComponent? pump))
return;
private void OnPumpOutputPressurePressed(string value)
{
var pressure = UserInputParser.TryFloat(value, out var parsed) ? parsed : 0f;
if (pressure > MaxPressure) pressure = MaxPressure;
_window.SetPumpStatus(pump.Enabled);
_window.MaxPressure = pump.MaxTargetPressure;
_window.SetOutputPressure(pump.TargetPressure);
}
SendMessage(new GasPressurePumpChangeOutputPressureMessage(pressure));
}
private void OnToggleStatusButtonPressed()
{
if (_window is null) return;
SendPredictedMessage(new GasPressurePumpToggleStatusMessage(_window.PumpStatus));
}
/// <summary>
/// Update the UI state based on server-sent info
/// </summary>
/// <param name="state"></param>
protected override void UpdateState(BoundUserInterfaceState state)
{
base.UpdateState(state);
if (_window == null || state is not GasPressurePumpBoundUserInterfaceState cast)
return;
_window.Title = (cast.PumpLabel);
_window.SetPumpStatus(cast.Enabled);
_window.SetOutputPressure(cast.OutputPressure);
}
private void OnPumpOutputPressurePressed(float value)
{
SendPredictedMessage(new GasPressurePumpChangeOutputPressureMessage(value));
}
}

View File

@@ -1,22 +1,18 @@
<DefaultWindow xmlns="https://spacestation14.io"
<controls:FancyWindow xmlns="https://spacestation14.io"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
MinSize="200 120" Title="Pressure Pump">
xmlns:controls="clr-namespace:Content.Client.UserInterface.Controls"
SetSize="340 110" MinSize="340 110" Title="Pressure Pump">
<BoxContainer Orientation="Vertical" Margin="5 5 5 5" SeparationOverride="10">
<BoxContainer Orientation="Horizontal" HorizontalExpand="True">
<Label Text="{Loc comp-gas-pump-ui-pump-status}"/>
<Control MinSize="5 0" />
<Label Text="{Loc comp-gas-pump-ui-pump-status}" Margin="0 0 5 0"/>
<Button Name="ToggleStatusButton"/>
<Control HorizontalExpand="True"/>
<Button HorizontalAlignment="Right" Name="SetOutputPressureButton" Text="{Loc comp-gas-pump-ui-pump-set-rate}" Disabled="True" Margin="0 0 5 0"/>
<Button Name="SetMaxPressureButton" Text="{Loc comp-gas-pump-ui-pump-set-max}" />
</BoxContainer>
<BoxContainer Orientation="Horizontal" HorizontalExpand="True">
<Label Text="{Loc comp-gas-pump-ui-pump-output-pressure}"/>
<Control MinSize="5 0" />
<LineEdit Name="PumpPressureOutputInput" MinSize="70 0" />
<Control MinSize="5 0" />
<Button Name="SetMaxPressureButton" Text="{Loc comp-gas-pump-ui-pump-set-max}" />
<Control MinSize="5 0" />
<Control HorizontalExpand="True" />
<Button Name="SetOutputPressureButton" Text="{Loc comp-gas-pump-ui-pump-set-rate}" HorizontalAlignment="Right" Disabled="True"/>
<FloatSpinBox HorizontalExpand="True" Name="PumpPressureOutputInput" MinSize="70 0" />
</BoxContainer>
</BoxContainer>
</DefaultWindow>
</controls:FancyWindow>

Some files were not shown because too many files have changed in this diff Show More