Compare commits

...

2238 Commits

Author SHA1 Message Date
Ed
6a2b1b7c65 Revert "Empties (#1151)"
This reverts commit 5f5cdaba3d.
2025-04-09 14:01:16 +03:00
Ed
0311145cc9 fix master (#1152) 2025-04-09 13:42:30 +03:00
Viator-MV
5f5cdaba3d Empties (#1151)
добавлены пустые пресеты карт 2 биомов со всеми нужными компонентами
2025-04-09 13:42:02 +03:00
Ed
c84930024e Marble update (#1146)
* all marble resprite

* Update meta.json

* marble table

* marble natural wall

* marble cave floor

* marble material

* marble small floor bricks

* marble in demiplanes
2025-04-09 13:41:39 +03:00
Ed
6eab09b322 old tiles YES (#1144) 2025-04-09 13:08:15 +03:00
creamybag
0efd484db2 StrawHat (#1132) 2025-04-09 13:05:59 +03:00
creamybag
948ac9cd91 Syurko update (#1148)
* Syurko\

* Translation editsЭ

* fix
2025-04-09 13:05:37 +03:00
Ed
df53fb6cab fix 2025-04-09 13:04:38 +03:00
Ed
516b759626 Fuck this all 2025-04-09 12:47:39 +03:00
creamybag
d201dc0695 Beards (#1153)
* beards

* fix

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2025-04-08 17:40:01 +03:00
Ed
5b3688fc89 deep Comoss ocean (#1150)
* deep Comoss ocean

* Update migration.yml
2025-04-08 17:39:23 +03:00
Ed
f7b5e40f23 fix master (#1152) 2025-04-08 17:24:56 +03:00
Viator-MV
d0a185cca0 Empties (#1151)
добавлены пустые пресеты карт 2 биомов со всеми нужными компонентами
2025-04-08 16:04:45 +03:00
Ed
f7f7feb837 Marble update (#1146)
* all marble resprite

* Update meta.json

* marble table

* marble natural wall

* marble cave floor

* marble material

* marble small floor bricks

* marble in demiplanes
2025-04-07 21:27:20 +03:00
creamybag
06863d9986 StrawHat (#1132) 2025-04-07 17:15:56 +03:00
creamybag
d5ce5d9f37 Syurko update (#1148)
* Syurko\

* Translation editsЭ

* fix
2025-04-07 17:15:21 +03:00
Ed
56299c62d6 fix 2025-04-07 01:36:55 +03:00
Ed
e77645d9d6 old tiles YES (#1144) 2025-04-07 01:34:45 +03:00
Ed
d81dbe4c20 Update tiefling.yml 2025-04-06 20:32:52 +03:00
Nim
d3be599ccb carcat tail (#1141) 2025-04-06 17:26:36 +03:00
Ed
4efbb6f307 Update sell.yml 2025-04-06 15:04:18 +03:00
Ed
b4ab1a714c Update CP14SharedFarmingSystem.Interactions.cs 2025-04-06 14:05:04 +03:00
Ed
b04b95cae4 farm buff 2025-04-06 13:59:50 +03:00
Viator-MV
32b077af63 update (#1137) 2025-04-05 14:42:51 +03:00
Ed
52c06249ea f (#1136) 2025-04-05 13:46:23 +03:00
Ed
bb2fbd1baf Update secret_weights.yml 2025-04-05 12:43:46 +03:00
Ed
e308eec703 Hoe dirt preparing (#1135)
* seedbed returns

* modular hoe!

* hoe gameplay

* remove onion seeds
2025-04-05 01:00:39 +03:00
Nim
d5e54ce744 minor edits (#1130) 2025-04-04 17:30:41 +03:00
Nim
c91a6c3f59 Adapted watchers (#1129)
* watcher

* co

* sadly
2025-04-04 17:30:26 +03:00
Ed
b66ee390a6 Dynamic demiplane weather + farming hotfix (#1131)
* dynamic demiplane weather

* add skeleton sprite

* hotfix farming

* Update wheat.yml
2025-04-04 10:35:48 +03:00
Nim
e125605f25 fix constructions (#1125) 2025-04-03 17:13:39 +03:00
creamybag
dd9aea718c The guildmaster's rapier was not given out in the round. (#1123)
* fix

* fix2
2025-04-03 15:34:35 +03:00
Ed
48831380b4 Give some love to farming (#1124)
* give some love to farming

* Queryptimization

* Fuck soil!!!

* fuck soil in prototypes!

* seeds improve

* partial merge wild and farm

* some strange fix

* plant kills refactor, add compost

* fix compost

* Update migration.yml

* rain can watering plants

* sage update

* Update seeds.yml

* sage smoking update

* Update seeds.yml
2025-04-03 15:29:08 +03:00
creamybag
16c4f8be53 Furcoat carcat (#1122)
* FurcoatCat

* fix
2025-04-03 10:00:27 +03:00
Nim
879792be09 Fix mana damage (#1106)
* fix mana damage

* mana potion

* fix rev

* ehh

* hmm

* nop

* Update target_effect_creation_on_water.yml

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2025-04-02 16:11:48 +03:00
Ed
fa7aacc103 Update Dev.toml 2025-04-01 23:08:46 +03:00
Ed
937851a72c Update Dev.toml 2025-04-01 21:50:20 +03:00
Ed
504adb6738 Fools day end (#1115)
* Revert "April fools fix (#1113)"

This reverts commit e2dec03cbb.

* Revert "April fools fix (#1113)"

This reverts commit e2dec03cbb.

* Revert "Update secret_weights.yml"

This reverts commit 256476b576.

* Update Dev.toml
2025-04-01 21:40:43 +03:00
Nim
b9d191c7e4 Fix bandage (#1112)
* CP14Biological

* storePositionBuy
2025-04-01 11:26:17 +03:00
Ed
1573d1ee81 ru 2025-04-01 11:16:33 +03:00
Deserty0
e2dec03cbb April fools fix (#1113)
* fix

* fuck

* фы
2025-04-01 08:41:35 +03:00
Ed
6e96943df5 Merge branch 'master' of https://github.com/crystallpunk-14/crystall-punk-14 2025-04-01 00:11:16 +03:00
Ed
256476b576 Update secret_weights.yml 2025-04-01 00:10:51 +03:00
Ed
655cba7674 April 2025 fool (#1109)
* Новый геймплей кузнеца и алхимика (#1084)

* anvilvat

Vat is now anvil

* deleted layers

* я даун

* тесты скажите что не так

* fuck documentation

* finally ok

* Alloys

* test not give up

* fix tests mk2 and anvil rename

* anvilgril

* FUCK TABS

* cattle

* meow

* the чистка

* armor

* fuck

* Update tags.yml

* ДА КАК ЭТО Я ВООБЩЕ БЛЯТЬ МОГ СДЕЛАТЬ НАХУЙ

* garde

* yes

* сохранить забыл

* голова потекла

* упс

* b

---------

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

* Viator's april fools (#1091)

* uno reverse

* comos!

* desery special

---------

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

* [April Fools] Mob Pumpkin King!!! (#1092)

* MobPumpkinKing

* generation

---------

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

* asdsasdd (#1110)

* wait what???

* some fixes

* Поправка локализации на завтра (#1108)

* локаль

* упс

* Create TOPSECRET.xml

* Update entry.yml

* Update TOPSECRET.xml

* ч

---------

Co-authored-by: Deserty0 <86846189+Deserty0@users.noreply.github.com>
Co-authored-by: Viator-MV <egor44148@gmail.com>
Co-authored-by: Nim <128169402+Nimfar11@users.noreply.github.com>
2025-04-01 00:05:46 +03:00
Ed
edc67dd280 Storm nerf (#1107)
* weather lightning nerf

* port storm weather to gamerule events

* fix
2025-03-31 23:46:21 +03:00
creamybag
05de87e9e9 Merge pull request #1090 from creamybag/toadslippers
Frogerge
2025-03-31 23:01:14 +03:00
github-actions[bot]
e4bd418c45 @kvant8 has signed the CLA in crystallpunk-14/crystall-punk-14#1105 2025-03-31 17:52:57 +00:00
Ed
d6943c762c Merge pull request #1102 from ArZarLordOfMango/water
[Fix]CP14FloorWaterOptimized fix
2025-03-31 15:48:31 +03:00
ArZarLordOfMango
6ac00528e9 fix 2025-03-31 14:05:17 +02:00
ArZarLordOfMango
5ae9df1f0b water 2025-03-31 13:36:48 +02:00
Ed
41433d1414 Merge pull request #1100 from crystallpunk-14/ed-311-03-2025-upstream-2
Stable upstream sync
2025-03-31 13:15:22 +03:00
creamybag
4d1094cd6b scars (#1094) 2025-03-31 13:05:03 +03:00
Nim
2e85ac0263 Magic damage (#1047)
* magic damage

* mana-healing potion

* slimes

* ManaDepletion

* Examinable

* color
2025-03-31 13:03:42 +03:00
Ed
9d6e023bd0 Merge remote-tracking branch 'upstream/stable' into ed-311-03-2025-upstream-2
# Conflicts:
#	Content.Client/Administration/AdminNameOverlay.cs
#	Content.Client/Administration/UI/Bwoink/BwoinkControl.xaml
#	Content.Client/Guidebook/Controls/GuideReagentReaction.xaml
#	Content.Client/Options/UI/Tabs/KeyRebindTab.xaml.cs
#	Content.Client/SubFloor/SubFloorHideSystem.cs
#	Content.Server/Administration/Systems/AdminVerbSystem.Antags.cs
#	Content.Server/Antag/AntagSelectionSystem.cs
#	Content.Server/Cloning/CloningSystem.cs
#	Content.Server/GameTicking/Rules/Components/ParadoxCloneRuleComponent.cs
#	Content.Server/GameTicking/Rules/ParadoxCloneRuleSystem.cs
#	Content.Server/Roles/ParadoxCloneRoleComponent.cs
#	Content.Shared.Database/LogType.cs
#	Content.Shared/CCVar/CCVars.Interface.cs
#	Content.Shared/Cloning/CloningEvents.cs
#	Content.Shared/Cloning/CloningSettingsPrototype.cs
#	Content.Shared/Humanoid/NamingSystem.cs
#	Content.Shared/Humanoid/Prototypes/SpeciesPrototype.cs
#	Content.Shared/Light/Components/SunShadowCycleComponent.cs
#	Content.Shared/Storage/StorageComponent.cs
#	Resources/Changelog/Admin.yml
#	Resources/Changelog/Changelog.yml
#	Resources/Credits/GitHub.txt
#	Resources/Locale/en-US/paradox-clone/role.ftl
#	Resources/Maps/bagel.yml
#	Resources/Maps/loop.yml
#	Resources/Prototypes/Chemistry/mixing_types.yml
#	Resources/Prototypes/Datasets/Names/last.yml
#	Resources/Prototypes/Entities/Effects/puddle.yml
#	Resources/Prototypes/Entities/Mobs/Player/clone.yml
#	Resources/Prototypes/Entities/Mobs/Species/base.yml
#	Resources/Prototypes/Entities/Objects/Deliveries/deliveries_tables.yml
#	Resources/Prototypes/Entities/Objects/Devices/pda.yml
#	Resources/Prototypes/Entities/Objects/Tools/handheld_mass_scanner.yml
#	Resources/Prototypes/GameRules/events.yml
#	Resources/Prototypes/Maps/Pools/default.yml
#	Resources/Prototypes/Objectives/paradoxClone.yml
#	Resources/Prototypes/Reagents/Consumable/Drink/alcohol.yml
#	Resources/Textures/Clothing/Eyes/Glasses/jensen.rsi/equipped-EYES-arachnid.png
2025-03-31 12:41:37 +03:00
Ed
987f00a493 s (#1096) 2025-03-30 20:31:37 +03:00
Ed
8a479c4e5e Update weather.yml 2025-03-30 18:43:07 +03:00
Ed
011e90a5d1 Weather gameplay effects (#1089)
* pipa

* Weather effects

* Weather in demiplanes!

* demiplane enter roofs

* Demiplane ruins

* Update weather.yml

* Update paper.yml

* Update paper.yml
2025-03-30 17:27:05 +03:00
Ed
abdd46c7d5 Random bugfixes and balance (#1088)
* shared magic energy examine

* fix #1067

* fix #984

* nerf slimes

* fireSpread nerf

* slimes demiplane examine + remove whistler
2025-03-29 22:08:58 +03:00
metalgearsloth
0c98ad8b38 Fix 1x1 storage windows (#35985) 2025-03-29 19:57:28 +01:00
ScarKy0
89ea21bc31 Fix admeme hand teleproter. (#36147)
* init

* changes
2025-03-29 17:51:46 +03:00
ArZarLordOfMango
f81f7a836e mana-fix (#1082) 2025-03-29 16:57:13 +03:00
F8ctor
03e0d66083 No life mobs (#1072)
* Slimeeeee!

* SimpleSpaceMobNoLifeBase

* No-no-no mr. Skeletik, you not alive

* Delete "bug"

* Revert "Delete "bug""

This reverts commit 4ce64f1cbc.

* Revert "No-no-no mr. Skeletik, you not alive"

This reverts commit f0c878c6a3.

* return, I'll see what's wrong

* Fix

* [ ] Work complete
2025-03-29 16:53:34 +03:00
Ed
fddbb010cf Skill requirements (#1085)
* prerequites refactor

* tiefling only spells

* metamagic update

* sort trying

* goblin speed port
2025-03-29 16:50:14 +03:00
ScarKy0
87be2dde27 Fix codermins appearing as red in-game OOC (#36148)
init
2025-03-29 12:33:25 +01:00
Ed
2248e2ad5c Merge branch 'master' of https://github.com/crystallpunk-14/crystall-punk-14 2025-03-29 14:24:31 +03:00
Ed
6706a14163 secret polymorph spell 2025-03-29 14:22:53 +03:00
Deserty0
baa48eb0e5 the aer attack (#1081) 2025-03-28 20:15:36 +03:00
Ed
d3f70aee7e Minor Skill Tree rebalance (#1080)
* save: no for visual effect

* some tweaks

* Update healing.yml
2025-03-28 17:45:19 +03:00
ArZarLordOfMango
f337fde3d9 paper fix (#1079) 2025-03-28 16:14:12 +03:00
Link
b9fad6cbd4 Mana no longer regenerates after death (#1027)
* Update CP14MagicEnergySystem.Draw.cs

* :nerd:

* Update CP14MagicEnergySystem.Draw.cs

* Update CP14MagicEnergySystem.Draw.cs

* oops...

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2025-03-28 11:10:42 +03:00
Nim
532f44eb3c coloured chainmail (#1077) 2025-03-28 11:09:39 +03:00
PJBot
e98df217e2 Automatic changelog update 2025-03-27 17:44:04 +00:00
lzk
8f049f174d make admin interacts with storages silent (#35417)
* make admin interacts with storages silent

* review

* silent insert and transfer

* i love code

---------

Co-authored-by: ScarKy0 <scarky0@onet.eu>
2025-03-27 18:42:57 +01:00
PJBot
f9320aacd7 Automatic changelog update 2025-03-27 17:20:43 +00:00
SlamBamActionman
5c505958a7 Add a new poster (#36104)
* Poster

* THAT tortilla...

* roombareview
2025-03-27 18:19:36 +01:00
Chaoticaa
db65e3241e Updates to Hydroponic sprites (#35004)
* changes to some hydroponics plant sprites

* tomato changes

* added tomatoes and further changes

* added tomatoes and adjustments

* added tomatoes and adjustments

* added apples and meatwheat

* watermelon + adjustments

* sugarcane

* blood tomatoes & pumpkin harvest

* final changes for a while

* poppy harvest repaint

* smoller melon + holy melon stages

* final changes + attributions added to json files

* oops

* changes

* changes x2

* egg success + tree changes and additions

* bagel mistake

* lemon lime garlic fly

* grapes and stuff

* Potate

* peas and attributes

* more veg while my monitor flashbangs me repeatedly trying to find source links

* soyyyyyyy

* eggplant and berries yuuumm

* corn life

* grape disaster

* my computer is slow

* Pray

---------

Co-authored-by: Your Name <[you@example.com])>
Co-authored-by: beck-thompson <beck314159@hotmail.com>
2025-03-27 10:11:02 -07:00
PJBot
56e0cb642a Automatic changelog update 2025-03-27 17:05:33 +00:00
slarticodefast
7c44038f63 Add paradox clone to admin antag control (#36105)
* make paradox clone receive the original's objectives

* antag control verb

* rename verb
2025-03-27 10:04:25 -07:00
Ed
2a524b4b4b Update CP14ClientSkillSystem.cs 2025-03-27 18:24:26 +03:00
Ed
735b4f5c7b Merge branch 'master' of https://github.com/crystallpunk-14/crystall-punk-14 2025-03-27 17:59:30 +03:00
Ed
4b13d876e8 Update skill_tree.yml 2025-03-27 17:53:25 +03:00
Nim
afea64252b Wrench sprite and fix mask (#1075)
* wrench

* stored

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2025-03-27 16:37:11 +02:00
Ed
1e36a61339 Skill progression system [Draft] (#1056)
* fuck all

* clean up

* remove knowledge books

* Update base.yml

* cl

* fix #991

* fix

* Update subgamemodes.yml

* manual migration + recipes fix

* Update comoss.yml

* setup data

* setup skills systems

* more blacksmithing skills

* Update base.yml

* Create CP14SkillEffectAction.cs

* skill button returns

* base graph UI window

* skill tree drawing

* UI improve

* pyro setup

* skill trees selection, dragging control

* refactor skill system: rename Skills to LearnedSkills, add experience tracking and learning logic

* Create available.png

* skill description generation setup

* auto parsing skill names and descriptions

* Hydrosophistry

* water light fire and metamagic ported to skill tre

* ice dagger spell returns

* Update ice_dagger.yml

* delete old files

* Update modular_garde.yml

* ice arrow spell

* link graph with parallax

* show experience counter

* polish

* puf

* p

* pipap

* finally ready to merg?

* fix

* fix 2
2025-03-27 17:20:20 +03:00
creamybag
6a6350a827 Blacksmith's gloves (#1045)
* gloves

* fix
2025-03-27 17:02:52 +03:00
creamybag
9271500fe4 mime (#1074) 2025-03-27 17:02:35 +03:00
PJBot
f4adb0bdb3 Automatic changelog update 2025-03-27 06:27:21 +00:00
Centronias
f45794002b Raw meatball cooks into cooked meatball (#36003)
meatballs can be cooked on their own
2025-03-26 23:26:13 -07:00
metalgearsloth
da2c9510b2 Update submodule to v250.0.0 (#36108) 2025-03-27 15:29:14 +11:00
Errant
e4a5043d4e Overlay stack sorting fix (#36103)
* round float before sorting

* weh
2025-03-26 21:40:13 +01:00
ScarKy0
5bedf1761a 1984 the unsafe gift from smuggler stashes (#36102)
1984
2025-03-26 20:42:08 +01:00
Tayrtahn
bf17f85ced Cleanup AdminVerbSystem (#36099)
* Fix 3 warnings in AdminVerbSystem.Tools

* Fix 3 warnings in AdminVerbSystem.Smites

* Use SetMapCoordinates directly
2025-03-26 19:36:29 +01:00
PJBot
18cc899897 Automatic changelog update 2025-03-26 16:14:09 +00:00
slarticodefast
c8494dd5c9 Improve paradox clone item copying (#35993)
* even better item copying for the paradox clone

* copy paper

* fix

* blacklist implanter

* string.Empty

---------

Co-authored-by: ScarKy0 <scarky0@onet.eu>
2025-03-26 17:13:02 +01:00
PJBot
f31a568ccc Automatic changelog update 2025-03-26 15:35:27 +00:00
slarticodefast
f838e6730d Fix faction icons for paradox clones (#35910)
* fix nukie icon

* add revs to cloning pod again
2025-03-26 16:34:17 +01:00
PJBot
e066dd3abe Automatic changelog update 2025-03-26 15:31:21 +00:00
slarticodefast
9ff43f344e Show paradox clones in deadchat (#35940)
show clones in deadchat
2025-03-26 16:30:14 +01:00
PJBot
6d63e3c1f4 Automatic changelog update 2025-03-26 15:21:22 +00:00
Velcroboy
b7b3167302 Add smuggler stashes (#19460)
* Add smuggler stashes

* Prevent anchor/collision test fail

* Enabled = false

* Oops, missed one

* NYAH!1984

* Split/Rebalance loot pools and fix test fail

* Errg, still with the canCollide thing

* Removed notes, additional balance tweaking, removed some blank lines

* Replace generator IDs

* Adjust briefcase fill

* Node moved

* Use noSpawn

* Goldschlonger

* Adjusts fills for grid-inv

* Replace removed items

* Replace removed items part 2

* Add empty satchel to clothesmate contraband inventory

* Merge master and switch spawning to roundstart event

* Cleaned up and converted to entity spawn tables + Added funny clown satchel

* Adds comp to prevent stacking bags

* Inital cleanup

* More changes

* ff

* Some fixes but yaml needs to be organized and a few bugs remain

* Final fixes

* Cleanup

* good

* One more

* minor tweaks

* Rename

* Combine dupe fields

* address review

* review

* make linter happy

* names, contraband status

* uplink

* small bugfix

---------

Co-authored-by: Jeff <velcroboy333@hotmail.com>
Co-authored-by: beck-thompson <beck314159@hotmail.com>
Co-authored-by: Milon <milonpl.git@proton.me>
Co-authored-by: ScarKy0 <scarky0@onet.eu>
2025-03-26 16:20:15 +01:00
github-actions[bot]
615af0b116 @F8ctor has signed the CLA in crystallpunk-14/crystall-punk-14#1072 2025-03-26 14:57:07 +00:00
Tayrtahn
9b28aedbc5 Cleanup TabletopSystem.Map (#36097)
* Add SharedMapSystem dependency

* IMapManager.MapExists -> SharedMapSystem.MapExists

* IMapManager.CreateMap & IMapManager.GetMapEntityId -> SharedMapSystem.CreateMap

* IMapManager.DeleteMap -> SharedMapSystem.DeleteMap

* Remove IMapManager dependency
2025-03-26 15:17:28 +01:00
Milon
b97de9d603 add predicted popups with PVS filtering (#36092)
add
2025-03-26 12:45:29 +01:00
Ed
87d757de45 Update furnace.yml 2025-03-26 14:29:49 +03:00
Ed
fd2c59f4bb Update spells.yml 2025-03-26 12:17:19 +03:00
Errant
2f30fe3ceb adminnotes command cleanup (#36086)
localize adminnotes command, autocomplete
2025-03-25 22:42:17 -07:00
Tayrtahn
462519b7da Cleanup WarpCommand (#36088)
* EntityCoordinates.GetGridUid -> SharedTransformSystem.GetGrid

* EntityCoordinates.GetMapId -> SharedTransformSystem.GetMapId

* Hey look, there's been a bug here this whole time

* TransformComponent.Coordinates.set -> SharedTransformSystem.SetCoordinates

* Now actually working!

* Formatting why not

* Remove unneeded GetComponent
2025-03-26 03:17:46 +01:00
BWTCK
9ca6353dcd Add code comment to antifreeze reagent (#36065)
* Recolored the metamorphic glass antifreeze sprite to reflect the actual color of the chemical

* Added recolor credit in meta.json

* The antifreeze shall be blue!

* removed weird fill-5 change
2025-03-26 00:06:04 +01:00
Tayrtahn
7270988961 Cleanup BiomeSystem.Commands (#36084)
* _mapManager.GetMapEntityId -> _mapSystem.GetMapOrInvalid

* _mapManager.MapExists -> _mapSystem.MapExists

* Unused using
2025-03-25 23:30:06 +01:00
Tayrtahn
1364bfd422 Cleanup SpecialRespawnSystem (#36087)
* grid.TileIndicesFor -> _map.TileIndicesFor

* coords.ToMap -> _transform.ToMapCoordinates

* grid.TryGetTileRef -> _map.TryGetTileRef

* grid.GridTileToWorldPos -> _map.GridTileToWorldPos

* grid.WorldToTile -> _map.WorldToTile

* grid.GridTileToLocal -> _map.GridTileToLocal

* Formatting why not
2025-03-25 23:16:48 +01:00
ArZarLordOfMango
33970b0429 syringe fix (#1071) 2025-03-26 00:57:37 +03:00
Tayrtahn
8dfa2e8f95 Cleanup PathfindingSystem (#36083)
* EntityCoordinates.GetMapUid -> SharedTransformSystem.GetMap

* EntityCoordinates.GetGridUid -> SharedTransformSystem.GetGrid

* EntityCoordinates.ToMapPos -> SharedTransformSystem.ToMapCoordinates().Position

* Formatting why not
2025-03-25 21:51:11 +01:00
PJBot
1732579c22 Automatic changelog update 2025-03-25 20:16:30 +00:00
Errant
c82d531a8f Admin Overlay stacking and ghost hiding (#35622)
* ghostbuster mouse and overlay stacks

* variable adjustment

* use map coords for distance check

* vertical stack ordering, and cvars

* skreee

* fix stack merge 'sidedness' issue

* overlays no longer try to stack to overlays at the wrong coordinates

* options slider for stack merge distance

* admin option sliders for ghost fade/hide

* Update AdminOptionsTab.xaml.cs

---------

Co-authored-by: ScarKy0 <scarky0@onet.eu>
2025-03-25 21:15:22 +01:00
TheProNoob678
098e594161 A Bunch of New Figurine Voicelines (#36039)
* Add a bunch of figurine voicelines and reduces delay

* Added footsoldier figurine voicelines

* Fixed voiceline count.

* Fixed Queen Xeno figurine formatting issues

* Fixed my terrible fucking grammar
2025-03-25 21:14:34 +01:00
PJBot
9148c21b2b Automatic changelog update 2025-03-25 18:42:03 +00:00
ScarKy0
c3d0b93ddf Fix admin "Spawn here" verb (#36080)
* init

* review

* review

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

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-03-25 19:40:54 +01:00
Pieter-Jan Briers
981eb42979 Enable parallel Pow3r solver on Vulture (#36079)
See if it still causes issues.
2025-03-25 18:53:19 +01:00
Pieter-Jan Briers
ecf590f223 Remove unused PowerConsumer from grilles (#36077)
This caused tons of completely wasted processing in the power system. Incredible.
2025-03-25 18:47:49 +01:00
Pieter-Jan Briers
290bffceec Make pow3r validation logic available on release (#36075)
I want to run this on live servers. It's behind a power_validate command, it still doesn't automatically get ran outside debug otherwise.
2025-03-25 10:02:39 -07:00
PJBot
9243d65e6f Automatic changelog update 2025-03-25 16:05:08 +00:00
Errant
72141abf8a Admin playerlist antag presentation rework (#35538)
* refactor(src): Minor refactor of Draw in "AdminNameOverlay. And new info about playtime player

* fix(src): Add configure classic admin owerlay

* fix

* antag status indication rework

* the cvars are free, you can just take them

* update playerlist on cvar change

* more overlay options

* tweak(src): Use _antagLabelClassic and tweak style

* tweak(src): Add config display overlay for startingJob and playTime

* tweak(src): Vector2 is replaced by var

* tweak(src): return to the end of the list

* add new option checkboxes

* passing ConfigurationManager through constructor, some format changes

* made sorting values more futureproof

* comments

* labels

* no point commenting this out when the overlay stack PR will uncomment it again anyway

* sorting prototype

* localize symbols because why not

* symmetry

* Revert "localize symbols because why not"

This reverts commit 922d4030300285a45777d62fcfd9c74b25fe7a60.

* layout and formatting stuff

* fix errant space

---------

Co-authored-by: Schrödinger <132720404+Schrodinger71@users.noreply.github.com>
2025-03-25 17:03:59 +01:00
creamybag
ee2846613a guildmaster's rapier (#1070) 2025-03-25 17:47:44 +03:00
ArZarLordOfMango
0bcc5ace8c [Fix]Updating the Alchemist's guidebook (#1069)
* first-ru

* ru-2

* en-1
2025-03-25 16:19:08 +03:00
Nim
0d3be998a0 Deleted trade amulet (#1066)
* deleted trade amulet

* comm
2025-03-25 09:37:23 +03:00
āda
1b74de6dbb Fix Wizard/Librarian PDA flashlight visual (#36064)
the other light
2025-03-25 02:21:59 +01:00
Tayrtahn
0096dedb18 Fix error when disconnecting the client while a projectile is embedded (#36048)
* Add test for disconnecting the client while a projectile is embedded

* Add check for non-terminating grid or map

* Add test that an embeddable detaches when the target is deleted.

* Remove Explicit tag from TestDisconnectWhileEmbedded
2025-03-25 01:16:13 +01:00
āda
2bc3561868 Fix misplaced pixel on Wizard/Librarian PDA (#36060)
* nudge that pixel

* new base

* whoops, leftovers
2025-03-25 01:11:04 +01:00
PJBot
99e62b4a49 Automatic changelog update 2025-03-24 23:56:24 +00:00
slarticodefast
9502ca0d23 Fix thermal regulation this time for real (#36062) 2025-03-24 16:55:16 -07:00
Partmedia
37c88debb5 Fix comment (#36054) 2025-03-24 20:47:48 +01:00
Tayrtahn
ae07c5d841 Allow NukeOps test to function with multiple RuleGrids (#36049) 2025-03-24 19:59:13 +01:00
Tayrtahn
67b76d81e5 Fix SpeakOnTrigger not working for messages starting with '.' (#36053) 2025-03-24 11:19:29 -07:00
PJBot
c9f567956a Automatic changelog update 2025-03-24 16:37:57 +00:00
Emisse
b1af9ac89e Relic improvements (#35507) 2025-03-24 10:36:44 -06:00
metalgearsloth
4f23016c72 Fix TrayScannerUser (#35959)
* Fix TrayScannerUser

* Ignore

* Update Content.Shared/SubFloor/TrayScannerUserComponent.cs

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-03-24 16:35:22 +01:00
Nim
b2095a01cc Trade orders (#1037)
* orders

* sprite

* fix orders

* different

* layers

* scrolls

* flora

* loot

* groups

* entity-group

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2025-03-24 17:15:44 +03:00
creamybag
b5a2508ebc Maid Update (#1064)
* MaidUpdate

* fix
2025-03-24 17:15:29 +03:00
Nim
44b775b308 Request editing (#1063)
* request editing

* skeleton

* no bank

* job
2025-03-24 17:07:48 +03:00
Ed
2dbc3e7a4d Back to Ru CBT + Bugfixes (#1065)
* Update Dev.toml

* fix #1059

* fix #1061

* fix #1060

* fix #1058
2025-03-24 17:06:09 +03:00
Vortebo
4530749f1d lol im dum 2025-03-23 20:05:55 -05:00
Tayrtahn
7c9e344cd2 Fix changelog entries with brackets crashing the client (#36033) 2025-03-24 00:46:34 +01:00
Vortebo
3e36b2c1f7 more touchups 2025-03-23 18:19:14 -05:00
Vortebo
4f1b8ea65d small touchups 2025-03-23 17:53:04 -05:00
Vortebo
b566eef796 pickup truck and beds 2025-03-23 16:56:30 -05:00
Killerqu00
fbf0679650 Fix admin changelog hard-crash (#36029)
fix changelog
2025-03-23 21:37:58 +01:00
Deserty0
b325a80a61 Фикс гайдбука (#1057)
* Update Alchemy.xml

* Звучит фигово

* Update Resources/ServerInfo/_CP14/Guidebook_RU/JobsTabs/AlchemistTabs/Alchemy.xml

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2025-03-23 22:32:31 +03:00
ScarKy0
c8f5b480cb Package loot tables part 2: Engineering (#36026)
* MAIL!!!!

* changes
2025-03-23 19:46:58 +01:00
Vortebo
35a619b1d5 aaaa the atmosphere the atmosphere 2025-03-23 13:10:11 -05:00
Myra
f4c5253f9c Increase IPIntel bad rating score & Enable warnings (#36021)
Admin requested change
2025-03-23 17:42:00 +01:00
Ed
4083b79217 Update Dev.toml 2025-03-23 17:07:21 +03:00
ScarKy0
9e1a150829 Package loot tables part 1: Medical (#35895)
* :3

* oops

* moved file, comments
2025-03-23 14:53:02 +01:00
ArZarLordOfMango
28d30571ca locale-fix (#1055) 2025-03-23 16:28:54 +03:00
Myra
57e3f0494e Upgrade GitHub actions in Workfows to node20 (#33668) 2025-03-23 13:54:56 +01:00
Ed
8656a7e1f0 Update floorLava.yml 2025-03-23 15:45:41 +03:00
ScarKy0
1859975ae6 Chemistry bottle cleanup (#35911)
* init

* clean

* god save me

* fuck relic

* i HATE HATE  HATE relic

* make it stop

* please make it stop

* CEASE

* PLEASE

* Revert "PLEASE"

This reverts commit 47d34f3c1e657adf869d84a5349f9c18fc33bfea.

* Revert "CEASE"

This reverts commit 147ab6697807b98e24b0e1ee05571a1995f3c41c.

* Revert "please make it stop"

This reverts commit f2a4f63e5f5b017f2b4ad3511e8c77700abed58b.

* Revert "make it stop"

This reverts commit b10c6344bd9e9e3f1989b29fc46a8de7829e382e.

* Revert "i HATE HATE  HATE relic"

This reverts commit a05d60c0055fa003f7746be7aec2ebf4acd6e136.

* Revert "fuck relic"

This reverts commit e44f3368bc8aa5938095dc5a60e9390fbaf8aba3.
2025-03-23 13:24:55 +01:00
Ed
29278ca98b localization (#1054) 2025-03-23 15:00:18 +03:00
Viator-MV
9c5662d7f5 Skeleton upgrade (#1053)
* skeleton upgrade

* armor upgradde

* skelute

* true, not real

* fix
2025-03-23 14:27:14 +03:00
Ed
eaf9c009c1 Slimes mob (#1049)
* import sprites

* pipia

* 3 slime types

* Delete generic_magic_effects.yml

* Update scrolls.yml

* demiplane integration

* Update fire.yml

* Update crystals.yml

* local

* Update fire.yml

* fix AI stuck

* Update base.yml

* loot

* Update mobs.yml
2025-03-23 14:14:08 +03:00
ArZarLordOfMango
5512e1a665 barrel (#1052) 2025-03-23 13:32:03 +03:00
Tayrtahn
d4c8ddb0ac Fix migrations not being applied to PostMapInitTest (#35933)
* Fix migrations not being applied to PostMapInitTest

* formatting

* Raise the event outside the loop so it only happens once
2025-03-23 21:07:01 +11:00
Emisse
c42d0913cb Fix bagel engineering power (#36018) 2025-03-23 02:26:14 -06:00
ArtisticRoomba
3f2befca9e fix bagel power 2025-03-23 01:04:49 -07:00
github-actions[bot]
dac6c53aa1 Update Credits (#36015)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2025-03-23 01:42:14 +01:00
PJBot
b5f142b568 Automatic changelog update 2025-03-23 00:22:38 +00:00
RedBookcase
64faddf77a Fixed some unintended salvage changes. (#36013)
* Fixed some unintended salvage changes.

* Update Resources/Prototypes/Entities/Objects/Tools/handheld_mass_scanner.yml

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

---------

Co-authored-by: RedBookcase <Usualmoves@gmail.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-03-23 01:21:29 +01:00
Vortebo
7773b77a91 grilles 2025-03-22 18:31:42 -05:00
Vortebo
f2562aad06 mail teleporter 2025-03-22 17:48:55 -05:00
Vortebo
113e335ca8 Merge remote-tracking branch 'upstream/master' into relic-improvements
need to merge
2025-03-22 15:08:21 -05:00
ArZarLordOfMango
42e3f7ce97 bone mask fix (#1050) 2025-03-22 22:52:03 +03:00
github-actions[bot]
8da5776a4e @ArZarLordOfMango has signed the CLA in crystallpunk-14/crystall-punk-14#1050 2025-03-22 19:42:23 +00:00
Vortebo
923f147d9d working, authentic emergency shuttle (no gamekit) 2025-03-22 12:16:57 -05:00
PJBot
17424e2eb6 Automatic changelog update 2025-03-22 14:43:27 +00:00
Boaz1111
559d22c86c unrevivable lets you be cloned again (#36008)
weh
2025-03-22 15:42:20 +01:00
PJBot
38f3238b1d Automatic changelog update 2025-03-22 11:42:23 +00:00
metalgearsloth
a9a6b98f99 Fix alerts mispredict + log spam (#36004)
tstalker alerted me to it and noticed the classic case of shallow copies.
2025-03-22 12:41:16 +01:00
YoungThug
c2963d47a0 Prisoner Jumpsuit Description (#36005)
* PrisonerJumpsuitFix

* Update jumpskirts.yml
2025-03-22 00:39:33 -07:00
SlamBamActionman
71ae9257f7 Remove serverside StandingStateSystem (#35999)
Refactor system
2025-03-22 16:00:21 +11:00
Killerqu00
dacf0d915c Hover examine buttons (#35206)
* hover examine verbs (not aligned to the left yet)

* handle click hovers and align them to the left

* revert contrabandsystem changes (this is for another PR)

* add support for markup tags
2025-03-22 13:22:01 +11:00
PJBot
4027115e0c Automatic changelog update 2025-03-21 23:22:40 +00:00
SlamBamActionman
6856440084 Add antag notice to admin chat alerts (#35994)
Add antag notice to admin chat pop-ups
2025-03-22 00:21:32 +01:00
Vortebo
3f62dfe0b5 technically playable 2025-03-21 17:14:38 -05:00
Viator-MV
dd6d3f8bc7 Factoria upd (#1044)
* Update factoria.yml

* fact_dung

* Update Factoria.yml

* planetarize factoria

* Update factoria.yml

* Update factoria.yml

* Update factoria_d.yml

* meh

---------

Co-authored-by: Ed <edwardxperia2000@gmail.com>
2025-03-21 22:20:12 +03:00
Vortebo
3d873c6600 the ultimate lifeform, lightswitches 2025-03-21 08:55:40 -05:00
Ed
52e6e9b28f Carcat night vision (#1046)
* carcat night vision

* Update nightVision.yml
2025-03-21 16:53:59 +03:00
YoungThug
1b26a98d7f Arachnid Jensen Googles Fix. (#35987)
pleasespeedmerge
2025-03-21 13:00:23 +01:00
beck-thompson
97d0f14dae Predict pipe anchoring and unanchroing (#35977)
* yay prediction

* Added cool popups

* bruh

* this is better!
2025-03-21 12:43:35 +03:00
PJBot
2b6c0e296d Automatic changelog update 2025-03-21 09:41:42 +00:00
āda
2dc7236a71 Recolor some machine boards (#35715)
* recolor

* Revert for easier review

This reverts commit 20709a6e1f1ac9c99cb030ee56156c8ed4bcc291.

* spacing

* colors

* Revert "spacing"

This reverts commit 92d2d4fc6ee918d13cc8f1f82ce720b94e25d4a8.
2025-03-21 12:40:35 +03:00
TeenSarlacc
6e82ac9f81 Add a crate with foam force weapons to the cargo catalog (#35824)
* made up a nice lil crate

* changed rifle count to 4, added to cargo console

---------

Co-authored-by: TeenSarlacc <baddiepro123@gmail.com>
2025-03-21 12:39:54 +03:00
PJBot
9cba450a19 Automatic changelog update 2025-03-21 09:38:08 +00:00
Tiniest Shark
e72a086815 Grenade + Throwable Inhands (#35974)
* Added inhands to grenades, bolas, ninja stars, and some bombs.

* whoops bolas were wrong hands

* Couple more quick fixes whoops
2025-03-21 12:37:02 +03:00
ArtisticRoomba
280ac8b3ed Fix thermoregulation (#35981)
* fix thermoregulation

* req
2025-03-21 12:36:16 +03:00
PJBot
a5566b1bfa Automatic changelog update 2025-03-21 08:49:13 +00:00
Moomoobeef
534f9e771f Redid Singularity Generator Sprite (#31500)
changed singularity generator sprite
2025-03-21 11:48:06 +03:00
Dakota
a8a73a611e feat: Ghost Role Button only turns red when new ghost roles are added (#35970)
* feat: Ghost Role Button only turns red when new ghost roles are added

* fix: Make _prevNumberRoles private
2025-03-21 11:15:39 +11:00
PJBot
4a234923ad Automatic changelog update 2025-03-21 00:14:07 +00:00
K-Dynamic
8a3ae8e5ca dragon ai faction fix (#35578)
* dragon ai faction fix

* xeno faction
2025-03-21 01:13:00 +01:00
PJBot
d504357aab Automatic changelog update 2025-03-20 23:02:42 +00:00
SlamBamActionman
85a6ac90ba Add stamina and mob damage playtest modifiers (#35599)
* Add stamina and mob damage playtest modifiers

* Fix typo

* Add FTL

* Review fixes

* Update Content.Shared/Mobs/Systems/MobStateSystem.Subscribers.cs

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-03-21 00:01:35 +01:00
PJBot
09901e6551 Automatic changelog update 2025-03-20 22:41:39 +00:00
slarticodefast
4d50a5a903 Fix thermal regulation (#35971) 2025-03-20 23:40:31 +01:00
PJBot
1535fe731a Automatic changelog update 2025-03-20 21:47:58 +00:00
SonicHDC
4415c2448d More coat zips! (#35029)
* Update meta.json

* Sprites Exp

* Update meta.json

* More zips for coats
2025-03-20 22:46:51 +01:00
PJBot
7174195208 Automatic changelog update 2025-03-20 21:03:04 +00:00
Tayrtahn
8da4f9765e Fix erased paper sprites looking written (#35967) 2025-03-20 22:01:57 +01:00
Tayrtahn
b780b74bbd Validate some SpeciesPrototype fields (#35965)
* Convert SpeciesPrototype strings to ProtoIds

* Simplify protoman indexing calls
2025-03-20 21:15:30 +01:00
Tayrtahn
ecf22daff7 Fix wrong assert message in DeviceLinkingTest (#35964) 2025-03-20 20:58:09 +01:00
PJBot
5dd1cd4bdb Automatic changelog update 2025-03-20 19:57:58 +00:00
SlamBamActionman
43d08100b9 "New player" admin logging improvements (#35961)
* Initial commit

* Adjust a whoooole bunch of logs

* Also spears

* Track going crit

* Review fix

* Review fixes
2025-03-20 20:56:51 +01:00
Ed
07a8a02522 vox inhands displacements (#35947)
vox inhands
2025-03-20 18:01:39 +01:00
PJBot
f5b8b248f2 Automatic changelog update 2025-03-20 16:40:06 +00:00
Tobias Berger
0d04f541d2 Fix LatheMenu DefaultProductionAmount getting ignored (#35951) 2025-03-20 17:38:59 +01:00
PJBot
09c7c6b7b4 Automatic changelog update 2025-03-20 16:34:54 +00:00
psykana
98730a5485 C4 helmet unequip delay (#35922) 2025-03-20 09:33:47 -07:00
metalgearsloth
4009cea235 Update engine to 249.0.0 (#35956) 2025-03-21 01:05:55 +11:00
metalgearsloth
9292e3a43c Sloth's subfloor vismask adventure (#35347)
* Add a subfloor vismask

Significantly cuts down on sent entity count.

* More optimisations

* Fix command

* Fixes

* namespace cleanup

* Review

* Vismasks

* Content update

* Bandaid

* awewa

* Revert these

* reh

* Update Content.Shared/SubFloor/TrayScannerComponent.cs

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-03-21 00:57:04 +11:00
paige404
2e7f01b99e Fix broken layer hiding on clothes with multiple equipment slots (#34080)
* Fix broken layer hiding on clothes with multiple equipment slots

* Refactor ToggleVisualLayers, HideLayerClothingComponent, and ClothingComponent to allow more
precise layer hide behavior and more CPU efficient layer toggling.

* Adjust HumanoidAppearaceSystem to track which slots are hiding a given layer (e.g. gas mask and welding mask)
Add documentation
Change gas masks to use the new HideLayerClothingComponent structure as an example of its usage

* Fix the delayed snout bug

* Misc cleanup

* Make `bool permanent` implicit from SlotFlags

any non-permanent visibility toggle with `SlotFlags.None` isn't supported with how its set up. And similarly, the slot flags argument does nothing if permanent = true. So IMO it makes more sense to infer it from a nullable arg.

* Split into separate system

Too much pasta

* Remove (hopefully unnecessary) refresh

* Fisk mask networking

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

* Keep old behaviour, use clearer names?

I'm just guessing at what this was meant to do

* english

* Separate slot name & flag

* dirty = true

* fix comment

* Improved SetLayerVisibility with dirtying logic suggested by @ElectroJr

* Only set mask toggled if DisableOnFold is true

* FoldableClothingSystem fixes

* fix bandana state

* Better comment

---------

Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
2025-03-21 00:30:47 +11:00
claustro305
65f393bb14 Fixed Wizard Thrust (#35948)
fixed wizard thruster
2025-03-20 12:54:59 +01:00
Ed
52a145f7f1 Support separate displacement maps for left and right hand (#35820)
* Update HandsSystem.cs

* Update HandsComponent.cs
2025-03-20 00:06:55 -07:00
PJBot
6351398bb6 Automatic changelog update 2025-03-20 02:19:07 +00:00
SeamLesss
a0c78e7b18 Medical Item In-Hand Sprites (#34984)
* Bruizepack fix and Gauze

* tourniquet sprites added

* medipen sprites

* bodybag sprites

* handheld crew moniter sprites

* implanter sprites

* rollerbed sprites

* health analyzer sprite

* bloodpack sprite

* small rollerbed change

* attributuions + spacing fix

* fixed?

* RAAAAAGH ITS DONE

* actually good code

* Update Resources/Textures/Objects/Specific/Medical/handheldcrewmonitor.rsi/meta.json

* Update Resources/Textures/Objects/Specific/Medical/healthanalyzer.rsi/meta.json
2025-03-19 22:18:01 -04:00
PJBot
115492e9bd Automatic changelog update 2025-03-20 02:16:50 +00:00
Errant
ba56fe8ebc fix uncuff popups (#35743)
* fix uncuff popups

* them too
2025-03-19 19:15:44 -07:00
PJBot
887edf2d7b Automatic changelog update 2025-03-20 01:51:25 +00:00
GaussiArson
672c96ef6c Removed the heat damage from disablers and disabler SMGs (#35834)
removed the heat damage from disablers and disabler SMGs
2025-03-19 18:50:18 -07:00
Tayrtahn
e2097d473c Fix strip menu revealing true identity (#35862)
* Fix strip menu revealing true identity

* Ghosts don't see through identity
2025-03-20 02:44:01 +01:00
mubururu_
d3ee9f8bc5 some robotics inhands (#33676)
* real

* spacing stuff and fix tiny issue
2025-03-19 21:43:00 -04:00
PJBot
b9f56be959 Automatic changelog update 2025-03-20 01:33:46 +00:00
Velken
003b667aa6 Mail Bag (#35702)
* mail bag

* fix

* cute envelope in the bag sprite

* Update Resources/Textures/Objects/Specific/Cargo/mail_bag.rsi/meta.json

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

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-03-19 18:32:39 -07:00
PJBot
ed9bbd9fff Automatic changelog update 2025-03-20 01:05:48 +00:00
SeamLesss
4bb1a62f22 Add In-hand Sprites for miscellaneous items (#35433)
* guh???

* Merge branch 'master' of https://github.com/SeamLesss/space-station-14

* incomplete baseball bat

* bling

* attribution

* camera bug

* damp rag

* cap cap

* centcom cap

* Update Resources/Textures/Clothing/Head/Hats/capcap.rsi/meta.json
2025-03-19 21:04:41 -04:00
PJBot
fc544d713b Automatic changelog update 2025-03-20 00:54:55 +00:00
mubururu_
eb5610b745 inhand sprites for Produce (#35151)
* awakening

* fix test fail

* attribution fix

* tomater killer inhandered

* extrorange inhand spin rate nerfed

* fuck webedit
2025-03-19 20:53:48 -04:00
PJBot
791d7c8f98 Automatic changelog update 2025-03-20 00:36:41 +00:00
MisterImp
7a539b3568 Fix recipe and animation for copypasta (#35925)
* Fixed animation and recipe for Copypasta

* Update Resources/Prototypes/Entities/Objects/Consumable/Food/noodles.yml

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

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-03-19 17:35:34 -07:00
mubururu_
752477bff3 consistent grapes (#35125)
* grape

* seedtributions
2025-03-19 20:09:50 -04:00
PJBot
7909f87d00 Automatic changelog update 2025-03-19 23:15:25 +00:00
Tiniest Shark
b1c89d059c snake can now be seen inhand and worn on neck like friend (#35323)
* snake can now be seen inhand and worn like friend

* Roomba's additions

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

* Update Resources/Textures/Objects/Fun/toys.rsi/meta.json

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

* Spacing adjustment

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

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-03-19 16:14:17 -07:00
PJBot
97c32d0d70 Automatic changelog update 2025-03-19 22:34:11 +00:00
āda
ef9c896972 Donk Co. Microwave heats twice as fast (#35937)
hot donk!
2025-03-19 15:33:02 -07:00
slarticodefast
988cb08760 Add a code comment to the trait prototype files (#35936)
code comment
2025-03-19 15:25:53 -07:00
Emisse
6f1642eb9a loop station minor evac fix (#35912) 2025-03-19 15:40:49 -06:00
TytosB
a4eac94670 Merge branch 'don' of https://github.com/TytosB/space-station-14-loop into don 2025-03-19 15:56:18 -05:00
TytosB
d0ce213b50 maints firelocks 2025-03-19 15:55:58 -05:00
Tayrtahn
86aa82f2b6 Cleanup: Remove redundant prototype name specifications (#35793)
* Remove redundant prototype name specifications

* These can stay
2025-03-19 19:30:31 +01:00
PJBot
916661944b Automatic changelog update 2025-03-19 17:50:05 +00:00
Errant
8394753c30 lock bwoinkwindow bottom bar height (#35896) 2025-03-19 18:48:58 +01:00
Errant
150f58a6a5 lock bwoinkwindow bottom bar height (#35896) 2025-03-19 18:43:13 +01:00
SlamBamActionman
1d4ff1b0d1 Metagame improvements to antag-before-job selection system (#35830)
* Initial commit

* Update the selection to only count for people who have one of the preferences assigned; latejoin on delay no longer applies pre-selection.
2025-03-19 18:28:25 +01:00
Tayrtahn
398d92a064 Fix artifacts swapping places with ghosts (#35074)
* Prevent artifacts swapping position with ghosts

* Filter for MobStateComponent instead

* Update Content.Server/Xenoarchaeology/XenoArtifacts/Effects/Systems/PortalArtifactSystem.cs

* bluh
2025-03-19 12:11:53 -04:00
PJBot
5b08838420 Automatic changelog update 2025-03-19 15:08:42 +00:00
claustro305
2516868bdc Adjust small light hitbox (#35920) 2025-03-19 16:07:35 +01:00
Ed
a951193dba Merge branch 'master' of https://github.com/crystallpunk-14/crystall-punk-14 2025-03-19 14:04:35 +03:00
Ed
4002b0a41c Update CP14SellWhitelistService.cs 2025-03-19 13:45:59 +03:00
Арт
709b78080f Weapon Sharpening System Update & Bread Slicing Fix (#915)
* SharpeningUpdate

* BreadSlicingFix

Before that, bread slices could be cut endlessly into new bread slices.

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2025-03-19 13:36:46 +03:00
creamybag
d71fd8ef80 jager2 (#1042) 2025-03-19 12:58:30 +03:00
Ed
1867903c46 Planetarization (#1040)
* tiers to level demiplanes

* Update demiplane_keys.yml

* demiplane on planets

* migrate to wizden dayCycle + planetarize Comoss

* Update comoss_d.yml

* Update audio_music.yml

* Update dev_map.yml

* add shadows to demiplanes

* remove outdated systems

* fix silvas

* silva fix

* Update factoria.yml

* Update island.yml
2025-03-19 12:52:37 +03:00
Tayrtahn
e76b81d291 Remove non-networked Dirty call in GuardianSystem (#35916) 2025-03-18 21:37:14 -04:00
YoungThug
097b93886b Renaming the "Mime Cap" to "White Cap" (#35901)
* MimeCapRename

* FixedTheName

* FIXITAGAIN
2025-03-18 16:54:02 -07:00
PJBot
e27d4b9459 Automatic changelog update 2025-03-18 23:46:27 +00:00
Smith
a5027e430c Smite Vendor Restock and General Soda Machine Balance (#35144)
* Inventory Buff and Enabling Restock

* Smite rebalance

* Rebalance and swapping contraband inventory positions

* Yet another rebalance

* Spaceup rebalanced, removed Smite from machine.
2025-03-18 16:45:19 -07:00
TytosB
0eb30d522b Merge branch 'space-wizards:master' into don 2025-03-18 16:44:59 -05:00
TytosB
196eb0327c evac fix 2025-03-18 16:44:21 -05:00
PJBot
cbcd1091d5 Automatic changelog update 2025-03-18 20:08:15 +00:00
slarticodefast
943d703685 Paradox Clones spawn with their suit sensors off (#35909)
* sensors off

* remove import

* Update Content.Server/Medical/SuitSensors/SuitSensorSystem.cs

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

---------

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
2025-03-18 16:07:06 -04:00
creamybag
d7c4bc0a5c A set of "jagermeister" clothes. (#1039)
* jagermeister

* fix
2025-03-18 17:26:39 +03:00
Nim
e4eea533a5 Decorative sprite pack (#1009)
* cobweb

* statue

* demiplan fun

* flowers

* head

* head

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2025-03-18 16:33:11 +03:00
PJBot
0a166e2af0 Automatic changelog update 2025-03-18 08:01:51 +00:00
slarticodefast
c72fd448cd Killer tomatos take damage from weedkiller and plantbgone (#35898)
* tomatobgone

* formatting
2025-03-18 11:00:44 +03:00
Nim
08bc5289cd Перевод на RU (#1034)
* translated 3

* fix

* fixxxx

* c

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2025-03-18 09:15:33 +03:00
Nim
eef078111d bone mask and armor (#1025)
Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2025-03-18 09:13:52 +03:00
Link
1448d41e10 maybe it works (#1018)
Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2025-03-18 09:12:00 +03:00
PJBot
47dbbabe3e Automatic changelog update 2025-03-18 05:23:04 +00:00
slarticodefast
6c46fe5307 Paradox Clones receive the implants the original has (#35906)
* copy implants to paradox clones

* Minor fixes

---------

Co-authored-by: beck-thompson <beck314159@hotmail.com>
2025-03-17 22:21:56 -07:00
Tayrtahn
95055b43bf Add a test to verify that all device signal sink ports can trigger (#35891)
* Add test of all device link sink ports

* Revert the fixed problem to prove that the test works.
Revert "Fix SpawnAndDeleteAllEntitiesInTheSameSpot heisentest (#32330)"

This reverts commit 4704309b4e.

* Revert "Revert the fixed problem to prove that the test works."

This reverts commit cf0dbe797243552d8a63afefced2acd6829c3887.

* Assert that test devices aren't deleted between port triggers

* Test each port on a different map too

* Convert Linq to guard clauses

* Update Content.IntegrationTests/Tests/DeviceLinking/DeviceLinkingTest.cs

* More informative failure message

* Delete map after each test

* Don't bother sorting by ID

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-03-18 00:44:38 +01:00
Ed
8e1f531767 Trying to fix check fails (#1036)
* Update unique_loot.yml

* test

* slarti help

* test omega
2025-03-18 00:41:43 +03:00
PJBot
0c73b24da8 Automatic changelog update 2025-03-17 18:40:13 +00:00
beck-thompson
15a5cebdcd Chameleon vests now act like winter coats (#34929)
First commit
2025-03-17 19:39:04 +01:00
PJBot
1367ae5703 Automatic changelog update 2025-03-17 18:00:03 +00:00
SlamBamActionman
dc4e8a2972 Increase storage size of Syndicate Backpack (#35888) 2025-03-17 10:58:56 -07:00
PJBot
55f70f9d2c Automatic changelog update 2025-03-17 16:28:15 +00:00
Errant
2b83d9bf89 add missing unknown shuttle ghostrole mindroles (#35892) 2025-03-17 17:27:08 +01:00
Ed
a6250d7491 Update demiplane.yml 2025-03-17 15:36:52 +03:00
Ed
4bca807cd9 back to ru cbt 2025-03-17 14:57:37 +03:00
Ed
a3392e33db Update base.yml 2025-03-17 14:45:04 +03:00
Ed
0a46df78ea Upstream sync (#1035)
* Add new implants to deimplant list (#35563)

Initial commit

* Doxarubixadone Description Fix (#35568)

Changed medicine.ftl for Doxa.

* Reptilians Can Eat Chicken Nuggets (#35569)

Added meat tag to misc.yml for chicken nuggets.

* Automatic changelog update

* Unheck Admin Smites (#35348)

* Fix admin verb names

Fixed admin verb names.

* Add antag verb names

* Adjust antag verb icons

* Amber Station - A Couple Changes (#35548)

* [ADMIN] Minor Refactor AdminNameOverlay (#35520)

* refactor(src): Minor refactor of Draw in "AdminNameOverlay. And new info about playtime player

* fix(src): Add configure classic admin owerlay

* fix

* tweak(src): Use _antagLabelClassic and tweak style

* tweak(src): Add config display overlay for startingJob and playTime

* tweak(src): Vector2 is replaced by var

* tweak(src): return to the end of the list

* Automatic changelog update

* Wizard PDA (#35572)

* wizard PDA

* colour change to brown

* Automatic changelog update

* Increase line spacing of the admin overlay (#35591)

line spacing

* make slime hair less transparent (#35158)

* blabl blump or something

* +0.3

* blimpuf

* Automatic changelog update

* Fix being able to write on/stamp/fax paper scrap (#35596)

* init

* item

* requested changes

* Apply suggestions from code review

---------

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

* Automatic changelog update

* Changed Pride to Hubris in ion_storm.yml (#35602)

Update ion_storm.yml

* Sentry turrets - Part 3: Turret AI (#35058)

* Initial commit

* Updated Access/command.yml

* Fix for Access/AccessLevelPrototype.cs

* Added silicon access levels to admin items

* Included self-recharging battery changes

* Revert "Included self-recharging battery changes"

* Addressed reviewers comments

* Additional reviewer comments

* DetGadget Hat Revitalization (#35438)

* DetGadget Hat

* uh... half-assed item description

* Reduce hat range to one tile, you have to stand on someone to steal their hat items

* Fix Integration Errors

* Only the wearer can access voice commands

* init work - handscomp is unable to be pulled

* second bit of progress

* basic working implementation

* nuke storageslots and add adminlogging

* disallow trolling nukies or hiding objective items

* remove unnecessary tags additions

* finish nuking unused tags

* death to yamllinter

* int tests be damned

* milon is a furry

* address review

* upd desc

* address reviews part 2

* address more reviews

* remove unused refs

* fix order of dependencies

* add ShowVerb to SharedStorageSystem.cs

This will allow or disallow showing the "Open Storage" verb if defined on the component.

* orks is a nerd

* add proper locale, fix adminlogging

* orks is a nerd 2

---------

Co-authored-by: Coenx-flex <coengmurray@gmail.com>

* Automatic changelog update

* Fingerprint Reader System (#35600)

* init

* public api

* stuff

* weh

* Remove cellular resistance for slimes (#35583)

* Remove cellular resistance for slimes

* Update guidebook

* Automatic changelog update

* Give the station map inhand sprites (#35605)

map has inhands

* Reagent guidebook reactions UI dividers (#35608)

* Update GuideReagentReaction.xaml

* Update Content.Client/Guidebook/Controls/GuideReagentReaction.xaml

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

* Update Content.Client/Guidebook/Controls/GuideReagentReaction.xaml

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

---------

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

* fix cluwne pda pen slot (#35611)

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

* Revert "Make radioactive material radioactive" (#35330)

* Automatic changelog update

* Predict vending machine UI (#33412)

* Automatic changelog update

* #32209 changelog (#35619)

Since it was merged into staging no changelog was made, but we should at least have it for next release. (And vulture)

* Automatic changelog update

* Cloning Refactor and bugfixes (#35555)

* cloning refactor

* cleanup and fixes

* don't pick from 0

* give dwarves the correct species

* fix dna and bloodstream reagent data cloning

* don't copy helmets

* be less redundant

* Automatic changelog update

* centcomm update (#35627)

* Better Insectoid Glasses (#31812)

Sprites and file changes

Adds the variants for arachnid and moth glasses, adds the code for those in the meta.json files, and adds the speciesID tag in both arachnid and moth prototype files.

* Automatic changelog update

* Add GetBaseName method to NameModifierSystem (#35633)

* Add GetBaseName method to NameModifierSystem

* Use Name

* Save Space Station 14 from the Toilet Gibber Forever (#35587)

* The evil is defeated

* Tag body bags

* uwu, cwush me cwusher-chan

* absolute 18+ sloggery

* botos binted? 👽

* Automatic changelog update

* Changed Damage Overlay to check Burn Damage (#34535)

* updated BruteLevel to be PainLevel with burn damage checks in DamageOverlayUiController.cs

* dehardcoded pain level by adding damage groups to paindamagegroups to affect

* re-added the name for painDamageGroups

* fixed overlay default and added minimum limit to component check first

* renamed to PainDamageGroups and removed obsolete tag

* Automatic changelog update

* Wizard's Magical Pen (#35623)

* wizard pen

* description change

* Automatic changelog update

* Added decelerator percentage drain (#35643)

* Added variable PercentageDrain to SinguloFoodComponent

* Set percentageDrain to 0.03 (3%) for anti particles

* Added percentageDrain logic in public OnConsumed

* Simplify SinguloFoodComponent and set percentageDrain to negative

* EnergyFactor now applies to positive values too

* Better commenting on EnergyFactor

* Update Content.Server/Singularity/Components/SinguloFoodComponent.cs

* Documentation of EnergyFactor

* Fixing spelling mistake

---------

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

* Automatic changelog update

* Made butter require less milk (#35650)

made butter take less milk

* Automatic changelog update

* Delete SolutionContainerVisualsComponent.InitialName (#35654)

* Fix name of cotton dough rope (#35657)

changed in-game name of cotton dough rope to differentiate from normal dough rope

* CVar - Toggle display of round-end greentext (#35651)

* hide greentext if cvar false

* change IFs around a lil

* reviews

* Open State for cowtools (#35666)

Open State

* Make implants unshielded (#35667)

* Add undergarments & "Censor Nudity" toggle to options (#33185)

* Initial commit

* Attribution

* Review changes

* Added comment for upstream

* Automatic changelog update

* centcomm update (#35674)

* More scars! (#35644)

* :3

* whitespace, stomach scar

* Automatic changelog update

* Lathe menu UI displays a count of available recipes (#35570)

* commit

* jumped the gun

* changes

* Players with unknown playtimes now are tagged as new players, take 2 (#35648)

* your commit? our commit.

* skreee

* show joined players before lobby players; comments

* comments

* playerinfo retains playtime data after disconnect

* new connection status symbols

* Automatic changelog update

* Add firelocks and locked external airlocks to ATS (#35516)

* Add firelocks and locked airlocks to ATS

* Add fire alarms

* Elkridge Tesla and TEG Improvements + Other stuff (#35684)

* better tesla, better TEG, better sci maints, chef gets chef closet

* added storage room for tesla parts, added captain bathroom, changed vault so nuke can be armed

* ran fixgridatmos and added some vacuum markers

* unflatpacked containment shit

* Cargo Mail System (#35429)

* shitcode init

* biocoding, SpawnTableOnUse, Moving shit to shared

* server :(

* fixes

* ok works

* Discard changes to Content.Shared/Interaction/Events/GettingUsedAttemptEvent.cs

* Discard changes to Content.Shared/Forensics/Components/FingerprintMaskComponent.cs

* Discard changes to Content.Shared/Forensics/Components/FingerprintComponent.cs

* Discard changes to Content.Server/Forensics/Systems/ForensicsSystem.cs

* Discard changes to Content.Server/StationRecords/Systems/StationRecordsSystem.cs

* Discard changes to Content.Server/Storage/EntitySystems/SpawnItemsOnUseSystem.cs

* Discard changes to Content.Shared/Interaction/Events/GettingUsedAttemptEvent.cs

* big stuff

* preperation

* temperory spawning thing for testing

* Update CargoDeliveryDataComponent.cs

* kinda proper spawning idk god save me

* cleanup (kinda)

* preparation 2.0

* stuff i think

* entity table work

* renames

* spawn ratio based on players

* comment

* letter tables

* more spam

* package tables

* comment

* biocodedn't

* builds correctly

* cleaning

* Update deliveries_tables.yml

* labels

* package sprites

* mail teleporter

* revert testing value

* fix test

* fix other test

* i love tests

* mail teleporter enabled by default

* random cooldowns

* fixtures

* Discard changes to Content.Shared/FingerprintReader/FingerprintReaderComponent.cs

* Discard changes to Content.Shared/FingerprintReader/FingerprintReaderSystem.cs

* Discard changes to Content.Shared/Interaction/Events/GettingUsedAttemptEvent.cs

* Discard changes to Resources/Locale/en-US/fingerprint-reader/fingerprint-reader.ftl

* clean

* fuck paper scrap

* oops

* fuck SpawnTableOnUse

* mail teleporter board in QM locker + addressed review

* oops

* clean

* sound on delivery spawn

* address review

* partial review address

* partial review addressing

* addressing partial review

* pratarial revivew address

* misprediction hell

* stuff

* more stuff

* unrelated

* TODO

* link

* partial review

* DirtyField

---------

Co-authored-by: Milon <milonpl.git@proton.me>

* Automatic changelog update

* Add AssertMultiple to ContrabandTest (#35662)

* add AssertMultiple to ContrabandTest

* do the same for magazine visuals test

* :trollface:

---------

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

* add forceghost admin command (#35518)

* add forceghost admin command

* sweep linq under the rug

* braces

* ûse LocalizedEntityCommands

* Automatic changelog update

* Text related keybinds can now be changed in Controls (#35630)

* Add ability to rebind text related keybinds

* fix placement of locales

* Automatic changelog update

* Update b2dynamictree (#30630)

* Update submodule to 248.0.0 (#35720)

* Add sun shadows (planet lighting stage 2) (#35145)

* Implements a Dynamic Lighting System on maps.

* Edit: the night should be a little bit brighter and blue now.

* Major edit: everything must be done on the client side now, with certain datafield replicated.
Changes were outlined in the salvage to accommodate the new lighting system.

* Edit: The offset is now serverside, this makes the time accurate in all situations.

* Removing ununsed import

* Minor tweaks

* Tweak in time precision

* Minor tweak + Unused import removed

* Edit: apparently RealTime is better for what I'm looking for

* Fix: Now the time is calculated correctly.

* Minor tweaks

* Adds condition for when the light should be updated

* Add planet lighting

* she

* close-ish

* c

* bittersweat

* Fixes

* Revert "Merge branch '22719' into 2024-09-29-planet-lighting"

This reverts commit 9f2785bb16aee47d794aa3eed8ae15004f97fc35, reversing
changes made to 19649c07a5fb625423e08fc18d91c9cb101daa86.

* Europa and day-night

* weh

* rooves working

* Clean

* Remove Europa

* Fixes

* fix

* Update

* Fix caves

* Update for engine

* Add sun shadows (planet lighting v2)

For now mostly targeting walls and having the shadows change over time. Got the basic proof-of-concept working just needs a hell of a lot of polish.

* Documentation

* a

* Fixes

* Move blur to an overlay

* Slughands

* Fixes

* Apply RoofOverlay per-grid not per-map

* Fix light render scales

* sangas

* Juice it a bit

* Better angle

* Fixes

* Add color support

* Rounding bandaid

* Wehs

* Better

* Remember I forgot to do this when writing docs

---------

Co-authored-by: DoutorWhite <thedoctorwhite@gmail.com>

* Automatic changelog update

* Omega Mail Teleporter (#35705)

Mail!

* Packed Mail Teleporter (#35706)

Mail!

* Box Mail Teleporter (#35707)

Mail!

* Oasis Mail Teleporter (#35708)

Mail!

* Meta Mail Teleporter (#35709)

Mail!

* Marathon Mail Teleporter (#35710)

Mail!

* Fland Mail Teleporter (#35711)

Mail!

* Plasma fixes 4 (#35716)

Fixes 15

Co-authored-by: jbox1 <40789662+jbox144@users.noreply.github.com>

* Aroace pride pin, scarf, and cloak (#35718)

cloak, pin, and scarf added yayyyy

* Automatic changelog update

* [Part of #32893] Localize silicon dataset names (#33352)

* Localize ai names

* Apply requested changes

* Localize autoborg

* Localize borg names

* Localize atv names

* Correct prototypes ids to follow naming conventions

* Remove AI localization (Moved to another PR)

* Weh

* [Part of #32893] Localize arachnid dataset names (#33353)

* Localize arachnid dataset names

* Correct prototype ids to follow naming conventions

* Combine arachnid_first.yml and arachnid_last.yml

* Upstream names

* [Part of #32893] Localize summonable creatures dataset names (#33392)

* Localize clown names

* Localize golem names

* Localize hologram names

* Correct prototype ids to follow naming conventions

* Update Resources/Locale/en-US/datasets/names/golem.ftl

---------

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

* [Part of #32893] Localize antagonists dataset names (#33393)

* Localize fake human names

* Localize ninja names

* Localize operation names

* Localize regalrat names

* Localize revenant names

* Localize syndicate names

* Localize wizard names

* Correct prototype ids to follow naming conventions

* Combine fake_human_first.yml and fake_human_last.yml

* Move contents of ninja_title.yml into ninja.yml

* Combine Operation_prefix.yml and Operation_suffix.yml

* Combine wizard_first.yml and wizard_last.yml

* Upstream names

* fix wizard

---------

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

* [Part of #32893] Localize humanoid species dataset names (#33395)

* Localize diona names

* Localize moth names

* Localize mushman names

* Localize reptilian names

* Localize skeleton names

* Upstream diona names

* names-moth-male/female-first-dataset -> names-moth-first-male/female-dataset

* Correct prototype ids to follow naming conventions

* NamesSkeletonFirst -> NamesSkeleton

* Combine moth_first_female.yml, moth_first_male.yml and moth_last.yml

* Forgot about skeleton prototype

* Upstream names

* Update Resources/Locale/en-US/datasets/names/diona_last.ftl

* Update Resources/Locale/en-US/datasets/names/diona_last.ftl

* keep first name for skeleton

---------

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

* [Part of #32893] Localize vox dataset names (#33396)

* Localize vox names

* Correct prototype id to follow naming conventions

* Upstream names

* [Part of #32893] Localize first & last dataset names (#33401)

* Localize first names

* Localize last names

* Correct prototype ids to follow naming conventions

* Combine first.yml and last.yml into base.yml

* Forgot about = in last

* [Part of #32893] Localize first male & female dataset names (#33402)

* Localize first_name

* Localize first_female

* names-male/female-first-dataset -> names-first-male/female-dataset

* Correct prototype ids to follow naming conventions

* Combine first_male.yml and first_female.yml into base_gendered.yml

* [Part of #32893] Localize misc dataset names (#33404)

* Localize cargo_shuttle names

* Localize death_commando names

* Localize fortunes

* Localize military names

* Localize rollie names

* fortunes.ftl -> cookie_fortune.ftl

* Correct prototype ids to follow naming conventions

* Localize all dataset names (#32893)

* Use `LocalizedDatasetPrototype` instead of `DatasetPrototype` in `RoleLoadoutPrototype`

* Localize ai names

* Replace to `LocalizedDatasetPrototype` in `NamingSystem`

* Localize arachnid first and last names

* Localize atv names

* Localize autoborg names

* Forgot to change type to localizedDataset

* Localize borer names

* Localize borg names

* Localize cargo shuttle names

* Localize clown names

* Localize death_commando names

* Localize diona names

* Localize fake_human names

* Localize first and last names

* Localize first male and female names

* Localize fortunes descriptions

* Forgot about equal sign

* Localize golem names

* Localize hologram names

* Localize military names

* Localize moth first male and female names

* Localize moth last names

* Fix autoborg name error

* Localize mushman first and last names

* Localize ninja names

* Localize operation names

* Localize regalrat names

* Fix mushman_first

* Forgot about `Loc.GetString`

* Move comments into comment section & fix names

* Localize reptilian male and female names

* Localize revenant names

* Fix locale word order in operation

* Localize rollie (btw it was never used and was added as "for the futuгe" long time ago)

* Localize skeleton_first names

* Localize syndicate names

* Localize vox names

* Localize wizard first and last names

* `{owner}-name-dataset` -> `names-{owner}-dataset`

* Change `DatasetPrototype` to `LocalizedDatasetPrototype` and make sure it works properly

GetFTLName is no more the static method, we need it to be able to use `Loc.GetString`

* I hate those mothname comments

* Combine name datasets prototypes

* Move every ftl from` /en-US/names` to ` /en-US/datasets/names`

* Remove ftl files

* Get every dataset yml back

* Remove changes for planets. Move it in another PR

* Revert these changes (Moved to another PR)

* How

* Apply suggested changes

* Fix integration tests (#35727)

* test

* fix names

* fix more

* Initial delivery balance changes (#35728)

* init

* small balance

* guess not

* Update Content.Server/Delivery/CargoDeliveryDataComponent.cs

---------

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

* Fixed delivery popups (#35724)

* :)

* cool stuff

* Remove a bonus Loc.GetString (#35731)

oops

* Bagel Engineering Improvements (#35717)

* woe, better engineering be upon ye

* im going to lose it

* radical plan

* oopsie

* Revert "oopsie"

This reverts commit 45ab057f55b46acd795e58257c3cc5967e5cb946.

* Revert "radical plan"

This reverts commit 57b1ae081725a47aef3ae03111cecbc91b4f47a8.

* Revert "im going to lose it"

This reverts commit e7b4afaf5d9a10a42e89831ffc9294d3b9bd96d4.

* Revert "woe, better engineering be upon ye"

This reverts commit 471dc3716b58a39631aa8bee00de79e981391d63.

* complete revamp

* revision

* oops 2 electric boogaloo

* another one

* every time i push to fix a minor mistake i found in walking around i get closer to my limit

* Update Credits (#35733)

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

* Loop mail teleporter (#35729)

* latejoin

* youve got mail

* Core mail update (#35719)

* core mail update

* empty

* derotate core (#35740)

Update default.yml

* Elkridge Mail Update (#35738)

add mail teleporter and mailing unit system

* Automatic changelog update

* Plasma Mail Teleporter (#35741)

Mail!

* Convex Mail Teleporter (#35742)

Mail!

* Remove unneeded Loc.GetString (#35739)

* Steal the mail thieving objective (#35746)

* mail theft

* networked

* Automatic changelog update

* fix UpdateBankAccount (#35749)

* trolled

* fun

* fuck me

* Slightly better letter loot table (#35748)

* init

* review

---------

Co-authored-by: Milon <milonpl.git@proton.me>

* Python Suit Storage Visual  (#35593)

* Python-SUITSTORAGE-Visuals

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* REVised Sprite

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* Copyright

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* Update Resources/Textures/Objects/Weapons/Guns/Revolvers/python.rsi/meta.json

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

---------

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* fix nukeops commander name (#35753)

* bagel update (#35754)

* Predict some power PowerReceiver stuff (#33834)

* Predict some power PowerReceiver stuff

Need it for some atmos device prediction.

* Also this

* Localize traitor codeverbs datasets (#35737)

* Localize verbs dataset

* Localize adjectives dataset

* Localize corporations dataset

* Update TraitorRuleSystem to use LocalizedDatasetPrototype instead of DatasetPrototype

* Fix sun shadows in ANGLE (#35757)

I think I fat-fingered a ctrl-Z on this at some point but the intermediate blur is necessary.

* Automatic changelog update

* Tweak sun shadow rotations (#35758)

Won't use the entity's rotation for the matrix, I just forgot to do this. Means shadows will always point in the same direction and the points will correctly adjust as the entity rotates.

* Automatic changelog update

* Fix Ahelp window playerlist resize (#35747)

reorganize bwoink window layout

* Automatic changelog update

* Ensure speech bubble cap is always respected (#32223)

Ensure speech bubble cap is respected, even when messages are sent very fast

* Cleanup: Fix ``PaperWriteEvent`` in ``PaperSystem`` (#35763)

* Cleanup + fix

* Revert

* Cleanup: Add missing locale ``cmd-planet-map-prototype`` (#35766)

Cleanup

* Added New Cocktails and new fill level sprites to existing drinks. (#33570)

* Added New Cocktails and new fill level sprites to existing drinks

* Updated copyright info and fixed recipies for Caipirinha/Mojito.

---------

Co-authored-by: RedBookcase <Usualmoves@gmail.com>

* Automatic changelog update

* Performer's Wig (#35764)

* miku wig

* fix to correct json convention

Co-authored-by: Winkarst <74284083+Winkarst-cpu@users.noreply.github.com>

---------

Co-authored-by: Winkarst <74284083+Winkarst-cpu@users.noreply.github.com>

* Automatic changelog update

* Merge showsubfloorforever into showsubfloor (#33682)

* convex fix

* Removable mindshields and revolutionary tweaks. (#35769)

* I fucking hate revs

* Update preset-revolutionary.ftl

* fixy fix

* Automatic changelog update

* Mail Resprite (#35776)

* init commit

* init commit

* delete those

* added github to copyright info

* Fix Chameleon PDAs renaming the user in station records (#35782)

* Automatic changelog update

* Restore the order of admin overlay elements (#35783)

admin overlay order fix

* Automatic changelog update

* Fixes and refactoring to discord changelog script (#33859)

* Fixes and refactoring to discord changelog script

Upstreamed from https://github.com/impstation/imp-station-14/pull/1023

* Add some prints back in

* Update to borg ion storms (#35751)

* Updates ion storms for borgs.

* Remove additional ion laws into future PR

* Automatic changelog update

* TriggerSystem improvements (#35762)

* desynchronizer real

* yaml stuff from slarti branch

* C# stuff

* oops

* fix triggers

* atomize PR

---------

Co-authored-by: Flareguy <woaj9999@outlook.com>

* Roleban command error handling (#35784)

roleban command jobid fail handling

* Localize news dataset (#35774)

* Localize news dataset

* Remove the `"`

* Localize rat king commands datasets (#35780)

* Added mail room

* Update submodule to 248.0.2 (#35787)

* Update Space Law to reflect Implant changes (#35701)

* Change implanter Space Law

* Add clarification regarding unidentified implanter vs. unidentified implant sentensing

* Add support for antag-before-job selection (#35789)

* Add support for antag-before-job selection

* Include logging

* forensics cleanup (#35795)

* polymorph popup fixes (#35796)

polymorph fixes

* fix more syndicate names (#35788)

* New Feature: Warden job rolls before security officer/cadet/detective (#35313)

Commit

* Automatic changelog update

* Fix anomaly doublelogging (#34297)

cull doublelogging

* Add wallmount N2 closets, Revived (#34042)

* Add standard, wallmount and improvised N2 closets, Revived

* remove improvised locker

* Parent>ID

* Undo sprite replacement

* Update meta.json

---------

Co-authored-by: Velcroboy <velcroboy333@hotmail.com>
Co-authored-by: Milon <milonpl.git@proton.me>

* Cryo and grinder cleanup (#34842)

* cryopod and grinder cleanup

* lower case name

* 4 spaces

* prototype clean

* looks like there is some kind of test that prevents removing this

* grinder too

* both should be empty

* cleanup

* Add Gold and Coal Rock Anomalies (#34809)

* This commit adds 2 new Rock Anomaly types, Coal and Gold. It also adds Resource Crabs, colored crystals, and lights for both.

* Added crafting recipes for yellow and black light tubes. Somehow I forgot that the first time.

* Sorted tags.yml alphabetically this time instead of not doing that.

* Updated Texture Copyright information

* Attempted to fix Merge Conflict

* Added bulb light variants for both yellow and black crystals.

* Automatic changelog update

* Tools/Devices: In-hand Sprites (#33689)

* Adds in-hand sprites to the barber scissors.

* adds in-hand sprites to the floodlight.

* adds in-hand sprites to the gas analyzer.

* adds in-hand sprites to the gps.

* Update copyright wording, linting

* resprite gps inhand sprites.

* adds in-hand sprites to the mass scanner.

* adds in-hand sprites to the spray_painter.

* resprite in-hand sprites to the mass_scanner.

* fix in-hand sprites to the mass_scanner.

* Resprite mass_scanner in-hand sprites.

* Automatic changelog update

* IconSmooth additional smoothing keys (#35790)

* additionalKeys

* Update lava.yml

* Update Content.Client/IconSmoothing/IconSmoothComponent.cs

---------

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

* Locks nitrous oxide canisters (#35785)

lock nitrous oxide canisters

* Automatic changelog update

* Cleanup Objective files, add PickSpecificPersonComponent (#35802)

* cleanup objectives

* remove unrelated access restriction

* review

* Adds popup when firing gun while gun has no ammo (#34816)

* Adds popup when firing gun while gun has no ammo

* simplify

---------

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

* Automatic changelog update

* Add the ability to pet the mail teleporter (#35819)

good mailbox

* Automatic changelog update

* Whitehole/Singularity grenade price adjustments + whitehole grenade fix (#35821)

* prices + adjustments

* teehee

* Automatic changelog update

* Update Lobby Music Attribtions (#35817)

Biggest change is updating the attributions and links for Sunbeamstress' to reflect the changes in their online profile as the previous link is now a dead link.
Updated Comet Haley's link to go directly to Stellardrone's Bandcamp instead of diverting to Free Music Archive
Fixed a double the in the comment for Space Asshole

* Paradox Clone (#35794)

* polymorph fixes

* paradox clone

* forensics cleanup

* bump doors

* 4

* attribution

* polymorphn't

* clean up objectives

* Update Resources/ServerInfo/Guidebook/Antagonist/MinorAntagonists.xml

* review

* add virtual items to blacklist

* allow them to roll sleeper agent

* Automatic changelog update

* Improvements to antag-before-job selection system (#35822)

* Fix the latejoin-antag-deficit bug, add datafield, add logging

* Fix multiple roles being made for single-role defs,

* HOTFIX: Fix paradox clone event (#35858)

fix paradox clone event

* Update CP14TownSendConditionSystem.cs

---------

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>
Co-authored-by: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
Co-authored-by: Smith <182301147+AgentSmithRadio@users.noreply.github.com>
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
Co-authored-by: Pancake <Pangogie@users.noreply.github.com>
Co-authored-by: Southbridge <7013162+southbridge-fur@users.noreply.github.com>
Co-authored-by: Schrödinger <132720404+Schrodinger71@users.noreply.github.com>
Co-authored-by: Velken <8467292+Velken@users.noreply.github.com>
Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>
Co-authored-by: LaCumbiaDelCoronavirus <90893484+LaCumbiaDelCoronavirus@users.noreply.github.com>
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: FungiFellow <151778459+FungiFellow@users.noreply.github.com>
Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
Co-authored-by: Coenx-flex <coengmurray@gmail.com>
Co-authored-by: hivehum <ketchupfaced@gmail.com>
Co-authored-by: Thomas <87614336+Aeshus@users.noreply.github.com>
Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Myra <vasilis@pikachu.systems>
Co-authored-by: Emisse <99158783+Emisse@users.noreply.github.com>
Co-authored-by: HTML/Crystal <152909599+HTMLSystem@users.noreply.github.com>
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
Co-authored-by: Hannah Giovanna Dawson <karakkaraz@gmail.com>
Co-authored-by: Coolsurf6 <coolsurf24@yahoo.com.au>
Co-authored-by: rokudara-sen <160833839+rokudara-sen@users.noreply.github.com>
Co-authored-by: DuckManZach <144298822+DuckManZach@users.noreply.github.com>
Co-authored-by: MisterImp <101299120+MisterImp@users.noreply.github.com>
Co-authored-by: Killerqu00 <47712032+Killerqu00@users.noreply.github.com>
Co-authored-by: Ps3Moira <113228053+ps3moira@users.noreply.github.com>
Co-authored-by: nikthechampiongr <32041239+nikthechampiongr@users.noreply.github.com>
Co-authored-by: Boaz1111 <149967078+Boaz1111@users.noreply.github.com>
Co-authored-by: āda <ss.adasts@gmail.com>
Co-authored-by: War Pigeon <54217755+minus1over12@users.noreply.github.com>
Co-authored-by: Deerstop <edainturner@gmail.com>
Co-authored-by: Milon <milonpl.git@proton.me>
Co-authored-by: Łukasz Mędrek <lukasz@lukaszm.xyz>
Co-authored-by: DoutorWhite <thedoctorwhite@gmail.com>
Co-authored-by: compilatron <40789662+Compilatron144@users.noreply.github.com>
Co-authored-by: jbox1 <40789662+jbox144@users.noreply.github.com>
Co-authored-by: Momo <Rsnesrud@gmail.com>
Co-authored-by: MilenVolf <63782763+MilenVolf@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: TytosB <54259736+TytosB@users.noreply.github.com>
Co-authored-by: Prole <172158352+Prole0@users.noreply.github.com>
Co-authored-by: Evelyn Gordon <evelyn.gordon20@gmail.com>
Co-authored-by: Winkarst <74284083+Winkarst-cpu@users.noreply.github.com>
Co-authored-by: RedBookcase <crazykid1590@gmail.com>
Co-authored-by: RedBookcase <Usualmoves@gmail.com>
Co-authored-by: SpaceManiac <tad@platymuus.com>
Co-authored-by: Spessmann <156740760+Spessmann@users.noreply.github.com>
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: imcb <irismessage@protonmail.com>
Co-authored-by: valquaint <57813693+valquaint@users.noreply.github.com>
Co-authored-by: Flareguy <woaj9999@outlook.com>
Co-authored-by: ninruB <ninrub@tuta.io>
Co-authored-by: Velcroboy <107660393+IamVelcroboy@users.noreply.github.com>
Co-authored-by: Velcroboy <velcroboy333@hotmail.com>
Co-authored-by: Łukasz Lindert <lukasz.lindert@protonmail.com>
Co-authored-by: Firewars763 <35506916+Firewars763@users.noreply.github.com>
Co-authored-by: onesch <118821520+onesch@users.noreply.github.com>
Co-authored-by: K-Dynamic <20566341+K-Dynamic@users.noreply.github.com>
Co-authored-by: Plykiya <58439124+Plykiya@users.noreply.github.com>
Co-authored-by: Crude Oil <124208219+CroilBird@users.noreply.github.com>
Co-authored-by: Lusatia <ultimate_doge@outlook.com>
2025-03-17 11:54:43 +03:00
slarticodefast
08cd8d0543 Merge stable into master (#35883) 2025-03-17 01:03:47 +01:00
slarticodefast
e4864ac423 Hotfix: Fix AntagRandomSpawn location preview (#35864)
fix AntagRandomSpawn location preview
2025-03-17 00:50:23 +01:00
MilenVolf
f8ccff1363 Localize criminal records reason placeholder dataset (#35810)
* Localize criminal records reason placeholder dataset

* Forgor
2025-03-16 19:43:37 -04:00
PJBot
bf59896922 Automatic changelog update 2025-03-16 22:25:54 +00:00
slarticodefast
197ee78bfa make paradox clone receive the original's objectives (#35829)
* make paradox clone receive the original's objectives

* remove redundant indexing

* Minor comment change

* fix ninja objectives

---------

Co-authored-by: beck-thompson <beck314159@hotmail.com>
2025-03-16 15:24:47 -07:00
PJBot
03dc35ac92 Automatic changelog update 2025-03-16 22:12:37 +00:00
Errant
29cbc4a190 Mark all hostile mind roles as antag (#35832)
* dummy antag prototypes

* I'll deal with YOU later!

* remove redundant soloantag definitions

* doctor, we left the scalpel in the patient

* minor cleanup
2025-03-16 23:11:31 +01:00
PJBot
1b34884823 Automatic changelog update 2025-03-16 22:03:26 +00:00
slarticodefast
d8ed9fe152 Paradox clones get all storage items the original has. (#35838)
* recursive storage copying

* include slime storage

* future proofing

* remove survival box
2025-03-16 15:02:19 -07:00
Tayrtahn
deb3ed3ed2 Let LocalizedDatasetPrototypeTest report multiple failures (#35876) 2025-03-16 22:32:08 +01:00
Tayrtahn
04b9088c85 Add viewer parameter to Identity.Entity (#35861)
* Add viewer parameter to Identity.Entity

* Docs
2025-03-16 14:07:46 -07:00
Vortebo
a7f6ceec58 bridge and security have gone byond the impossible 2025-03-16 14:42:34 -05:00
Vortebo
71f2cf4d54 garbage. in the disposal. 2025-03-16 13:48:28 -05:00
Tayrtahn
4b9d9da074 Fix development and debug configurations for tests (#35625)
* Move settings from debug.toml to development.toml

* Don't force disable dev config for integration tests

* Force on instead?

* Remove change to PoolManager
2025-03-16 19:17:45 +01:00
PJBot
eabd0b7f24 Automatic changelog update 2025-03-16 18:16:49 +00:00
Tayrtahn
6ee3ae80a5 Fix salvage sites ejecting borg brains when they despawn (#35855)
* Fix salvage sites ejecting borg brains when they despawn

* Extra check in while loop

* Move mobStateQuery to InitializeMagnet
2025-03-16 19:15:39 +01:00
Tayrtahn
af36b3983c Make NukeOpsTest list RuleGrids on failure (#35873) 2025-03-16 12:20:13 -04:00
Myra
e0a8718f78 Stable merge (#35870) 2025-03-16 15:12:19 +01:00
Vasilis The Pikachu
1a756a6574 Merge remote-tracking branch 'upstream/staging' into stable 2025-03-16 15:09:05 +01:00
Nim
1a12df0d2f zombi pacified (#1033) 2025-03-16 15:59:11 +03:00
PJBot
6cd9c3e16d Automatic changelog update 2025-03-16 00:42:57 +00:00
Kyle Tyo
b378c5e455 Fix holopads phasing through walls. (#34300)
* change holopad mask from subfloormask lowimpassable to tabletopmachinemask opaque

* change masks to prevent laser collisions

followed the artifact analyzer for this one. I don't quite understand how fixtures work so I'm a bit perplexed by this.

* Boolean I command you: LOWERCASE
2025-03-16 01:41:50 +01:00
github-actions[bot]
411a89ce31 Update Credits (#35860)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2025-03-16 01:40:44 +01:00
slarticodefast
d5372db359 Merge staging into master (#35859) 2025-03-15 23:25:04 +01:00
slarticodefast
b878e80929 HOTFIX: Fix paradox clone event (#35858)
fix paradox clone event
2025-03-15 23:10:24 +01:00
Ed
45593b1db7 Puddles on the floor sticking to the walls (#35856)
Update puddle.yml
2025-03-15 17:35:49 -04:00
saga3152
36f6438c8e Light replacer is back on the menu (#35857)
Lights on
2025-03-15 17:26:38 -04:00
Milon
7f4672f963 clear buyer conditions in StoreDiscountAndRefundTest (#35847)
* fun

* Update Content.IntegrationTests/Tests/StoreTests.cs

Co-authored-by: Hannah Giovanna Dawson <karakkaraz@gmail.com>

* Update Content.IntegrationTests/Tests/StoreTests.cs

Co-authored-by: Hannah Giovanna Dawson <karakkaraz@gmail.com>

---------

Co-authored-by: Hannah Giovanna Dawson <karakkaraz@gmail.com>
2025-03-15 21:58:13 +01:00
Ed
e6f9b2f099 Update puddle.yml 2025-03-15 23:15:24 +03:00
Ed
ff98037854 English OBT + Bugfixes (#1029)
* ts

* Test - without spawning at all

* Update coffin.yml

* Update CP14UniqueLootSystem.cs
2025-03-15 20:12:38 +03:00
PJBot
8848d74ccc Automatic changelog update 2025-03-15 16:44:56 +00:00
K-Dynamic
222331cb49 Take 2: Rename ammunition box (.50), Liberation Station .50 stock (#35326)
ammunition box (.50), .50 shell pellet

also die robust toolbox commits
2025-03-15 09:43:49 -07:00
PJBot
11cac44bc4 Automatic changelog update 2025-03-15 16:25:31 +00:00
pathetic meowmeow
4576555e5b NanoTask (#34095) 2025-03-15 09:24:23 -07:00
PJBot
c7022ae7c5 Automatic changelog update 2025-03-15 15:58:46 +00:00
K-Dynamic
2fe53c3722 Reduce base electrocution stun time from 8 to 5 seconds (#34578)
* reduce shock time from 8 to 3 seconds

* shocktime 5 second, 1.25 mv time multiplier, 1.5 hv time mulitplier
2025-03-15 16:57:35 +01:00
Nim
41f33bf005 Potions pouch (#1026)
* pouch

* loadout

* fix

* fix name

* fix name duo

* loadouts2
2025-03-15 16:30:40 +02:00
creamybag
b5edb27623 Working with armor sprites. (#1028)
* ChainMail

* fix
2025-03-15 15:54:19 +03:00
Tayrtahn
5efcccc81f Add interaction tests for vending machines (#35801)
* Add interaction test for vending machines

* Add test of UI basic UI interactions

* Added test for dispensing an item

* Simplify and internalize test yaml

* Add check for restocking with wrong restock box

* Add test for breaking and repairing
2025-03-15 17:07:04 +11:00
Tayrtahn
23d7cd0a29 Fix thrown item prediction weirdness (#35843)
Don't predict thrown item landing/stopping
2025-03-15 17:06:00 +11:00
PJBot
5c5dc1207a Automatic changelog update 2025-03-14 20:23:38 +00:00
Centronias
b980c94d89 Moths can eat lizard plushes again (#35835)
* tags back

* Update Resources/Prototypes/Entities/Objects/Fun/toys.yml

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-03-14 21:22:30 +01:00
Vortebo
9ca4254e1a station is now moth-friendly 2025-03-14 14:29:14 -05:00
PJBot
e7719518c0 Automatic changelog update 2025-03-14 15:32:18 +00:00
Quantum-cross
fd59427cb5 Corrupt borg speech if they are damaged or low power (#35318)
* - Corrupt borg speech the more damaged they are
- Corrupt long borg messages if battery is low or empty

* twiddle values

* Remove RNG based loop, hardcode repeating values for p=0.25 up to 10 repeats.

* Make sure that DamagedSiliconAccentSystem is AFTER ReplacementAccentSystem

* add missing base initializer call

* use Entity<T> pattern for event listener and clarify default values

* Move corruption parameters to datafields

* Add datafields to enable and disable the two types of corruption, and add datafields to override damage values and charge levels to support entities that don't have damageable components or power cells.

* Use nullables for override values

* Move DamagedSiliconAccentComponent to Shared and make it networked

* Add DamagedSiliconAccent to cloning whitelist
2025-03-15 02:31:09 +11:00
Ed
f989980df3 Carcats species [Draft] (#1023)
* body parts

* proto setup

* inhand displacements

* carcat cloak

* eyes

* gloves

* pants carcat

* pants

* shirt

* markings nose + ears

* Update 5.png

* shoes + naming

* helmet adapt

* carcat sounds

* Update sewing_table.yml

* s

* Update comoss.yml

* Update factoria.yml

* s
2025-03-14 14:11:41 +03:00
PJBot
50525a11be Automatic changelog update 2025-03-14 06:50:33 +00:00
Coolsurf6
5d296d2dbb Added Bacchus' Blessing Drink (#35306)
* added start to bacchus blessing with few more things left to do

* added sprites and trying to get the empty sprite to work

* fixed empty sprite will fill layer

* added missing fill image

* made flavor, physical description, recipe reaction and tweaked reagent threshold

* fixed fill levels

* removed name from drinks.yml, updated suffix instead

* delay is weird and broken, removing the difference

* updated copyright
2025-03-13 23:49:26 -07:00
PJBot
0ed1f84f45 Automatic changelog update 2025-03-13 20:22:50 +00:00
SlamBamActionman
22ecd58083 Enable antag-before-job rolling for roundstart antags (#35823)
Enable antag-before-job rolling for certain antags
2025-03-13 21:21:42 +01:00
SlamBamActionman
1945c7d7c6 Improvements to antag-before-job selection system (#35822)
* Fix the latejoin-antag-deficit bug, add datafield, add logging

* Fix multiple roles being made for single-role defs,
2025-03-13 19:07:52 +01:00
PJBot
33edf9692b Automatic changelog update 2025-03-13 17:10:14 +00:00
slarticodefast
bce9b4b05b Paradox Clone (#35794)
* polymorph fixes

* paradox clone

* forensics cleanup

* bump doors

* 4

* attribution

* polymorphn't

* clean up objectives

* Update Resources/ServerInfo/Guidebook/Antagonist/MinorAntagonists.xml

* review

* add virtual items to blacklist

* allow them to roll sleeper agent
2025-03-13 10:09:07 -07:00
Link
6c7933cd7f Fixing TagResource (Meat Pies) and coffins (#1024)
* Update coffin.yml

* PierogI
2025-03-13 17:19:04 +03:00
Lusatia
1b2d3d6ab9 Update Lobby Music Attribtions (#35817)
Biggest change is updating the attributions and links for Sunbeamstress' to reflect the changes in their online profile as the previous link is now a dead link.
Updated Comet Haley's link to go directly to Stellardrone's Bandcamp instead of diverting to Free Music Archive
Fixed a double the in the comment for Space Asshole
2025-03-13 17:00:23 +03:00
PJBot
4a4d3d6a07 Automatic changelog update 2025-03-13 13:13:34 +00:00
ScarKy0
d4b7a6d582 Whitehole/Singularity grenade price adjustments + whitehole grenade fix (#35821)
* prices + adjustments

* teehee
2025-03-13 14:12:27 +01:00
PJBot
66a02010f2 Automatic changelog update 2025-03-13 12:50:33 +00:00
Crude Oil
90dc674c96 Add the ability to pet the mail teleporter (#35819)
good mailbox
2025-03-13 13:49:24 +01:00
creamybag
44c9897893 dress (#1022) 2025-03-13 15:30:18 +03:00
Ed
47ea85ba21 back to ru + fix (#1021) 2025-03-13 13:30:52 +03:00
PJBot
0b1e25b68e Automatic changelog update 2025-03-13 07:22:33 +00:00
Plykiya
96501f4966 Adds popup when firing gun while gun has no ammo (#34816)
* Adds popup when firing gun while gun has no ammo

* simplify

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-03-13 10:21:24 +03:00
slarticodefast
48a4aa3929 Cleanup Objective files, add PickSpecificPersonComponent (#35802)
* cleanup objectives

* remove unrelated access restriction

* review
2025-03-13 01:41:50 +01:00
PJBot
3f8be60a8d Automatic changelog update 2025-03-13 00:31:24 +00:00
K-Dynamic
e1762d91fa Locks nitrous oxide canisters (#35785)
lock nitrous oxide canisters
2025-03-12 17:30:16 -07:00
Ed
63ecf4241a IconSmooth additional smoothing keys (#35790)
* additionalKeys

* Update lava.yml

* Update Content.Client/IconSmoothing/IconSmoothComponent.cs

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-03-13 00:51:48 +01:00
PJBot
f9a48463ba Automatic changelog update 2025-03-12 22:48:05 +00:00
onesch
b3482fd737 Tools/Devices: In-hand Sprites (#33689)
* Adds in-hand sprites to the barber scissors.

* adds in-hand sprites to the floodlight.

* adds in-hand sprites to the gas analyzer.

* adds in-hand sprites to the gps.

* Update copyright wording, linting

* resprite gps inhand sprites.

* adds in-hand sprites to the mass scanner.

* adds in-hand sprites to the spray_painter.

* resprite in-hand sprites to the mass_scanner.

* fix in-hand sprites to the mass_scanner.

* Resprite mass_scanner in-hand sprites.
2025-03-13 01:46:58 +03:00
PJBot
e4b268088a Automatic changelog update 2025-03-12 22:46:29 +00:00
Firewars763
212bf99688 Add Gold and Coal Rock Anomalies (#34809)
* This commit adds 2 new Rock Anomaly types, Coal and Gold. It also adds Resource Crabs, colored crystals, and lights for both.

* Added crafting recipes for yellow and black light tubes. Somehow I forgot that the first time.

* Sorted tags.yml alphabetically this time instead of not doing that.

* Updated Texture Copyright information

* Attempted to fix Merge Conflict

* Added bulb light variants for both yellow and black crystals.
2025-03-13 01:45:22 +03:00
Łukasz Lindert
8f81e55711 Cryo and grinder cleanup (#34842)
* cryopod and grinder cleanup

* lower case name

* 4 spaces

* prototype clean

* looks like there is some kind of test that prevents removing this

* grinder too

* both should be empty

* cleanup
2025-03-13 01:44:05 +03:00
Velcroboy
9005183e6e Add wallmount N2 closets, Revived (#34042)
* Add standard, wallmount and improvised N2 closets, Revived

* remove improvised locker

* Parent>ID

* Undo sprite replacement

* Update meta.json

---------

Co-authored-by: Velcroboy <velcroboy333@hotmail.com>
Co-authored-by: Milon <milonpl.git@proton.me>
2025-03-13 01:42:15 +03:00
ninruB
b7759cccbd Fix anomaly doublelogging (#34297)
cull doublelogging
2025-03-13 01:39:42 +03:00
PJBot
28ff4eddf5 Automatic changelog update 2025-03-12 22:37:50 +00:00
Winkarst
0d16bd5d2b New Feature: Warden job rolls before security officer/cadet/detective (#35313)
Commit
2025-03-13 01:36:41 +03:00
slarticodefast
ccc8837b69 fix more syndicate names (#35788) 2025-03-12 15:16:16 -04:00
slarticodefast
d8ac1524ef polymorph popup fixes (#35796)
polymorph fixes
2025-03-12 19:48:45 +01:00
slarticodefast
45e5fbfcdf forensics cleanup (#35795) 2025-03-12 18:57:06 +01:00
Ed
dcacd8f8da bugfixes and ENG OBT preparation (#1015)
* bugfixes and OBT preparation

* Update CP14CargoSystem.cs
2025-03-12 20:14:50 +03:00
Nim
18373b65ac fix tag food (#1013) 2025-03-12 19:43:20 +03:00
SlamBamActionman
2ff59f153e Add support for antag-before-job selection (#35789)
* Add support for antag-before-job selection

* Include logging
2025-03-12 16:48:39 +01:00
SlamBamActionman
02aec8fe54 Update Space Law to reflect Implant changes (#35701)
* Change implanter Space Law

* Add clarification regarding unidentified implanter vs. unidentified implant sentensing
2025-03-12 15:33:33 +01:00
Ed
55dd261f13 palisaade (#1012) 2025-03-12 17:32:48 +03:00
metalgearsloth
44c8e05d1f Update submodule to 248.0.2 (#35787) 2025-03-12 23:47:28 +11:00
Ed
0616d552f2 demiplane hints (#1011)
* demiplane hints

* lava update

* water resprite

* Update demiplane_hint.yml
2025-03-12 15:22:14 +03:00
Emisse
d12e0b8ddf Amber Station - Added Mail Room (#35786) 2025-03-12 02:50:23 -06:00
Southbridge
06ee81d1fe Added mail room 2025-03-12 04:34:06 -04:00
MilenVolf
5db89ab7e9 Localize rat king commands datasets (#35780) 2025-03-11 22:49:32 -07:00
MilenVolf
b5728c228d Localize news dataset (#35774)
* Localize news dataset

* Remove the `"`
2025-03-11 22:44:19 -07:00
Errant
3d898ed25a Roleban command error handling (#35784)
roleban command jobid fail handling
2025-03-11 22:41:01 -07:00
slarticodefast
175f5e6c2f TriggerSystem improvements (#35762)
* desynchronizer real

* yaml stuff from slarti branch

* C# stuff

* oops

* fix triggers

* atomize PR

---------

Co-authored-by: Flareguy <woaj9999@outlook.com>
2025-03-11 22:31:33 -07:00
PJBot
a384cbed89 Automatic changelog update 2025-03-12 01:23:08 +00:00
valquaint
4baaff2a23 Update to borg ion storms (#35751)
* Updates ion storms for borgs.

* Remove additional ion laws into future PR
2025-03-12 02:21:59 +01:00
Vortebo
3276deeca0 pipes. done. maybe 2025-03-11 16:57:53 -05:00
Ed
93ed28d34c Trading content (#1010)
* reroll positions

* more trading content

* bugfixes

* more content

* guidebook uodate

* Update buy.yml
2025-03-12 00:51:58 +03:00
imcb
231847a36d Fixes and refactoring to discord changelog script (#33859)
* Fixes and refactoring to discord changelog script

Upstreamed from https://github.com/impstation/imp-station-14/pull/1023

* Add some prints back in
2025-03-11 20:14:40 +01:00
PJBot
0575a3afd6 Automatic changelog update 2025-03-11 16:48:10 +00:00
Errant
a6d66e682f Restore the order of admin overlay elements (#35783)
admin overlay order fix
2025-03-11 17:47:03 +01:00
Ed
56f4012a49 Lava + Chest resprite (#1007)
* simple lava

* add into demiplanes

* Update meta.json

* wooden chest update

* Update migration.yml

* Update dev_map.yml

* manual migration

* Update factoria.yml
2025-03-11 17:39:46 +03:00
PJBot
9c84acdd92 Automatic changelog update 2025-03-11 13:53:45 +00:00
SlamBamActionman
ab72f682ce Fix Chameleon PDAs renaming the user in station records (#35782) 2025-03-11 14:52:38 +01:00
Princess Cheeseballs
81a1ae1623 Mail Resprite (#35776)
* init commit

* init commit

* delete those

* added github to copyright info
2025-03-11 13:44:32 +01:00
PJBot
6d99887746 Automatic changelog update 2025-03-11 09:42:20 +00:00
ScarKy0
4d98b9d621 Removable mindshields and revolutionary tweaks. (#35769)
* I fucking hate revs

* Update preset-revolutionary.ftl

* fixy fix
2025-03-11 10:41:13 +01:00
Nim
41e9e9f6ef Mannequin slot (#1003)
* mannequin slot

* pos
2025-03-11 10:55:40 +03:00
Link
0168dbabbb Separated mana modifiers (#1001)
* brainrot

* Update test_armor.yml
2025-03-11 10:23:09 +03:00
Link
540def6650 Update skeleton.yml (#1005) 2025-03-11 10:22:20 +03:00
Emisse
314b64226c Convex random maints fix (#35777) 2025-03-11 00:16:54 -06:00
Spessmann
de98dbb400 convex fix 2025-03-10 22:40:16 -07:00
SpaceManiac
38615b72e5 Merge showsubfloorforever into showsubfloor (#33682) 2025-03-11 11:01:11 +11:00
PJBot
3b31b72ed0 Automatic changelog update 2025-03-10 23:18:32 +00:00
Velken
4e37bcc40e Performer's Wig (#35764)
* miku wig

* fix to correct json convention

Co-authored-by: Winkarst <74284083+Winkarst-cpu@users.noreply.github.com>

---------

Co-authored-by: Winkarst <74284083+Winkarst-cpu@users.noreply.github.com>
2025-03-10 19:17:23 -04:00
PJBot
12a3a67ca9 Automatic changelog update 2025-03-10 23:09:33 +00:00
RedBookcase
80e674a9ae Added New Cocktails and new fill level sprites to existing drinks. (#33570)
* Added New Cocktails and new fill level sprites to existing drinks

* Updated copyright info and fixed recipies for Caipirinha/Mojito.

---------

Co-authored-by: RedBookcase <Usualmoves@gmail.com>
2025-03-10 19:08:23 -04:00
TytosB
a8d5e08d69 Merge branch 'space-wizards:master' into don 2025-03-10 17:41:46 -05:00
Nim
2ce913dd2d fix (#1002) 2025-03-10 19:02:31 +03:00
Winkarst
ca60f22c4d Cleanup: Add missing locale `cmd-planet-map-prototype` (#35766)
Cleanup
2025-03-10 16:34:27 +01:00
Vortebo
f4873e9c56 cowdoy in the city TWO 2025-03-10 10:16:38 -05:00
Winkarst
8d93eebceb Cleanup: Fix `PaperWriteEvent in PaperSystem` (#35763)
* Cleanup + fix

* Revert
2025-03-10 15:52:57 +01:00
Ed
dd26640465 fix #980 2025-03-10 17:03:59 +03:00
Ed
e7fc6bc652 some weapon balance 2025-03-10 17:01:39 +03:00
Nim
74fa1251c7 Modular armour 1 (#936)
* armor

* fix

* fix color

* migra

* + *

* balance

* caustic

* presets

* migr2

* plate

* chainmail

* fix speed

* ehh

* ehh2

* ehh3

* fix layers

* mask craft

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2025-03-10 16:24:10 +03:00
Deserty0
7806e2234f Update cleaner.yml (#1000)
* Update cleaner.yml

* Update cleaner.yml
2025-03-10 16:18:51 +03:00
github-actions[bot]
83770b3432 @Deserty0 has signed the CLA in crystallpunk-14/crystall-punk-14#1000 2025-03-10 12:37:20 +00:00
Evelyn Gordon
e0d6944822 Ensure speech bubble cap is always respected (#32223)
Ensure speech bubble cap is respected, even when messages are sent very fast
2025-03-10 13:28:08 +01:00
Nim
391cc8e7a5 Green salad (#999)
* green salad

* maxvol

* duplicate
2025-03-10 15:18:36 +03:00
Ed
10b38f04ce 129 Dinazewwr hairstyles (#717)
* first pass

* Sync new sprites

* ru loc

* chatgpt moment

* clean up

* Update human-hair.ftl
2025-03-10 13:06:18 +03:00
PJBot
d1b714bcf8 Automatic changelog update 2025-03-10 09:41:43 +00:00
Errant
c7d9a45dab Fix Ahelp window playerlist resize (#35747)
reorganize bwoink window layout
2025-03-10 20:40:36 +11:00
PJBot
2742429341 Automatic changelog update 2025-03-10 04:39:39 +00:00
metalgearsloth
70fca49063 Tweak sun shadow rotations (#35758)
Won't use the entity's rotation for the matrix, I just forgot to do this. Means shadows will always point in the same direction and the points will correctly adjust as the entity rotates.
2025-03-10 15:38:33 +11:00
PJBot
71ac80eb6c Automatic changelog update 2025-03-10 04:19:00 +00:00
metalgearsloth
b8b6634c0f Fix sun shadows in ANGLE (#35757)
I think I fat-fingered a ctrl-Z on this at some point but the intermediate blur is necessary.
2025-03-10 15:17:53 +11:00
MilenVolf
b1ddc1a20d Localize traitor codeverbs datasets (#35737)
* Localize verbs dataset

* Localize adjectives dataset

* Localize corporations dataset

* Update TraitorRuleSystem to use LocalizedDatasetPrototype instead of DatasetPrototype
2025-03-09 22:20:05 -04:00
metalgearsloth
75a7407e33 Predict some power PowerReceiver stuff (#33834)
* Predict some power PowerReceiver stuff

Need it for some atmos device prediction.

* Also this
2025-03-10 13:00:49 +11:00
Emisse
6689cae5a1 bagel update (#35754) 2025-03-09 19:30:42 -06:00
slarticodefast
84792f88d6 fix nukeops commander name (#35753) 2025-03-10 02:21:56 +01:00
Vortebo
38faab470b removed some stuff 2025-03-09 16:52:35 -05:00
Vortebo
008e51a5f2 more accurate emergency shuttle 2025-03-09 16:40:48 -05:00
Prole
b5b92d5f3d Python Suit Storage Visual (#35593)
* Python-SUITSTORAGE-Visuals

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* REVised Sprite

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* Copyright

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>

* Update Resources/Textures/Objects/Weapons/Guns/Revolvers/python.rsi/meta.json

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

---------

Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-03-09 22:06:21 +01:00
ScarKy0
469a4196e3 Slightly better letter loot table (#35748)
* init

* review

---------

Co-authored-by: Milon <milonpl.git@proton.me>
2025-03-09 21:54:10 +01:00
Milon
8e10ff1f08 fix UpdateBankAccount (#35749)
* trolled

* fun

* fuck me
2025-03-09 21:50:24 +01:00
Ed
66058ffc49 Auto CBT (#997)
* auto doggy

* fix

* fix
2025-03-09 23:29:20 +03:00
PJBot
03a8dee379 Automatic changelog update 2025-03-09 19:43:02 +00:00
slarticodefast
7a6b947e60 Steal the mail thieving objective (#35746)
* mail theft

* networked
2025-03-09 20:41:53 +01:00
Ed
759260c2ba unique loot rework 2025-03-09 18:48:48 +03:00
creamybag
a0337843ac baff (#995) 2025-03-09 17:48:41 +03:00
Vortebo
47c3dc65fa big bang little bang 2025-03-09 09:12:05 -05:00
MilenVolf
bcf3390c88 Remove unneeded Loc.GetString (#35739) 2025-03-09 11:06:11 +01:00
ScarKy0
39a8bae2d2 Convex Mail Teleporter (#35742)
Mail!
2025-03-09 03:40:58 -06:00
ScarKy0
ddc5758d00 Plasma Mail Teleporter (#35741)
Mail!
2025-03-09 03:38:15 -06:00
PJBot
66f89cece6 Automatic changelog update 2025-03-09 08:50:04 +00:00
Deerstop
217845b7ae Elkridge Mail Update (#35738)
add mail teleporter and mailing unit system
2025-03-09 01:49:33 -07:00
Emisse
4ed99ca367 derotate core (#35740)
Update default.yml
2025-03-09 01:48:55 -07:00
ArtisticRoomba
fc1c149820 Core mail update (#35719)
* core mail update

* empty
2025-03-09 01:47:43 -07:00
TytosB
f753bb9af4 Loop mail teleporter (#35729)
* latejoin

* youve got mail
2025-03-09 01:47:20 -07:00
github-actions[bot]
7215ae2d5c Update Credits (#35733)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2025-03-09 02:18:00 +01:00
ArtisticRoomba
2de3c58145 Bagel Engineering Improvements (#35717)
* woe, better engineering be upon ye

* im going to lose it

* radical plan

* oopsie

* Revert "oopsie"

This reverts commit 45ab057f55b46acd795e58257c3cc5967e5cb946.

* Revert "radical plan"

This reverts commit 57b1ae081725a47aef3ae03111cecbc91b4f47a8.

* Revert "im going to lose it"

This reverts commit e7b4afaf5d9a10a42e89831ffc9294d3b9bd96d4.

* Revert "woe, better engineering be upon ye"

This reverts commit 471dc3716b58a39631aa8bee00de79e981391d63.

* complete revamp

* revision

* oops 2 electric boogaloo

* another one

* every time i push to fix a minor mistake i found in walking around i get closer to my limit
2025-03-08 18:08:35 -07:00
ScarKy0
9d7cf27469 Remove a bonus Loc.GetString (#35731)
oops
2025-03-08 23:30:48 +01:00
ScarKy0
e57325b797 Fixed delivery popups (#35724)
* :)

* cool stuff
2025-03-08 22:08:41 +01:00
ScarKy0
6f39ee8688 Initial delivery balance changes (#35728)
* init

* small balance

* guess not

* Update Content.Server/Delivery/CargoDeliveryDataComponent.cs

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-03-08 21:48:02 +01:00
Viator-MV
d6a2c5f9f6 Commos upate 8.03.25 (#994)
* personal house fix comoss.yml

* Update comoss.yml

* Update comoss_d.yml

* MaGiC sPlItInG
2025-03-08 23:26:14 +03:00
TytosB
c64a6b03a3 youve got mail 2025-03-08 14:10:24 -06:00
TytosB
52d7479c50 Merge branch 'space-wizards:master' into don 2025-03-08 13:46:37 -06:00
slarticodefast
4735097385 Fix integration tests (#35727)
* test

* fix names

* fix more
2025-03-08 20:38:18 +01:00
MilenVolf
1abd2d3a08 Localize all dataset names (#32893)
* Use `LocalizedDatasetPrototype` instead of `DatasetPrototype` in `RoleLoadoutPrototype`

* Localize ai names

* Replace to `LocalizedDatasetPrototype` in `NamingSystem`

* Localize arachnid first and last names

* Localize atv names

* Localize autoborg names

* Forgot to change type to localizedDataset

* Localize borer names

* Localize borg names

* Localize cargo shuttle names

* Localize clown names

* Localize death_commando names

* Localize diona names

* Localize fake_human names

* Localize first and last names

* Localize first male and female names

* Localize fortunes descriptions

* Forgot about equal sign

* Localize golem names

* Localize hologram names

* Localize military names

* Localize moth first male and female names

* Localize moth last names

* Fix autoborg name error

* Localize mushman first and last names

* Localize ninja names

* Localize operation names

* Localize regalrat names

* Fix mushman_first

* Forgot about `Loc.GetString`

* Move comments into comment section & fix names

* Localize reptilian male and female names

* Localize revenant names

* Fix locale word order in operation

* Localize rollie (btw it was never used and was added as "for the futuгe" long time ago)

* Localize skeleton_first names

* Localize syndicate names

* Localize vox names

* Localize wizard first and last names

* `{owner}-name-dataset` -> `names-{owner}-dataset`

* Change `DatasetPrototype` to `LocalizedDatasetPrototype` and make sure it works properly

GetFTLName is no more the static method, we need it to be able to use `Loc.GetString`

* I hate those mothname comments

* Combine name datasets prototypes

* Move every ftl from` /en-US/names` to ` /en-US/datasets/names`

* Remove ftl files

* Get every dataset yml back

* Remove changes for planets. Move it in another PR

* Revert these changes (Moved to another PR)

* How

* Apply suggested changes
2025-03-08 20:04:26 +01:00
MilenVolf
b1fabb5a1a [Part of #32893] Localize misc dataset names (#33404)
* Localize cargo_shuttle names

* Localize death_commando names

* Localize fortunes

* Localize military names

* Localize rollie names

* fortunes.ftl -> cookie_fortune.ftl

* Correct prototype ids to follow naming conventions
2025-03-08 20:04:01 +01:00
MilenVolf
3ccd9e4b6d [Part of #32893] Localize first male & female dataset names (#33402)
* Localize first_name

* Localize first_female

* names-male/female-first-dataset -> names-first-male/female-dataset

* Correct prototype ids to follow naming conventions

* Combine first_male.yml and first_female.yml into base_gendered.yml
2025-03-08 20:03:51 +01:00
MilenVolf
9200a24dcf [Part of #32893] Localize first & last dataset names (#33401)
* Localize first names

* Localize last names

* Correct prototype ids to follow naming conventions

* Combine first.yml and last.yml into base.yml

* Forgot about = in last
2025-03-08 20:03:38 +01:00
MilenVolf
7806afb284 [Part of #32893] Localize vox dataset names (#33396)
* Localize vox names

* Correct prototype id to follow naming conventions

* Upstream names
2025-03-08 20:03:24 +01:00
MilenVolf
177a323fd4 [Part of #32893] Localize humanoid species dataset names (#33395)
* Localize diona names

* Localize moth names

* Localize mushman names

* Localize reptilian names

* Localize skeleton names

* Upstream diona names

* names-moth-male/female-first-dataset -> names-moth-first-male/female-dataset

* Correct prototype ids to follow naming conventions

* NamesSkeletonFirst -> NamesSkeleton

* Combine moth_first_female.yml, moth_first_male.yml and moth_last.yml

* Forgot about skeleton prototype

* Upstream names

* Update Resources/Locale/en-US/datasets/names/diona_last.ftl

* Update Resources/Locale/en-US/datasets/names/diona_last.ftl

* keep first name for skeleton

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-03-08 20:03:07 +01:00
MilenVolf
0480e1554f [Part of #32893] Localize antagonists dataset names (#33393)
* Localize fake human names

* Localize ninja names

* Localize operation names

* Localize regalrat names

* Localize revenant names

* Localize syndicate names

* Localize wizard names

* Correct prototype ids to follow naming conventions

* Combine fake_human_first.yml and fake_human_last.yml

* Move contents of ninja_title.yml into ninja.yml

* Combine Operation_prefix.yml and Operation_suffix.yml

* Combine wizard_first.yml and wizard_last.yml

* Upstream names

* fix wizard

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-03-08 20:02:46 +01:00
MilenVolf
7242a1d69d [Part of #32893] Localize summonable creatures dataset names (#33392)
* Localize clown names

* Localize golem names

* Localize hologram names

* Correct prototype ids to follow naming conventions

* Update Resources/Locale/en-US/datasets/names/golem.ftl

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-03-08 20:02:36 +01:00
MilenVolf
28174a5062 [Part of #32893] Localize arachnid dataset names (#33353)
* Localize arachnid dataset names

* Correct prototype ids to follow naming conventions

* Combine arachnid_first.yml and arachnid_last.yml

* Upstream names
2025-03-08 20:02:22 +01:00
MilenVolf
965bd1c5ac [Part of #32893] Localize silicon dataset names (#33352)
* Localize ai names

* Apply requested changes

* Localize autoborg

* Localize borg names

* Localize atv names

* Correct prototypes ids to follow naming conventions

* Remove AI localization (Moved to another PR)

* Weh
2025-03-08 20:02:12 +01:00
PJBot
804addfff7 Automatic changelog update 2025-03-08 15:22:34 +00:00
Momo
2412b4f634 Aroace pride pin, scarf, and cloak (#35718)
cloak, pin, and scarf added yayyyy
2025-03-08 16:21:21 +01:00
Ed
2be52084d6 Update CP14SharedDayCycleSystem.cs 2025-03-08 15:43:27 +03:00
Ed
c06323374f fix sun inside storage 2025-03-08 14:55:37 +03:00
Ed
978f9cf4b9 vampire buff 2025-03-08 14:46:13 +03:00
Ed
fc0e41c562 Update subgamemodes.yml 2025-03-08 14:31:42 +03:00
Nim
990a498e0d tweak meat rabbit (#993) 2025-03-08 12:34:52 +03:00
compilatron
bc083f9d49 Plasma fixes 4 (#35716)
Fixes 15

Co-authored-by: jbox1 <40789662+jbox144@users.noreply.github.com>
2025-03-08 01:47:49 -07:00
ScarKy0
315f5a21a9 Fland Mail Teleporter (#35711)
Mail!
2025-03-08 01:47:41 -07:00
ScarKy0
a1487c21bb Marathon Mail Teleporter (#35710)
Mail!
2025-03-08 01:47:15 -07:00
ScarKy0
8d6cc7b2a0 Meta Mail Teleporter (#35709)
Mail!
2025-03-08 01:47:03 -07:00
ScarKy0
d8b020ca54 Oasis Mail Teleporter (#35708)
Mail!
2025-03-08 01:46:55 -07:00
ScarKy0
6c4d1acb35 Box Mail Teleporter (#35707)
Mail!
2025-03-08 01:46:43 -07:00
ScarKy0
9f3ae33e77 Packed Mail Teleporter (#35706)
Mail!
2025-03-08 01:46:32 -07:00
ScarKy0
4c9199dd59 Omega Mail Teleporter (#35705)
Mail!
2025-03-08 01:46:20 -07:00
PJBot
2c40dde9bc Automatic changelog update 2025-03-08 05:08:48 +00:00
metalgearsloth
f51b9bc86e Add sun shadows (planet lighting stage 2) (#35145)
* Implements a Dynamic Lighting System on maps.

* Edit: the night should be a little bit brighter and blue now.

* Major edit: everything must be done on the client side now, with certain datafield replicated.
Changes were outlined in the salvage to accommodate the new lighting system.

* Edit: The offset is now serverside, this makes the time accurate in all situations.

* Removing ununsed import

* Minor tweaks

* Tweak in time precision

* Minor tweak + Unused import removed

* Edit: apparently RealTime is better for what I'm looking for

* Fix: Now the time is calculated correctly.

* Minor tweaks

* Adds condition for when the light should be updated

* Add planet lighting

* she

* close-ish

* c

* bittersweat

* Fixes

* Revert "Merge branch '22719' into 2024-09-29-planet-lighting"

This reverts commit 9f2785bb16aee47d794aa3eed8ae15004f97fc35, reversing
changes made to 19649c07a5fb625423e08fc18d91c9cb101daa86.

* Europa and day-night

* weh

* rooves working

* Clean

* Remove Europa

* Fixes

* fix

* Update

* Fix caves

* Update for engine

* Add sun shadows (planet lighting v2)

For now mostly targeting walls and having the shadows change over time. Got the basic proof-of-concept working just needs a hell of a lot of polish.

* Documentation

* a

* Fixes

* Move blur to an overlay

* Slughands

* Fixes

* Apply RoofOverlay per-grid not per-map

* Fix light render scales

* sangas

* Juice it a bit

* Better angle

* Fixes

* Add color support

* Rounding bandaid

* Wehs

* Better

* Remember I forgot to do this when writing docs

---------

Co-authored-by: DoutorWhite <thedoctorwhite@gmail.com>
2025-03-08 16:07:42 +11:00
metalgearsloth
db96cc7881 Update submodule to 248.0.0 (#35720) 2025-03-08 15:51:29 +11:00
metalgearsloth
a695a527f0 Update b2dynamictree (#30630) 2025-03-08 14:49:13 +11:00
PJBot
31a45a427c Automatic changelog update 2025-03-08 02:43:56 +00:00
Łukasz Mędrek
0be41cebb9 Text related keybinds can now be changed in Controls (#35630)
* Add ability to rebind text related keybinds

* fix placement of locales
2025-03-08 13:42:50 +11:00
PJBot
67f2c1ed58 Automatic changelog update 2025-03-08 02:40:11 +00:00
slarticodefast
531f5619be add forceghost admin command (#35518)
* add forceghost admin command

* sweep linq under the rug

* braces

* ûse LocalizedEntityCommands
2025-03-08 13:39:04 +11:00
deltanedas
cca537fb33 Add AssertMultiple to ContrabandTest (#35662)
* add AssertMultiple to ContrabandTest

* do the same for magazine visuals test

* :trollface:

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2025-03-08 13:37:26 +11:00
Vortebo
3fb80927cf clown gone 2025-03-07 17:02:46 -06:00
Ed
d1587d31b5 mimimi (#992) 2025-03-07 17:17:27 +03:00
Viator-MV
71e6b90f1a Skeleton update (#986)
* Literally everything

Как будто я не должен был делать всё в 1 коммит

* фиксы

маленькие изменения по запросу Эда

* fix

HideSpawnMenu

* fix2

fix

* final fix

final fix

* real final fix

* spell fix

* fix
2025-03-07 17:15:17 +03:00
Link
15798a44df Update CP14MagicManacostModifySystem.cs (#987) 2025-03-07 17:14:29 +03:00
creamybag
d0602d7d1d Jaster update! (#990)
* hihihi

* hihihi 32x32
2025-03-07 17:13:52 +03:00
github-actions[bot]
d97d7f6fc4 @LinkF2kkk has signed the CLA in crystallpunk-14/crystall-punk-14#987 2025-03-07 13:53:33 +00:00
PJBot
00fec734f3 Automatic changelog update 2025-03-07 13:52:18 +00:00
ScarKy0
3281f408eb Cargo Mail System (#35429)
* shitcode init

* biocoding, SpawnTableOnUse, Moving shit to shared

* server :(

* fixes

* ok works

* Discard changes to Content.Shared/Interaction/Events/GettingUsedAttemptEvent.cs

* Discard changes to Content.Shared/Forensics/Components/FingerprintMaskComponent.cs

* Discard changes to Content.Shared/Forensics/Components/FingerprintComponent.cs

* Discard changes to Content.Server/Forensics/Systems/ForensicsSystem.cs

* Discard changes to Content.Server/StationRecords/Systems/StationRecordsSystem.cs

* Discard changes to Content.Server/Storage/EntitySystems/SpawnItemsOnUseSystem.cs

* Discard changes to Content.Shared/Interaction/Events/GettingUsedAttemptEvent.cs

* big stuff

* preperation

* temperory spawning thing for testing

* Update CargoDeliveryDataComponent.cs

* kinda proper spawning idk god save me

* cleanup (kinda)

* preparation 2.0

* stuff i think

* entity table work

* renames

* spawn ratio based on players

* comment

* letter tables

* more spam

* package tables

* comment

* biocodedn't

* builds correctly

* cleaning

* Update deliveries_tables.yml

* labels

* package sprites

* mail teleporter

* revert testing value

* fix test

* fix other test

* i love tests

* mail teleporter enabled by default

* random cooldowns

* fixtures

* Discard changes to Content.Shared/FingerprintReader/FingerprintReaderComponent.cs

* Discard changes to Content.Shared/FingerprintReader/FingerprintReaderSystem.cs

* Discard changes to Content.Shared/Interaction/Events/GettingUsedAttemptEvent.cs

* Discard changes to Resources/Locale/en-US/fingerprint-reader/fingerprint-reader.ftl

* clean

* fuck paper scrap

* oops

* fuck SpawnTableOnUse

* mail teleporter board in QM locker + addressed review

* oops

* clean

* sound on delivery spawn

* address review

* partial review address

* partial review addressing

* addressing partial review

* pratarial revivew address

* misprediction hell

* stuff

* more stuff

* unrelated

* TODO

* link

* partial review

* DirtyField

---------

Co-authored-by: Milon <milonpl.git@proton.me>
2025-03-07 14:51:08 +01:00
Nim
228258e575 Dice (#989)
* dice

* wallet

* crate
2025-03-07 15:36:58 +03:00
Ed
6aac9d6447 Update wizard.yml 2025-03-07 14:53:58 +03:00
Ed
0b5712ce97 Vampire antag (#988)
* new blood types

* vampire systems setup

* death under sun

* vampire blood nutrition

* alerts

* autolearn skills

* base bite actions

* suck blood spell

* polish

* Update blood.yml

* unshitcode

* vampire hunger visual

* nerf speed

* hypnosis + map update

* darkness demiplane warning
2025-03-07 14:52:43 +03:00
Deerstop
5c12c1bf08 Elkridge Tesla and TEG Improvements + Other stuff (#35684)
* better tesla, better TEG, better sci maints, chef gets chef closet

* added storage room for tesla parts, added captain bathroom, changed vault so nuke can be armed

* ran fixgridatmos and added some vacuum markers

* unflatpacked containment shit
2025-03-07 01:25:05 -07:00
War Pigeon
fdb3082b90 Add firelocks and locked external airlocks to ATS (#35516)
* Add firelocks and locked airlocks to ATS

* Add fire alarms
2025-03-06 11:58:44 -07:00
Nim
cea7d93d12 Fixes (#975)
* fixs

* not
2025-03-06 16:33:10 +03:00
Tornado Tech
4a11cf9c53 Merge pull request #977 from crystallpunk-14/skill-remaster
Knowledge refactor
2025-03-06 22:29:36 +10:00
github-actions[bot]
19e9b3bc40 @SpyDev14 has signed the CLA in crystallpunk-14/crystall-punk-14#976 2025-03-06 10:38:37 +00:00
Tornado Tech
1ad686f42e feature: add to adghost CP14AllKnowing 2025-03-06 19:59:33 +10:00
Tornado Tech
06697abcdb fix: Books\knowledge.yml 2025-03-06 19:57:04 +10:00
Tornado Tech
1265355260 fix: CP14AddKnowledgeSpecial usings 2025-03-06 19:48:20 +10:00
github-actions[bot]
b1e985d0ad @Tornado-Technology has signed the CLA in crystallpunk-14/crystall-punk-14#977 2025-03-06 09:46:28 +00:00
Tornado Tech
ce0ec78e8d fix: CP14AddKnowledgeSpecial namespace 2025-03-06 19:43:04 +10:00
Tornado Tech
e6a28307a4 refactor: server CP14KnowledgeSystem 2025-03-06 19:42:20 +10:00
Ed
c1acf81541 NewTrade (#969)
* trading portal replace traveling storeship

* clean up content

* clean up content 2

* seel and buy realization

* fixes

* Update migration.yml

* Update migration.yml

* Update dev_map.yml

* Update dev_map.yml

* thats work correctly now

* bugfies and visual

* factions

* faction restruct + name reduce

* unnesting sell cargo positions

* unnesting cargo positions

* more cargo content

* Update buy.yml

* improve tradeportal visual

* Update migration.yml

* Bank ad Commandant removal

* merchant objectives

* finish

* clean up content

* Update migration.yml

* fix goal calculation

* Update comoss.yml

* Update dev_map.yml
2025-03-06 12:01:43 +03:00
Tornado Tech
7b5283b35b fix: Knowledge events usings (I hate Rider) 2025-03-06 18:56:06 +10:00
Tornado Tech
45a6919994 fix: KnowledgeRequired 2025-03-06 18:46:51 +10:00
Viator-MV
0d23f79eb6 Обновление скелетов (#971)
* Literally everything

Как будто я не должен был делать всё в 1 коммит

* фиксы

маленькие изменения по запросу Эда

* fix

HideSpawnMenu

* fix2

fix

* final fix

final fix
2025-03-06 11:40:30 +03:00
Tornado Tech
35e6bae5fe refactor: Add AllKnowing comp, separate paper and events 2025-03-06 18:40:17 +10:00
Tornado Tech
44f4c17266 refactor: Orthographic and obsolete in Knowledge 2025-03-06 18:22:01 +10:00
Vortebo
e82bf065dc lightz 2025-03-05 20:06:10 -06:00
Vortebo
821baa0900 one hundred per cent historically authentic 2025-03-05 12:38:14 -06:00
PJBot
0a232908a4 Automatic changelog update 2025-03-05 16:26:49 +00:00
Errant
6f23e10495 Players with unknown playtimes now are tagged as new players, take 2 (#35648)
* your commit? our commit.

* skreee

* show joined players before lobby players; comments

* comments

* playerinfo retains playtime data after disconnect

* new connection status symbols
2025-03-05 08:25:42 -08:00
Nim
e54e8a95ee Sheep (#972)
* sheep

* demi mod
2025-03-05 17:30:06 +03:00
creamybag
d9a5869504 Merge pull request #973 from creamybag/GuildmasterHat
Guildmaster hat
2025-03-05 17:28:41 +03:00
āda
b57b534380 Lathe menu UI displays a count of available recipes (#35570)
* commit

* jumped the gun

* changes
2025-03-05 23:31:48 +11:00
PJBot
657899f8b5 Automatic changelog update 2025-03-05 10:27:39 +00:00
Boaz1111
3bf38a4d46 More scars! (#35644)
* :3

* whitespace, stomach scar
2025-03-05 11:26:31 +01:00
Emisse
4c0ebb7f32 centcomm update (#35674) 2025-03-05 02:22:05 -07:00
PJBot
74e02022d6 Automatic changelog update 2025-03-05 09:15:11 +00:00
SlamBamActionman
27cfc0939c Add undergarments & "Censor Nudity" toggle to options (#33185)
* Initial commit

* Attribution

* Review changes

* Added comment for upstream
2025-03-05 10:14:01 +01:00
Vortebo
d3e1718da5 evacuate the dance floor 2025-03-04 17:04:12 -06:00
slarticodefast
8785085be6 Merge stable into master (#35669) 2025-03-04 22:24:29 +01:00
nikthechampiongr
e8c13fe325 Make implants unshielded (#35667) 2025-03-04 21:56:44 +01:00
Ps3Moira
0d01bb8894 Open State for cowtools (#35666)
Open State
2025-03-04 21:38:33 +01:00
Killerqu00
2d32e08bee CVar - Toggle display of round-end greentext (#35651)
* hide greentext if cvar false

* change IFs around a lil

* reviews
2025-03-04 08:59:44 -08:00
Vortebo
346bd8dd8b lights out 2025-03-04 09:24:51 -06:00
Vortebo
e67c7a7409 engineering walls more accurate 2025-03-04 09:24:16 -06:00
Ed
f9ff91d74b Update default.yml 2025-03-04 13:56:12 +03:00
MisterImp
5774b71b9b Fix name of cotton dough rope (#35657)
changed in-game name of cotton dough rope to differentiate from normal dough rope
2025-03-04 03:56:48 +01:00
Vortebo
14c94968fc is this better? i cannot tell if it is better 2025-03-03 19:31:29 -06:00
Tayrtahn
50f7846bb1 Delete SolutionContainerVisualsComponent.InitialName (#35654) 2025-03-03 23:58:04 +01:00
PJBot
67b8f35a3c Automatic changelog update 2025-03-03 22:05:32 +00:00
DuckManZach
ff6c212335 Made butter require less milk (#35650)
made butter take less milk
2025-03-03 23:04:26 +01:00
Vortebo
f41c98b053 i dont have anything clever to say for this one 2025-03-03 15:08:23 -06:00
Ed
b7b52e664d Update Dev.toml 2025-03-03 23:59:32 +03:00
Ed
b202897c36 Merge pull request #968 from crystallpunk-14/ed-2025-03-03-upstream-stable-2
Stable upstream sync
2025-03-03 23:40:02 +03:00
Ed
acc9886242 Merge remote-tracking branch 'upstream/stable' into ed-2025-03-03-upstream-stable-2
# Conflicts:
#	Content.Client/Options/UI/OptionsMenu.xaml
#	Content.IntegrationTests/Tests/PostMapInitTest.cs
2025-03-03 23:23:40 +03:00
Nim
2855cc906b Мелкий фикс перевода (#966)
* fix

* a

* ehh

* yep
2025-03-03 23:17:00 +03:00
Ed
81b9cdfff7 Alchemy integration test (#967)
* Update TryAllReactionsTest.cs

* test drive

* fix traveling ship roundremove

* Update CP14RoundRemoveShuttleSystem.cs

* Dev map update
2025-03-03 23:15:40 +03:00
PJBot
3f7a9cad7c Automatic changelog update 2025-03-03 16:38:35 +00:00
rokudara-sen
8b7f175f84 Added decelerator percentage drain (#35643)
* Added variable PercentageDrain to SinguloFoodComponent

* Set percentageDrain to 0.03 (3%) for anti particles

* Added percentageDrain logic in public OnConsumed

* Simplify SinguloFoodComponent and set percentageDrain to negative

* EnergyFactor now applies to positive values too

* Better commenting on EnergyFactor

* Update Content.Server/Singularity/Components/SinguloFoodComponent.cs

* Documentation of EnergyFactor

* Fixing spelling mistake

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-03-03 11:37:28 -05:00
PJBot
69115870ea Automatic changelog update 2025-03-03 15:55:50 +00:00
Velken
7a89fe5d33 Wizard's Magical Pen (#35623)
* wizard pen

* description change
2025-03-03 16:54:43 +01:00
Ed
3fb7cc0cd7 minor balance tweak 2025-03-03 18:43:44 +03:00
Ed
a0b190fd97 Update vials.yml 2025-03-03 16:55:12 +03:00
Ed
719ee50c96 CP14AreaEffectBehavior 2025-03-03 16:07:19 +03:00
Ed
c7c2e7265b Update essence_collector.yml 2025-03-03 14:37:13 +03:00
PJBot
ee690d9ee4 Automatic changelog update 2025-03-03 11:13:05 +00:00
Coolsurf6
913894a041 Changed Damage Overlay to check Burn Damage (#34535)
* updated BruteLevel to be PainLevel with burn damage checks in DamageOverlayUiController.cs

* dehardcoded pain level by adding damage groups to paindamagegroups to affect

* re-added the name for painDamageGroups

* fixed overlay default and added minimum limit to component check first

* renamed to PainDamageGroups and removed obsolete tag
2025-03-03 12:11:58 +01:00
Ed
bef78c62c0 Alchemical bomb (#965)
* smoke bomb system

* collector fixes

* bomb integration

* fix

* tweak
2025-03-03 14:06:50 +03:00
PJBot
f42c1bc933 Automatic changelog update 2025-03-03 10:05:42 +00:00
Hannah Giovanna Dawson
78b2b361e8 Save Space Station 14 from the Toilet Gibber Forever (#35587)
* The evil is defeated

* Tag body bags

* uwu, cwush me cwusher-chan

* absolute 18+ sloggery

* botos binted? 👽
2025-03-03 11:04:33 +01:00
VideoKompany
bab794e68f Added 'arrow' to the names of the arrowheads (#964)
Co-authored-by: VideoKompany <135313844+VlaDOS1408@users.noreply.github.com>
2025-03-03 10:37:36 +03:00
Errant
184edfe71d Merge stable to master (#35640) 2025-03-03 08:04:07 +01:00
Errant
3d9ce10f58 Revert "[HOTFIX] - Players with unknown playtimes now are tagged as new players" (#35639)
Revert "[HOTFIX] - Players with unknown playtimes now are tagged as new playe…"

This reverts commit 4dfd3e5740.
2025-03-03 07:49:13 +01:00
Nim
9ea547d8be Перевод на RU (#949)
* translate

* fix

* yee

* qwerty

* fix

* Signal

* Skeleton

* arrow

* fix
2025-03-03 09:38:09 +03:00
Tayrtahn
7e7d12d437 Add GetBaseName method to NameModifierSystem (#35633)
* Add GetBaseName method to NameModifierSystem

* Use Name
2025-03-03 02:03:16 +01:00
PJBot
36021f1702 Automatic changelog update 2025-03-02 20:59:22 +00:00
HTML/Crystal
8fc78f63d9 Better Insectoid Glasses (#31812)
Sprites and file changes

Adds the variants for arachnid and moth glasses, adds the code for those in the meta.json files, and adds the speciesID tag in both arachnid and moth prototype files.
2025-03-02 15:58:15 -05:00
Emisse
5b078e3978 centcomm update (#35627) 2025-03-02 13:53:56 -07:00
slarticodefast
6f1df2b62f Merge stable into master (#35626) 2025-03-02 21:36:14 +01:00
beck-thompson
4dfd3e5740 [HOTFIX] - Players with unknown playtimes now are tagged as new players (#35564)
* Players with unknown playtimes now are tagged as new players

* Fix

* I'm silly it was in the same file

* Cavar update
2025-03-02 20:45:54 +01:00
Errant
7bf09bfdb5 add altered silicon to rules (#35455)
* add altered silicon to rules

* skreee

Co-authored-by: crazybrain23 <44417085+crazybrain23@users.noreply.github.com>

---------

Co-authored-by: crazybrain23 <44417085+crazybrain23@users.noreply.github.com>
2025-03-02 20:41:07 +01:00
SlamBamActionman
08cb26dbf0 Hotfix: Fix uplinks allowing buying conditionally restricted items (#35334)
* Initial commit

* I just compressed the code

* Actually address review
2025-03-02 20:40:57 +01:00
creamybag
a16dd2fd3e Shirts in pants #2 (#934)
* New shirt, all fix

* merchant,chainmail
2025-03-02 22:16:34 +03:00
PJBot
469bb1a9ec Automatic changelog update 2025-03-02 15:51:20 +00:00
slarticodefast
ceff2bea00 Cloning Refactor and bugfixes (#35555)
* cloning refactor

* cleanup and fixes

* don't pick from 0

* give dwarves the correct species

* fix dna and bloodstream reagent data cloning

* don't copy helmets

* be less redundant
2025-03-02 16:50:12 +01:00
creamybag
8bbb0dad84 lute (#962) 2025-03-02 17:03:40 +03:00
Myra
02d3595faa Stable merge (#35620) 2025-03-02 13:58:59 +01:00
PJBot
ce7bb813d2 Automatic changelog update 2025-03-02 12:56:18 +00:00
Myra
51754f09ce #32209 changelog (#35619)
Since it was merged into staging no changelog was made, but we should at least have it for next release. (And vulture)
2025-03-02 13:55:10 +01:00
Myra
98cca7b0f8 Change Phalanximine to be more complex, increase Arithrazine damage (#32209) 2025-03-02 13:47:11 +01:00
Ed
8652e71b39 Essence nodes (#961)
* essence nodes

* Update essence_nodes.yml
2025-03-02 15:13:21 +03:00
Ed
9a787bc7b8 Thaumaturgic alchemy refactor WIP (#955)
* essences thaumaturgy refactor

* migrate structure crystals

* shard migrate

* bruh

* fix migration

* fixes

* 1 combining

* Create essence_brewing.yml

* Update magic.yml

* stack essence support

* FUCK THIIA ALL, DELETE ALL

* redesign counter spell

* Update precurser.yml

* magic splitting solution

* precurser splitting

* Praecantatio

* Update cleaner.yml

* add potions recipe

* fuck alchemy guidebook

* guidebook update

* fixes

* energia fix

* Update migration.yml

* fixes

* Update Alchemy.xml

* fix

* medium vial

* fixes?

* Update essence_combining.yml

* Update target_effect_creation_water.yml

* alchemist Comoss update

* Update closets.yml

* mana opertion glove

* Update migration.yml

* Update vials.yml

* Update GuideReagentReaction.xaml

* try to fix

* manual migration

* Update comoss_d.yml

* fix

* manual migration 2

* precursor admixture

* Update heater.yml
2025-03-02 13:28:13 +03:00
PJBot
7ea586cc1c Automatic changelog update 2025-03-02 02:49:00 +00:00
metalgearsloth
a8ebcac5c9 Predict vending machine UI (#33412) 2025-03-02 13:47:52 +11:00
PJBot
ba1504d0d6 Automatic changelog update 2025-03-02 02:31:03 +00:00
metalgearsloth
d9e86b3e81 Revert "Make radioactive material radioactive" (#35330) 2025-03-02 13:29:54 +11:00
deltanedas
66e926843f fix cluwne pda pen slot (#35611)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2025-03-02 00:33:24 +01:00
Vortebo
4a937edd27 goodbye salvage, you dont exist at all. no more salvage. my map cant account for having to deal with you so you arent real now 2025-03-01 16:53:33 -06:00
Ed
0563e0d67e Reagent guidebook reactions UI dividers (#35608)
* Update GuideReagentReaction.xaml

* Update Content.Client/Guidebook/Controls/GuideReagentReaction.xaml

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

* Update Content.Client/Guidebook/Controls/GuideReagentReaction.xaml

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

---------

Co-authored-by: Thomas <87614336+Aeshus@users.noreply.github.com>
2025-03-01 16:21:33 -06:00
hivehum
a926c53979 Give the station map inhand sprites (#35605)
map has inhands
2025-03-01 21:31:44 +01:00
PJBot
bb0c4c66fa Automatic changelog update 2025-03-01 20:26:00 +00:00
SlamBamActionman
9c970d203d Remove cellular resistance for slimes (#35583)
* Remove cellular resistance for slimes

* Update guidebook
2025-03-01 21:24:54 +01:00
ScarKy0
a54960eb81 Fingerprint Reader System (#35600)
* init

* public api

* stuff

* weh
2025-03-01 10:41:37 -08:00
PJBot
5bdc93b102 Automatic changelog update 2025-03-01 18:04:34 +00:00
ArtisticRoomba
deea33a36a DetGadget Hat Revitalization (#35438)
* DetGadget Hat

* uh... half-assed item description

* Reduce hat range to one tile, you have to stand on someone to steal their hat items

* Fix Integration Errors

* Only the wearer can access voice commands

* init work - handscomp is unable to be pulled

* second bit of progress

* basic working implementation

* nuke storageslots and add adminlogging

* disallow trolling nukies or hiding objective items

* remove unnecessary tags additions

* finish nuking unused tags

* death to yamllinter

* int tests be damned

* milon is a furry

* address review

* upd desc

* address reviews part 2

* address more reviews

* remove unused refs

* fix order of dependencies

* add ShowVerb to SharedStorageSystem.cs

This will allow or disallow showing the "Open Storage" verb if defined on the component.

* orks is a nerd

* add proper locale, fix adminlogging

* orks is a nerd 2

---------

Co-authored-by: Coenx-flex <coengmurray@gmail.com>
2025-03-01 19:03:27 +01:00
chromiumboy
10c868011e Sentry turrets - Part 3: Turret AI (#35058)
* Initial commit

* Updated Access/command.yml

* Fix for Access/AccessLevelPrototype.cs

* Added silicon access levels to admin items

* Included self-recharging battery changes

* Revert "Included self-recharging battery changes"

* Addressed reviewers comments

* Additional reviewer comments
2025-03-01 18:42:33 +01:00
FungiFellow
e8c812f90f Changed Pride to Hubris in ion_storm.yml (#35602)
Update ion_storm.yml
2025-03-01 18:19:19 +01:00
PJBot
212e942d21 Automatic changelog update 2025-03-01 14:09:40 +00:00
ScarKy0
5169ad4e8f Fix being able to write on/stamp/fax paper scrap (#35596)
* init

* item

* requested changes

* Apply suggestions from code review

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-03-01 15:08:34 +01:00
Ed
2225de9ce4 switch to ru CBT 2025-03-01 14:13:46 +03:00
PJBot
e540f9cd50 Automatic changelog update 2025-03-01 09:57:36 +00:00
LaCumbiaDelCoronavirus
aa05cbb49b make slime hair less transparent (#35158)
* blabl blump or something

* +0.3

* blimpuf
2025-03-01 20:56:29 +11:00
Errant
1b20121114 Increase line spacing of the admin overlay (#35591)
line spacing
2025-03-01 03:17:07 +01:00
PJBot
6b84315928 Automatic changelog update 2025-03-01 02:13:31 +00:00
Velken
30a6ebdb26 Wizard PDA (#35572)
* wizard PDA

* colour change to brown
2025-03-01 03:12:24 +01:00
Nim
2d4ace0b10 Tip sprite (#954)
* tip sprite

* fix

* heh

* solution
2025-03-01 01:26:36 +03:00
PJBot
01e4029a11 Automatic changelog update 2025-02-28 20:52:39 +00:00
Schrödinger
8ea888d821 [ADMIN] Minor Refactor AdminNameOverlay (#35520)
* refactor(src): Minor refactor of Draw in "AdminNameOverlay. And new info about playtime player

* fix(src): Add configure classic admin owerlay

* fix

* tweak(src): Use _antagLabelClassic and tweak style

* tweak(src): Add config display overlay for startingJob and playTime

* tweak(src): Vector2 is replaced by var

* tweak(src): return to the end of the list
2025-02-28 21:51:30 +01:00
Vortebo
e60318e59f this was annoying me 2025-02-28 13:30:37 -06:00
Vortebo
2a7c9ed267 its the tiny details that make a map feel finished 2025-02-28 12:21:30 -06:00
Ed
b8c2d662b6 English OBT setup (#956)
* fix

* Update Dev.toml
2025-02-28 20:18:28 +03:00
Vortebo
7462f9a376 lil flower shop 2025-02-28 09:01:02 -06:00
Nim
310c711adf tweak (#953) 2025-02-28 17:03:23 +03:00
Ed
3fd47443ae Essence collector (#952)
* collector attract essence

* collector

* Update magic-essence.yml

* Update essence_collelctor.yml
2025-02-28 15:55:47 +03:00
Southbridge
0c6db4db18 Amber Station - A Couple Changes (#35548) 2025-02-27 23:48:18 -07:00
Vortebo
63a6ffaa52 the walls, they move 2025-02-27 21:22:43 -06:00
Pancake
4442d5e277 Unheck Admin Smites (#35348)
* Fix admin verb names

Fixed admin verb names.

* Add antag verb names

* Adjust antag verb icons
2025-02-28 01:05:34 +01:00
PJBot
d8838e31d5 Automatic changelog update 2025-02-27 23:37:00 +00:00
Smith
38d72434fb Reptilians Can Eat Chicken Nuggets (#35569)
Added meat tag to misc.yml for chicken nuggets.
2025-02-28 00:35:52 +01:00
Smith
6b6ac9ac53 Doxarubixadone Description Fix (#35568)
Changed medicine.ftl for Doxa.
2025-02-28 00:18:36 +01:00
SlamBamActionman
1047e32944 Add new implants to deimplant list (#35563)
Initial commit
2025-02-27 20:23:59 +01:00
ActiveMammmoth
cec05d697e Staff of Animation Fixes (#35491)
* staff of animation fixes and system

* requested changes

* size back to normal

* Update AnimateSpellSystem.cs

---------

Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
2025-02-27 20:11:57 +01:00
slarticodefast
3c20f63292 fix subwizard gamerule (#35562) 2025-02-27 14:01:20 -05:00
PJBot
439e1c6dc0 Automatic changelog update 2025-02-27 17:58:34 +00:00
SlamBamActionman
41c51e2905 Implanter draw rework (#32136)
* Initial commit

* Clean-up

* Fix ftl, new damage

* ftl fix for real

* Updates based on feedback

* Child implant fix

* Make the UI only open when implanter is in draw mode

* Review fixes

* shunting
2025-02-27 18:57:28 +01:00
PJBot
5fdf702e3c Automatic changelog update 2025-02-27 17:45:02 +00:00
SlamBamActionman
c7b9a76342 Prevent crates, pet carriers and other things from going into disposals (#35557)
* Initial commit

* Solve underlying bug, readd to disposals

* Apply suggestions from code review

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-02-27 18:43:56 +01:00
PJBot
19c23682b0 Automatic changelog update 2025-02-27 17:26:20 +00:00
Aisu9
2db57f11ac Sap-Syrup balance (#32996)
Sap-Pancake balance

Change the conversion rate from 12:1 to 2:1
2025-02-27 09:25:12 -08:00
Vortebo
98c7010b16 Recklessly deleted power cables and atmos, excited to see what I accidentally broke in two weeks 2025-02-27 09:50:23 -06:00
Ed
f2c9fb6503 ballade balance 2025-02-27 17:30:39 +03:00
PJBot
3f014d2b77 Automatic changelog update 2025-02-27 13:48:23 +00:00
deltanedas
7520d8a2c8 add button to print logprobe logs (#32255)
* add EntityName at the bottom of LogProbe

* pass User into CartridgeMessageEvent

* add button to print logprobe logs

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2025-02-27 14:47:16 +01:00
PJBot
4d0e63caeb Automatic changelog update 2025-02-27 12:45:17 +00:00
āda
f80f305d1d Add filters to uniform printer (#34316)
* uniform

* missing category

* lint

* bedsheets

* carpets

* typo

* indent
2025-02-27 13:44:10 +01:00
PJBot
e705d04a12 Automatic changelog update 2025-02-27 12:41:05 +00:00
kosticia
a5aab8b8a1 Fire resist now can be examined. (#35183) 2025-02-27 23:39:55 +11:00
slarticodefast
0c6081fe10 Fix egg cooking and make microwave code a little less bad (#35459) 2025-02-27 23:39:06 +11:00
Ed
3d398e89ab integration whistler poison into alchemy (#950) 2025-02-27 15:12:30 +03:00
āda
3127f73c48 Multiple categories for lathe recipes (#34315)
* first

* lint

* changes

* change null comparison

* linq

* indent

* fix indent

---------

Co-authored-by: Milon <milonpl.git@proton.me>
2025-02-27 12:33:39 +01:00
Dora
53dc27cb1e Adding sorting to chem master (#34763)
* Adding sorting to chem master

* Chem Master can now sort based on following categories
 - Alphabetical
 - Quantity
 - Time Added to Machine

* Sorting is disabled by default and persist in the machine for everyone

* Removed some pointless code from Chem Master's UI

* Changed None and Time Added's text to reflect what they do better

* Minor adjustments to the code requested by maintainers
2025-02-27 12:19:52 +01:00
Nim
15d9657139 Invisible whistler (#941)
* invisible whistler

* Parts

* spike

* flavor

* flavor

* filter

* sprite

* demiplan
2025-02-27 14:02:30 +03:00
Ed
5524e029f4 Essence splitter (#948)
* disable rotting

* pipipi

* essence storage

* energy splitter

* Update essence_splitter.yml

* Update impact.png

* visual fixes

* sound fix

* Update twoHandedStaffs.yml

* unhardcode

* Update meta.json

* fix
2025-02-27 13:48:38 +03:00
PJBot
c20fb21ac1 Automatic changelog update 2025-02-27 10:47:17 +00:00
qwerltaz
7b0b401312 t-ray reveal for entities and draw depth fix (#33012)
* t-rays show above catwalk

* a

* RevealSubfloorComponent

* revealSubfloorOnScan, add it to catwalk

* TrayScanReveal sys and comp

* Rr

* handle anchoring

* use tile indices for vector2i

* fix IsUnderRevealingEntity reset on pvs pop in reanchor

* fix exception on TrayScanRevealComponent remove

* fix IsUnderRevealingEntity not updating on pvs enter

* update to ent

* make subfloor retain respect for their relative draw depth

* fix carpets not revealing subfloor on plating

* chapel carpet

* ??

* draw depth gap for subfloor entities.

* revert alpha change

* remove abs from draw depth difference

* move TrayScanReveal to client

* delete old refactor

* let's show them above puddles too

* Remove superfluous component classes

---------

Co-authored-by: SlamBamActionman <slambamactionman@gmail.com>
2025-02-27 11:46:09 +01:00
PJBot
9a12bfd4e8 Automatic changelog update 2025-02-27 10:06:37 +00:00
MilenVolf
1c62e335b9 Add breakdown recipes for Insect and Ammonia blood (#33614) 2025-02-27 11:05:29 +01:00
PJBot
7351a9d1bd Automatic changelog update 2025-02-27 08:27:38 +00:00
Brassica Prime
f850b69e89 Wizard Stamp (#35552)
* First go around adds everything necessary to work

* fixes issues with attribution and a whitespace

* Update Resources/Textures/Objects/Misc/bureaucracy.rsi/meta.json

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

* Update Resources/Textures/Objects/Misc/stamps.rsi/meta.json

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

---------

Co-authored-by: Pumkin69 <judeb@DESKTOP-M4B8G5D>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-02-27 11:26:30 +03:00
Emisse
16c377a05b bagel update (#35550) 2025-02-26 20:48:47 -07:00
Emisse
9d62e8c0e7 centcomm update (#35549) 2025-02-26 20:41:51 -07:00
PJBot
3557be1cff Automatic changelog update 2025-02-26 23:38:38 +00:00
DieselMohawk
7bd98b9075 Old Rollie Name Integration (#35544) 2025-02-26 15:37:31 -08:00
PJBot
6c3dbbccfe Automatic changelog update 2025-02-26 22:33:50 +00:00
Errant
c698b163b6 Admin Options tab (#35543)
* admin options tab initial

* make admin tab only visible to admins
2025-02-26 23:32:42 +01:00
Vortebo
ac7f99d46e atmos themed nightclub 2025-02-26 14:41:16 -06:00
Tobias Berger
8f164cffe4 Add libicu to shell.nix (#35540)
Add libicu to Nix shell

I'm not sure if it's just me but without this, the C# debugger in VSCode
simply does not work
2025-02-26 19:54:33 +01:00
ScarKy0
058d9fec09 Wizard robes allow you to wear gas tanks (#35537)
Update misc.yml
2025-02-26 18:41:42 +01:00
Ed
c6cc4daa3f Magical ballade (#946)
* mana ballade

* mana gift + consume merged in 1 loadout option

* Update T0_mana_gift.yml
2025-02-26 17:23:53 +03:00
ScarKy0
7c6028bc80 Wizard ID (#35530)
* init

* comment

* agentless

* sprite changes
2025-02-26 15:06:18 +01:00
Ed
9440115087 Fire ballade (#945) 2025-02-26 14:49:32 +03:00
Ed
1542459864 Books and bookshelf (#944)
* guidebooks

* guard spawns

* books restruct

* bookshelf

* Update crates.yml
2025-02-26 14:38:22 +03:00
slarticodefast
7283f9b6dc fix delta state in SharedGunSystem (#35510) 2025-02-26 22:11:17 +11:00
SpeltIncorrectyl
e86770f5a0 Mime can no longer write on paper without breaking their vow (#35043)
Co-authored-by: Simon <63975668+Simyon264@users.noreply.github.com>
2025-02-26 10:11:59 +01:00
Ed
aed7e0994a pax bard (#943) 2025-02-26 12:01:14 +03:00
Ed
d0f1bba9d8 speed up ballade (#942) 2025-02-26 10:51:23 +03:00
PJBot
08a274dc28 Automatic changelog update 2025-02-26 05:35:17 +00:00
keronshb
68de58eb66 THE WIZARD (#35406)
* Adds Survivor Antag

* Adds Survivor Role

* Adds Survivor Rule ECS, adds a survivor role event, adds make antagonist to  random global spawn spell

* Moves Survivor Ensurecomp to event handler. Makes Add Survivor Role a broadcast. Adds Survivor Component. Removes redundant briefing.

* Adds Survivor Antagonist role type for admins to keep track of this easier, adds it to Survivor.

* Adds access to survivor game rule system

* Adds Survivor Rule

* Adds end of round survivor text

* Adds end of round reporting logic. Adds logic to start the survivor rule.

* Changes desc from centcomm to shuttle

* survivor (S)

* Checks if they're alive on the shuttle instead of centcomm.

* ftl text selection based on number of survivors.

* Removed Survivor Antagonist, replaced it with Free Agent.

* Adds InvalidForGlobalSpawnSpell tag, checks for it on spawnspell, and adds it to a zombified person.

* Changes logic so we launch the game rule if it hasnt launched yet. Moves rule logic starting to server. Moved survivor rule logic out of event and into Start method.

* Fixes invalid entity issue

* Descs for Survivor Rule and Survivor comps

* Moves Survivor Rule to its own yml

* Checks for dead survivors, changes survivor checks for mind. Adds survivor comp to mind to fix any mindswap issues. Same for invalid survivor tag

* Changes shuttle xform call to just mapid

* Protoid fix

* THE WIZARD

* Wizard spawner

* adds the correct state

* Wizard preset and weight

* Fixes wizard rule

* Weight back to 100%

* Adds Random Metadata

* Wizard locs

* Puts requirements in the right place

* Adds wiz ghost spawner and mob

* wizard spawnpoint fix + shuttle mapping

* wizard loadout + fix wizard spawning + wizard random name

* comment

* Adds Wizard testing

* FIXES SHUTTLE ISSUE BASED REI

* THE WIZARD LOBBY SONG. Special thanks to song creator Chris Remo for allowing us to use this.

* Free Objective ECS + Base Free Objective

* Space Wizard Federation for Wiz Obj issuer.

* Wizard Objectives

* Moves wizard shuttle to base wizard rule. Gives Wizard their objectives. Removes WizardRule

* Renames midround to subgamemodes. Adds wizard sub game mode.

* Adds SubWizard to SubGameModesRule. Adds a SubGameMode with no wizard. Adds No SubGamemodeRule for Wizard preset

* Wizard midround event

* Fixes wizard midround

* Wizard Guidebook

* Removes todo

* Fixes text

* Removes wizard rule ECS, not needed

* Wizard jetpack

---------

Co-authored-by: ScarKy0 <scarky0@onet.eu>
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
2025-02-25 22:34:07 -07:00
Spessmann
6ea742d4b4 Convex update (#35513) 2025-02-25 20:20:03 -07:00
ToastEnjoyer
11dd26e08e Made forensic scanner classified as contraband. (#35512)
Update forensic_scanner.yml
2025-02-25 18:22:20 -08:00
PJBot
6e269c65d8 Automatic changelog update 2025-02-26 02:19:49 +00:00
Momo
f65ff0bd37 Lizard Plushie Slippers (#35381)
* added the lizard plushie slippers yippeegit status

* fixed attributions so that the links arent broken

* update meta.json links

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

* four spacing in meta.json

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-02-25 18:18:42 -08:00
PJBot
d949feeacf Automatic changelog update 2025-02-26 01:22:52 +00:00
Brassica Prime
9615bc64f8 Engineers can now choose to wear no head piece (#35508)
fixes engi loadout

Co-authored-by: Pumkin69 <judeb@DESKTOP-M4B8G5D>
2025-02-25 20:21:45 -05:00
Vortebo
213e88820a it hurts 2025-02-25 18:23:03 -06:00
Vortebo
30bdcd58fb Bridge window wall adjusted. 2025-02-25 16:33:35 -06:00
Vortebo
d364efb886 Bridge is now separated from the greytide only by a thin sheet of glass. 2025-02-25 15:57:37 -06:00
Ed
ba901d5e0e Crystals Update (#925)
* portal frame

* resprited sharpening stone

* portal frame entity

* darkness -> dimension magic type

* thaumaturgy platforms, some refactor

* magic energy refactor

* Update AirlockPryingTest.cs

* transfering tweaks

* fixed magic manipulation
2025-02-25 23:37:05 +03:00
Vortebo
c781fde830 Addressed several playtest issues. 2025-02-25 11:04:05 -06:00
Sparlight
9f4a4b81ac Add species-specific code for ToggleableLightVisuals (#35482) 2025-02-25 09:00:37 -08:00
PJBot
f165223a5e Automatic changelog update 2025-02-25 16:41:46 +00:00
pathetic meowmeow
ab9c78b066 Make escape key work as expected with multiple open inventories (#35040) 2025-02-25 17:40:39 +01:00
PJBot
92006deede Automatic changelog update 2025-02-25 16:01:28 +00:00
noirogen
263f915671 Adds new speech bubble opacity sliders to the accessibility menu. (#35346)
* Adds new accessibility slider for speech bubble text opacity.
Adds new accessibility slider for speech bubble background opacity.
Adds new Cvars to track speech bubble text and background opacity settings.

* Adds a separate option slider for the opacity of the speaker's name on speech bubbles.

* Changes text and speaker default opacity to 100%, as it was before.

* Apply suggestions from code review

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-02-25 17:00:12 +01:00
Ed
4e62a0efcc Update gob_way.webp 2025-02-25 18:14:47 +03:00
PJBot
183ea1043b Automatic changelog update 2025-02-25 14:44:09 +00:00
spderman3333
7ddad07118 Unbreakable bar sign fix. (#35490)
* Fixed bar signs being indestructable

* Apply suggestions from code review

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-02-25 15:43:03 +01:00
Nim
6fb28fae4f sack craft (#937) 2025-02-25 17:34:04 +03:00
Ed
a370182cb6 Spell icons folder restruct (#940)
* spell icon sprite restruct

* proto edit

* Update T1_fire_rune.yml
2025-02-25 17:33:20 +03:00
creamybag
ba6ceac7ef DismasHair (#939)
* DismasHair

* new rsi, new meta, new name
2025-02-25 17:32:45 +03:00
PJBot
594811a686 Automatic changelog update 2025-02-25 14:26:56 +00:00
ScarKy0
afe83e1231 [ADMIN] Admin IDs now have Agent ID properties (#35345)
init
2025-02-25 15:25:48 +01:00
PJBot
8265fb215b Automatic changelog update 2025-02-25 13:46:27 +00:00
Theodore Lukin
7f67ff4b26 borgs don't scream (#33038)
* borgs don't scream

* revert that
2025-02-25 14:45:19 +01:00
Ed
3e26334c53 healing bard spell (#938) 2025-02-25 15:44:22 +03:00
Nim
3a0a4c17ea Сrafting changes (#932)
* crafting

* tweak
2025-02-25 10:31:59 +03:00
PJBot
e761ab5815 Automatic changelog update 2025-02-25 03:53:14 +00:00
slarticodefast
920df98f76 fix mousetraps (#35486)
fix mousetrap
2025-02-24 19:52:05 -08:00
Winkarst
1e435822c7 Cleanup: Fix formatting in `CCVars.Game` (#35483)
Cleanup
2025-02-25 00:42:15 +01:00
Vortebo
daccf98cca hotplate 2025-02-24 17:23:09 -06:00
PJBot
309d21bb4c Automatic changelog update 2025-02-24 23:22:39 +00:00
Errant
285decd734 Make the version watermark less annoying (#35484)
* make version watermark less annoying

* skreee
2025-02-25 00:21:33 +01:00
Winkarst
5eeba30211 Cleanup: Make `EyeCursorOffsetSystem` sealed (#35481)
Cleanup
2025-02-24 17:46:04 -05:00
lzk
237df1c9a1 fix ion storm code readability (#35337)
fix ion storm readability
2025-02-25 08:36:56 +11:00
PJBot
02f5015830 Automatic changelog update 2025-02-24 21:36:48 +00:00
Vortebo
52df2dbe15 Custom arrivals shuttle for Relic (#35194)
* Custom arrivals shuttle for Relic.

* Added shuttle APU

* Saved it as a grid the way I now see the mapping guide said I was supposed to do it

* Relic arrivals hallway more historically accurate.

* Removed invalid configurator
2025-02-24 14:35:41 -07:00
PJBot
1a76e4fd52 Automatic changelog update 2025-02-24 21:30:13 +00:00
Schrödinger
2958706e04 [ADMIN minor update] Add Autocompletion for Player Usernames in SetMind Command (#35477)
* add(src): Add getCompletion player for setmind command

* tweak(src): Fulfilling review requirements. used CompletionHelper.SessionNames()

* tweak(loc): Add localization

* fix(srs): smail
2025-02-24 22:29:05 +01:00
Winkarst
004e54af51 Cleanup: Use `SoundCollectionSpecifier instead of string literals in BibleSystem` (#35448)
* Cleanup

* Update
2025-02-25 08:23:50 +11:00
Winkarst
ebc1bff4cb Cleanup: Use `SoundCollectionSpecifier instead of string literals in PowerGridCheckRule` (#35449)
* Cleanup

* Update

* .

* Volume
2025-02-25 08:16:10 +11:00
Winkarst
c899ae7649 Cleanup: Use `MapSystem.DeleteMap instead of IMapManager.DeleteMap in SalvageSystem.Magnet` (#35475)
Cleanup
2025-02-24 21:29:12 +01:00
Winkarst
08bc8436a5 Cleanup: Use `MapSystem.DeleteMap instead of IMapManager.DeleteMap in StartingGearPrototypeStorageTest` (#35474)
* Cleanup

* Fix
2025-02-24 21:26:40 +01:00
Winkarst
4d72a2d5f3 Cleanup: Use `MapSystem.DeleteMap instead of IMapManager.DeleteMap in MindTests` (#35473)
* Cleanup

* Fix
2025-02-24 21:26:04 +01:00
Winkarst
16787a0281 Cleanup: Use `MapSystem.DeleteMap instead of IMapManager.DeleteMap in MaterialPrototypeSpawnsStackMaterialTest` (#35472)
* Cleanup

* Fix
2025-02-24 21:12:25 +01:00
Winkarst
e22c3b1eeb Cleanup: Use `MapSystem.DeleteMap instead of IMapManager.DeleteMap in MaterialArbitrageTest` (#35471)
Cleanup
2025-02-24 21:11:33 +01:00
Winkarst
5fbe217db3 Cleanup: Use `MapSystem.DeleteMap instead of IMapManager.DeleteMap in InteractionTest` (#35470)
Cleanup
2025-02-24 21:10:59 +01:00
Winkarst
059c64a75f Cleanup: Use `MapSystem.DeleteMap instead of IMapManager.DeleteMap in HumanInventoryUniformSlotsTest` (#35469)
* Cleanup

* Fix
2025-02-24 21:10:09 +01:00
Winkarst
363eec1465 Cleanup: Use `MapSystem.DeleteMap instead of IMapManager.DeleteMap in HandTests` (#35468)
* Cleanup

* Update

* Fix
2025-02-24 21:09:24 +01:00
Winkarst
d1415d9dcb Cleanup: Use `MapSystem.DeleteMap instead of IMapManager.DeleteMap in CargoTest` (#35467)
* Cleanup

* Update

* Fix
2025-02-24 21:04:54 +01:00
Winkarst
7fc8dcb811 Cleanup: Pass in `IComponentFactory in EntityPrototype.TryGetComponent calls inside SharedChameleonProjectorSystem` (#35465)
* Cleanup

* Yes
2025-02-24 20:45:17 +01:00
Winkarst
670791ac49 Cleanup: Remove redundant checks from `SharedWieldableSystem` (#35466)
Cleanup
2025-02-24 20:22:19 +01:00
ScarKy0
51104a7316 TryGetRandomRecord in StationRecordsSystem (#35452)
* init

* requested changes

* stuff
2025-02-24 19:05:32 +01:00
Winkarst
bb110b376e Cleanup: Pass in `IComponentFactory in EntityPrototype.TryGetComponent calls inside SharedStackSystem` (#35464)
Cleanup
2025-02-24 18:59:06 +01:00
Winkarst
02f0190c35 Cleanup: Pass in `IComponentFactory in EntityPrototype.TryGetComponent calls inside SharedMaterialStorageSystem` (#35463)
Cleanup
2025-02-24 18:58:25 +01:00
Winkarst
45e7891706 Cleanup: Pass in `IComponentFactory in EntityPrototype.TryGetComponent calls inside ImmovableRodRule` (#35462)
Cleanup
2025-02-24 18:57:39 +01:00
Winkarst
22398ea342 Cleanup: Fix field naming rule violation in `GhostComponent` (#35454)
* Fix

* Update Content.Shared/Ghost/GhostComponent.cs

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-02-24 18:48:32 +01:00
Winkarst
0148c441e6 Cleanup: Pass in `IComponentFactory in EntityPrototype.TryGetComponent calls inside EventManagerSystem` (#35460)
Cleanup
2025-02-24 18:45:00 +01:00
Winkarst
615d548021 Cleanup: Pass in `IComponentFactory in EntityPrototype.TryGetComponent calls inside MaterialStorageSystem` (#35458)
* Cleanup

* Update
2025-02-24 18:38:40 +01:00
Winkarst
969e7bdd39 Cleanup: Pass in `IComponentFactory in EntityPrototype.TryGetComponent calls inside FlatpackSystem` (#35457)
* Cleanup

* Update
2025-02-24 18:37:50 +01:00
Winkarst
c71e6e67aa Cleanup: Pass in `IComponentFactory in EntityPrototype.TryGetComponent calls inside ChemistryGuideDataSystem` (#35456)
* Cleanup

* Update
2025-02-24 18:36:17 +01:00
ScarKy0
88308356db Move FingerprintComponent and FingerprintMaskComponent to shared (#35451)
* init

* review

* whoopsie
2025-02-24 17:23:11 +01:00
ScarKy0
c3784a3005 GettingUsedAttemptEvent (#35450)
* init

* review

* doc

* Update Content.Shared/Interaction/Events/GettingUsedAttemptEvent.cs

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-02-24 17:21:17 +01:00
Winkarst
f4fab85e34 Cleanup: Use `SoundSpecifier instead of string literals in EyeClosingComponent` (#35425)
* Cleanup

* Update

* Update

* Update
2025-02-24 17:10:23 +01:00
Viator-MV
186a1a04bf Merge pull request #933 from Viator-MV/Comoss_update_22.02.25
Comoss update 22.02.25
2025-02-24 18:48:38 +03:00
PJBot
6fa4767b4c Automatic changelog update 2025-02-24 09:44:51 +00:00
metalgearsloth
ac9c8b8275 Fix arrivals (#35439) 2025-02-24 20:43:43 +11:00
metalgearsloth
5385683b7e Fix admin test arena (#35444)
* Fix admin test arena

* Add to GridsLoadableTest

* QueueDel map, remove nullable

---------

Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
2025-02-24 17:05:59 +11:00
Pieter-Jan Briers
05de5bd3eb Fix bogus AdminNameOverlay Rider error (#35432) 2025-02-24 15:37:54 +11:00
Tayrtahn
6f925dd610 Fix prototypes so they pass analyzer checks (#35435) 2025-02-24 15:21:59 +11:00
PJBot
0d84d25067 Automatic changelog update 2025-02-23 23:31:07 +00:00
Tiniest Shark
b7c86cae71 Put Neckwear above Backpacks (#35322)
Puts Neck layer on top of Back.
2025-02-24 00:29:59 +01:00
Ed
37ff029956 return black roofs 2025-02-24 01:07:03 +03:00
Ed
a847b9be71 Merge branch 'master' into Comoss_update_22.02.25 2025-02-24 00:55:25 +03:00
Winkarst
fa73217b52 Cleanup: Use `SoundSpecifier instead of string literals in VomitSystem` (#35426)
* Cleanup

* Update

* Update
2025-02-23 22:53:04 +01:00
Winkarst
91f2c46f56 Fix: Admin-only messages still show "(S)" on Discord (#35431)
Fix
2025-02-23 22:43:14 +01:00
Ed
7cc9eb9ab2 Merge pull request #935 from crystallpunk-14/ed-23-02-2025-upstream
Upstream room sync
2025-02-24 00:38:31 +03:00
Ed
ae5b1118d8 Update shield.yml 2025-02-24 00:17:41 +03:00
Ed
c60f65c901 Update CP14DemiplaneSystem.Echoes.cs 2025-02-24 00:09:19 +03:00
Ed
b8575aba8f roofs update 2025-02-23 23:29:45 +03:00
Ed
07e0606ecf Merge remote-tracking branch 'upstream/master' into ed-23-02-2025-upstream
# Conflicts:
#	Content.Server/Damage/Systems/DamageOtherOnHitSystem.cs
#	Content.Server/Nutrition/EntitySystems/CreamPieSystem.cs
#	Resources/Prototypes/Entities/Mobs/Player/admin_ghost.yml
2025-02-23 23:07:55 +03:00
PJBot
1404095f27 Automatic changelog update 2025-02-23 20:04:17 +00:00
No Elka
9fb5517afa Make holoparasite's damage transfer ignore the host's armor (#35418)
Change stuff
2025-02-23 21:03:11 +01:00
PJBot
408c6ab443 Automatic changelog update 2025-02-23 19:30:21 +00:00
deltanedas
3e7450802b fix chameleon projector ripley bug (#35070)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2025-02-23 20:29:15 +01:00
PJBot
9f4d6abd30 Automatic changelog update 2025-02-23 19:02:23 +00:00
Errant
cc74880061 version watermark (#35284)
* version watermark

* force version watermarks on vulture
2025-02-23 20:01:17 +01:00
PJBot
40fbbe3ae4 Automatic changelog update 2025-02-23 18:49:44 +00:00
pathetic meowmeow
fdf19c6a90 Add a tertiary header parser to the guidebook document parser (#35315) 2025-02-23 19:48:38 +01:00
pathetic meowmeow
cbecc4cc4b Use new engine APIs for setting the scroll target of views (#35401) 2025-02-23 18:47:13 +01:00
keronshb
3192914fc5 Fix/Addition - Wizard Survivor Antag Status (#35226) 2025-02-23 12:24:36 -05:00
Viator-MV
8de115e7d2 Merge branch 'crystallpunk-14:master' into Comoss_update_22.02.25 2025-02-23 19:55:35 +03:00
Viator-MV
aace9aafd1 Update comoss_d.yml
Atmos fix
2025-02-23 19:55:19 +03:00
PJBot
326bd7f93a Automatic changelog update 2025-02-23 15:25:51 +00:00
pathetic meowmeow
b7414d85b4 Add microwave recipes to the guidebook (#34105) 2025-02-23 16:24:44 +01:00
slarticodefast
55e22b6a94 Remove disablers from emagged lathe (#35423) 2025-02-23 10:05:23 -05:00
metalgearsloth
1d004f4945 Sentry review (#35424)
Co-authored-by: chromiumboy <chromium.boy@gmail.com>
Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>
2025-02-24 00:57:27 +11:00
Tayrtahn
9cb6503319 Add interaction tests for prying airlocks (#35409) 2025-02-24 00:46:59 +11:00
chromiumboy
066c773965 Sentry turrets - Part 2: Basic prototype (#35031) 2025-02-24 00:39:44 +11:00
PJBot
b742afbe2c Automatic changelog update 2025-02-23 13:02:12 +00:00
ScarKy0
fad0b6a137 Swap price of EMAG and AD. (#35354)
init
2025-02-23 14:01:06 +01:00
PJBot
fd4988e3c5 Automatic changelog update 2025-02-23 12:59:04 +00:00
metalgearsloth
634c4a7780 Fix window positions not saving (#35055)
Co-authored-by: Kevin Zheng <kevinz5000@gmail.com>
2025-02-23 23:57:57 +11:00
pathetic meowmeow
fabfdd0673 Refactor audio system to send collection IDs over the network (#33610) 2025-02-23 23:14:56 +11:00
PJBot
1d210b52e0 Automatic changelog update 2025-02-23 11:44:22 +00:00
K-Dynamic
17218b7277 Lattice tiles footsteps now sound like catwalks (#35421)
change lattice from FootstepPlating to FootstepCatwalk
2025-02-23 12:43:15 +01:00
Pieter-Jan Briers
c956f26d9f Update submodule (#35411) 2025-02-23 22:35:23 +11:00
Deerstop
f65183edb9 Elkridge Science 2.0 + misc fixes (#35392)
* added radationblockercontainer component to pacman fuel crate so it doesnt leak rads, also more rad suits

* reworked science, misc fixes and changes
2025-02-23 01:35:36 -07:00
Southbridge
f9c9ffadcc Amber Station Improvements (#35384)
* Redid TEG, minor fixes around

* Ran fixgridatmos, variantize, fixrotations, tileswalls
2025-02-23 01:31:04 -07:00
metalgearsloth
a457551108 Roof data rework (#35388) 2025-02-23 18:23:00 +11:00
PJBot
cb0d2b3472 Automatic changelog update 2025-02-23 02:02:39 +00:00
lzk
b8806759fd make opening storage on verb or on interact not silent (#35413)
* make storage make sound

* remove

Co-authored-by: Winkarst <74284083+Winkarst-cpu@users.noreply.github.com>

---------

Co-authored-by: Winkarst <74284083+Winkarst-cpu@users.noreply.github.com>
2025-02-22 18:01:33 -08:00
Pieter-Jan Briers
e6d45961ac Update nuget packages (#34595) 2025-02-23 02:17:59 +01:00
Pieter-Jan Briers
f5c7809890 Stable merge for hotfix backport (#35412) 2025-02-23 02:15:34 +01:00
PJBot
54e0931836 Automatic changelog update 2025-02-23 01:01:18 +00:00
GrownSamoyedDog
91678f75da Fixed Guidebook Sorting / Ordering (#34960)
* fixed all yml and cs

* Subjective Rearranging

* fixed my accidentally removed xml endline

* Accidentally included for a different PR

* Added .ThenBy and cleaned up newplayer.yml
2025-02-23 02:00:10 +01:00
Errant
1d655f6712 [HOTFIX] Altered Silicon removal fails to trigger role update (#35399)
minor sharedrolesystem refactor
2025-02-23 01:52:48 +01:00
ScarKy0
a6861b0461 [HOTFIX] Borg emag notification and sound fix (#35394)
epic stuff
2025-02-23 01:49:58 +01:00
github-actions[bot]
a6d2948f75 Update Credits (#35410)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2025-02-23 01:46:28 +01:00
keronshb
c922b4f843 Wizard: Smoke Spell (#35403)
* Adds smoke spell for wizard

* Adds the actual sprites oops

* Removes repulse attract change

* Removes change again?
2025-02-22 15:04:42 -08:00
PJBot
1bd3887fa7 Automatic changelog update 2025-02-22 21:35:38 +00:00
Sparlight
e631fa893e Give dogs speech noises (#35383) 2025-02-22 22:34:29 +01:00
PJBot
a33189feb9 Automatic changelog update 2025-02-22 17:46:57 +00:00
Winkarst
b912dedbfc New Feature: Admin Only messages in AHelp (#35283)
* Feature

* Update

* Update

* Update

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

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

* Yes

---------

Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2025-02-22 09:45:50 -08:00
Pieter-Jan Briers
1ef28203ea Comment out broken guidebook test speech code (#35398)
This code blatantly doesn't work and causes compile failures with https://github.com/space-wizards/RobustToolbox/pull/5540. It's only used for testing purposes, so we're just removing it.

Basically taken from https://github.com/space-wizards/space-station-14/pull/33610 in another PR, so I can merge this first separately.
2025-02-22 17:17:14 +01:00
keronshb
ee31a1f293 Wizard: Repulse Spell (#35377) 2025-02-22 10:56:54 -05:00
Nim
d383d329c1 Reduces gauze (#928)
* size

* ref

* hmm
2025-02-22 17:28:32 +03:00
Viator-MV
79967a0ad3 Update comoss_d.yml 2025-02-22 17:21:33 +03:00
Viator-MV
05042d3bf3 Update comoss.yml 2025-02-22 17:20:28 +03:00
metalgearsloth
f32ca4efef Minor SpriteFade stuff (#35385) 2025-02-23 00:37:00 +11:00
Ed
1020288d12 Epic alchemy buff (#931)
* alchemy update

* damage heat
2025-02-22 12:45:55 +03:00
PJBot
879234c576 Automatic changelog update 2025-02-22 09:21:51 +00:00
metalgearsloth
5b1a5272ee Merge stable into master (#35387) 2025-02-22 20:21:39 +11:00
themias
30f673793b Fix sink draining sound (#34173) 2025-02-22 20:20:44 +11:00
Pieter-Jan Briers
732d9dc2b7 Fix prying shut unpowered doors (#35380) 2025-02-22 14:05:22 +11:00
Ed
36916b0952 returns ru CBT 2025-02-22 00:51:50 +03:00
Milon
f5eafc7ed3 make the detailed examine verb predicted (#35362)
can we stop predicting things
2025-02-21 11:30:06 -08:00
PJBot
17f3db1936 Automatic changelog update 2025-02-21 18:02:40 +00:00
Boaz1111
54bb2a31b7 Adds Colored Light Bulbs (#35333)
* goober

* changes parenting
2025-02-21 19:01:31 +01:00
Ed
1c433ed581 Eng OBT (#930)
* fuck sociopath and grass seel position

* Update PostMapInitTest.cs

* fix

* en obt
2025-02-21 20:29:37 +03:00
lzk
b41a348ebf fix rubber hammer attack rotation (#35357) 2025-02-21 11:01:29 -05:00
KittenColony
93350c80e8 Alchemy Remaster - Foundation (T0 / T1) (#827)
* Ported from broken repo

* Missed something

* Unfucks the port

* RU locale + EN typo fixes

* Simple solvent & Dye temperature / orgnization

* cleansing salt + reactions

* Healing solution stems bleeding

* Removed biological.yml duplicate

* Guidebook updating

* Update dye_brewing.yml

* Single character typos

* missed typos

* Salt dehydrating

* Dye now needs water (catalyst) to form

* Biological > Organic, Archaic > Arcane / Alchemized,+ RU Locale

* Adjusting & patches

* Chromium in Arcane

* Removed 0.1u empty from purification

* Update chromium_slime.yml

* test commenting out

* Uncommenting InverseEffect

* Revert "Uncommenting InverseEffect"

This reverts commit 19aaaa9246.

* Potential solution

* Revert Potential solution

* This might fix it.

* Suffering

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2025-02-21 17:58:40 +03:00
Nim
a39ea84e78 aprons (#926) 2025-02-21 17:38:03 +03:00
spderman3333
d6cc167506 Fixed Veggie pizza slice having 40u of reagent space (#35343)
* Fixed Veg pizza slice having 40u of reagent space

* Changed FoodPizzaVegetableSlice to hold 10u rather than 6u

* Fixed donk pocket slice having 50u reagent space.
2025-02-20 20:50:30 -08:00
keronshb
a9054c5e9c Mjollnir and Singularity Hammer for Wizard (#34446) 2025-02-20 18:38:52 -05:00
Errant
f3c681153a Merge stable into master (#35340) 2025-02-20 20:51:38 +01:00
Errant
cb822fdb1a Merge branch 'stable' into master-merge 2025-02-20 20:29:44 +01:00
lzk
ddeda2eb15 fix migration.yml (#35339)
https://github.com/space-wizards/space-station-14/pull/34293
2025-02-20 20:28:15 +01:00
lzk
53c82ebdd6 2 lines yaml cleanup (#35338) 2025-02-20 20:24:21 +01:00
nikthechampiongr
09f75394be Require hwid (#35331)
* Make cvar to require that the client has a modern hwid

* Ignore guests and don't disable cvar on dev

* Rename and add docs
2025-02-20 19:04:45 +01:00
Errant
7f8f1bfb94 HOTFIX General storage fixes (#34845) (#35329) 2025-02-20 18:33:31 +01:00
PJBot
93021c4879 Automatic changelog update 2025-02-20 16:52:12 +00:00
metalgearsloth
abb20c0256 Remove storage hotbar GUI bandaid (#35054)
* Remove storage hotbar GUI bandaid

With BUI deferred opens it also happened to fix this issue which is nice.

* Update Content.Client/Storage/StorageBoundUserInterface.cs
2025-02-20 17:51:01 +01:00
Deserty0
b8cc4c8c20 Fix (#922) 2025-02-20 19:22:29 +03:00
Deserty0
225d9b27f9 fix (#923) 2025-02-20 19:21:50 +03:00
PJBot
5e9e1518e5 Automatic changelog update 2025-02-20 16:14:06 +00:00
Zokkie
580f908ca2 Fix to make all corpses butcher able and better disposable (#33727)
* Made all corpses disposable. Argocytes, Mimics, Butterflies, Bees, Space Kangaroos, Laser Raptors and Watchers their corpses can now be butchered.

* Accidentally removed a line break. restored it.

* Removed a dash that did not belong there.

* Changed mimic giving a "Changeling Sting Can" when butchered instead of normal meat.
2025-02-20 17:12:55 +01:00
metalgearsloth
fa35c9623d Revert "Purge uses of TransformComponent.Anchored.set. Also adds parentheses." (#35332) 2025-02-21 00:12:12 +11:00
creamybag
d32ed931b3 lightgreendress (#919)
Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2025-02-20 15:44:45 +03:00
TemporalOroboros
a4001fba1b Purge uses of TransformComponent.Anchored.set. Also adds parentheses. (#34938) 2025-02-20 23:06:39 +11:00
Kyle Tyo
c8dce26dbb Replace obsolete FromMap calls with ToCoordinates (#35304) 2025-02-20 23:03:42 +11:00
metalgearsloth
5e0a1d8581 Fix missing errorOnMissing arg being passed thru (#35328) 2025-02-20 12:19:26 +01:00
metalgearsloth
7e6e237277 General storage fixes (#34845)
* Fix storage stars

* Fix some more storage bugs

- Fix positions not saving.
- Fix the 1-tick delay between parent and child storage UIs opening / closing.
- Fix BackButton being visible sometimes when it shouldn't be.

* milon is a furry
2025-02-20 11:10:54 +01:00
Sigil
3ce81d35be Added a component that lets ranged weapons make melee attacks. (#29484) 2025-02-20 18:52:28 +11:00
Leon Friedrich
1079da4600 Update engine to v247.1.0 (#35324) 2025-02-20 14:32:45 +11:00
PJBot
112d7c320f Automatic changelog update 2025-02-20 01:13:13 +00:00
Winkarst
3e449f755f Fix: Toys sounds (#33449)
Co-authored-by: Winkarst <74284083+Winkarst-cpu@users.noreply.github.co>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-02-20 12:12:06 +11:00
PJBot
8b50ac722b Automatic changelog update 2025-02-20 00:28:40 +00:00
FungiFellow
f189bdcf6e Removed Contraband Status from Flares (#34705)
* Update shotgun.yml

* Update shotgun.yml

* Update shotgun.yml
2025-02-19 16:27:34 -08:00
creamybag
b29cfaf2a8 Winter is coming... (#918) 2025-02-20 02:12:17 +03:00
Nim
88462e5a1b Modular arrows (#906)
* arrow

* sprite

* slots

* migration

* fix

* fix2

* del

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2025-02-19 22:36:21 +03:00
SeamLesss
33b9149a56 Space Lizard Plushie In-hands (#35295)
* space lizard

* attributions

* attribution fix
2025-02-19 20:27:57 +01:00
PJBot
201ec61ce0 Automatic changelog update 2025-02-19 19:26:27 +00:00
robinthedragon
22254a14e6 ports two barsigns from frontier (#35296)
* adds two new barsigns

* webedit to fix a typo

* the typo was in two locations

* reformatted meta.json and added attribution links
2025-02-19 20:25:17 +01:00
Nim
dfd1603b64 meat and damag (#916)
Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2025-02-19 22:16:35 +03:00
Nim
275cff86b7 New crossbolt (#912)
* bolt

* eee

* closets

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2025-02-19 22:15:39 +03:00
Ed
224d96bd34 Sociopath delete (#917)
* fuck sociopath and grass seel position

* Update PostMapInitTest.cs

* fix
2025-02-19 21:56:29 +03:00
MilenVolf
cc18ba72a6 Fix ExaminableHunger spelling (#35309)
Fix ExaminableHunger spelling mistake
2025-02-19 09:23:53 -05:00
PJBot
bc1c82ac60 Automatic changelog update 2025-02-19 13:47:22 +00:00
Booblesnoot42
9bde78a25f Fixing intercom encryption key dropping (#34582)
* Added optional param to PickupOrDrop to allow the item to be moved next to the owner of the hand component

* cleanup placement code
2025-02-19 14:46:16 +01:00
PJBot
353e988520 Automatic changelog update 2025-02-19 13:14:29 +00:00
Winkarst
9b7339e497 Make OuterClothing hide PDA and belt sprites under it. (#33448)
Make OuterClothing hide the PDA sprite
2025-02-19 14:13:21 +01:00
PJBot
5148e2f86d Automatic changelog update 2025-02-19 11:35:48 +00:00
K-Dynamic
5f41726cc9 Returns Explosive Technology recipes to Protolathes (#35303)
add scienceexplosives to dynamic pack
2025-02-19 06:34:40 -05:00
Absotively
2beac0254c Make CharacterPickerButton the same height for dwarves as for non-dwarves (#35297)
Character picker button height equality for dwarves
2025-02-19 11:44:17 +01:00
PJBot
c62ed86854 Automatic changelog update 2025-02-19 06:06:53 +00:00
SpaceLizard
5642d7c252 Saxophone fix (#35257)
Saxophone-Fix
2025-02-18 22:05:47 -08:00
lzk
2a124adcc3 Fix some emotes not respecting pronounces (#35289)
* guys let's not allow those things

* fix those too
2025-02-19 00:14:44 -05:00
Emisse
60306ddc40 centcomm update (#35293) 2025-02-18 21:38:12 -07:00
TytosB
eefed62828 loop latejoin hotfix (#35260)
latejoin
2025-02-18 21:38:04 -07:00
PJBot
ff78940921 Automatic changelog update 2025-02-19 01:48:17 +00:00
Cooper Wallace
e0d911bc47 Wizard Recall shows Disappearing text at Coordinate (#35272)
* Add prediction for coordinate based popups

* Remove use of deprecated EntityCoordinates.ToMap

* RecallItem displays disppearing text at entity coordinates

* Update Content.Shared/ItemRecall/SharedItemRecallSystem.cs

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

* Update Content.Shared/Popups/SharedPopupSystem.cs

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

* Add ItemRecall message for witnesses

* Update Content.Shared/ItemRecall/SharedItemRecallSystem.cs

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

* Update Resources/Locale/en-US/item-recall/item-recall.ftl

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

* Fix namespace issues

* Fix Loc string

* Dont fixstuff tired..

* Prefix THE

* Filter around the entity, and remove recipient if needed

* Alphabetical imports

* Update Content.Client/Popups/PopupSystem.cs

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

* fixup

* Better handling.

---------

Co-authored-by: Cooper Wallace <CooperWallace@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-02-18 20:47:10 -05:00
PJBot
543b4825f6 Automatic changelog update 2025-02-18 22:24:39 +00:00
lizelive
b3cea81863 add ShowJobIcons to AiHeldIntellicard (#35282)
so crew is still crew when you are icard
2025-02-18 23:23:32 +01:00
PJBot
73796b120c Automatic changelog update 2025-02-18 15:17:55 +00:00
Pronana
0df6bfb0e9 Crusher Dagger Knife Component (#35259)
* Added Knife Component to Crusher dagger, allowing
it to be used in a few new crafting recipes such
as baseball bats.

* Changed BaseKnife to CombatKnife, reordered parents

* now inherits from baseknife, throwing and disarm added manually
2025-02-18 16:16:47 +01:00
creamybag
fa21ad93ff added (#914)
Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2025-02-18 17:41:41 +03:00
Ed
72c0a51f60 Master fix (#913)
* loadmap fixes

* Update PostMapInitTest and CP14StationZLevelsSystem to enhance map whitelisting and initialization

* fix #907

* Update PostMapInitTest.cs
2025-02-18 16:49:57 +03:00
PJBot
20efb948fa Automatic changelog update 2025-02-18 13:08:17 +00:00
BramvanZijp
b85253df01 Fix contraband parenting defaulting to security. (#35281)
Fix an issue with contraband parenting that made janitor restricted gear available to security.
2025-02-18 14:07:09 +01:00
Winkarst
6b265b400a Remove inaccessible code from SharedDoAfterSystem (#35089) 2025-02-19 00:02:25 +11:00
PJBot
bfd824b8ff Automatic changelog update 2025-02-18 12:57:20 +00:00
War Pigeon
c0e5c18d7d Add radiation shielding to metal crates (#35168) 2025-02-18 23:56:14 +11:00
Leon Friedrich
e8199c5421 Remove unnecessary prototype reloading in integration tests (#35199) 2025-02-18 23:48:41 +11:00
Winkarst
63f640dcdb Make `ShuttleGunBase child of BaseStructure` (#35085) 2025-02-18 23:47:50 +11:00
lzk
f39587c390 Small loadout window improvement (#35171)
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-02-18 23:36:49 +11:00
Kyle Tyo
aca846c6ad Fix build ghosts not being placeable on a new round. (#35097) 2025-02-18 23:34:15 +11:00
PJBot
556c36fd26 Automatic changelog update 2025-02-18 12:34:01 +00:00
Ignaz "Ian" Kraft
6d1cdd8639 Added a test for the MagazineVisualsComponent and fixed found issues (#34491) 2025-02-18 23:32:54 +11:00
Errant
834e11a482 fix observer ghost spawn error (#35253) 2025-02-18 23:28:54 +11:00
slarticodefast
d171057680 UseInHandEvent cleanup (#35231) 2025-02-18 23:27:30 +11:00
Leon Friedrich
e09ef5aa6f Fix MappingCommand grid loading (#35233) 2025-02-18 23:25:14 +11:00
PJBot
6bb19d8f1d Automatic changelog update 2025-02-18 11:34:15 +00:00
Killerqu00
239634269c [Bugfix] ContrabandSystem checks jobs correctly (#35228)
* make it work lol

* index protos only once
2025-02-18 12:33:08 +01:00
PJBot
deef592d9d Automatic changelog update 2025-02-18 10:27:16 +00:00
Simon
eff25810c5 [ChangeCVarCommand] Mapping Command (#35239)
[ChangeCVarCommand] MappingCommand
2025-02-18 11:26:08 +01:00
PJBot
0f4ab0e84e Automatic changelog update 2025-02-18 09:05:46 +00:00
Myra
42ce0837fb Add CentComm Comms Console + Change admin announcement color (#35248) 2025-02-18 10:04:37 +01:00
PJBot
66a1b80864 Automatic changelog update 2025-02-18 07:29:49 +00:00
SlamBamActionman
3200ba88a5 Add ability for +VVEDIT users to scale damage/healing in the game (#35255)
* Initial commit

* Add universal modifier for all damage/heals, make guidebooks work.

* help text
2025-02-18 08:28:42 +01:00
chromiumboy
2764638763 Minor station AI code cleanup (#34476) 2025-02-18 16:26:02 +11:00
ScarKy0
918767bcc5 Magical contraband type (#35254)
* init

* really ponderous
2025-02-18 01:21:49 +01:00
TytosB
b788d15da7 latejoin 2025-02-17 16:21:16 -06:00
PJBot
6b8ac708d6 Automatic changelog update 2025-02-17 22:00:40 +00:00
lzk
3d7e7e8320 Make AllowedEmotes bypass whitelists and fix syndiborg ability to laugh (#31510) 2025-02-17 22:59:33 +01:00
PJBot
5ccea54299 Automatic changelog update 2025-02-17 20:54:29 +00:00
Zachary Higgs
241d0e12e2 Fix SuperSlippery And StepTriggers persisting when UpdateSlip is called (#34525)
* Fix superSlippery and stepTrigger values persist

- made values in SpillTileReaction's public so we can query the
prototype

- made the default values for slippery component and
StepTriggerComponent based on default constants
for easier resetting

- added a calculation and check in UpdateSlips to check
if a super slip is present as well as Update
relevant steptrigger and slip values based on the contents of the
solution

* The worlds biggest change

---------

Co-authored-by: Myra <vascreeper@yahoo.com>
2025-02-17 21:53:23 +01:00
PJBot
a9b487e628 Automatic changelog update 2025-02-17 20:40:19 +00:00
Winkarst
03c56efa00 New Feature: Votekick bans distinguish themselves as votekicks (#35258)
* Feature

* Localization
2025-02-17 21:39:12 +01:00
ScarKy0
eb930f5b7a blue 2025-02-17 20:13:29 +01:00
Ed
7a3ff80c88 Merge pull request #905 from crystallpunk-14/ed-16-02-2025-planet-light-upstream
Ed 16 02 2025 planet light upstream
2025-02-17 17:35:23 +03:00
Nim
41b392035f fix (#910) 2025-02-17 17:35:06 +03:00
Emisse
fc673967ee Centcomm 3: Beyond Thunderdome Update (#35251)
* centcomm update

* eef freef
2025-02-17 06:50:27 -07:00
PJBot
88a98dfee2 Automatic changelog update 2025-02-17 12:57:55 +00:00
Sparlight
2069f14e05 Re-implement world gen (space debris) across all servers (#34795)
* Re-implement world gen (space debris) across all servers

* Move server-specific worldgen config change to base config

---------

Co-authored-by: Simon <63975668+Simyon264@users.noreply.github.com>
2025-02-17 13:56:47 +01:00
ScarKy0
5ffe14e2ab i cant decide 2025-02-17 13:52:26 +01:00
ScarKy0
d71b469922 slightly lighter 2025-02-17 13:46:50 +01:00
ScarKy0
c1b3577e6c init 2025-02-17 13:23:57 +01:00
Ed
ce93413a17 Merge branch 'master' into ed-16-02-2025-planet-light-upstream 2025-02-17 14:51:41 +03:00
Viator-MV
2d6b39868f Comoss update 17.02.25 (#911)
* Update comoss.yml

* Update comoss_d.yml
2025-02-17 14:50:53 +03:00
Emisse
183438c182 centcomm fix (#35244) 2025-02-17 03:09:39 -07:00
Myra
879a3e9257 Fix role timer string formatting. (#35227) 2025-02-17 10:41:09 +01:00
Ed
a827e9faff Update PostMapInitTest.cs 2025-02-17 12:24:14 +03:00
Ed
596d9e808b arenas fix 2025-02-17 11:57:01 +03:00
PJBot
ee534f1a3b Automatic changelog update 2025-02-17 08:52:54 +00:00
Emisse
4118e7010a Centcomm 3: Beyond Thunderdome (#35240)
centcomm update
2025-02-17 01:51:44 -07:00
Ed
57e8991799 Update PostMapInitTest.cs 2025-02-17 11:43:41 +03:00
Errant
890ad4508a Don't count lobby players for latejoin antag ratio (#35209)
pass playercount to midround antag calculation
2025-02-17 11:27:39 +03:00
metalgearsloth
cf38814515 General storage fixes (#34845)
* Fix storage stars

* Fix some more storage bugs

- Fix positions not saving.
- Fix the 1-tick delay between parent and child storage UIs opening / closing.
- Fix BackButton being visible sometimes when it shouldn't be.

* milon is a furry
2025-02-17 19:24:34 +11:00
Nim
970dc7bb1f Sack new (#822)
* new

* tag

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2025-02-17 10:46:09 +03:00
Kyle Tyo
1d360956a7 made requested changes. 2025-02-17 01:58:40 -05:00
PJBot
b55ef7dd56 Automatic changelog update 2025-02-17 06:18:03 +00:00
psykana
1c05108ce1 ConfirmableAction for DNA Scrambler implant (#35232) 2025-02-16 22:16:54 -08:00
Kyle Tyo
0fbacd7dcb Update ContentLocalizationManager.cs 2025-02-16 23:06:28 -05:00
Tayrtahn
04c88e86b3 Fix debug assert in ScoopableSolution (#35225)
* Fix debug assert in ScoopableSolution

* Don't stomp the old Handled value
2025-02-17 01:29:30 +01:00
PJBot
a7bebeffb3 Automatic changelog update 2025-02-16 22:31:52 +00:00
PicklOH
a9809229f6 Replaced Bulldog beanbag drum with lethals drum (#34945)
* Replaced Bulldog beanbag drum with lethals drum

* Update Resources/Locale/en-US/store/uplink-catalog.ftl

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

* Update duffelbag.yml bulldog bundle description.

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-02-16 23:30:46 +01:00
PJBot
732bd20980 Automatic changelog update 2025-02-16 21:52:10 +00:00
ScarKy0
3628161716 [ADMIN] Adds missing accesses to universal access config (#35229)
init
2025-02-16 22:51:03 +01:00
Ed
eb7e0961f1 Update SharedProjectileSystem.cs 2025-02-16 23:56:08 +03:00
Ed
2d9f67c354 DoNotMap category 2025-02-16 23:54:55 +03:00
Kyle Tyo
f6fda97b72 I'm gonna do something drastic I swear. 2025-02-16 15:40:30 -05:00
Kyle Tyo
5ecb623e45 Update ContentLocalizationManager.cs 2025-02-16 15:35:44 -05:00
keronshb
7bf33ffaa9 Wizard Fix - Summon Ghost Event no longer shows Admin Ghosts or Revenants (#34994)
* Prevents admin ghosts from being shown with ghost event

* Changes summon ghost tooltip to permanently visible

* Adds AllowGhostShownByEvent tag, adds it to regular observers, removes ghost hands check & revenant check and replaces it with a tag check.
2025-02-16 21:29:10 +01:00
Ed
7d6d02c523 throw spells now detach embeddables 2025-02-16 23:12:31 +03:00
Ed
82d6fe07fe roof adapt 2025-02-16 22:56:10 +03:00
Simon
489876af8b Change visualize command perms to VarEdit instead of Admin (#35221)
People with VarEdit can use VV but can't use visualize, makes no sense. 

Has headmin approval here: https://canary.discord.com/channels/310555209753690112/1193403928096821358/1340756276371787827
2025-02-16 20:06:53 +01:00
PJBot
a6956162b1 Automatic changelog update 2025-02-16 18:48:47 +00:00
slarticodefast
a82b234d0e fix use in hand for uplink items (#35218) 2025-02-16 19:47:41 +01:00
PJBot
904c933f09 Automatic changelog update 2025-02-16 18:44:28 +00:00
Velken
5fb60f3fd8 fix sync issue with paramed siren (#35203)
fix sync issue with paramed siren

Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
2025-02-16 19:43:20 +01:00
Ed
9e32136cd0 Update Dev.toml 2025-02-16 20:57:17 +03:00
Myra
aa7f26bc11 Stable merge (#35216) 2025-02-16 18:55:12 +01:00
Vasilis The Pikachu
95908c6357 Stable merge 2025-02-16 18:50:14 +01:00
PJBot
3d5943a947 Automatic changelog update 2025-02-16 16:15:10 +00:00
Leon Friedrich
ca9479fe69 Fix hitscan visuals (#34515)
* Fix hitscan visuals

* remove unnecessary changes

* rename `mapDirection`
2025-02-16 17:14:04 +01:00
PJBot
4f14871045 Automatic changelog update 2025-02-16 15:56:47 +00:00
metalgearsloth
1984235f0f Ignore weather on rooved tiles (#35214)
Might want more flexibility in future but weather needs some polish and this is fine for now.
2025-02-16 16:55:41 +01:00
PJBot
7eebb96e1e Automatic changelog update 2025-02-16 15:36:31 +00:00
metalgearsloth
bc3517f848 Uncomment blur (#35213)
Was used for debug but stable now.
2025-02-17 02:35:24 +11:00
Ed
01900bf2ec Update comoss_d.yml 2025-02-16 18:06:20 +03:00
Ed
f776770164 Update T0_counter_spell.yml 2025-02-16 16:55:07 +03:00
Ed
bc53ed4aa5 Merge remote-tracking branch 'upstream/master' into ed-16-02-2025-planet-light-upstream
# Conflicts:
#	Content.IntegrationTests/Tests/PostMapInitTest.cs
#	Resources/Prototypes/Maps/centcomm.yml
2025-02-16 16:39:26 +03:00
Ed
31f02b3de3 Update Dev.toml 2025-02-16 16:30:13 +03:00
PJBot
8a685483e7 Automatic changelog update 2025-02-16 13:30:11 +00:00
Ed
6d13f4280f alchemy buff 2025-02-16 16:29:14 +03:00
metalgearsloth
ead32b5770 Apply RoofOverlay per-grid not per-map + fix lighting quality (#35207)
* Apply RoofOverlay per-grid not per-map

* Fix light render scales
2025-02-16 16:29:03 +03:00
Leon Friedrich
a9f900c397 "DO NOT MAP" items integration test (#34711) 2025-02-17 00:02:05 +11:00
ElectroJr
b43cb069e9 Expand whitelist 2025-02-17 01:45:14 +13:00
ElectroJr
81ff9bdda0 Fix merge conflict 2025-02-17 01:38:32 +13:00
ElectroJr
afc41947a7 Merge branch 'master' of https://github.com/space-wizards/space-station-14 into pr/34711 2025-02-17 01:16:22 +13:00
Leon Friedrich
4169a6d855 Update engine to v247.0.0 (#35204) 2025-02-16 22:26:00 +11:00
ElectroJr
7d42b2ba51 Update engine to v247.0.0 2025-02-17 00:22:53 +13:00
Ed
d6a0ce95a1 Update CP14RoofSystem.cs 2025-02-16 14:10:59 +03:00
Viator-MV
5f107d176e Comoss update for obt 16.02.25 (#904)
* Update comoss.yml

* Update comoss_d.yml
2025-02-16 14:10:00 +03:00
Leon Friedrich
bcb82fc4ad Update permissions for engine toolshed PR (#34029) 2025-02-16 21:54:59 +11:00
ElectroJr
a556f03808 Merge branch 'master' of https://github.com/space-wizards/space-station-14 into toolshed-eng-pr 2025-02-16 23:43:27 +13:00
Leon Friedrich
2bd7bb17f2 Refactor map loading & saving (#34020) 2025-02-16 21:36:35 +11:00
Saphire Lattice
d4911309cd Add health analyzer unrevivability warning (#32636)
* Add health analyzer unrevivability warning

* Remove errornous comment
2025-02-16 13:10:39 +03:00
Ed
d75b30b2a6 Merge remote-tracking branch 'upstream/master' into ed-16-02-2025-planet-light-upstream 2025-02-16 12:55:34 +03:00
Leon Friedrich
3551eb0411 [STAGING] Update submodule to 245.1.0 (#35198) (#35201) 2025-02-16 20:28:50 +11:00
Simon
29029d2586 Add ability for admins to change certain cvars via command. (#35105)
* Add ability for admins to change certain cvars via command.

* Cleanup

* More cleanup.

* Even more cleanup.

* WAITER! WAITER! ONE MORE COMMIT PLEASE!

* Remove requirement for Admin AdminFlag

Not needed as the command checks for the perms.

* Add search function to CVars and help text

* Move to controller instead.

* Add another cvar for testing

* Remove unused comment

* Move to Post Server Initialize

LoC does not work at the earlier stages of server initalization

* Remove unneeded comment

We clear out list so its no longer needed
2025-02-16 10:06:13 +01:00
Ed
7328f3449c Merge remote-tracking branch 'upstream/master' into ed-16-02-2025-planet-light-upstream
# Conflicts:
#	Content.IntegrationTests/Tests/EntityTest.cs
#	Content.IntegrationTests/Tests/PostMapInitTest.cs
#	Content.Server/Medical/HealthAnalyzerSystem.cs
#	Content.Server/Procedural/DungeonSystem.Rooms.cs
#	Content.Server/Procedural/RoomFillComponent.cs
#	Content.Server/Procedural/RoomFillSystem.cs
#	Content.Shared/Inventory/InventorySystem.Relay.cs
#	Content.Shared/Projectiles/SharedProjectileSystem.cs
#	Content.Shared/Storage/EntitySystems/SharedStorageSystem.cs
#	Resources/Prototypes/Maps/Pools/default.yml
#	Resources/migration.yml
2025-02-16 11:58:47 +03:00
metalgearsloth
5e2015e342 Update submodule to 246.0.0 (#35202) 2025-02-16 19:48:59 +11:00
Ed
ffa565484c Modular weapon inlay (#903)
* slots lists

* blade inlay

* tadam
2025-02-16 11:41:43 +03:00
PJBot
46b816975d Automatic changelog update 2025-02-16 08:36:41 +00:00
metalgearsloth
b6ee183dc6 Add planet lighting (#32522)
* Implements a Dynamic Lighting System on maps.

* Edit: the night should be a little bit brighter and blue now.

* Major edit: everything must be done on the client side now, with certain datafield replicated.
Changes were outlined in the salvage to accommodate the new lighting system.

* Edit: The offset is now serverside, this makes the time accurate in all situations.

* Removing ununsed import

* Minor tweaks

* Tweak in time precision

* Minor tweak + Unused import removed

* Edit: apparently RealTime is better for what I'm looking for

* Fix: Now the time is calculated correctly.

* Minor tweaks

* Adds condition for when the light should be updated

* Add planet lighting

* she

* close-ish

* c

* bittersweat

* Fixes

* Revert "Merge branch '22719' into 2024-09-29-planet-lighting"

This reverts commit 9f2785bb16aee47d794aa3eed8ae15004f97fc35, reversing
changes made to 19649c07a5fb625423e08fc18d91c9cb101daa86.

* Europa and day-night

* weh

* rooves working

* Clean

* Remove Europa

* Fixes

* fix

* Update

* Fix caves

* Update for engine

* Add sun shadows (planet lighting v2)

For now mostly targeting walls and having the shadows change over time. Got the basic proof-of-concept working just needs a hell of a lot of polish.

* Documentation

* a

* Fixes

* Move blur to an overlay

* Slughands

* Fixes

* Remove v2 work

* Finalise

---------

Co-authored-by: DoutorWhite <thedoctorwhite@gmail.com>
2025-02-16 19:35:32 +11:00
metalgearsloth
3668e55ebf Update submodule to 245.1.0 (#35198)
Reh
2025-02-16 18:53:06 +11:00
ElectroJr
e3a636a98e fix relic 2025-02-16 17:16:57 +13:00
metalgearsloth
19dee8a029 Update submodule to 245.1.0 (#35198)
Reh
2025-02-16 15:12:54 +11:00
ElectroJr
eedc992d57 Merge branch 'master' of https://github.com/space-wizards/space-station-14 into map-load-refactor 2025-02-16 16:52:51 +13:00
metalgearsloth
fb1d180c7d Docking allocs reduc (#34965)
Stuff I had unstaged.
2025-02-16 03:10:39 +01:00
github-actions[bot]
5e45de0143 Update Credits (#35196)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2025-02-16 03:06:32 +01:00
Milon
e97d6870cc remove usages of obsolete EntityUid method variants (#35106)
eughhhhh
2025-02-16 03:06:23 +01:00
Kyle Tyo
831dbef591 move a colon to the localization string (#35192)
* move the colon to the localization string

* remove a redundancy

* beck suggested this per how its done elsewhere.

* comply with requested changes.
2025-02-16 03:01:58 +01:00
Ed
a3849c8aa9 pressure plate (#902) 2025-02-16 00:39:36 +03:00
Leon Friedrich
d798d4d3f5 Update StaticFieldValidationTest (#34287) 2025-02-15 20:52:47 +01:00
Ed
37fd4d887f FIXES 2025-02-15 20:25:04 +03:00
keronshb
0cb11241d7 Store Refund - Add more disable scenerios & time to disable refund. (#34671)
* Puts disable refund logic into a helper method. Removes action check. Disables refund on action use.

* Adds check if refund is disabled for the store already

* Adds a way to disable refunds based on time

* Checks if the ent is on the starting map and the end time is below the current time before disabling refund

* Replaces instances of component.RefundAllowed = false with DisableRefund for more consistency and easier tracking

* Adds methods to handle inhand and shooting events

* Removes gamestates

---------

Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
2025-02-15 17:17:29 +01:00
Ed
02379e37f7 Leaf maze demiplane + crayon update (#901)
* crayons update

* Update workbench.yml

* leaf maze demiplane

* Update t2_leaf_maze.yml
2025-02-15 17:49:05 +03:00
Ed
f839ffec0d Update mobs.yml 2025-02-15 15:18:26 +03:00
Ed
4a641c3957 Update guildmaster.yml 2025-02-15 15:03:48 +03:00
Simon
71b5133a53 Fix colornetwork command not checking for correct permissions (#35180)
Fix colornetwork command not checking for correct permissions.

What is shell.IsClient even??
2025-02-15 10:01:46 +01:00
PJBot
97d6111614 Automatic changelog update 2025-02-15 06:08:21 +00:00
Kyle Tyo
4474727886 Fix air devices ignoring settings after power cycle (#34887)
* add powered variable to vent components

* add checks for powered to vent systems

also corrected onpowerchanged methods to update powered arg.

* removed powered from components

* Use ApcPowerReceieverComponent for power state.

* removed unneeded code from OnPowerChanged

* document what enabled is used for in components

* only you can prevent oopsie daisies.

* add check for powered in OnGasVentPumpUpdated

* apcPowerReceiverComponent BEGONE

* CODE RED EVERYTHINGS ON FIRE wait we're fine now.
2025-02-15 07:07:15 +01:00
Simon
3d1970fc44 Merge staging into master, bump engine to v245.0.0 on master (#35154) 2025-02-15 05:32:32 +01:00
PJBot
9042827d45 Automatic changelog update 2025-02-15 04:30:47 +00:00
Tayrtahn
51a56e013c Separate Udder examine into ExamineableHunger (#35164)
* Separate udder hunger examine into ExamineableHunger

* Fluent grammar improvements

* Add ExamineableHunger to chickens and ducks.

* Use starving message as "dead" message
2025-02-15 05:29:40 +01:00
PJBot
b45613ad33 Automatic changelog update 2025-02-15 04:00:27 +00:00
ArtisticRoomba
ef4f5cf0a1 Engineering guidebook improvements (#34695)
* engineering guidebook improvements

* whoops

* Changes

* this game is en-US, so it shall be gasses, not gases

* make changes to AccessConfigurator.xml, SolarPanels.xml, TeslaEngine.xml

---------

Co-authored-by: ScarKy0 <scarky0@onet.eu>
2025-02-14 19:59:19 -08:00
Ed
2c5daec98c leaf wall (#900) 2025-02-14 23:14:27 +03:00
Plykiya
862a2a744e Predicted dice rolls (#34863)
* Predicted dice rolls

* Removed server-side dice system, make Shared no longer abstract, move visual code to client-side system

* cleanup

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-02-14 16:46:25 +01:00
PJBot
63b9255e71 Automatic changelog update 2025-02-14 15:02:50 +00:00
keronshb
db732a2581 Supermatter Grenade Rework (#35122)
* Renames Supermatter grenade to singularity grenade. Removes explosion from Singularity Grenade.

* Adjusts Singularity Grenade to account for engine changes, small buff to max range

* Adjusts further

* fix order

---------

Co-authored-by: Milon <milonpl.git@proton.me>
2025-02-14 16:01:40 +01:00
Ed
6a3ea22543 Update comoss_d.yml 2025-02-14 17:51:23 +03:00
Milon
498440d369 make chameleon verb predicted (#35156)
* ok but what if we just predicted EVERYTHING

* cleanup
2025-02-14 15:35:27 +01:00
Ed
244d7a629e Fix embeddable projectiles dissapearing (reopening) (#35153) 2025-02-15 01:23:35 +11:00
Ed
a2fa880820 bugg ice shards and add it to loadouts (#899) 2025-02-14 16:19:33 +03:00
Winkarst
0227afec4c Fix: showfluids command activates for everyone (#35155)
Fix
2025-02-14 13:23:27 +01:00
slarticodefast
c55e6aa771 HOTFIX Vote kicks now ban the target's ip (#35131) (#35139) 2025-02-14 12:20:53 +01:00
Ed
c038c021f8 Bank returns (#898)
* cursed

* update
2025-02-14 14:09:04 +03:00
Ed
fdf2c53c5c Update TagResource.cs 2025-02-14 11:57:49 +03:00
Nim
249cad63ee fix (#896) 2025-02-14 11:51:10 +03:00
Ed
909dc36158 Spells content (#897)
* modifiers

* counter spell, and 2 new spell scrolls

* Update magical_acceleration.yml

* Update T0_counter_spell.yml
2025-02-14 11:50:57 +03:00
Leon Friedrich
782b9798af Update staging engine to v245.0.0 (#35147)
Update engine to v245.0.0
2025-02-14 14:41:40 +11:00
Leon Friedrich
26deb4cdf9 Update engine to v245.0.0 (#35146) 2025-02-14 14:14:43 +11:00
slarticodefast
3b142890cd minor thruster system cleanup (#35143) 2025-02-14 00:44:27 +01:00
PJBot
b07633de1c Automatic changelog update 2025-02-13 22:37:06 +00:00
Centronias
12105234fe High Heel Boots do the Clicky Clacky (#35083)
* click clack

* fix quote marks

Co-authored-by: Hannah Giovanna Dawson <karakkaraz@gmail.com>

---------

Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>
Co-authored-by: Hannah Giovanna Dawson <karakkaraz@gmail.com>
2025-02-13 23:35:59 +01:00
nikthechampiongr
cdf5069254 Vote kicks now ban the target's ip (#35131)
* Make vote kicks ban the target's ip address

* Make it stop crashing my game
2025-02-13 23:08:27 +01:00
PJBot
dcfcd8916c Automatic changelog update 2025-02-13 22:05:03 +00:00
nikthechampiongr
562a41c00e Vote kicks now ban the target's ip (#35131)
* Make vote kicks ban the target's ip address

* Make it stop crashing my game
2025-02-13 23:03:55 +01:00
Ed
04aa7504fb Update SharedEntityStorageComponent.cs 2025-02-13 23:38:00 +03:00
MossyGreySlope
7056c6051b Fix dev server crashes caused by putting pills in drinks, depositing spesos, making burgers (#33431)
* combine TrySpike into OnInteractUsing

* mark spike drink event as handled

* mark speso insertion event as handled

* mark food sequence event as handled

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-02-13 15:31:38 -05:00
PJBot
35aa544ae4 Automatic changelog update 2025-02-13 20:14:04 +00:00
themias
a8046286b4 Fix fax spamming (#35135)
* Fix fax spamming

* Also prevent copy spam
2025-02-13 21:12:56 +01:00
Джексон Миссиссиппи
c0dd8edc09 Move the soles of the feet on the backward facing part of the RD's vox hardsuit sprite to the left by 1 pixel (#35134)
ok
2025-02-13 21:09:06 +01:00
Tayrtahn
fcc668863a Filter prototypes checked by NoStaticPriceAndStackPrice test and skip spawning (#35136)
* Filter NoStaticPriceAndStackPrice ents for StaticPriceComponent

* Remove redundant TryComp

* Use dependency shortcuts

* hol' up

* This filter is redundant

* Don't need EntityManager now
2025-02-13 21:01:43 +01:00
PJBot
3e179955cb Automatic changelog update 2025-02-13 19:53:28 +00:00
Velken
7495081c40 Paramedic Void Suit update (#34657)
* Made paramedic void suit into proper hardsuit (was softsuit before)
Added light to the paramedic void suit helmet
Added siren with light to the paramedic void suit

* Changed paramed helmet flashlight icon and textures

* fixed siren action icon

* BigAction

* updated icon-siren.png

* fixed not being able to add it to containers (like when it parented off eva suit)

* changed light to cyan, made it less brighter and reduced siren volume

* changed ambulancesiren.ogg to a different one (hopefully less hard on the ears)

* created ClothingHeadEVAHelmetWithLightBase in base_clothinghead.yml
replaced ambulancesiren.ogg (again, this time with better fading on the audio loop)
credited myself for the siren icon art
reverted parents to original (but kept it in hardsuits yml, since void suits are light hardsuits) - [ the adoption was revoked 😢 ]
fixed indentations
removed un-used sprite and sprite state

* final final siren sound change (for real this time?)

* fixed license type

* final FINAL final (for real this time, please?) ambulancesiren.ogg change

* ContainerContainerContainerContainerContainerContainerContainerContainerContainerContainerContainerContainerContainerContainer

* attributions updated (turns out, i have to give myself credit when i make stuff);
fixed identation;
moved action to Action/types.yml.

* hopefully fixed everything this time

* sync shenanigans

* final final final final final for real final ambulancesiren.ogg change pinky promise this time and if you don't like it, make a new PR yourself and offer a new sound

* typo

* done the suggested changes

* cleaning up some forgotten stuff :p

* oops, cleaned up a bit too much

* aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

* Update Resources/Prototypes/Entities/Clothing/Head/eva-helmets.yml

* Update Resources/Prototypes/Entities/Clothing/Head/eva-helmets.yml

* Update attributions.yml

* evil web edit never again

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: beck-thompson <107373427+beck-thompson@users.noreply.github.com>
2025-02-13 20:52:21 +01:00
PJBot
ba472d441b Automatic changelog update 2025-02-13 19:32:42 +00:00
Booblesnoot42
be8702ef3f Fix intercom key deletion but for real this time (#34911)
fixes intercom issues
2025-02-13 20:31:33 +01:00
PJBot
2caf5944d3 Automatic changelog update 2025-02-13 19:28:40 +00:00
Winkarst
0c4e8f6b86 Fix thrusters not dealing damage (#35088)
* Fix thrusters not dealing damage

* Fixes

* Update

* Update

* Update
2025-02-13 20:27:33 +01:00
PJBot
eb8b265238 Automatic changelog update 2025-02-13 19:27:08 +00:00
themias
87f2071ba1 Make experimental welding tool less harmful to eyes (#34792)
code
2025-02-13 11:26:01 -08:00
Ed
66a4cbd498 Update Factoria.yml 2025-02-13 22:13:07 +03:00
Viator-MV
4caef5ac74 Factoria added (#893)
* Add files via upload

* Create Factoria.yml

* Update factoria.yml

variantize

* fix

* Update Factoria.yml

* Update Factoria.yml

* fix gravity and atmos

* guards spawnpoints

---------

Co-authored-by: Ed <edwardxperia2000@gmail.com>
2025-02-13 18:48:26 +03:00
Ed
af83322c90 Glass showcase (#891)
* glass showcase

* fixes

* Update closets.yml

* Update closets.yml
2025-02-13 18:12:17 +03:00
github-actions[bot]
c27438306d @Viator-MV has signed the CLA in crystallpunk-14/crystall-punk-14#893 2025-02-13 14:58:48 +00:00
creamybag
90813074f4 Neckerchief (#892)
* neckerchief

* neckerchief№2

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2025-02-13 17:24:05 +03:00
Nim
19c29e126d Onion and pepper (#889)
* onion and pepper

* flavor

* crates
2025-02-13 15:21:41 +03:00
Nim
460f438bb2 Various meats (#865)
* meat

* color fix

* recipe

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2025-02-13 11:29:19 +03:00
Simon
2515371c8c Fix "Manage Laws" button appearing with insufficient permissions (#35120) 2025-02-13 09:20:13 +01:00
PJBot
6fe531dcd1 Automatic changelog update 2025-02-13 08:01:45 +00:00
Smith
3c8fb2e865 Grilled Cheese Sandwich Entity and Recipe (#33807)
* Grilled Cheese Prototype

* Typos

* Removed butter reagent to test flavour changes.

* Flavour corrections.

* CC-BY-SA-3.0 attribution

* Fixing meta.json

* I lost an hour of my life to a missing comma in meta.json

* Merge Conflict Rebase and Test Fixing

* Cook time to 10 seconds.

* Sandwich nutritional balance

* Grilled cheese sprite fixed, found the actual original source for copyright.
2025-02-13 00:00:38 -08:00
PJBot
d44d48ef96 Automatic changelog update 2025-02-13 07:56:11 +00:00
Minemoder5000
8f96c77de5 Slime plushie now squishes (#33554)
* Slime plushie now squishes

* Remove useSound
2025-02-13 08:55:04 +01:00
Milon
f6a1fd5de8 add missing base calls to several BUIs (#35124) 2025-02-13 01:41:30 -05:00
PJBot
25de99ec99 Automatic changelog update 2025-02-13 05:52:37 +00:00
Saphire Lattice
382cd710a7 Use screen local north for buckling/unbuckling layering, plus #31625 (#33447)
* Fix sprite layering upon strapping/unstrapping

* switch from strap to buckle events

* Use screen-local North for the checks instead

Build on top of PR #31625, but I'm not wanting to just push to someone's older PR without a warning.

---------

Co-authored-by: themias <themias5@gmail.com>
2025-02-12 21:51:28 -08:00
ActiveMammmoth
9fad86342f Wizard Staff of Animation (#34649) 2025-02-12 23:46:02 -05:00
Ed
007249b675 Master fix + Bank removal (#888)
* bugfix

* bank removal

* red and blue carpet

* Update carpets.yml
2025-02-12 22:36:19 +03:00
PJBot
0bb6f1979d Automatic changelog update 2025-02-12 18:43:05 +00:00
Ghagliiarghii
859918f1bd light brown fibers (#35111) 2025-02-12 13:41:57 -05:00
Ed
73b4060c65 passport (#886) 2025-02-12 17:20:50 +03:00
Ed
47cb8a0b08 RoomSpawner mask (#33110)
* RoolFill can now spaw rooms with any size

* tile ignoring

* upgrade interior

* simplify

* Update DungeonSystem.Rooms.cs

* center rooms

* Update RoomFillComponent.cs

* Update RoomFillComponent.cs

* Update DungeonSystem.Rooms.cs

* Remove roomfillcoponent from integration test

* Update EntityTest.cs

* remove nullable size, replaced with minsize and maxsize

* clear existing logic refactor

* delete this one
2025-02-12 15:47:48 +03:00
Winkarst
0d33e6182c Split `ReplacementAccentPrototype and ReplacementAccentComponent` in different files (#35107)
* Split ReplacementAccentPrototype  and ReplacementAccentComponent

* Fixes

* Fixes

* inheritdoc
2025-02-12 12:21:12 +01:00
Partmedia
773159d6db Add datafield comments to PlantHolderComponent (#35099) 2025-02-12 10:59:40 +01:00
PJBot
107f4729ee Automatic changelog update 2025-02-12 08:59:14 +00:00
Milon
0d7ff79d23 update the announce command (#34889) 2025-02-12 19:58:05 +11:00
ArtisticRoomba
75727db3a3 Add new freezer atmos devices and fix freezer fixgridatmos marker (#34991) 2025-02-12 18:32:18 +11:00
metalgearsloth
5c98da40cd Update submodule to 244.0.0 (#35094) 2025-02-12 13:48:12 +11:00
PJBot
c5884983d8 Automatic changelog update 2025-02-12 00:44:16 +00:00
Nox
129bcdfeb7 Deathsquad revolver ammo fix (#34910)
* Added AP version of mateba, and put it in the deathsquad starting equipment.

* Update Resources/Prototypes/Entities/Objects/Weapons/Guns/Revolvers/revolvers.yml

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

* Update Resources/Prototypes/Entities/Objects/Weapons/Guns/Revolvers/revolvers.yml

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-02-11 16:43:10 -08:00
Winkarst
5b394c2f5a Fix energy katana resolve error (#35082) 2025-02-11 16:37:39 -08:00
PJBot
4dfe1c1b29 Automatic changelog update 2025-02-12 00:30:20 +00:00
beck-thompson
daad17c97d Add fultons as a T2 research (#34567)
* commit

* fixed
2025-02-11 16:29:13 -08:00
PJBot
4e39481555 Automatic changelog update 2025-02-11 23:14:09 +00:00
Tayrtahn
4603b47778 Limit maximum capacity of fillable cluster grenades (#34281)
* Limit maximum capacity of fillable cluster grenades

* Swap GrenadeCount method for component property
2025-02-12 00:13:00 +01:00
robinthedragon
a849d2c989 ancient jumpsuit copyright info (#35061)
* update meta.json with copyright info

* unblob

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

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-02-11 15:06:53 -08:00
Spessmann
bf20b6bb6e Convex update (#35086)
convex update #5
2025-02-11 14:44:18 -07:00
Ed
811104ada8 JoinQueue (#883)
* JoinQueue stalker port

* fix queues

---------

Co-authored-by: JerryImMouse <toperkas@gmail.com>
2025-02-12 00:35:54 +03:00
PJBot
072d2f4834 Automatic changelog update 2025-02-11 21:35:31 +00:00
Tayrtahn
46b19291ea Fix followers getting sent to nullspace when target is polymorphed (#33878)
* Add an event for polymorph actions

* Subscribe FollowerSystem to the event

* Add check that unfollow target is actually current target.

* Make followers try to follow on state update; Dirty follower on follow.
2025-02-11 22:34:24 +01:00
github-actions[bot]
33495266b4 @JerryImMouse has signed the CLA in crystallpunk-14/crystall-punk-14#883 2025-02-11 21:17:54 +00:00
Ed
aa069d1fa7 unrandomize prices (#885) 2025-02-11 23:46:46 +03:00
PJBot
fa020ceef3 Automatic changelog update 2025-02-11 19:06:41 +00:00
Terraspark4941
2c728dcca9 Make Advanced Spray more tolerable to use (#34209)
* initial commit

* Fixed the eject order

* FINALLY got a new sprite, its ready to merge!

* I FORGOT THE ATTRIBUTIONS DAMMIT

* Remove extra whitespace

* Sprite update!
2025-02-11 11:05:34 -08:00
justdie12
78c951c790 Fixed trooper uniform sprite (#35065) 2025-02-11 10:04:42 -08:00
PJBot
5c598ae90f Automatic changelog update 2025-02-11 17:49:33 +00:00
Theodore Lukin
7b38a99d23 give CE atmos gas mask (#35063) 2025-02-11 09:48:27 -08:00
Winkarst
0b2d70088c Update BuildChecker.csproj (#35072) 2025-02-11 18:32:05 +01:00
metalgearsloth
15b28936df Add loadout names (#31303)
* Add loadout names

Did it for AI, breaking change for pgsql + migrations in general. Nothing atm uses it.

* the box

* Spawning cherry pick

* Fix nit

* revert

* Final cleanup

* Real

* Name UI fix

* Migrations

* a

* Review

* Re-run migrations

---------

Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2025-02-11 18:30:24 +01:00
PJBot
c197d3db37 Automatic changelog update 2025-02-11 16:16:21 +00:00
Theodore Lukin
527f4ae6f2 make interrogator lamp security contraband (#35064) 2025-02-11 11:15:13 -05:00
creamybag
ef3629d85d Rework dresses + long leather boots #2 (#882)
* dress finally

* dress, really

* swap layers

* no, that way

* and this one

* fixes and belt remove

* Update general.yml

---------

Co-authored-by: Ed <edwardxperia2000@gmail.com>
2025-02-11 17:49:59 +03:00
Killerqu00
a62ffdc740 Move contraband text to a separate examine tab (#32250) 2025-02-12 01:06:22 +11:00
PJBot
c699bd9cd8 Automatic changelog update 2025-02-11 12:18:40 +00:00
T
0feeaba0bd Increase the price of bulletproof armor. (#34541)
Update cargo_security.yml
2025-02-11 13:17:33 +01:00
War Pigeon
9db50c9ee2 Add additional holiday gear to jobs (#34207)
* Jobs react to more holidays

* Replace taser with Weh auto-injector

* Give cargo techs a box on box(ing) day
2025-02-11 12:47:19 +01:00
qwerltaz
b0cacc7f14 fix conveyor belt default linking (#32688) 2025-02-11 11:44:11 +01:00
TemporalOroboros
dc67a5a0ba Purges uses of TransformComponent.WorldMatrix and TransformComponent.InvWorldMatrix (#34944) 2025-02-11 21:06:43 +11:00
deltanedas
5eceaf3e33 Remove batong etc from emagged autolathe (#35014)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2025-02-11 21:01:59 +11:00
SpaceManiac
4122310735 Fix 38 non-obsolete warnings (#33794) 2025-02-11 20:59:50 +11:00
PJBot
dbcd86a983 Automatic changelog update 2025-02-11 09:37:52 +00:00
Theodore Lukin
8d51a1fc15 buff python (#33306) 2025-02-11 20:36:45 +11:00
PJBot
e023c78c34 Automatic changelog update 2025-02-11 06:36:13 +00:00
Nox
16149f17a7 Put screwdrivers in the vendomat (#35059)
Increased vendomat Wirecutter stock from 1 to 2. Increased vendomat Screwdriver stock from 0 to 2.
2025-02-11 07:35:05 +01:00
chromiumboy
a2ac503201 Sentry turrets - Part 1: Art assets (#35025)
* Initial commit

* Updated sprites

* Updated base.png and base_shadow.png

* Updated meta file
2025-02-11 00:25:30 -06:00
TemporalOroboros
66ff1aa37d Fix references to obsolete TryGetContainingContainer override (#34912) 2025-02-11 06:08:17 +01:00
PJBot
224a95b103 Automatic changelog update 2025-02-11 03:30:44 +00:00
themias
eb1f84600d Pulled item interaction fix (#34587) 2025-02-11 14:29:37 +11:00
PJBot
a393c15f92 Automatic changelog update 2025-02-11 03:24:18 +00:00
K-Dynamic
1f0d68c24e Grenade resprites part 1, stinger sound change, projectile grenade animation fix (#34421)
* flashbang resprite

* emp grenade resprite

* smoke grenade resprite

* tear gas resprite

* stinger grenade resprite

* adds missing animations for projectile grenades
2025-02-10 19:23:11 -08:00
TemporalOroboros
a30fe603c3 Purge uses of TransformComponent.GetWorldPositionRotation... variants (#34942) 2025-02-11 14:22:41 +11:00
TemporalOroboros
08e5362f43 Purges uses of TransformComponent.WorldRotation (#34946) 2025-02-11 14:16:20 +11:00
ShadowCommander
976172b85e Replace DoorVisuals.Powered with PowerDeviceVisuals.Powered (#34646) 2025-02-11 13:54:35 +11:00
PJBot
0cfcbdeccd Automatic changelog update 2025-02-11 02:53:33 +00:00
themias
d351f32230 Fix multiple research consoles exploit (#34334) 2025-02-11 13:52:26 +11:00
PJBot
a8715dc6a7 Automatic changelog update 2025-02-11 02:38:04 +00:00
Tayrtahn
4abadf9f99 Display radio frequencies with a decimal place (#35046) 2025-02-11 13:36:58 +11:00
PJBot
371a513d9a Automatic changelog update 2025-02-11 02:16:43 +00:00
pathetic meowmeow
05608344d4 Don't force-show storage windows when their contents change (#35048) 2025-02-11 13:15:36 +11:00
SpaceManiac
d849a0434b Fix character menu button not untoggling when window closes (#33712) 2025-02-11 11:45:52 +11:00
PJBot
724f87e62a Automatic changelog update 2025-02-10 22:19:07 +00:00
themias
36bf554352 Fix pacified players attacking with mechs (#34954) 2025-02-10 17:17:57 -05:00
keronshb
2219487df2 Wizard Fix - Rod Polymorph - Prevent gibbing & slows speed (#34992) 2025-02-10 17:13:17 -05:00
Nox
4b58d7a09f Fland Armory Restock (#35044)
* Upped cyborgs from 2 to 5, updated armory stock, did some button QOL, gave warden a enforcer.

* Fixed a few more buttons
2025-02-10 13:45:42 -07:00
ToxicSonicFan04
dc1edbe3b5 Amber Armory Restock (#35045) 2025-02-10 13:45:32 -07:00
Errant
54aeceb96c Vulture test server config (#35005)
* Test Vulture server config

* skreee

* weh

* color!

* comment

* Update Resources/ConfigPresets/WizardsDen/vulture.toml

Co-authored-by: Hannah Giovanna Dawson <karakkaraz@gmail.com>

* Update Resources/ConfigPresets/WizardsDen/vulture.toml

Co-authored-by: Hannah Giovanna Dawson <karakkaraz@gmail.com>

---------

Co-authored-by: Hannah Giovanna Dawson <karakkaraz@gmail.com>
2025-02-10 21:13:15 +01:00
Ed
a5de1b72e2 Create TagResource.cs 2025-02-10 23:02:20 +03:00
Арт
21592c24bc New construction recipes (#872)
* FilesSort

* NewCrafts

* Locale

* Doors&Tomb

* RemFrames&SmallFixes

* Grilles

* BarrelsBenchPalletCurtains

* EditLocale

* BarrelIconSprite

* Fix_ResDuplicates

* Res_Fix

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2025-02-10 22:18:22 +03:00
Ed
4f4d24ac5b Balance bugtweak (#881)
* Update CP14UniqueLootSystem.cs

* some demiplane balance

* rings undepants

* fix #870

* fix #868

* Update CP14ClientWallpaperSystem.cs
2025-02-10 22:07:25 +03:00
Ed
c78bc23c06 Update CP14UniqueLootSystem.cs (#877) 2025-02-10 20:45:53 +03:00
omsoyk
72606bda02 Fix cave stone iron (#880) 2025-02-10 20:39:20 +03:00
github-actions[bot]
9e9eb62315 @omsoyk has signed the CLA in crystallpunk-14/crystall-punk-14#880 2025-02-10 17:18:48 +00:00
Zachary Higgs
9d48f66a61 Create a Armor CoeffientQuery (#35024)
* Create a Armor CoeffientQuery

- add Armor Coefficent Query Event for InventoryRelay system

* CR - cleanup, comments and fix typos

* CR - Remove Whitespace

* typos

* on't

---------

Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
2025-02-10 15:51:44 +01:00
Арт
c678e96fbc New vests (#862)
* Sprites&Meta

* Add_Vests

* Belt

* Loadouts&Fixes

* Rem_RedVest_FromGuildmaster
2025-02-10 17:47:40 +03:00
Nim
469aa2a6a4 density (#873) 2025-02-10 17:46:43 +03:00
metalgearsloth
96cb951555 Tweak viewport nullspace check (#35037)
* Tweak viewport nullspace check

WorldPos being 0,0 is sussy-a.

* a
2025-02-10 12:58:05 +01:00
TemporalOroboros
e4fe9c4638 Purge the one remaining use of TransformComponent.AttachParent (#34941) 2025-02-10 22:46:27 +11:00
ArtisticRoomba
b6ec43035a remove redundant rainbowcarpplush yaml lines (#35033) 2025-02-10 22:45:41 +11:00
TemporalOroboros
3b3c286669 Purges the one remaining use of TransformComponent.WorldPosition in content. (#34943) 2025-02-10 22:40:25 +11:00
Ed
7abb9a9716 Update DungeonSystem.Rooms.cs 2025-02-10 13:32:56 +03:00
PJBot
b18c5ff980 Automatic changelog update 2025-02-10 09:06:31 +00:00
lzk
a280009bbb Cleanup and fix disposal pipes (#34986) 2025-02-10 20:05:19 +11:00
metalgearsloth
a269850a73 Gravity well improvements (#35027)
* Gravity well improvements

- Fixed persistence
- Removed dummy fields
- Performance

* Update Content.Server/Singularity/Components/GravityWellComponent.cs

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-02-10 06:18:24 +01:00
Myra
0bb1dfc582 Put robust toolbox back to a versioned commit (#35011) 2025-02-10 15:54:30 +11:00
Zachary Higgs
1c8e7443ae Move DnaComponent to shared (#35012)
* Move DnaComponent to shared

- Add Using statements to AdminSystem and StationRecordsSystem to point
to Content.Shared.Forensics

* Proper namespacing

* Revert an un-intended change

* Add Networking to DNA Component

* CR - Remove ("dna")

* CR - add back ("dna") tag
2025-02-10 04:36:01 +01:00
Zachary Higgs
8b46538e3f Move CloneAppearance to Shared (#35017)
* Move CloneAppearance

- Move CloneAppearance from HumanoidAppearanceSystem
to SharedHumanoidAppearanceSystem

* CR - Fix the sins of the past
2025-02-10 04:13:27 +01:00
GaussiArson
03bab30fc6 Wooden Grip for Antique Laser Pistol (#34886)
* wooden grip on antique laser, changes description to match.

* darker grip

* update meta.json

* redesigned shape similar to ps3moira, edited mag to match, changed lights colors to match each other

* fixing an only SLIGHTLY catastrophic fuckup with an experimental inhand sprite that I didn't mean to save and sleepily added to the previous commit

* I DID IT AGAIN

---------

Co-authored-by: gaussiarson-admin <stephenkitchens0306@gmail.com>
2025-02-09 19:33:55 -07:00
PJBot
2f30bc3c0d Automatic changelog update 2025-02-10 01:25:18 +00:00
IProduceWidgets
fe064adaec Allows pacifists to throw Items with DamageOnLand (#31060) 2025-02-09 20:24:10 -05:00
Deerstop
2e2a3a9cb1 Elkridge Tweaks 2 (#34757)
* bigger TEG, moved EVA, moved engi and med substations, maints loot, increased pop to 15-45

* tweaked some job numbers around for higher pop

* holy shit i forgot the o2 and n2 miners

* fixed unwired substation

* made the TEG worse >:)

* added southbridge's pride-o-mat cos i kept forgetting

* fixed evac timer display, resolves #34850

* removed pridevend for testing

* nvm it was the shuttle, not the pridevend, oops
2025-02-09 18:07:10 -07:00
Spessmann
eeb689261b Convex update (#35023)
convex update
2025-02-09 18:06:32 -07:00
ArtisticRoomba
e1aff4dd98 Rebalance Relic station power + misc fixes (#35022)
Rebalance Relic station power
2025-02-09 17:51:29 -07:00
compilatron
21b3f23938 Plasma fixes 3 (#35021)
Co-authored-by: jbox1 <40789662+jbox144@users.noreply.github.com>
2025-02-09 17:47:21 -07:00
ArtisticRoomba
27e54832d9 Misc Loop improvements (#34997)
* misc loop improvements

* fixgridatmos

* god help me
2025-02-09 16:41:13 -07:00
PJBot
d8db4a66fd Automatic changelog update 2025-02-09 23:25:20 +00:00
Vortebo
3ab1db99c1 Relic station (#34988)
* General structure mostly complete.

* I thiiiiiink I am done with air alarms. And pipes. Maybe.

* Decals, shuttle, rust.

* Small fixes.

* Shuttle more or less where I want it.

* Security is prettier, spawns are more fun.

* Shuttle done. Almost done with one checklist.

* Map renders now.

* Checklists done.

* Adjusted min player count.

* Should pass the Build & Test Debug check now.
2025-02-09 16:24:13 -07:00
Zachary Higgs
6cb30b3092 Make UnrevivableComponent shared, give the component reason messages and if it shows up on the analyzer (#35013)
* Make UnrevivableComponent shared

- Move UnrevivableComponent to shared

- add reason messages and if the status shows up in a health analyzer

* Update Content.Shared/Traits/Assorted/UnrevivableComponent.cs

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

* Make UnrevivableComponent networked

* Update Content.Shared/Traits/Assorted/UnrevivableComponent.cs

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

---------

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-02-10 00:16:21 +01:00
PJBot
cb723b0cdb Automatic changelog update 2025-02-09 22:17:23 +00:00
Джексон Миссиссиппи
0024f3fa0d Add loungewear to uniform printer (#35008)
* Update clothing.yml

* Update clothing.yml
2025-02-09 23:16:17 +01:00
PJBot
c1f64c591d Automatic changelog update 2025-02-09 21:02:38 +00:00
Spessmann
afede7d4d0 Removes Cog station (#34996)
freedom!!!
2025-02-09 14:01:31 -07:00
Pieter-Jan Briers
360794eb3a Publishing workflow for Vulture Test server (#35009)
* Publishing workflow for Vulture Test server

* Remove dep install from workflow

Not necessary since changelogs don't happen
2025-02-09 20:48:10 +01:00
PJBot
082b1f8979 Automatic changelog update 2025-02-09 15:11:18 +00:00
Boaz1111
3b621a0245 long bacon scarf (#34950)
* went to the long bacon store.

* obtainable :3
2025-02-09 16:10:10 +01:00
Ed
72c9cb9014 Unstable demiplane update (#866)
* replace heat trigger to unsafe damage trigger

* end demiplane music

* timed demiplane modifier

* unhardcode some values

* demiplane crystal destruction waves

* time limit

* fixes

* Update CP14UniqueLootSystem.cs

* Update unstable_rift.yml

* tweks

* Update unstable_rift.yml
2025-02-09 17:18:24 +03:00
PJBot
7be6659933 Automatic changelog update 2025-02-09 12:16:54 +00:00
rokudara-sen
f37b851810 Fixed rotating anchored shuttle consoles (#35000)
Fixed rotation shuttle consoles when anchored
2025-02-09 13:15:44 +01:00
Milon
9963416c1d improve GetInStation filter (#33405)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2025-02-09 20:45:11 +11:00
TytosB
b4b4db73d1 Loop station i added a paper tray and brb sign to hop and tinyfans to the freezer (#34872)
* small fixes

* eee

* let me get uhhh
2025-02-09 01:24:18 -07:00
ArtisticRoomba
a8c32aba88 Misc Cog Station fixes (#34993)
* misc cog fixes

* added air alarm stuff to botany gearroom

* fix unlinked atmos devices in botany

* fortify botany against le meteors at emisse request
2025-02-09 01:00:14 -07:00
ArtisticRoomba
a7690843dc Add screens to oasis evac shuttle (#34995)
add screens to oasis evac
2025-02-09 00:44:53 -07:00
ArtisticRoomba
a5c76324e2 Misc Marathon fixes (#34990)
misc marathon fixes
2025-02-09 00:26:16 -07:00
ArtisticRoomba
4a479d7bb0 Misc Bagel station fixes (#34989)
* fix meta

* fix that one door in ready room that had the wrong access
2025-02-09 00:24:54 -07:00
metalgearsloth
ba1fd6c5f3 Make ReactionResults an array (#34967)
* Make ReactionResults an array

We're making the dictionaries fixed-size anyway.
Alternatively could use a frozendictionary but not sure on the perf difference. Worst case whoever adds another reactionresult makes a minor adjustment

* apply conventions

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-02-09 03:13:47 +01:00
github-actions[bot]
01cbe31872 Update Credits (#34985)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2025-02-09 02:05:01 +01:00
PJBot
ab6a340d7c Automatic changelog update 2025-02-09 00:13:53 +00:00
August Sun
e650bbce23 Lecter + Magazine Resprite (#34974)
* Full resprite of lecter and associated magazine

* Minor fixes

* More fixes

* fixed meta.json indentation

* More meta.json fixes

* Attribution fixes

* Update Resources/Textures/Objects/Weapons/Guns/Rifles/lecter.rsi/meta.json

---------

Co-authored-by: august-sun <45527070+august.sun@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-02-09 01:12:47 +01:00
PJBot
1077d2dfb2 Automatic changelog update 2025-02-08 23:17:13 +00:00
Ignaz "Ian" Kraft
36b59c69f4 allow paper labels on seeds (#34450)
* allow paper labels on seeds

* added the components required by PaperLabel to the SeedBase

* localize insert/eject for PaperLabel

* visualize the paper label on seeds

* new paper layer for seeds

* eject the seed label on use

* different looking paper label

* forgot to turn on a layer
2025-02-08 15:16:06 -08:00
PJBot
5e3d744233 Automatic changelog update 2025-02-08 23:03:08 +00:00
lzk
50ba607bf5 add straight ally pin (#34977) 2025-02-08 18:02:00 -05:00
Nox
9ed7fab2d3 Bagel Armory Restock (V2) (#34917)
* Updated armory fills, fixed a few connection errors, and removed the original sin

* Added a box of .35 magazines, corrected the starting state of the switches
2025-02-08 15:42:01 -07:00
Nox
3d34b8e752 Meta tweaks (#34957)
* Added back warden's enforcer, added spare mk58 magazines to blue armory.

* Various QOL.
2025-02-08 15:37:30 -07:00
ScarKy0
bf6fd4d581 Wizard Item Recall Spell (#34411) 2025-02-08 16:56:08 -05:00
PJBot
1ef6e0bd57 Automatic changelog update 2025-02-08 21:17:55 +00:00
YoungThug
bc3de0fcd8 Fix: The SyndicateVisitor now has Free Agent mind role. (#34827) (#34836)
SyndieRefugeeRoleTypeFix
2025-02-08 22:16:48 +01:00
Nim
ec6b5b4b93 say (#864) 2025-02-09 00:06:28 +03:00
Арт
bd45567599 Small Fixes (#861)
* Rem_HairHiding_GuardsHelmet

* Rem_electrified_CrystalShardElectro

* Locale_Fix
2025-02-08 21:39:17 +03:00
Ed
9dad3eccc6 Update Dev.toml 2025-02-08 21:13:53 +03:00
ScarKy0
f6c0e6d3d2 Wizard shuttle preperation (#34932)
FIREBALL MOTHERF-
2025-02-08 16:37:46 +01:00
github-actions[bot]
a50a0a28d8 @JustArt1m has signed the CLA in crystallpunk-14/crystall-punk-14#861 2025-02-08 14:50:41 +00:00
Ed
88c1569266 Unique artifacts (#859)
* unique artifacts

* Update demiplane_keys.yml

* shadow staff

* fixes

* rename solution

* Update CP14UniqueLootSystem.cs

* try fix

* Update CP14UniqueLootSystem.cs
2025-02-08 17:29:29 +03:00
metalgearsloth
d7e978274a Make Ignite tryget flammablecomp (#34970)
The flammable effect does it but we don't do it here for reasons. Sometimes this heisentests.
2025-02-08 11:56:44 +01:00
GaussiArson
87a868459f Drozd Colors for Kammerer (#34930)
* wooden grip on antique laser, changes description to match.

* darker grip

* update meta.json

* redesigned shape similar to ps3moira, edited mag to match, changed lights colors to match each other

* fixing an only SLIGHTLY catastrophic fuckup with an experimental inhand sprite that I didn't mean to save and sleepily added to the previous commit

* I DID IT AGAIN

* red kammerer bottom text

* killed the cap laser things (hopefully)

---------

Co-authored-by: gaussiarson-admin <stephenkitchens0306@gmail.com>
2025-02-08 01:15:00 -07:00
PJBot
64654130a5 Automatic changelog update 2025-02-08 07:25:08 +00:00
Chaboricks
1caea8a759 Paper door (#34857)
* Add paper door sound

* Update attributions yml

* Update material_doors.yml

* Update attributions.yml
2025-02-07 23:24:01 -08:00
metalgearsloth
e971d6e077 Revert engine reverties (#34968) 2025-02-08 17:17:55 +11:00
PJBot
80bd01b936 Automatic changelog update 2025-02-08 06:14:08 +00:00
pathetic meowmeow
524a2182b0 Round up playtime minutes (#34961) 2025-02-08 07:12:58 +01:00
KittenColony
9ed582d7e4 Revert "EN playtest toggle (#851)" (#860)
This reverts commit fa989c7a22.
2025-02-08 16:46:26 +13:00
KittenColony
fa989c7a22 EN playtest toggle (#851)
* EN locale

* whitelist disable / locale readyup
2025-02-08 16:33:38 +13:00
compilatron
d7d77ff3d4 Plasma fixes 2 (#34962)
Update plasma.yml

Co-authored-by: jbox1 <40789662+jbox144@users.noreply.github.com>
2025-02-07 17:31:37 -07:00
Ed
78e690f38a Unstable demiplanes (#858)
* events

* heartbeat ambient

* Update unstable_rift.yml
2025-02-08 01:09:48 +03:00
Nim
a264f97282 fix (#857) 2025-02-08 00:14:41 +03:00
deltanedas
1f5fab5761 move lathe recipes into packs (easier for forks and maintaining) (#33095)
* add LatheRecipePackPrototype

* change Lathe and EmagLathe to use packs

* add AddRecipesFromPacks helper to SharedLatheSystem

* update lathe logic to work with packs and clean up some stuff

* migrate individual recipes to recipe packs

* update client

* remove node/artifact scanner from techs

* :trollface:

* fix test and make it include emag recipes

* add test that every dynamic recipe must be researched

* pro

* fix

* fix

* fix all tests, genuinely good test i wonder who made it

* add unused uranium and incendiary drozd mags to tech and lathe

* add recipes

* add incendiary prototype

* undo some changes

* troll

* :trollface:

* true

Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>

* shitmed real

Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>

* update funny test

* :trollface:

* :trollface:

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
2025-02-07 19:22:49 +01:00
Ed
cb583d6897 Ru localization sync (#854)
* localization sync

* Update entities.ftl

* Update entities.ftl
2025-02-07 17:12:54 +03:00
Ed
3fd780bc8e Bank rename (#855)
* job renamings

* Job proto rename to merchant

* loadout renaming

* clothing rename

* Update migration.yml

* catalog

* more folders rename

* fix wood abuse

* add selling ores

* refolder

* fix icons

* herbals selling
2025-02-07 15:28:31 +03:00
TemporalOroboros
f37d5c9f0f Purge uses of TransformComponent.AttachToGridOrMap (#34940)
Switches over all extant uses of TransformComponent.AttachToGridOrMap to use SharedTransformSystem.AttachToGridOrMap
2025-02-07 12:49:22 +01:00
Ed
558c199a29 Fix spells (#853)
* fix kick

* fix some spells

* Update ice_ghost.yml
2025-02-07 09:51:22 +03:00
Spessmann
14d96e0716 Convex fixes (#34934)
fixed
2025-02-06 18:31:06 -07:00
PJBot
c5d1aba8f0 Automatic changelog update 2025-02-06 23:08:33 +00:00
themias
ed01ad772d Buff the Combat Bakery Kit uplink item (#34927)
* Buff the Combat Bakery Kit uplink item

* whitespace
2025-02-06 15:07:26 -08:00
Nim
49a502cc25 Bacinet (#852)
* yep

* fix
2025-02-07 01:02:59 +03:00
github-actions[bot]
68f0543f5d @Nimfar11 has signed the CLA in crystallpunk-14/crystall-punk-14#852 2025-02-06 20:33:52 +00:00
PJBot
727935c0f7 Automatic changelog update 2025-02-06 19:18:04 +00:00
GrownSamoyedDog
8ff90a6d20 Guide Control Button Now Redirects Properly (#34914)
fixed control button - a single line of code
2025-02-06 11:16:57 -08:00
PJBot
d204480be3 Automatic changelog update 2025-02-06 19:11:06 +00:00
12rabbits
b6ccbef147 DNA scrambler examine fixes (#34920)
* Remove custom character description after using DNA scrambler

* Mark grammar as dirty when updating identity

* Update Content.Server/Implants/SubdermalImplantSystem.cs

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-02-06 11:09:59 -08:00
lzk
64ebcb5277 cleanup not needed locale string (#34922)
* cleanup not needed locale string

* Update Resources/Prototypes/Actions/types.yml

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-02-06 10:42:57 -08:00
slarticodefast
3940d22076 Merge stable into master (#34924) 2025-02-06 16:35:48 +01:00
slarticodefast
11e5d59171 HOTFIX: fix minibomb implant and syndicats not exploding (#34923)
fix minibomb implant not exploding
2025-02-06 16:17:58 +01:00
ShadowCommander
cd91effefb HOTFIX: Fix lineedit focus (#34621)
* Test entered tree fix

* Use Opened override

* Fix keyboard focus on window open for DialogWindow

This affects Phone, Pray, Rename, and multiple other admin verbs.

* Clean up
2025-02-06 16:14:55 +01:00
PJBot
6c7170e482 Automatic changelog update 2025-02-06 13:46:20 +00:00
deltanedas
e675ea4273 hide icons for invisible entities (#34825)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2025-02-06 14:45:13 +01:00
Ed
2cfe92489a Merge pull request #850 from crystallpunk-14/ed-06-02-2025-upstream-sync-fix
Upstream sync squash fix
2025-02-06 15:00:10 +03:00
PJBot
5020cfac5c Automatic changelog update 2025-02-06 11:46:42 +00:00
SG6732
16aad5a168 Swapped butter w/ olive oil for making spaghetti (#34904)
* > Swapped the butter in boiled spaghetti with olive oil

* Update meal_recipes.yml

---------

Co-authored-by: beck-thompson <107373427+beck-thompson@users.noreply.github.com>
2025-02-06 12:45:33 +01:00
Ed
5c391b753f Merge remote-tracking branch 'upstream/stable' into ed-06-02-2025-upstream-sync-fix
# Conflicts:
#	Content.IntegrationTests/Tests/PostMapInitTest.cs
#	Content.Shared/Wieldable/Components/IncreaseDamageOnWieldComponent.cs
#	Resources/Maps/Test/dev_map.yml
#	Resources/Prototypes/Maps/Pools/default.yml
2025-02-06 14:38:00 +03:00
Ed
f83505cfba Update cla.json 2025-02-06 14:12:15 +03:00
Ed
55f93d88d6 Update cla.json 2025-02-06 14:08:32 +03:00
Ed
ebde8d6873 Update cla.json 2025-02-06 14:07:42 +03:00
Ed
5e4df7ac87 Merge branch 'master' of https://github.com/crystallpunk-14/crystall-punk-14 2025-02-06 14:07:05 +03:00
Ed
d294c0129f Update cla.yml 2025-02-06 14:05:58 +03:00
Ed
a0a827ea5a Upstream sync (#846)
* Additional Ionstorm Law Updates (#34197)

* Added a couple entires, removed the references to IRL countries, and fixed a grammar mistake on "Telecomunications Equipment"

* Fixed another awkward grammar situation

* Commented out a bunch of law elements I felt weren't good for discussion, added some new ones to help fill in the missing areas

* Reverted pylons, and added more entries to help fill out the lists more

* reverted all deletions

* implemented feedback, also realized the IonStormActions section was rather short, so I added a bunch there

* realized I didn't remove the extra resources line, also added more things, and fixed one grammatical error

* Removed Portugal again, added more Musts since that list was the new shortest one.

* Automatic changelog update

* Add option to disable bwoink sound. (#33782)

* Add option to disable bwoink sound.

* Now it's working only with active admin status.

* No bwoink, only "notification sound"

* Moar changes

* Another one

* Automatic changelog update

* Pride Scarves  (#34448)

* More scarfs (#216)

* Sprites + Colored Scarf Implimentation

Doesn't include into quickthreads or other clothing vendors

* File Paths are important

* Metas, items exist, winterdrobe

I'm iffy on them being in the winterdrobe but the other option is quickthreads so idk

* File Path Fix

* Typo fix

* Resolved merge conflict

* Moved scarves around

* Moved scarf textures out of the _CD directory

* Removed final CD folder

* Removed extra scarfs

* Removed extra scarfs, again

* Replaced ClothingNeckBase with ClothingScarfBase

---------

Co-authored-by: PursuitInAshes <91865152+PursuitInAshes@users.noreply.github.com>
Co-authored-by: TakoDragon <69509841+BackeTako@users.noreply.github.com>

* Automatic changelog update

* Replace the djstation intercoms with freelance intercoms (#34478)

* Add Freelance intercom prototype, and replace the djstation ruin with them instead of three master keys

* removed a new line

* Update nix flake for .NET 9 (#34480)

* Automatic changelog update

* Holopad networking rework (#34112)

* Initial commit

* Finalizing main changes

* Addressed reviews

* Fixed a few issues

* Switched to using global overrides

* Removed unnecessary references

* Make GasMixture enumerable

I noticed that enumerating gases is frequently done in an annoying way with Enum.GetValues. So I made it better. Now GasMixture is IEnumerable<(Gas gas, float moles)> and it just works.

* Improve canister admin logs.

1. Now clearly says "opened"/"closed" when changing the release valve.
2. Clearly says whether the valve was opened while a canister was inserted or not.
3. When a tank is ejected, logs if the valve is open and the ejection started spilling into the environment.

Fixes #34488

* Optimize & clean up RadiationSystem (#34459)

* Optimize & clean up RadiationSystem

* comments

* Update Content.Server/Radiation/Systems/RadiationSystem.GridCast.cs

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

---------

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

* Update engine to v240.0.1 (#34497)

* Various Locale Typo Fixes (and spaces) (#34483)

Random spelling error and FTL linting (+PowersinkSystem because there was an misspelt locale for that)

* Space lizard plushie can now be worn on your head (#33809)

* space weh can now be work on top of head

* space weh can now be worn on top of head

* trim out unnecessary comps

* Automatic changelog update

* Adds bullet collision to wall mounted cameras (#34500)

* Automatic changelog update

* Change MaskComponent to accommodate sprites namings (#33451)

Co-authored-by: Winkarst <74284083+Winkarst-cpu@users.noreply.github.co>

* Automatic changelog update

* Add a 10u vial of plasma to the chemical locker (#33871)

Add 10u plasma to the chemistry locker so the chemists stop stealing tables.

* Automatic changelog update

* Rarer Highcaps (#34469)

* Removed highcap from seclite

* Changed cyborg starting battery to highcap, reduced seclite wattage to make it last as long as it used to.

* Gave cyborgs back their medcap

* Rounded seclite wattage down to 0.5

* Automatic changelog update

* New dry fire sound (#34447)

* new empty.ogg

* source to tg commit

* Automatic changelog update

* CentComm Map Updates (#34475)

* Bandage fix denied animations playing on devices without them

* CentComm blast door prototype

* CentComm button

* CentComm window shutters

* CC Updates

* Save as grid

* Remove an extra detective figurine

I like them better in the interrogation room

* Remove paramed locker, let pumps shut off

* Fix wrong HOP locker prototype

* Automatic changelog update

* Cog power setup fix (#34188)

* 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

* cog power setup was bad

* made it artsy

---------

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

* Add Airlocks with Bar and Kitchen access (#33821)

* Add kitchen access to Bar-Cafeteria airlocks on Cog

* Fix merge conflict

* Remove mapping changes

* Add Glass and Maints versions

* Fixed minor spelling mistake in Noir Trenchcoat description. (#34519)

Update coats.yml

* Update Credits (#34507)

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

* Make storage implant drop items on gibbing (#33493)

* Make storage implant drop items on gib/removal

* Better way

* Fix error

* Forgotten trash

* Cleanup

* Unused var

* Update Content.Server/Implants/ImplantedSystem.cs

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

---------

Co-authored-by: Winkarst <74284083+Winkarst-cpu@users.noreply.github.co>
Co-authored-by: 0x6273 <0x40@keemail.me>

* Automatic changelog update

* Fix `emergency_elkridge` being saved as a map (#34496)

Save `emergency_elkridge` as a grid

* Update engine to v240.1.0 (#34524)

* Fixes some mobs not being able to honk/weh (#33777)

* fixes some mobs not being able to honk/weh

* addresss review

* Automatic changelog update

* Welding gas mask toggleable with action (#32691)

welding mask removable

* Automatic changelog update

* Update engine to v240.1.1 (#34527)

* Automatic changelog update

* Plasma Dirt Fix (#34534)

did the dirt thing

* Plasma station population tweak (#34549)

* 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

* Update population caps

Removed population cap of 60 players to make plasma into a highpop map - it's that easy!

---------

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

* Automatic changelog update

* Job contraband rework (#33385)

* contraband system rework to allow restriction by job, not just department

* Fixing detective trenchcoat inheritance

* removing unnecessary using declarations

* trying to fix testing error by re-adding diagnostics using declaration

* removing unecessary dependency, making allowedJobs nullable

* Adding all of slarti's requested changes except for the hacky job icon method fix

* removing accidental whitespace

* choosing to use the non-localized version because we're comparing the string against the AllowedJobs field, and the contraband classes that fill that field are written in english

* removing unneeded using dec, fixing nesting logic problem

* didn't remove the old nesting, doing that now

* using localized job title and localizing the allowed jobs string, removing usages of JobTitle field. Also networked the _jobTitle field instead.

* rewrite some stuff

* fixes

* fix energy pen

---------

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

* Automatic changelog update

* Electrified doors/windoors now spark, new tips to deal with doors without access or when electrified (#34502)

* new tips to open doors (throwing PDA/ID, dragging body)

* electrified door sprite for players

* tooltip to reset AI electrified doors

* windoor electrified sprite

* highsec electrified visual

* increase tip dataset to 138

* corrected square bracket convention in this commit

* removed door corpse tip from prior commit

* Automatic changelog update

* Blueprint double emergency tank (#34232)

* blueprint

* NitrogenTank

* description

* Automatic changelog update

* Add system to kick people if they connect to multiple servers at once. (#34563)

* Automatic changelog update

* bagel update (#34572)

* bagel update

* Decal fault tolerance

* Also fix writes

* fix mv cable, decal issues, yar

* fix a floor tile and some other shit

---------

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

* remove tropico from devmap (#34585)

* Update wizden config to disallow multiple connections to multiple wizden servers (#34584)

* Give the chef access to cloth boxes (#34403)

* Give the chef access to fiber bags

* Update Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/box.yml

---------

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

* Automatic changelog update

* lecter visual update (#34589)

* Automatic changelog update

* Box Station - Update (#34605)

* Various changes

* Implemented a bunch of changes Emisse wanted, finished up all my atmos changes I wanted to make as well

* Added reporter to prototype, and fixed dirt

* Resolved outstanding issues

* Fixed a floating camera

* pluralize the job name in the contra description (#34559)

* pluralize the job name in the contra description

* pluralization specific to contraband descriptions

* Automatic changelog update

* Feature/make radial menu great again (#32653)

* it works! kinda

* so it works now

* minor cleanup

* central button now is useful too

* more cleanup

* minor cleanup

* more cleanup

* refactor: migrated code from toolbox (as it was rejected as too specific)

* feat: moved border drawing for radial menu into RadialMenuTextureButton. Radial menu position setting into was moved to OverrideArrange to not being called on every frame

* refactor: major reworks!

* renamed DrawBagleSector to DrawAnnulusSector

* Remove strange indexing

* Regularize math

* refactor: re-orienting segment elements to be Y-mirrored

* refactor: extracted radial menu radius multiplier property, changed color pallet for radial menu button

* refactor: removed icon backgrounds on textures used in current radial menu buttons with sectors, RadialContainer Radius renamed and now actually changed control radius.

* refactor: in RadialMenuTextureButtonWithSector all sector colors are converted to and from sRGB in property getter-setters

* refactor: renamed srgb to include Srgb suffix so devs gonna see that its srgb clearly

* fix: enabled any functional keys pressed when pushing radial menu buttons

* fix: radial menu sector now scales with UIScale

* fix: accept only one event when clicking on radial menu ContextualButton

* fix: now radial menu buttons accepts only click/alt-click, now clicks outside menu closes menu always

---------

Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>

* Automatic changelog update

* Return Drozd full-auto and semi-auto firing modes (#34604)

return drozd full auto and firerate, arrange available modes in alphabetical order

* Automatic changelog update

* added missing allowed department to the restricted severity (#34558)

* added missing allow job to the base restricted severity

* no need to make a list

* no more linq in ContrabandTest

* less nesting in ContrabandTest

* Automatic changelog update

* C4 Helmet (#34076)

* worn bomb

* Update meta.json

* Update meta.json

* Automatic changelog update

* Make radioactive material radioactive (#34436)

* Make radioactive material radioactive

* Increase the slopes of item uranium

No free power for engineering

* Glowing uranium

* Revert "Increase the slopes of item uranium"

This reverts commit 2acbda26

* Nerf Wall Rocks

* Automatic changelog update

* Small fixes for Meta station (#34613)

* Fixed a few minor things, removed salvage's shuttle parts (sorry), added more equipment to armory.

* Added back salvage shuttle equipment, now in a crate

* Fix

* replace all instances of "department-{id}" with department.name (#34607)

replace all instances of "department-{id}" with department.name"

* Renaming sexy mime and clown mask (#34258)

* Renamed sexy clown and mime mask and removed lusty xenomorph poster.

* removing odd file changes. not sure why these were edited at all.

* gaaaahhh

* removed some of the old templates

* Renaming sexy mime and clown instances.

* removed unwanted gitignore edit

* Renaming sexy clown and sexy mime mask and
Removing lusty exomorph poster.

* Remove lusty xenomorph poster.

* reverted changes to maps files, actually. Other contrib is learning, appologies for excessive commits

* requested changes

* lusty migration removal

* dirty hanging whitespace

* correct date format comment

---------

Co-authored-by: NathanielJ14 <nathanielalbert1202@gmail.com>

* Automatic changelog update

* Moved Cyborg Recharging Circuit Board from Lathe to Circuit Imprinter (#34612)

Moved Cyborg Recharging Cirbuit Board from Lathe to Circuit Imprinter

* Automatic changelog update

* Replace starter borg brain with Positronic (#34614)

THE FLESH IS WEAK

* Automatic changelog update

* Elkridge Depot fixes and changes (#34539)

* fixed grav gen room, gave atmos room to branch off, replaced AME controller crate with AME controller

* added rust to maints, expanded atmos, expanded bar, expanded cap bedroom, fixed some tiles under doors, removed some gamer loot

* removed interrogator lamp and some more gamer loot

* fixed some more tiles under doors, replaced intercomall with intercomcommand in bridge and vault

* added clothing drobes to arrivals, added bin to HoP, more stuff i forgot

* i forgot to move the file from /bin to /resources...

* delete radstorm locale (#34630)

* display the current version in the changelog window (#34556)

* just works first try

* introduce more magic numbers into the codebase

* idiot doesnt know the difference between AND/OR

* Update Credits (#34644)

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

* New solar sprites, new solar panel upgrades, and some solar panel fixes. (#29224)

* New solar sprites, new solar panel upgrades, and some solar panel fixes.

This adds and changes a few things for solar panels!

* New sprites for all solar panels and all related states.
* Move from xform.WorldRotation to _xformSystem.SetWorldRotation within
  the solar code.
* Few random fixes that Rider suggested as warnings.
* Solar Tracker Electronics was using what looks like to be the airlock
  controller electronics, so that's now updated to something a bit more
  realistic. It also uses the engineering circuit sprite instead of the
  generic
* New Solar Panels! Adds Plasma and Uranium Glass solar panels. These
  can be constructed by adding the respective glass to the panel. Plasma
  is a slight increase of power and health, and uranium is double the
  power and health of glass. Thus giving engineers something to update
  if they want to use solar panels and possibly giving small outposts
  a way to make a bit more power without a large and complex power
  setup.

* Add in solar sprites that were not in the meta file.

* Updated sprites based on feedback.

* Fix the rotation of the solar panel sprites.

* Automatic changelog update

* Added Unused HoS's Flask to HoS locker (#34658)

added hos flask to locker spawn

* Automatic changelog update

* Fland Fix (#34670)

Update fland.yml

* Reroute Meta station power, engineering cosmetic changes, minor fixes  (#34669)

* reroute meta power plus cosmetic fixes

* fix a lot of other things

* make changes from conflict

* Amber Station Changes (#34656)

* various changes

* Increased player limit

* slight modification

* Followed proper yaml formatting, increased lawyers

* Box Station Changes (#34655)

* Various changes

* Implemented a bunch of changes Emisse wanted, finished up all my atmos changes I wanted to make as well

* Added reporter to prototype, and fixed dirt

* Resolved outstanding issues

* Fixed a floating camera

* Added cameras to TEG, and some minor changes

* Fix mv cable crate typo (#34673)

fix mv cable crate typo

* Plasma station patch 1 (#34602)

* 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

* Update population caps

Removed population cap of 60 players to make plasma into a highpop map - it's that easy!

* Map fixes 11

* Map fixes 12

* Map fixes 13

* Map fixes 14

Now it's personal

* Map fixes 15

---------

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

* Automatic changelog update

* add a chem dispenser to the nukie planet (#34674)

* add a chem dispenser to the nukie planet

* begone test fail

* Adds better description to pneumatic valve and build menu description (#32655)

* adds description to pneumatic valve and build menu description

* Change one atmosphere to kPa

* Automatic changelog update

* fixrotations - Modified Targetted Entities (#34638)

* Fix match box (#34632)

FixMatchBox

Now you can't put anything but matches in a box of matches.

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

* Automatic changelog update

* Hi-viz vest now actually hi-viz (#34087)

* 27-12-2024-light-hi-viz

* 28-12-2024-meta-fix

* Storage UI V2 (#33045)

* Automatic changelog update

* Added Pain Numbness Trait (#34538)

* added pain-numbness component and system

* added numb as a trait that pulls the pain numbness component

* removed new event as mob threshold event as already being fired

* checked for MobThresholdsComponent first before running VerifyThresholds

* refacted force say to using LocalizedDatasetPrototype and added numb messages

* added severity check alert

* added comment for BeforeForceSayEvent

* removed space formatting

* changed Cancelled to CancelUpdate, fixed spacing and added two more damage-force-say-numb

* changed prefix damage-force-say-numb to 5 (whoops)

* Automatic changelog update

* Update submodule to 241.0.0 (#34678)

* Add puddle drawdepth (#32369)

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

* Automatic changelog update

* Revert "Fix match box" (#34681)

Revert "Fix match box (#34632)"

This reverts commit 88456a4a8c.

* update .editorconfig (#34677)

* Make crew monitor update blips at consistent rates (#32555)

* Added the ability for pAIs and station maps to be stored in engineering belts (#33048)

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

* Automatic changelog update

* Engineering guidebook megaupdate v2 (#33062)

Significantly updates the Engineering guidebook (more explicitly the Atmos section) to have a lot more relevant and useful information.

Right now engineering has been getting update after update with no real change to the relevant guidebook entry. This has lead to a lot of out of date information and bad practices being prevalent in the guidebook, something that pains me to read.

* Automatic changelog update

* Omega: fix cryo pipe (#34663)

fixed the freezer pipe in cryo room

* Add more escape pods on Packed (#34628)

* add escape pods north and south of station

* move south escape pod a bit to the east

* Storage sidebar fix (#34680)

* Add conditional camera offset based on cursor - Hristov Rework, Part 1 (#31626)

* Automatic changelog update

* Amber Station Stuff (#34686)

* Removed salv upper docking airlock, gave south west solars some uranium glass.

* Routed HV wire through maints more, gave disposal blast doors a lever, added beacons and signs to escape pods

* Fake mindshield componentry and Implanter (#34079)

* Fake Mindshield (With some bad sprites)

- Add FakeMindshield System and Component

- Add FakeMindsheildImplantSystem and Component

- modify ShowMindShieldIconsSystem to check for FakeMindshields

- add all supporting yaml for the Implants, action and uplink

- add loc file stuff

- add unfinished sprites

* Cleanup, add to thief toolbox, remove metagame

- Move Implant sameness check to AFTER the implant DoAfter
to prevent instant identification of Deception Implants

- cleanup the systems and components

- add the fake mindshield to the Thief toolbox

* part 1 of fixing the folder problem

* Make the fakemindshield sprite folder lowercase

* CR - Move ImplantCheck into shared, cleanup

- Moved ImplantCheck and eventsubscription into Shared

- Remove Client/Server extensions of FakeMindshieldImplantSystem and
FakeMindShieldSystem and make shared Sealed

- make OnToggleMindshield Private, use the event!

* CR - Cleanup extra lines, fix some Prototype

- cleaned up extra liens in ImplanterSystem and
SharedFakeMindshieldSystem from when i was developing

- Uplink catalog no longer lists the implant in 2 spots,
only implants now, also uses the On state action icon

- added a comment about why it's reraising the action event
rather than directly interacting with the FakeMindshield Component

* Fake Mindshield CR:

- Added a comment about IsEnabled

- moved OnFakeMindShieldToggle to Entity<> from Uid, Comp

- fixed some formatting in uplink_catalog

* CR - Add a bit more comment

* Automatic changelog update

* reworking the chunked telecomms salv ruin (#34529)

* aaa

* bbb

* ccc

* ddd

* switched to grid

* pain

---------

Co-authored-by: TytosB <duanlaintytos@yahoo.com>

* loop update (#34688)

loop loot gone

* bagel update (#34690)

* bagel update

* fixe

* move tesla gen

* Fix airsensors not having a nitrogen threshold (#34689)

* Buff frezon to acceptable values, pending a frezon rework (#34049)

buff frezon

* Automatic changelog update

* Stun baton precise attack thrust animation (#34693)

use weaponarcthrust instead of wide swing on single attack

* Automatic changelog update

* Add disposal units to marathon chapelroid (#34709)

add disposal units to marathon chapelroid

* Oasis: add some emergency O2/N2 lockers (#34715)

Added O2, N2, and Fire lockers to Oasis station as per discussions in the issue thread

Co-authored-by: Orange-Winds <sebastian.pelka@hotmail.com>

* Removes radioactive suppermatter from Plasma Station (#34726)

Removes radioactive suppermatter

Literally 1984 can't have shit on SS14 e.t.c. e.t.c.

Co-authored-by: jbox1 <40789662+jbox144@users.noreply.github.com>

* New salvage ruin: the ruined prison ship (#34651)

* aaa

* little tweaks

* changed to grid and added to protos

* ccc

* we dont talk about it

* ddd

---------

Co-authored-by: TytosB <dunalintytos@yahoo.com>

* Buff savlage vault-medium-1's loot (#34732)

* aaa

* little tweaks

* changed to grid and added to protos

* ccc

* we dont talk about it

* ddd

* aaa

---------

Co-authored-by: TytosB <dunalintytos@yahoo.com>

* drozd visual update (#34574)

* drozd visual update

* fix wielded sprotes

* update sprotes

* Automatic changelog update

* Nuke Timer MinimumTime (#34734)

* Implemented the thing

* Made requested changes

* Automatic changelog update

* Fix thrust animation rotation (#34713)

* Fix thrust animation rotation

* directly update sprite instead

* Automatic changelog update

* Fix vulture spawning additional salvage debris (#34593)

fix vulture spawning additional salvage debris

* Nukie briefing fix (#34737)

payloadpayloadpayloadpayloadpayloadpayload

* Sentient medibot now can inject (#32110)

medibot player injection

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

* Criminal Records Computer Better UX + Filtering (#32352)

* First pass at new Criminal Records Computer

need buttons to highlight.

* Filter status tabs/buttons now activate correctly via UpdateState

* Removed unneeded Directives

* Fix typo + undo VSCode changes

* Implement Emo Feedback

Loc NA and use inject deps
Cannot use inject deps on sprite system.

* try to undo vscode launch.json change

* Added requests + Filter dropdown list + jobs

Fixed maintainer fix requests,
Added Job to announcement channel output
Removed toggle buttons in-place of a dropdown list

* Fixed missed merge conflict

+ fixed an bug with filterstatus not showing on re-open ui

* Update criminal-records.ftl

Fixed lint error. whoops.

* Update Content.Server/CriminalRecords/Systems/CriminalRecordsConsoleSystem.cs

typo

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

* impliment chromiumboy feedback

hopefully this will do it....

---------

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

* Added some more borg names (#32502)

added a handful of new names

* Automatic changelog update

* Update ScalingViewport for Engine PR (#28786)

* Update submodule to 242.0.0 (#34739)

* fix stop bleeding popup (#34729)

* fix stop bleeding popup

* add identity

* Fix RoleTimeRequirement localization (#34735)

* fix job restriction localization

* Update Content.Shared/Roles/JobRequirement/RoleTimeRequirement.cs

* Update Content.Shared/Roles/JobRequirement/RoleTimeRequirement.cs

---------

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

* reworking chem and adding psychology to loop (#34749)

* aaa

* little tweaks

* changed to grid and added to protos

* ccc

* we dont talk about it

* ddd

* aaa

* psychology real

---------

Co-authored-by: TytosB <dunalintytos@yahoo.com>

* Fix shuttle console angular velocity (#34748)

* Syndicate and CentComm Radio Implanters (#33533)

* Add Syndicate Radio Implant

* Fix description grammar

* remove unused var

* Update - Small fixes

* Un mess with imports

* Remove unused tag

* Correction

* Clear lists instead of remove

* Update 0 check

* Add Centcomm implant

* Correct centcom channel

* Correct params

* No more crying

* Update Content.Shared/Implants/Components/RadioImplantComponent.cs

* Update Content.Server/Implants/RadioImplantSystem.cs

* Update Content.Server/Implants/RadioImplantSystem.cs

---------

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

* Automatic changelog update

* New Highpop map: Convex recreational complex (#33346)

* start ig

* command work +AI

* finished bridge, added signs to departments

* engi partly done

* finish engi + atmos except for cams

* added med yippie

* carGODO

* nerd department finished

* se(x)c finish

* courtroom + service power

* man im tweaking out

* service propa done

* hallways

* added cams everywhere and named all the doors :pain:

* arrivals maints + exterior catwalk

* more maints

* voxob

* draft done

* holopadpilled + gaspipesensor based

* added convex name everywhere it needed to be

* nvm i guess we dont do oxford comma

* redid ALL THE HGOLOPADS FAAAAAAAAAAAAAAAAAAAAA

* Fix conflicts?

* ok let me try something

* this works right?

* atmos updated + jani lights

* uniform hallway tiles +roundstart TEG

* fixed some hidden atmos stuff

* Update map_attributions.txt

* :finnadie: no map review ...

* the fog is coming

* maints theater redone

* light dirt and the murder of most trims

* 💔

* decal based and tileoverlay pilled

* updated arrivals/library

* bungus

* yvgh

* 6 hours later...

* finished for real?

* Automatic changelog update

* Update cigarette.yml (#34756)

simple change to one of Dan's Smokes that fixes a typo.

* Seperate EMAG into EMAG and Authentication Disruptor (#34337)

* Automatic changelog update

* Astro Asteroid Sand (#34463)

* Added astro asteroid sand

* fixed the stack name

* adjusted tile sprites for asteroid and ice

* Adjusted meta.json

* Realized the other tile sprites all have solid lines on their perimeters

* Update Resources/Prototypes/Stacks/floor_tile_stacks.yml

that works

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

* Update tiles.yml

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

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

* adjusted the snow sprite

* Update meta.json

---------

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

* Automatic changelog update

* The Goliath Hardsuit (#34721)

* Entities for hardsuit and helmet, graph and crafting recipe; modifies goliath hide drop rate

* Added hardsuit sprites, corrected some crafting YAML

* fixed crafting recipe, adjusted resource requirements

* Added durathread material req

---------

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

* Automatic changelog update

* make RefreshOverlay default to the player session (#32354)

* Loop station minor tweaks (#34758)

* small fixes

* eee

* Juice that makes you go boom (#34730)

* Juice that makes you go boom

* moved explosive juice to fun yml - fixed ExplosionReactionEffect.cs not having TileBreakScale parameter - made Drazil plushie major contraband (they are evil!!!!!)

* removed JASON!!!! JASOOON!!! JASON!!!

* don't do commits at 1am

* Update fun.yml

fix ident

* no more bullying the server (only 1 explosion)

* Automatic changelog update

* Adjust inventory size of ginormous scrap (#33454)

Adjusts the size of ginormous scrap to fit in bags of holding

* Automatic changelog update

* After getting banned, you now have to re-read the rules! (#33270)

* first commit

* opps

* Reset cooldown instead

* Added ccvar

* Not replicated!

* More robust Particle Accelerator menu (retry) (#34037)

Particle Acceleratir fixed

Co-authored-by: VideoKompany <135313844+VlaDOS1408@users.noreply.github.com>

* Serializable emag flags (#34766)

* serializable idk

* guh

* Fix Double Muzzle Flash (#33981)

* Pass user to effects to properly fix double muzzle flash.

* Use gun when user is null.

* Update MuzzleFlashEvent.cs

* Update MuzzleFlashEvent.cs

* Update GunSystem.cs

* Update SharedGunSystem.cs

* Update MuzzleFlashEvent.cs

* Update SharedGunSystem.cs

* Update SharedGunSystem.cs

* Update Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs

Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>

---------

Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>

* Automatic changelog update

* fix BankClientComponent never updating (#33123)

* fix

* oh right

* Add history tab to bounty console (#33932)

* Add struct for holding historical data on cargo bounties

* Add localisation strings for bounty history

* Add new XAML entry for display bounty history

* Expand cargo bounty menu to include tabs

* Ensure station databases hold historical bounty data

* Add to the bounty history when removing one from active

* Feed bounty history into cargo's bounty system

* Move tab title setting to constructor

* Remove redundant access specifications

* Remove un-needed override

* Fixup BountyHistoryEntry backing code

* Fix formatting in CargoBountyMenu

* Reformat BountyHistoryData

* Rework TryRemoveBounty to use new Entity type

* Add Enum for showing bounty results

* Rework look and feel of History tab

* Add visible text when no bounties have been completed yet

* Remove control

* Swap default to null

* Reverse ordering of bounties so last entry comes first

* Remove redundant Visible

* Move enum docs into the enum

* Automatic changelog update

* Minor shotgun changes and comments for future changes (#33512)

* kammerer ammo, firerate and comment

* bulldog description

* enforcer description and comment

* DB and sawn-off firerate parity, sawn-off comment

* description changes

* reduce kammerer firerate again

* Automatic changelog update

* Fixed: Ore now correctly drops the right amount of ore (#34557)

Fixed bug

* Automatic changelog update

* Implement mrp rule changes pursuant to community votes (#34772)

* #34771 Fix door system assuming all door layer states are in single RSIs (#34775)

* #34771 Fix door system assuming all door layer states are in single RSIs

* Delta confirmed monarch of sloggery

* Do a dirty, rotten web edit

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

---------

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

* HOTFIX update staging submodule to 242.0.1 (#34833)

* HOTFIX revert lecter visual update #34589 (#34826)

* Allowed windows to be properly clicked on (#34751)

* Fix hitting through directional windows (and more!) (#34793)

* Revert "Add taped logo back for 10th anniversary" (#34831)

* Hristov & .60 changes - Hristov Rework, Part 2 (#31662)

* Initial commit

* Updated values to reflect new resistances

* Review fixes

* Review fixes

* LINQ BEGONETH

* revert engine

* Revert "Storage sidebar fix (#34680)"

This reverts commit 3e091c4dfa.

* Revert "Storage UI V2 (#33045)"

This reverts commit fd25dac720.

* Revert "Update ScalingViewport for Engine PR (#28786)"

This reverts commit 3ad83378bb.

* Update physical.yml

* Update CP14SharpeningSystem.cs

---------

Co-authored-by: Southbridge <7013162+southbridge-fur@users.noreply.github.com>
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
Co-authored-by: c4llv07e <igor@c4llv07e.xyz>
Co-authored-by: PursuitInAshes <91865152+PursuitInAshes@users.noreply.github.com>
Co-authored-by: TakoDragon <69509841+BackeTako@users.noreply.github.com>
Co-authored-by: Minemoder5000 <minemoder50000@gmail.com>
Co-authored-by: Tobias Berger <toby@tobot.dev>
Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>
Co-authored-by: PJB3005 <pieterjan.briers+git@gmail.com>
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
Co-authored-by: Thomas <87614336+Aeshus@users.noreply.github.com>
Co-authored-by: Partmedia <kevinz5000@gmail.com>
Co-authored-by: Mono <182929384+Monotheonist@users.noreply.github.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
Co-authored-by: Spessmann <156740760+Spessmann@users.noreply.github.com>
Co-authored-by: Myra <vasilis@pikachu.systems>
Co-authored-by: Winkarst <74284083+Winkarst-cpu@users.noreply.github.com>
Co-authored-by: Winkarst <74284083+Winkarst-cpu@users.noreply.github.co>
Co-authored-by: Nox <nebulousnox38@gmail.com>
Co-authored-by: K-Dynamic <20566341+K-Dynamic@users.noreply.github.com>
Co-authored-by: War Pigeon <54217755+minus1over12@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: Alfred Baumann <93665570+CheesePlated@users.noreply.github.com>
Co-authored-by: Tezzaide <ewankayne@hotmail.co.uk>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: 0x6273 <0x40@keemail.me>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: compilatron <40789662+Compilatron144@users.noreply.github.com>
Co-authored-by: jbox1 <40789662+jbox144@users.noreply.github.com>
Co-authored-by: John <35928781+sporkyz@users.noreply.github.com>
Co-authored-by: Nim <128169402+Nimfar11@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>
Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
Co-authored-by: Ignaz "Ian" Kraft <ignaz.k@live.de>
Co-authored-by: Fildrance <fildrance@gmail.com>
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
Co-authored-by: JustinWinningham <justinmwinningham@gmail.com>
Co-authored-by: NathanielJ14 <nathanielalbert1202@gmail.com>
Co-authored-by: Velken <8467292+Velken@users.noreply.github.com>
Co-authored-by: Deerstop <edainturner@gmail.com>
Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com>
Co-authored-by: Milon <milonpl.git@proton.me>
Co-authored-by: CaasGit <87243814+CaasGit@users.noreply.github.com>
Co-authored-by: Coolsurf6 <coolsurf24@yahoo.com.au>
Co-authored-by: SlimSlam <73899110+SlimmSlamm@users.noreply.github.com>
Co-authored-by: Dinner <180707738+DinnerCalzone@users.noreply.github.com>
Co-authored-by: Helm4142 <158806576+Helm4142@users.noreply.github.com>
Co-authored-by: Helm4142 <Helm4142@users.noreply.github.com>
Co-authored-by: kosticia <kosticia46@gmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: August Sun <45527070+august-sun@users.noreply.github.com>
Co-authored-by: august-sun <45527070+august.sun@users.noreply.github.com>
Co-authored-by: NakataRin <45946146+NakataRin@users.noreply.github.com>
Co-authored-by: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
Co-authored-by: Zachary Higgs <compgeek223@gmail.com>
Co-authored-by: TytosB <duanlaintytos@yahoo.com>
Co-authored-by: Orange-Winds <orange.wind@outlook.com>
Co-authored-by: Orange-Winds <sebastian.pelka@hotmail.com>
Co-authored-by: TytosB <dunalintytos@yahoo.com>
Co-authored-by: themias <89101928+themias@users.noreply.github.com>
Co-authored-by: godisdeadLOL <169250097+godisdeadLOL@users.noreply.github.com>
Co-authored-by: YourUsername <you@example.com>
Co-authored-by: James Simonson <jamessimo89@gmail.com>
Co-authored-by: darkdan <145926356+Starbuckss14@users.noreply.github.com>
Co-authored-by: Preston Smith <92108534+thetolbean@users.noreply.github.com>
Co-authored-by: DR-DOCTOR-EVIL-EVIL <hudsonirwin11@icloud.com>
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
Co-authored-by: SpaceRox1244 <138547931+SpaceRox1244@users.noreply.github.com>
Co-authored-by: beck-thompson <107373427+beck-thompson@users.noreply.github.com>
Co-authored-by: VideoKompany <135313844+VlaDOS1408@users.noreply.github.com>
Co-authored-by: sleepyyapril <123355664+sleepyyapril@users.noreply.github.com>
Co-authored-by: BarryNorfolk <barrynorfolkman@protonmail.com>
Co-authored-by: nikthechampiongr <32041239+nikthechampiongr@users.noreply.github.com>
Co-authored-by: Hannah Giovanna Dawson <karakkaraz@gmail.com>
Co-authored-by: pubbi <63283968+impubbi@users.noreply.github.com>
2025-02-06 13:57:14 +03:00
github-actions[bot]
55a8fc4049 @Toby222 has signed the CLA in crystallpunk-14/crystall-punk-14#846 2025-02-06 10:43:07 +00:00
Ed
b5eb3a3dc1 Kick stamina spell (#844)
* kick spell

* kick fix
2025-02-06 12:38:20 +03:00
Emisse
4cc5b5bec1 bagel fix hos locker (#34919)
bagel update
2025-02-06 01:38:08 -07:00
PJBot
6d2e0f57c1 Automatic changelog update 2025-02-06 05:50:48 +00:00
centcomofficer24
a0fe21ac2f Added Genderqueer pin! (Properly this time.) (#34561)
* Added Genderqueer pin! (Properly this time.)

* Update meta.json
2025-02-05 21:49:41 -08:00
PJBot
43da2cc31f Automatic changelog update 2025-02-06 05:11:29 +00:00
Palladinium
001d61c6d5 Add air alarm admin logs (#33426) 2025-02-05 21:10:21 -08:00
Myra
434d1584fc ~~Stable~~ Staging merge for the grinch (#34909) 2025-02-06 01:35:57 +01:00
Vasilis The Pikachu
0c2baf91f3 Update engine properly 2025-02-06 01:18:03 +01:00
Vasilis The Pikachu
36e42fb4b2 Merge branch 'master' of ssh://github.com/space-wizards/space-station-14 into staging 2025-02-06 01:11:50 +01:00
Myra
6824ab4292 Emisse told me I can name it the grinch (#34905) 2025-02-06 00:45:01 +01:00
PJBot
3a3268bad3 Automatic changelog update 2025-02-05 23:13:15 +00:00
keronshb
f964908756 Sec Balance Part 1: Buffs Disabler and Disabler SMG (#34890)
* Increases Disabler Bolt to 47 stamina damage per. Increases fire rate to 3 and lowers shot cost by 50 for practice and disabler

* lowers stam per shot to 40

* increases disabler proj speed to 35

* ACTUALLY 4 shot

* Reverts disabler projectile to be 33 stamina damage per again. decreased disabler fire rate to 2.5 and increased projectile speed to 35. decrease disabler smg fire rate to 3.5

* Fire rate back down to 2
2025-02-06 00:12:07 +01:00
Ed
60737dc36e Freeze spell (#843)
* freeze spell

* Update T0_freeze.yml
2025-02-05 23:48:27 +03:00
Ed
35303d7d80 Guildmaster 2 spells (#842)
* merge movement and gate magic types into darkness new

* demiplane infiltration spell

* Update CP14SharedDemiplanSytem.cs

* finish

* locale
2025-02-05 22:52:50 +03:00
Plykiya
0d9f9e9615 Make hacking energy swords predicted (#34877)
* Make hacking energy swords predicted

* Fix up component, add dirty call

* access

* Dirty Entity<T>

* false
2025-02-05 20:48:28 +01:00
Nim
fed38041e0 pie pumpkin (#841) 2025-02-05 22:39:30 +03:00
PJBot
efa067c126 Automatic changelog update 2025-02-05 16:50:11 +00:00
Farrellka
d0bdbc875e Elf Ears (#33572)
* Elf Supremacy

* Delete old ears

* Review Fix
2025-02-05 08:49:04 -08:00
PJBot
1e7b4140a4 Automatic changelog update 2025-02-05 14:55:52 +00:00
hyperDelegate
54d5ef93ad Reduce NukeOps Reinforcement price from 35TC to 30TC (#34675)
* Reduce NukeOps Reinforcement to 25TC from 35TC

* price adjustment to 30

* Revert "price adjustment to 30"

This reverts commit f337f5a178a344db34a414a47283f43242ea531f.

* revert "price adjustment to 30"

This reverts commit f337f5a178a344db34a414a47283f43242ea531f.
submodule?! YAML preserve me...

* Revert "price adjustment to 30"

This reverts commit f337f5a178a344db34a414a47283f43242ea531f.
submodule!?!? yaml save me

* attempt #2 at changing to 30
2025-02-05 15:54:45 +01:00
PJBot
4964aae503 Automatic changelog update 2025-02-05 14:47:28 +00:00
Booblesnoot42
ded6b46b80 Remove instant cryobed insertion (#34619)
* added optional delay to DragInsertContainerComponent

* comments

* Change EntryDelay on DragInsertContainerComponent to use TimeSpan + cleanup

* changed drag insert container comp to match naming conventions
2025-02-05 15:46:21 +01:00
Nim
bf46e6b5e8 Smoking pipe new (#823)
* pipe

* fix delayed smoke ignition

* sage

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: Ed <edwardxperia2000@gmail.com>
2025-02-05 17:44:34 +03:00
Errant
f2c74ef9d4 Revert "Update ScalingViewport for Engine PR (#28786)"
This reverts commit 3ad83378bb.
2025-02-05 14:15:22 +01:00
Errant
fc80a18c35 Revert "Storage UI V2 (#33045)"
This reverts commit fd25dac720.
2025-02-05 14:13:06 +01:00
Errant
d6a9ddd9e0 Revert "Storage sidebar fix (#34680)"
This reverts commit 3e091c4dfa.
2025-02-05 14:12:52 +01:00
PJBot
214fb2422f Automatic changelog update 2025-02-05 13:09:59 +00:00
Gavin TC
13be8de848 Changed utensil sprites to appear smaller. (#34277)
* Changed utensil sprites to appear smaller.

* Added self to author section

* Added my name and update to copyright section

* Adjusted plastic spoon sprite

* Adjusted spoon sprite
2025-02-05 14:08:53 +01:00
Errant
eb2aa083cc revert engine 2025-02-05 14:00:49 +01:00
K-Dynamic
e9c0338884 Remove Vector assets and renames Vector SMG magazines (#34603)
* remove vector and assets

* reverts vector magazine removal; vector magazines renamed to SMG magazine (.45 magnum)

* remove vector from suspicion loot table

* vector migration set to null
2025-02-05 13:39:26 +01:00
Ed
5e80f98242 Update elemental.yml 2025-02-05 14:24:12 +03:00
Ed
d100ed765b Echoes of voices from the demiplanes (#840)
* split lightdarkness type magic to 2

* signal lights

* finish spells

* demiplane voices echoes

* Update closets.yml

* spells impact relay

* sprite fix
2025-02-05 14:21:12 +03:00
PJBot
16b91ce2ec Automatic changelog update 2025-02-05 08:43:33 +00:00
DuckManZach
2cea673610 Expand variety of strange pills (#34843)
* Added da pills

* Revert "Added da pills"

This reverts commit 3d6b8fce3386107ac4c46543252fc31764a0c1c7.

* Updated to use existing weights, added larger chem variety

* Reweighed charcoal

* Rebalance of certain quantities

* Removed grey matter, weight balancing changes

* corrected comment

* adjusted balance for lead
2025-02-05 00:42:27 -08:00
Nim
4becbd2c12 Frogs (#831)
* frogs

* uee

* yep
2025-02-05 10:51:50 +03:00
PJBot
a725de1477 Automatic changelog update 2025-02-05 03:24:37 +00:00
Whatstone
5092681729 HealingSystem: check blood restoration, staunching (#33526)
* HealingSystem: check blood restoration, staunching

* Milon's suggestions

* beck-thompson's requests
2025-02-05 04:23:30 +01:00
github-actions[bot]
f52116ba3b Update Credits (#34815)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2025-02-05 01:58:38 +01:00
PJBot
5b41728863 Automatic changelog update 2025-02-04 23:27:12 +00:00
Winkarst
265de76c9a Add clientside personal pointlight for observers (#33607)
* Observer personal pointlight

* Bigger light

* combine actions

---------

Co-authored-by: Winkarst <74284083+Winkarst-cpu@users.noreply.github.co>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-02-05 00:26:06 +01:00
PJBot
7478af2d2a Automatic changelog update 2025-02-04 22:59:38 +00:00
Spessmann
26d9f222c4 Adds randomized maintenance rooms to convex station (#34866)
added maints
2025-02-04 15:58:30 -07:00
ToxicSonicFan04
8482767109 Omega Armory Restock (#34810) 2025-02-04 15:57:47 -07:00
Dinner
d9d451d3d8 Fix Oasis evac timer (#34849)
fix oasis evac timer
2025-02-04 15:57:13 -07:00
compilatron
26cff2c980 Plasma evac shuttle timer fix (#34847)
Update emergency_plasma.yml

Co-authored-by: jbox1 <40789662+jbox144@users.noreply.github.com>
2025-02-04 15:56:57 -07:00
Menshin
5af55bbf2b Dehardcoded Space Heaters UI window title (#34884) 2025-02-04 23:56:42 +01:00
SlamBamActionman
e58d031300 Hristov & .60 changes - Hristov Rework, Part 2 (#31662)
* Initial commit

* Updated values to reflect new resistances

* Review fixes

* Review fixes

* LINQ BEGONETH
2025-02-04 22:55:09 +01:00
PJBot
b5125f040c Automatic changelog update 2025-02-04 21:47:58 +00:00
slarticodefast
8035455022 Add binoculars (#34687)
* add binoculars

* tabs evil

* give one to warden

* buff
2025-02-04 22:46:49 +01:00
creamybag
11a4ed5439 creamy shyba (#839) 2025-02-04 23:35:48 +03:00
github-actions[bot]
a406b919f2 @TheShuEd has signed the CLA in crystallpunk-14/crystall-punk-14#839 2025-02-04 20:25:52 +00:00
Ed
e077ddefaf Update Dev.toml 2025-02-04 22:57:15 +03:00
Ed
b2234b7c4a Discord authentification (#819)
* Auth setup

* fixes

* messages

* adapt to new auth

* cvar fix

* generating link setup

* new version adapt

* fix

* Update DiscordAuthManager.cs
2025-02-04 22:44:22 +03:00
Ed
dd6ddf840b Merge branch 'master' of https://github.com/crystallpunk-14/crystall-punk-14 2025-02-04 19:42:24 +03:00
Ed
a2cd7754f7 Update Dev.toml 2025-02-04 19:40:21 +03:00
Ed
d1cb8584bc Update Dev.toml 2025-02-04 19:37:35 +03:00
ActiveMammmoth
6a017ef17b Mind Swap Fix (#33553)
* Stores owned by mind instead of body

* Requested changes, traitor uplink fixed

* Store, listings fixed and now use Entity<MindComponent>

* Removed duplicate code

* test change

* test change 2

* back to mind entityuid

* MilonPL requested minor changes

* ScarKy0 requested changes
2025-02-04 17:25:54 +01:00
PJBot
1d5b01190d Automatic changelog update 2025-02-04 16:12:55 +00:00
pubbi
a71a79d785 Fixed bola effect stacking (#34723) 2025-02-04 11:11:46 -05:00
Ed
543d45ee04 Normal quartz returns (#838)
* return of normal quartz

* Update furnace.yml
2025-02-04 17:57:05 +03:00
Killerqu00
e876befe0e Merge branch 'master' into DONOTMAPTEST 2025-02-04 12:56:47 +01:00
PJBot
d531a9db9c Automatic changelog update 2025-02-04 07:53:17 +00:00
Ps3Moira
b2a6d5c1b0 Cabinetification (#34293)
* Resprite Boxes and Icons + Remove Boxes

* Update Meta

* Update Flatpacks

* Update Shotgun Ammo Boxes

* Remove Leftover Ammo Box Icons

* Update Donk Pocket Boxes

* Update Briefcase

* Update Happyhonk + Remove Open Sprites

* Update Medal Case

* Update Cigarette Packs

* Update Cigarette Cartons

* Update Medkits

* fix positioning for medkits

* Update Junk Medkit

* Update Present

* Tweak Rad and Burn Medkits

* Tweak Briefcase

* Update Toolboxes

* Update Decoy Boxes

* Fix Meta for Healing toolbox

* Update Cow tool box

* Update Donut Box

* Removal of left over rubber bullet sprites and duplicate ammo box sprites

* Removal of Duplicate Ammo Boxes

* Update .20 rifle ammo box

* Update .35 ammo box + fix meta

* Update .45 magnum ammo box Sprites

* Update .25 caseless ammo

* Remove leftover box

* Update cargo_service.yml

* Fix Icon Cigs

* fix big .20 ammo box

* Update Black Cigs Pack

* Update Cig Placement

* Update Blue Cigs

* Update Cig Packs

* Re-Add Big Ammo box for the USA guns vending machine lol

* Remove 10x24 mention in migration.yml

* Update Big Cig Cartons

* Remove Toolbox Changes
2025-02-04 00:52:10 -07:00
PJBot
df56b67ba8 Automatic changelog update 2025-02-03 23:34:21 +00:00
Smith
2ffe539ba2 contrabandInventory Changes (Fixed) (#32934)
* Reimport of .yml files, edit to medidrobe.yml

* Fixed typo for "Richard" in AutoDrobe contrabandInventory

* contrabandInventory Revision

* Add a spare bible to PietyVend (#32363)

Update chapel.yml

* Bible to normal inventory, not contraband

* Balance changes based on maintainer feedback.

* VendoMat change to Proximity Sensor and Borg Arm.

* Revert "VendoMat change to Proximity Sensor and Borg Arm."

This reverts commit 44c68daaaedeea26f9376db7f65d1e01771a761e.

* PR Rebase, Fixing Reversion

* seeds.yml Bungo Seeds swapped for Tobacco Seeds.

---------

Co-authored-by: Jarmer123 <148848017+Jarmer123@users.noreply.github.com>
2025-02-03 15:33:14 -08:00
ActiveMammmoth
ca4e99b819 Store Test Change (#34844) 2025-02-03 17:11:06 -05:00
UpAndLeaves
a4599f6d60 fixed effect string typos (#34858)
fixed typos
2025-02-03 22:29:43 +01:00
PJBot
4476b1e64b Automatic changelog update 2025-02-03 21:23:30 +00:00
keronshb
3d6188c921 DSword Replacement - the Hypereutactic Blade (#32414)
* hypereutactic textures

* adds hypereutactic blade

* adjusts attack speed and damage

* adjust attack speed and adds movement modifier

* Adds structural damage

* Readjusts the attack rate to be 0.8

* Adds Hypereutactic blade to the upliink

* Adds use delay and structural damage, fixes disappearing wielded sprite

* Changes wideAngleAnimation to 180 and range to 2.5

* Adds copyright. Changes range to 2.0

* Required wield

* Changes reflect chance to 100%

* Comments for future todos

* Description update

* Removes duplicate mapping

* removes from uplink

* Reorder and remove indents
2025-02-03 22:22:21 +01:00
Ed
344d99dabb hunger damage experiment 2025-02-03 17:36:56 +03:00
Ed
3227459231 Merge branch 'master' of https://github.com/crystallpunk-14/crystall-punk-14 2025-02-03 17:36:23 +03:00
Ed
478b927e2b copper prices fix 2025-02-03 17:32:47 +03:00
Ed
4aea4b853c Minor procedural fixes pack (#837)
* demiplanE

* Update EntityTest.cs

* Update DungeonSystem.Rooms.cs

* Update EntityTest.cs
2025-02-03 17:09:09 +03:00
PJBot
f8c203ba0a Automatic changelog update 2025-02-03 01:05:11 +00:00
DieselMohawk
8b56f6f1e9 Security Shield Naming Structure Inconsistency Change (#34841) 2025-02-02 20:04:04 -05:00
slarticodefast
87fa6a3b74 Revert "Add taped logo back for 10th anniversary" (#34831) 2025-02-02 23:33:02 +01:00
SlamBamActionman
f25720124a Fix hitting through directional windows (and more!) (#34793) 2025-02-02 23:03:31 +01:00
pubbi
82bd0a291d Allowed windows to be properly clicked on (#34751) 2025-02-02 23:02:24 +01:00
Errant
f34233a074 HOTFIX revert lecter visual update #34589 (#34826) 2025-02-02 22:59:45 +01:00
Errant
7579620459 HOTFIX update staging submodule to 242.0.1 (#34833) 2025-02-02 22:56:16 +01:00
UpAndLeaves
20f5cbf3fd Fixed Wehxplosion yaml error (#34837) 2025-02-02 22:31:32 +01:00
PJBot
c52ff59e96 Automatic changelog update 2025-02-02 20:01:35 +00:00
ScarKy0
8d1a300b57 [Admin] Omni Accent Smite (#34824)
gods forgive me
2025-02-02 21:00:27 +01:00
Plykiya
75e469738c Fixes debug assertion crash when inserting cash (#34812) 2025-02-02 20:39:23 +01:00
Plykiya
28709fdc72 Fixes debug assertion thrown when chopping logs (#34814) 2025-02-02 20:39:02 +01:00
Plykiya
95b863dd2b Fixes debug assertion thrown when spiking with pills (#34813) 2025-02-02 20:38:34 +01:00
keronshb
c82f77ef07 Wizard Touch Spells (Smite, Cluwne's Curse, Slippery Slope) (#34531)
* Renames Smite Spells yml to Touch Spells and Renames Smite Spells region to the same

* Adds wizard clothes requirement to Smite. Adds Cluwne spell. Adds EnsureCompOnTouchSpellEvent and implements it in the magicsystem

* Adds Smite and Cluwne to the grimore and loc for them

* Adds Slippery Slope spell and SlipOnCollide

* Adds handled for comp spell event

* Removes super slippery

* Removes EnsureCompOnTouchSpell it was redundant with ChangeComponentsSpellEvent

* Makes requirement-free action for smite

* checks if we should be slipping what we touch

* Removes SlipOnCollide, adds negative speed for steptrigger

* Removes slip on collide adds negative speed for steptrigger
2025-02-02 20:23:41 +01:00
Utmanarn
2991f1ad40 Reworded the "SAY HEY LISTEN" silicon law (#34819)
* Changed law

Changed a must always law to have wording that does not encourage message spamming.

* Fixed a mistake

Forgot to remove the "YOU MUST ALWAYS" from the commit.

* Reworded the law

Reworded the law to be more open the other potential options.
2025-02-02 20:13:58 +01:00
Tayrtahn
eeccdbf038 Fix diona plushie bloom visuals (#34832) 2025-02-02 20:12:23 +01:00
Ed
c0275238ac Update CP14DemiplaneGeneratorDataComponent.cs 2025-02-02 15:30:34 +03:00
Ed
3437830a78 admin demiplanes catcher (#835) 2025-02-02 15:24:34 +03:00
Ed
445fd1e1b9 Update CP14ModularCraftPartPrototype.cs 2025-02-02 13:23:57 +03:00
Ed
b2a20da722 some sprite patch 2025-02-02 13:07:50 +03:00
metalgearsloth
26f6a15fbb Update submodule to 242.0.1 (#34817) 2025-02-02 13:44:53 +11:00
PJBot
67e66644f1 Automatic changelog update 2025-02-02 01:39:09 +00:00
Tayrtahn
a238f71540 Ghost orbit jitter fix (#34797)
* Only randomize orbit parameters once

* Revert "Only randomize orbit parameters once"

This reverts commit e828c51e66600bf11b66308169da1d1daf7501e3.

* Derive orbit properties from current time

* Derive orbit progress from current time

* Remove now-unused orbit animation

* Remove OrbitVisualsComponent.Orbit as it is no longer used

* Update AnimationPlayerSystem method calls to Entity<T> versions
2025-02-02 02:38:02 +01:00
PJBot
4864d4770e Automatic changelog update 2025-02-02 01:01:38 +00:00
Minty642
4aaa7baa7f Add Reagent gold and silver solification with frost oil (#33239)
* Add Reagent gold and silver solification with frost oil

* Update Resources/Prototypes/Recipes/Reactions/fun.yml

* Update Resources/Prototypes/Recipes/Reactions/fun.yml

* edit frostOil value

* Update Resources/Prototypes/Recipes/Reactions/fun.yml

* Update Resources/Prototypes/Recipes/Reactions/fun.yml

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-02-02 02:00:31 +01:00
Ed
a6262a471d Resprites + Satchels (#834)
* magic essence experiment

* demiplane key resprite

* some resprites

* guard commander cape

* vat and cauldron resprite

* flint resprite

* satchels!
2025-02-02 03:29:55 +03:00
PJBot
3fa83d8dad Automatic changelog update 2025-02-01 21:20:34 +00:00
ToxicSonicFan04
763136f09e Armory Packed update. (#34808) 2025-02-01 14:19:28 -07:00
Spessmann
6beb8e4d35 Randomized maints rooms (#33619)
* became real

* should fix it

* added moar
2025-02-01 17:52:32 +01:00
PJBot
ce10a1b8c6 Automatic changelog update 2025-02-01 15:21:08 +00:00
Boaz1111
db1b0a9144 Separates frost oil into coldsauce and frost oil (#34458) 2025-02-01 09:20:01 -06:00
Ed
8e1d310a8e Guildmaster YML implementation + Clothing pack (#832)
* banker clothing resprite

* dinazewwr

* commandant cape resprite

* guildmaster cloak

* Guildmaster loadout

* guildmaster job icon

* key locks work

* map update

* guildmaster keys

* guildmaster stamp

* update guildmaster house

* track demiplanes

* player death track

* localization

* guildmaster objective

* Update empire_orders.yml

* fix

* fix map
2025-02-01 17:52:01 +03:00
PJBot
c139701830 Automatic changelog update 2025-02-01 12:11:28 +00:00
NazrinNya
207aa5fb38 Replacing protein with razorium in flesh kudzu (#32821)
* Update kudzu.yml

* FleshKudzu also contains a little of protein now

* oop-

* add meat tag

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-02-01 13:10:20 +01:00
PJBot
79ef8a51d5 Automatic changelog update 2025-02-01 06:36:42 +00:00
ToxicSonicFan04
59e53dc025 Box Chemistry change (#34803) 2025-01-31 23:35:36 -07:00
PJBot
efa77f4f2a Automatic changelog update 2025-02-01 06:33:48 +00:00
Nox
9e9c9b94eb Marathon Armory Restock (#34798)
* Initial commit

* fixed a issue

* finished
2025-01-31 23:32:41 -07:00
PJBot
b61b24db47 Automatic changelog update 2025-01-31 23:40:28 +00:00
Nox
36225188d7 Rename shields (#34794) 2025-01-31 18:39:21 -05:00
PJBot
b33590c4b5 Automatic changelog update 2025-01-31 17:42:58 +00:00
themias
b2299bf0fa Update shutter sounds (#34774) 2025-01-31 18:41:51 +01:00
Ed
ca2e378c8a Update furnace.yml 2025-01-31 18:40:49 +03:00
Ed
3f70d8600c Fixes (#824)
* delete round seed

* delete worldEdge locale

* Update CP14BiomeSpawnerSystem.cs

* nails to 50 max stack

* wood planks stack increase

* flora material stack edit

* Update EntityTest.cs

* Update EntityTest.cs
2025-01-31 18:24:54 +03:00
āda
6a5a5c74cc Criminal records bugfix (#34747)
commit
2025-01-31 15:56:55 +01:00
Jessey van Hoeijen
c8c0821a23 Fix stunbaton component namespace (#34790)
* Fixed incorrect namespace

* .Components was weird so I removed it
2025-01-31 15:43:07 +01:00
slarticodefast
d45b713258 Merge staging into master (#34788) 2025-01-31 14:29:41 +01:00
Hannah Giovanna Dawson
60f531b637 #34771 Fix door system assuming all door layer states are in single RSIs (#34775)
* #34771 Fix door system assuming all door layer states are in single RSIs

* Delta confirmed monarch of sloggery

* Do a dirty, rotten web edit

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

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-01-31 13:46:35 +01:00
PJBot
9edfaa66b6 Automatic changelog update 2025-01-31 12:00:45 +00:00
SlamBamActionman
b07327cc2f Tweak pill eat delays (#34764)
Initial commit
2025-01-31 12:59:38 +01:00
Ed
b3eed32588 Workbench Refactor (#826)
* Workbench refactor

* fixes

* update all recipes protos

* scrap resprite

* scrap melting

* scrap weapon drop

* demiplane loot update

* weapon parts melting

* fix

* boilerplate

* material localization
2025-01-31 14:47:51 +03:00
FungiFellow
60c3c8f147 Removed MoMMI from AI name list (#34785)
Update ai.ftl
2025-01-31 13:53:30 +03:00
PJBot
1110397b30 Automatic changelog update 2025-01-31 07:24:11 +00:00
Nox
ef238200f5 Box Armory Restock (#34750)
* initial commit

* Initial commit

* fixed some things

* Finished changes
2025-01-31 00:23:03 -07:00
Nox
aa71ace43f Meta Station - Armory restock + fixes (#34717)
* Initial commit

* Updated

* Finished changes

* made the minefield signs outside sec much more visible to stop your skill issue.
2025-01-31 00:22:52 -07:00
github-actions[bot]
d2dd818b33 @KittenColony has signed the CLA in crystallpunk-14/crystall-punk-14#827 2025-01-31 01:19:14 +00:00
PJBot
b7d3c08ca5 Automatic changelog update 2025-01-31 00:11:43 +00:00
keronshb
6565ba52b2 Void's Applause (#34591)
* Adds single clap emote

* Adds missing single clap loc

* Adds void blink effects, sound, and sprite

* Adds VoidApplauseEvent and implements it into the Magic System and Grimoire

* Removes commented Spawn code in Shared Magic System. Adds comments to replace pointlight with a negative light in the future.

* Makes spells Mono

* Changes to swap positions.

* Makes Void Applause target body only

* Update Content.Shared/Magic/Events/VoidApplauseSpellEvent.cs

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

* Update Content.Client/Magic/MagicSystem.cs

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

* Update Resources/Audio/Effects/Emotes/attributions.yml

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

* Update Resources/Prototypes/SoundCollections/emotes.yml

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

* Update Content.Shared/Magic/Events/VoidApplauseSpellEvent.cs

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

* Removes duplicate effect spawning from server

* Puts Void Applause effect on server, lets lizards hear clap

* Adds single clap to diona

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-01-31 01:10:35 +01:00
Zachary Higgs
abcd68273b Fake Mindshield Implant cleans itself up on draw (#34718)
* Implant cleans itself up on draw

- add an event to relay to an implant that it's being drawn,
to tell it to clean itself up

- Give Fake mindshield a cleanup method, to remove the component added
fixing a problem where the icon persists after implant draw

* Remove extra whitespace

* CR Switch to using ContainerRemovedMessage
2025-01-30 20:14:53 +01:00
nikthechampiongr
aa83689b1b Implement mrp rule changes pursuant to community votes (#34772) 2025-01-30 20:06:42 +01:00
PJBot
6b62257d32 Automatic changelog update 2025-01-30 17:49:17 +00:00
beck-thompson
dd252e6277 Fixed: Ore now correctly drops the right amount of ore (#34557)
Fixed bug
2025-01-30 18:48:11 +01:00
PJBot
992d69549d Automatic changelog update 2025-01-30 17:37:18 +00:00
K-Dynamic
1cbfc7d652 Minor shotgun changes and comments for future changes (#33512)
* kammerer ammo, firerate and comment

* bulldog description

* enforcer description and comment

* DB and sawn-off firerate parity, sawn-off comment

* description changes

* reduce kammerer firerate again
2025-01-30 09:36:12 -08:00
PJBot
5fbda2ab32 Automatic changelog update 2025-01-30 17:28:43 +00:00
BarryNorfolk
18592148f7 Add history tab to bounty console (#33932)
* Add struct for holding historical data on cargo bounties

* Add localisation strings for bounty history

* Add new XAML entry for display bounty history

* Expand cargo bounty menu to include tabs

* Ensure station databases hold historical bounty data

* Add to the bounty history when removing one from active

* Feed bounty history into cargo's bounty system

* Move tab title setting to constructor

* Remove redundant access specifications

* Remove un-needed override

* Fixup BountyHistoryEntry backing code

* Fix formatting in CargoBountyMenu

* Reformat BountyHistoryData

* Rework TryRemoveBounty to use new Entity type

* Add Enum for showing bounty results

* Rework look and feel of History tab

* Add visible text when no bounties have been completed yet

* Remove control

* Swap default to null

* Reverse ordering of bounties so last entry comes first

* Remove redundant Visible

* Move enum docs into the enum
2025-01-30 09:27:36 -08:00
Milon
5be5ee9832 fix BankClientComponent never updating (#33123)
* fix

* oh right
2025-01-30 17:49:03 +01:00
PJBot
d7d91ebf63 Automatic changelog update 2025-01-30 13:35:11 +00:00
sleepyyapril
5af13ae807 Fix Double Muzzle Flash (#33981)
* Pass user to effects to properly fix double muzzle flash.

* Use gun when user is null.

* Update MuzzleFlashEvent.cs

* Update MuzzleFlashEvent.cs

* Update GunSystem.cs

* Update SharedGunSystem.cs

* Update MuzzleFlashEvent.cs

* Update SharedGunSystem.cs

* Update SharedGunSystem.cs

* Update Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs

Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>

---------

Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
2025-01-30 14:34:05 +01:00
ScarKy0
ca297f576e Serializable emag flags (#34766)
* serializable idk

* guh
2025-01-30 14:15:01 +01:00
Ed
176267ef7b OOC Relay experiment (#821) 2025-01-30 15:42:03 +03:00
c4llv07e
dbbfab14dc More robust Particle Accelerator menu (retry) (#34037)
Particle Acceleratir fixed

Co-authored-by: VideoKompany <135313844+VlaDOS1408@users.noreply.github.com>
2025-01-30 13:24:55 +01:00
beck-thompson
bc1d6420af After getting banned, you now have to re-read the rules! (#33270)
* first commit

* opps

* Reset cooldown instead

* Added ccvar

* Not replicated!
2025-01-30 13:09:31 +01:00
PJBot
cd46a39358 Automatic changelog update 2025-01-30 12:07:48 +00:00
SpaceRox1244
cccdd8875e Adjust inventory size of ginormous scrap (#33454)
Adjusts the size of ginormous scrap to fit in bags of holding
2025-01-30 13:06:41 +01:00
PJBot
21ed0da697 Automatic changelog update 2025-01-30 11:35:39 +00:00
Velken
c360a97e3b Juice that makes you go boom (#34730)
* Juice that makes you go boom

* moved explosive juice to fun yml - fixed ExplosionReactionEffect.cs not having TileBreakScale parameter - made Drazil plushie major contraband (they are evil!!!!!)

* removed JASON!!!! JASOOON!!! JASON!!!

* don't do commits at 1am

* Update fun.yml

fix ident

* no more bullying the server (only 1 explosion)
2025-01-30 12:34:32 +01:00
Ed
8c42cdbbdf Stackable ore (#820)
* ore stacks

* Update ores.yml
2025-01-30 13:48:42 +03:00
TytosB
036bf9e857 Loop station minor tweaks (#34758)
* small fixes

* eee
2025-01-30 00:12:30 -07:00
Milon
3a51f11cb2 make RefreshOverlay default to the player session (#32354) 2025-01-30 16:09:25 +11:00
PJBot
f4c648f316 Automatic changelog update 2025-01-30 04:47:02 +00:00
August Sun
4085fe70e8 The Goliath Hardsuit (#34721)
* Entities for hardsuit and helmet, graph and crafting recipe; modifies goliath hide drop rate

* Added hardsuit sprites, corrected some crafting YAML

* fixed crafting recipe, adjusted resource requirements

* Added durathread material req

---------

Co-authored-by: august-sun <45527070+august.sun@users.noreply.github.com>
2025-01-29 20:45:56 -08:00
PJBot
163a55c1ff Automatic changelog update 2025-01-30 04:43:05 +00:00
Southbridge
1af53b1e8d Astro Asteroid Sand (#34463)
* Added astro asteroid sand

* fixed the stack name

* adjusted tile sprites for asteroid and ice

* Adjusted meta.json

* Realized the other tile sprites all have solid lines on their perimeters

* Update Resources/Prototypes/Stacks/floor_tile_stacks.yml

that works

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

* Update tiles.yml

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

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

* adjusted the snow sprite

* Update meta.json

---------

Co-authored-by: Thomas <87614336+Aeshus@users.noreply.github.com>
2025-01-29 20:41:58 -08:00
PJBot
a13eaa37f2 Automatic changelog update 2025-01-30 04:06:53 +00:00
ScarKy0
253a9fbdf1 Seperate EMAG into EMAG and Authentication Disruptor (#34337) 2025-01-29 23:05:47 -05:00
DR-DOCTOR-EVIL-EVIL
60e83376ef Update cigarette.yml (#34756)
simple change to one of Dan's Smokes that fixes a typo.
2025-01-29 20:42:22 -07:00
PJBot
e286baa3fa Automatic changelog update 2025-01-30 02:45:52 +00:00
Spessmann
a07df05858 New Highpop map: Convex recreational complex (#33346)
* start ig

* command work +AI

* finished bridge, added signs to departments

* engi partly done

* finish engi + atmos except for cams

* added med yippie

* carGODO

* nerd department finished

* se(x)c finish

* courtroom + service power

* man im tweaking out

* service propa done

* hallways

* added cams everywhere and named all the doors :pain:

* arrivals maints + exterior catwalk

* more maints

* voxob

* draft done

* holopadpilled + gaspipesensor based

* added convex name everywhere it needed to be

* nvm i guess we dont do oxford comma

* redid ALL THE HGOLOPADS FAAAAAAAAAAAAAAAAAAAAA

* Fix conflicts?

* ok let me try something

* this works right?

* atmos updated + jani lights

* uniform hallway tiles +roundstart TEG

* fixed some hidden atmos stuff

* Update map_attributions.txt

* :finnadie: no map review ...

* the fog is coming

* maints theater redone

* light dirt and the murder of most trims

* 💔

* decal based and tileoverlay pilled

* updated arrivals/library

* bungus

* yvgh

* 6 hours later...

* finished for real?
2025-01-29 19:44:45 -07:00
PJBot
54ce3d7d46 Automatic changelog update 2025-01-30 00:15:09 +00:00
Preston Smith
84328eee6b Syndicate and CentComm Radio Implanters (#33533)
* Add Syndicate Radio Implant

* Fix description grammar

* remove unused var

* Update - Small fixes

* Un mess with imports

* Remove unused tag

* Correction

* Clear lists instead of remove

* Update 0 check

* Add Centcomm implant

* Correct centcom channel

* Correct params

* No more crying

* Update Content.Shared/Implants/Components/RadioImplantComponent.cs

* Update Content.Server/Implants/RadioImplantSystem.cs

* Update Content.Server/Implants/RadioImplantSystem.cs

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-01-30 01:14:00 +01:00
slarticodefast
e938512713 Fix shuttle console angular velocity (#34748) 2025-01-30 10:24:46 +11:00
TytosB
9319e09984 reworking chem and adding psychology to loop (#34749)
* aaa

* little tweaks

* changed to grid and added to protos

* ccc

* we dont talk about it

* ddd

* aaa

* psychology real

---------

Co-authored-by: TytosB <dunalintytos@yahoo.com>
2025-01-29 15:07:46 -07:00
Ed
2383bfdf08 fix roles folders 2025-01-29 21:23:28 +03:00
Ed
0546a08087 Update mobs.yml 2025-01-29 21:10:28 +03:00
Ed
af2466f0fa Update mobs.yml 2025-01-29 17:47:09 +03:00
Nim
0463798b33 fix (#818) 2025-01-29 17:17:35 +03:00
Ed
da75258f9f Fix RoleTimeRequirement localization (#34735)
* fix job restriction localization

* Update Content.Shared/Roles/JobRequirement/RoleTimeRequirement.cs

* Update Content.Shared/Roles/JobRequirement/RoleTimeRequirement.cs

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-01-29 14:23:34 +01:00
lzk
467b68690b fix stop bleeding popup (#34729)
* fix stop bleeding popup

* add identity
2025-01-29 14:13:50 +01:00
metalgearsloth
5fe94f8811 Update submodule to 242.0.0 (#34739) 2025-01-30 00:01:21 +11:00
Killerqu00
32f7ea6c29 slight text adjustment 2025-01-29 13:24:14 +01:00
Leon Friedrich
3ad83378bb Update ScalingViewport for Engine PR (#28786) 2025-01-29 22:48:21 +11:00
Killerqu00
d15a770078 convert it to entity category 2025-01-29 12:22:38 +01:00
PJBot
786d3be881 Automatic changelog update 2025-01-29 10:36:29 +00:00
darkdan
c3f1f7158b Added some more borg names (#32502)
added a handful of new names
2025-01-29 13:35:22 +03:00
James Simonson
b9424386c7 Criminal Records Computer Better UX + Filtering (#32352)
* First pass at new Criminal Records Computer

need buttons to highlight.

* Filter status tabs/buttons now activate correctly via UpdateState

* Removed unneeded Directives

* Fix typo + undo VSCode changes

* Implement Emo Feedback

Loc NA and use inject deps
Cannot use inject deps on sprite system.

* try to undo vscode launch.json change

* Added requests + Filter dropdown list + jobs

Fixed maintainer fix requests,
Added Job to announcement channel output
Removed toggle buttons in-place of a dropdown list

* Fixed missed merge conflict

+ fixed an bug with filterstatus not showing on re-open ui

* Update criminal-records.ftl

Fixed lint error. whoops.

* Update Content.Server/CriminalRecords/Systems/CriminalRecordsConsoleSystem.cs

typo

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

* impliment chromiumboy feedback

hopefully this will do it....

---------

Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>
2025-01-29 13:34:49 +03:00
godisdeadLOL
aea4e3cdbd Sentient medibot now can inject (#32110)
medibot player injection

Co-authored-by: YourUsername <you@example.com>
2025-01-29 13:34:01 +03:00
Errant
a480c22381 Nukie briefing fix (#34737)
payloadpayloadpayloadpayloadpayloadpayload
2025-01-29 13:25:50 +03:00
slarticodefast
55ee0a44e0 Fix vulture spawning additional salvage debris (#34593)
fix vulture spawning additional salvage debris
2025-01-29 13:12:36 +03:00
PJBot
ebf045e3a3 Automatic changelog update 2025-01-29 10:12:14 +00:00
themias
8a12017cfd Fix thrust animation rotation (#34713)
* Fix thrust animation rotation

* directly update sprite instead
2025-01-29 13:11:08 +03:00
PJBot
f743ec14b1 Automatic changelog update 2025-01-29 09:05:54 +00:00
Southbridge
55bffa864a Nuke Timer MinimumTime (#34734)
* Implemented the thing

* Made requested changes
2025-01-29 10:04:45 +01:00
PJBot
1f57f0566e Automatic changelog update 2025-01-29 08:42:53 +00:00
Emisse
bde4e32734 drozd visual update (#34574)
* drozd visual update

* fix wielded sprotes

* update sprotes
2025-01-29 01:41:45 -07:00
TytosB
bb99ff2f9d Buff savlage vault-medium-1's loot (#34732)
* aaa

* little tweaks

* changed to grid and added to protos

* ccc

* we dont talk about it

* ddd

* aaa

---------

Co-authored-by: TytosB <dunalintytos@yahoo.com>
2025-01-28 23:26:56 -07:00
TytosB
565ba4ad85 New salvage ruin: the ruined prison ship (#34651)
* aaa

* little tweaks

* changed to grid and added to protos

* ccc

* we dont talk about it

* ddd

---------

Co-authored-by: TytosB <dunalintytos@yahoo.com>
2025-01-28 22:14:39 -07:00
compilatron
67812cefad Removes radioactive suppermatter from Plasma Station (#34726)
Removes radioactive suppermatter

Literally 1984 can't have shit on SS14 e.t.c. e.t.c.

Co-authored-by: jbox1 <40789662+jbox144@users.noreply.github.com>
2025-01-28 19:21:02 -07:00
Ed
ad9813cace ice caves demiplane (#817)
* ice caves demiplane

* more things can spawn on snow

* Update base.yml

* fix guidebook quartz

* ice island demiplane

* xeno turret demiplane mobs
2025-01-29 00:48:11 +03:00
Orange-Winds
d1c98b0399 Oasis: add some emergency O2/N2 lockers (#34715)
Added O2, N2, and Fire lockers to Oasis station as per discussions in the issue thread

Co-authored-by: Orange-Winds <sebastian.pelka@hotmail.com>
2025-01-28 13:48:56 -07:00
Alfred Baumann
afb884b407 Add disposal units to marathon chapelroid (#34709)
add disposal units to marathon chapelroid
2025-01-28 13:44:57 -07:00
PJBot
b422d08cc9 Automatic changelog update 2025-01-28 18:56:16 +00:00
K-Dynamic
c71a995555 Stun baton precise attack thrust animation (#34693)
use weaponarcthrust instead of wide swing on single attack
2025-01-28 19:55:08 +01:00
PJBot
f69f5c1d01 Automatic changelog update 2025-01-28 17:32:19 +00:00
ArtisticRoomba
2e03ef1dfb Buff frezon to acceptable values, pending a frezon rework (#34049)
buff frezon
2025-01-28 18:31:10 +01:00
Ed
63e03ae7af unique quartz energy crystals 2025-01-28 20:29:50 +03:00
Killerqu00
02f7dad6f3 Thou shall not map items with "do not map" suffix 2025-01-28 17:42:17 +01:00
Ed
2bb465cb8b Different crystals type update (#816)
* crystals update

* fixes

* fixes

* hehehe
2025-01-28 18:05:15 +03:00
Ed
42627a0c33 Random content (#815)
* demiplane crystal sprite update

* fix demiplane astral haze vanilla

* fix infinity money stacking

* rabbits outbreak!

* fix meta

* fix rga

* fix CLRF

* move subterranean leap action to actions folder

* Update audio.yml

* Update natural.yml

* restore lzk commit

* fix endscreen text

* fix goblin displacement, fix #809

* Update kudzu.yml
2025-01-28 13:04:10 +03:00
ArtisticRoomba
bd34568411 Fix airsensors not having a nitrogen threshold (#34689) 2025-01-28 10:44:56 +01:00
Emisse
6287cd86af bagel update (#34690)
* bagel update

* fixe

* move tesla gen
2025-01-27 22:00:57 -07:00
Emisse
7594ed5ae2 loop update (#34688)
loop loot gone
2025-01-27 20:30:14 -07:00
TytosB
3d3b95a1eb reworking the chunked telecomms salv ruin (#34529)
* aaa

* bbb

* ccc

* ddd

* switched to grid

* pain

---------

Co-authored-by: TytosB <duanlaintytos@yahoo.com>
2025-01-27 19:48:06 -07:00
PJBot
f42ed326a6 Automatic changelog update 2025-01-28 02:38:52 +00:00
Zachary Higgs
c5045883ac Fake mindshield componentry and Implanter (#34079)
* Fake Mindshield (With some bad sprites)

- Add FakeMindshield System and Component

- Add FakeMindsheildImplantSystem and Component

- modify ShowMindShieldIconsSystem to check for FakeMindshields

- add all supporting yaml for the Implants, action and uplink

- add loc file stuff

- add unfinished sprites

* Cleanup, add to thief toolbox, remove metagame

- Move Implant sameness check to AFTER the implant DoAfter
to prevent instant identification of Deception Implants

- cleanup the systems and components

- add the fake mindshield to the Thief toolbox

* part 1 of fixing the folder problem

* Make the fakemindshield sprite folder lowercase

* CR - Move ImplantCheck into shared, cleanup

- Moved ImplantCheck and eventsubscription into Shared

- Remove Client/Server extensions of FakeMindshieldImplantSystem and
FakeMindShieldSystem and make shared Sealed

- make OnToggleMindshield Private, use the event!

* CR - Cleanup extra lines, fix some Prototype

- cleaned up extra liens in ImplanterSystem and
SharedFakeMindshieldSystem from when i was developing

- Uplink catalog no longer lists the implant in 2 spots,
only implants now, also uses the On state action icon

- added a comment about why it's reraising the action event
rather than directly interacting with the FakeMindshield Component

* Fake Mindshield CR:

- Added a comment about IsEnabled

- moved OnFakeMindShieldToggle to Entity<> from Uid, Comp

- fixed some formatting in uplink_catalog

* CR - Add a bit more comment
2025-01-27 18:37:46 -08:00
Southbridge
c212273301 Amber Station Stuff (#34686)
* Removed salv upper docking airlock, gave south west solars some uranium glass.

* Routed HV wire through maints more, gave disposal blast doors a lever, added beacons and signs to escape pods
2025-01-27 17:54:48 -07:00
PJBot
18cc84a4a8 Automatic changelog update 2025-01-27 23:21:52 +00:00
SlamBamActionman
5c782d3028 Add conditional camera offset based on cursor - Hristov Rework, Part 1 (#31626) 2025-01-28 00:20:45 +01:00
metalgearsloth
3e091c4dfa Storage sidebar fix (#34680) 2025-01-28 10:09:52 +11:00
Alfred Baumann
69eccc4e92 Add more escape pods on Packed (#34628)
* add escape pods north and south of station

* move south escape pod a bit to the east
2025-01-27 16:03:40 -07:00
NakataRin
cab98717ed Omega: fix cryo pipe (#34663)
fixed the freezer pipe in cryo room
2025-01-27 16:02:45 -07:00
PJBot
0b78e17c30 Automatic changelog update 2025-01-27 19:43:34 +00:00
ArtisticRoomba
98c606d760 Engineering guidebook megaupdate v2 (#33062)
Significantly updates the Engineering guidebook (more explicitly the Atmos section) to have a lot more relevant and useful information.

Right now engineering has been getting update after update with no real change to the relevant guidebook entry. This has lead to a lot of out of date information and bad practices being prevalent in the guidebook, something that pains me to read.
2025-01-27 11:42:27 -08:00
PJBot
24486da85b Automatic changelog update 2025-01-27 18:49:55 +00:00
August Sun
be5b20e416 Added the ability for pAIs and station maps to be stored in engineering belts (#33048)
Co-authored-by: august-sun <45527070+august.sun@users.noreply.github.com>
2025-01-27 19:48:44 +01:00
eoineoineoin
b1f83fb707 Make crew monitor update blips at consistent rates (#32555) 2025-01-27 18:37:35 +01:00
Milon
d1b2884028 update .editorconfig (#34677) 2025-01-27 18:10:26 +01:00
Ed
d3a5d232ac Update blacksmith.yml 2025-01-27 18:42:44 +03:00
Ed
25fba3036a Revert "Fix match box" (#34681)
Revert "Fix match box (#34632)"

This reverts commit 88456a4a8c.
2025-01-27 17:27:58 +03:00
Ed
af182db79e Another assets relicense (#814)
* TheShuEd assets relicensing

* Max Gab mass relicensing

* omsoyk mass relicensing

* Prazat mass relicense

* Jaraten mass relicensing

* Update meta.json

* jaraten part 2

* finalize

* validation

* unrelated fixes

* Revert "jaraten part 2"

This reverts commit b39ee0cdb9.

* Revert "Jaraten mass relicensing"

This reverts commit 44febae380.

* Revert "validation"

This reverts commit 3d2f388f47.

* Revert "finalize"

This reverts commit 775f21a18d.

* final fix
2025-01-27 16:03:13 +03:00
PJBot
cf40804fb8 Automatic changelog update 2025-01-27 12:45:23 +00:00
metalgearsloth
5733b47f06 Add puddle drawdepth (#32369)
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-01-27 23:44:16 +11:00
metalgearsloth
79f8ea0572 Update submodule to 241.0.0 (#34678) 2025-01-27 21:53:30 +11:00
PJBot
66d979462c Automatic changelog update 2025-01-27 10:35:27 +00:00
Coolsurf6
012c835559 Added Pain Numbness Trait (#34538)
* added pain-numbness component and system

* added numb as a trait that pulls the pain numbness component

* removed new event as mob threshold event as already being fired

* checked for MobThresholdsComponent first before running VerifyThresholds

* refacted force say to using LocalizedDatasetPrototype and added numb messages

* added severity check alert

* added comment for BeforeForceSayEvent

* removed space formatting

* changed Cancelled to CancelUpdate, fixed spacing and added two more damage-force-say-numb

* changed prefix damage-force-say-numb to 5 (whoops)
2025-01-27 11:34:20 +01:00
PJBot
1b9d84a16e Automatic changelog update 2025-01-27 10:30:57 +00:00
metalgearsloth
fd25dac720 Storage UI V2 (#33045) 2025-01-27 21:29:51 +11:00
kosticia
276ec745fe Hi-viz vest now actually hi-viz (#34087)
* 27-12-2024-light-hi-viz

* 28-12-2024-meta-fix
2025-01-27 01:08:59 -08:00
PJBot
5388414da7 Automatic changelog update 2025-01-27 08:31:38 +00:00
Helm4142
88456a4a8c Fix match box (#34632)
FixMatchBox

Now you can't put anything but matches in a box of matches.

Co-authored-by: Helm4142 <Helm4142@users.noreply.github.com>
2025-01-27 19:30:31 +11:00
Southbridge
bbad147973 fixrotations - Modified Targetted Entities (#34638) 2025-01-27 18:48:16 +11:00
PJBot
f9c74f3622 Automatic changelog update 2025-01-27 07:41:29 +00:00
ArtisticRoomba
3e346019ff Adds better description to pneumatic valve and build menu description (#32655)
* adds description to pneumatic valve and build menu description

* Change one atmosphere to kPa
2025-01-27 08:40:22 +01:00
ArtisticRoomba
c1456e0508 add a chem dispenser to the nukie planet (#34674)
* add a chem dispenser to the nukie planet

* begone test fail
2025-01-27 00:10:22 -07:00
PJBot
5b6ef128dd Automatic changelog update 2025-01-27 07:08:51 +00:00
compilatron
8ba419320f Plasma station patch 1 (#34602)
* 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

* Update population caps

Removed population cap of 60 players to make plasma into a highpop map - it's that easy!

* Map fixes 11

* Map fixes 12

* Map fixes 13

* Map fixes 14

Now it's personal

* Map fixes 15

---------

Co-authored-by: jbox1 <40789662+jbox144@users.noreply.github.com>
Co-authored-by: Emisse <99158783+Emisse@users.noreply.github.com>
2025-01-27 00:07:44 -07:00
Dinner
06a2dca695 Fix mv cable crate typo (#34673)
fix mv cable crate typo
2025-01-27 07:58:40 +01:00
Southbridge
61cd1f6880 Box Station Changes (#34655)
* Various changes

* Implemented a bunch of changes Emisse wanted, finished up all my atmos changes I wanted to make as well

* Added reporter to prototype, and fixed dirt

* Resolved outstanding issues

* Fixed a floating camera

* Added cameras to TEG, and some minor changes
2025-01-26 23:30:36 -07:00
Southbridge
cc4f9dd4b0 Amber Station Changes (#34656)
* various changes

* Increased player limit

* slight modification

* Followed proper yaml formatting, increased lawyers
2025-01-26 23:30:25 -07:00
ArtisticRoomba
65fb71e53a Reroute Meta station power, engineering cosmetic changes, minor fixes (#34669)
* reroute meta power plus cosmetic fixes

* fix a lot of other things

* make changes from conflict
2025-01-26 23:30:12 -07:00
SlimSlam
e464736ae6 Fland Fix (#34670)
Update fland.yml
2025-01-26 23:29:45 -07:00
PJBot
7d0b1357cd Automatic changelog update 2025-01-26 23:40:34 +00:00
Coolsurf6
6240b9d774 Added Unused HoS's Flask to HoS locker (#34658)
added hos flask to locker spawn
2025-01-27 00:39:27 +01:00
Ed
0e6082cd9f spells mini tweak 2025-01-26 21:11:13 +03:00
github-actions[bot]
b92de3d768 @TheShuEd has signed the CLA in crystallpunk-14/crystall-punk-14#734 2025-01-26 14:43:02 +00:00
github-actions[bot]
d549098641 @Nimfar11 has signed the CLA in crystallpunk-14/crystall-punk-14#813 2025-01-26 14:14:04 +00:00
PJBot
f0652d8e9a Automatic changelog update 2025-01-26 14:02:42 +00:00
CaasGit
2a632b21b0 New solar sprites, new solar panel upgrades, and some solar panel fixes. (#29224)
* New solar sprites, new solar panel upgrades, and some solar panel fixes.

This adds and changes a few things for solar panels!

* New sprites for all solar panels and all related states.
* Move from xform.WorldRotation to _xformSystem.SetWorldRotation within
  the solar code.
* Few random fixes that Rider suggested as warnings.
* Solar Tracker Electronics was using what looks like to be the airlock
  controller electronics, so that's now updated to something a bit more
  realistic. It also uses the engineering circuit sprite instead of the
  generic
* New Solar Panels! Adds Plasma and Uranium Glass solar panels. These
  can be constructed by adding the respective glass to the panel. Plasma
  is a slight increase of power and health, and uranium is double the
  power and health of glass. Thus giving engineers something to update
  if they want to use solar panels and possibly giving small outposts
  a way to make a bit more power without a large and complex power
  setup.

* Add in solar sprites that were not in the meta file.

* Updated sprites based on feedback.

* Fix the rotation of the solar panel sprites.
2025-01-26 15:01:34 +01:00
Ed
011104816a Update cla.yml 2025-01-26 16:21:02 +03:00
Ed
00eedea77e Update cla.yml 2025-01-26 16:14:12 +03:00
Ed
a9a2372ba8 Update cla.json 2025-01-26 16:09:39 +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
github-actions[bot]
2214857809 Update Credits (#34644)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2025-01-26 03:11:00 +01: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
Milon
ff27555b47 display the current version in the changelog window (#34556)
* just works first try

* introduce more magic numbers into the codebase

* idiot doesnt know the difference between AND/OR
2025-01-25 12:21:52 +01:00
lzk
d41072849b delete radstorm locale (#34630) 2025-01-25 12:57:53 +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
Deerstop
e1291d035f Elkridge Depot fixes and changes (#34539)
* fixed grav gen room, gave atmos room to branch off, replaced AME controller crate with AME controller

* added rust to maints, expanded atmos, expanded bar, expanded cap bedroom, fixed some tiles under doors, removed some gamer loot

* removed interrogator lamp and some more gamer loot

* fixed some more tiles under doors, replaced intercomall with intercomcommand in bridge and vault

* added clothing drobes to arrivals, added bin to HoP, more stuff i forgot

* i forgot to move the file from /bin to /resources...
2025-01-24 13:24:46 -07: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
PJBot
0707ee5fa3 Automatic changelog update 2025-01-24 06:59:40 +00:00
Errant
052be81f2e Replace starter borg brain with Positronic (#34614)
THE FLESH IS WEAK
2025-01-23 22:58:34 -08:00
Ed
fdca66be06 update species guidebook 2025-01-24 09:58:16 +03:00
PJBot
cc24164520 Automatic changelog update 2025-01-24 04:31:54 +00:00
Velken
613e710c76 Moved Cyborg Recharging Circuit Board from Lathe to Circuit Imprinter (#34612)
Moved Cyborg Recharging Cirbuit Board from Lathe to Circuit Imprinter
2025-01-23 21:30:47 -07:00
PJBot
05ed43fcfc Automatic changelog update 2025-01-24 03:57:41 +00:00
JustinWinningham
2580a21471 Renaming sexy mime and clown mask (#34258)
* Renamed sexy clown and mime mask and removed lusty xenomorph poster.

* removing odd file changes. not sure why these were edited at all.

* gaaaahhh

* removed some of the old templates

* Renaming sexy mime and clown instances.

* removed unwanted gitignore edit

* Renaming sexy clown and sexy mime mask and
Removing lusty exomorph poster.

* Remove lusty xenomorph poster.

* reverted changes to maps files, actually. Other contrib is learning, appologies for excessive commits

* requested changes

* lusty migration removal

* dirty hanging whitespace

* correct date format comment

---------

Co-authored-by: NathanielJ14 <nathanielalbert1202@gmail.com>
2025-01-23 19:56:33 -08:00
Ignaz "Ian" Kraft
371b1f8012 replace all instances of "department-{id}" with department.name (#34607)
replace all instances of "department-{id}" with department.name"
2025-01-23 19:46:32 -08:00
Nox
5e7cc99555 Small fixes for Meta station (#34613)
* Fixed a few minor things, removed salvage's shuttle parts (sorry), added more equipment to armory.

* Added back salvage shuttle equipment, now in a crate

* Fix
2025-01-23 16:26:48 -07:00
PJBot
7f02efc858 Automatic changelog update 2025-01-23 21:40:06 +00:00
War Pigeon
7168de6a20 Make radioactive material radioactive (#34436)
* Make radioactive material radioactive

* Increase the slopes of item uranium

No free power for engineering

* Glowing uranium

* Revert "Increase the slopes of item uranium"

This reverts commit 2acbda26

* Nerf Wall Rocks
2025-01-23 22:39:00 +01:00
PJBot
0402149801 Automatic changelog update 2025-01-23 21:12:38 +00:00
Ed
f7928371e9 C4 Helmet (#34076)
* worn bomb

* Update meta.json

* Update meta.json
2025-01-24 00:11:31 +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
PJBot
b248921972 Automatic changelog update 2025-01-23 14:02:51 +00:00
Ignaz "Ian" Kraft
033f8444ba added missing allowed department to the restricted severity (#34558)
* added missing allow job to the base restricted severity

* no need to make a list

* no more linq in ContrabandTest

* less nesting in ContrabandTest
2025-01-23 09:01:45 -05:00
PJBot
bc5812dd7b Automatic changelog update 2025-01-23 13:02:29 +00:00
K-Dynamic
9bd8b8950b Return Drozd full-auto and semi-auto firing modes (#34604)
return drozd full auto and firerate, arrange available modes in alphabetical order
2025-01-23 14:01:18 +01:00
PJBot
713d4515d6 Automatic changelog update 2025-01-23 12:18:05 +00:00
Fildrance
68b0dfbc02 Feature/make radial menu great again (#32653)
* it works! kinda

* so it works now

* minor cleanup

* central button now is useful too

* more cleanup

* minor cleanup

* more cleanup

* refactor: migrated code from toolbox (as it was rejected as too specific)

* feat: moved border drawing for radial menu into RadialMenuTextureButton. Radial menu position setting into was moved to OverrideArrange to not being called on every frame

* refactor: major reworks!

* renamed DrawBagleSector to DrawAnnulusSector

* Remove strange indexing

* Regularize math

* refactor: re-orienting segment elements to be Y-mirrored

* refactor: extracted radial menu radius multiplier property, changed color pallet for radial menu button

* refactor: removed icon backgrounds on textures used in current radial menu buttons with sectors, RadialContainer Radius renamed and now actually changed control radius.

* refactor: in RadialMenuTextureButtonWithSector all sector colors are converted to and from sRGB in property getter-setters

* refactor: renamed srgb to include Srgb suffix so devs gonna see that its srgb clearly

* fix: enabled any functional keys pressed when pushing radial menu buttons

* fix: radial menu sector now scales with UIScale

* fix: accept only one event when clicking on radial menu ContextualButton

* fix: now radial menu buttons accepts only click/alt-click, now clicks outside menu closes menu always

---------

Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
2025-01-23 13:16:58 +01:00
PJBot
f186838544 Automatic changelog update 2025-01-23 10:09:47 +00:00
Ignaz "Ian" Kraft
39c1737902 pluralize the job name in the contra description (#34559)
* pluralize the job name in the contra description

* pluralization specific to contraband descriptions
2025-01-23 11:08:40 +01:00
Ed
a91f3c8793 safe zones 2025-01-23 12:17:17 +03:00
Southbridge
9944076227 Box Station - Update (#34605)
* Various changes

* Implemented a bunch of changes Emisse wanted, finished up all my atmos changes I wanted to make as well

* Added reporter to prototype, and fixed dirt

* Resolved outstanding issues

* Fixed a floating camera
2025-01-23 02:12:22 -07:00
PJBot
7db3595fbc Automatic changelog update 2025-01-23 06:03:56 +00:00
Emisse
cb5e79809e lecter visual update (#34589) 2025-01-23 17:02:49 +11:00
juliangiebel
26fe0292c4 Update da packages 2025-01-23 01:16:07 +01:00
PJBot
b4fa49af55 Automatic changelog update 2025-01-22 23:55:12 +00:00
pathetic meowmeow
85da2351c8 Give the chef access to cloth boxes (#34403)
* Give the chef access to fiber bags

* Update Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/box.yml

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-01-23 00:54:03 +01:00
Myra
741514968d Update wizden config to disallow multiple connections to multiple wizden servers (#34584) 2025-01-23 00:39:13 +01: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
Errant
ee7f98a1a7 remove tropico from devmap (#34585) 2025-01-22 20:20:08 +01: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
Emisse
3499b47465 bagel update (#34572)
* bagel update

* Decal fault tolerance

* Also fix writes

* fix mv cable, decal issues, yar

* fix a floor tile and some other shit

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2025-01-21 22:48:41 -07:00
slarticodefast
20acef16ee Merge stable into master (#34564) 2025-01-22 00:53:05 +01:00
PJBot
ef24e4b070 Automatic changelog update 2025-01-21 23:24:53 +00:00
Pieter-Jan Briers
71c9dfc9ea Add system to kick people if they connect to multiple servers at once. (#34563) 2025-01-22 00:23:47 +01: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
PJBot
1031d2a6c1 Automatic changelog update 2025-01-21 16:09:27 +00:00
Nimfar11
258cb7bd4e fix sprite 2025-01-21 18:08:37 +02:00
Nim
0da6a9995a Blueprint double emergency tank (#34232)
* blueprint

* NitrogenTank

* description
2025-01-21 17:08:21 +01:00
slarticodefast
07ad21dead Merge salamander whitelist hotfix #34532 into master (#34551) 2025-01-21 11:48:57 +01:00
PJBot
14aff1c49d Automatic changelog update 2025-01-21 10:40:22 +00:00
K-Dynamic
24219cb97b Electrified doors/windoors now spark, new tips to deal with doors without access or when electrified (#34502)
* new tips to open doors (throwing PDA/ID, dragging body)

* electrified door sprite for players

* tooltip to reset AI electrified doors

* windoor electrified sprite

* highsec electrified visual

* increase tip dataset to 138

* corrected square bracket convention in this commit

* removed door corpse tip from prior commit
2025-01-21 11:39:15 +01: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
PJBot
1f6e041e05 Automatic changelog update 2025-01-21 09:52:34 +00:00
John
796f599172 Job contraband rework (#33385)
* contraband system rework to allow restriction by job, not just department

* Fixing detective trenchcoat inheritance

* removing unnecessary using declarations

* trying to fix testing error by re-adding diagnostics using declaration

* removing unecessary dependency, making allowedJobs nullable

* Adding all of slarti's requested changes except for the hacky job icon method fix

* removing accidental whitespace

* choosing to use the non-localized version because we're comparing the string against the AllowedJobs field, and the contraband classes that fill that field are written in english

* removing unneeded using dec, fixing nesting logic problem

* didn't remove the old nesting, doing that now

* using localized job title and localizing the allowed jobs string, removing usages of JobTitle field. Also networked the _jobTitle field instead.

* rewrite some stuff

* fixes

* fix energy pen

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-01-21 10:51:27 +01:00
PJBot
f092ddcb43 Automatic changelog update 2025-01-21 04:57:55 +00:00
compilatron
04c081719a Plasma station population tweak (#34549)
* 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

* Update population caps

Removed population cap of 60 players to make plasma into a highpop map - it's that easy!

---------

Co-authored-by: jbox1 <40789662+jbox144@users.noreply.github.com>
Co-authored-by: Emisse <99158783+Emisse@users.noreply.github.com>
2025-01-20 21:56:47 -07:00
slarticodefast
b0c9c79297 Merge stable into master (#34547) 2025-01-21 00:12:49 +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
Southbridge
6361a121d5 Plasma Dirt Fix (#34534)
did the dirt thing
2025-01-20 03:10:51 -07:00
Nimfar11
b19b5c9bb6 bow and quiver 2025-01-20 03:45:37 +02:00
PJBot
6b6dc13664 Automatic changelog update 2025-01-20 01:25:46 +00:00
Leon Friedrich
c4ed3fc275 Update engine to v240.1.1 (#34527) 2025-01-20 12:24:40 +11: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
PJBot
a84b67a686 Automatic changelog update 2025-01-20 00:33:51 +00:00
K-Dynamic
6ed60fecde Welding gas mask toggleable with action (#32691)
welding mask removable
2025-01-20 01:32:45 +01:00
PJBot
9485cb6eb8 Automatic changelog update 2025-01-20 00:22:32 +00:00
ArtisticRoomba
ed44f3263f Fixes some mobs not being able to honk/weh (#33777)
* fixes some mobs not being able to honk/weh

* addresss review
2025-01-20 01:21:25 +01:00
Leon Friedrich
40f9170078 Update engine to v240.1.0 (#34524) 2025-01-20 11:07:19 +11:00
Leon Friedrich
ef50219455 Fix emergency_elkridge being saved as a map (#34496)
Save `emergency_elkridge` as a grid
2025-01-20 10:59:42 +11:00
PJBot
c0fcf4b93b Automatic changelog update 2025-01-19 19:50:07 +00:00
Winkarst
b09cd1ca8c Make storage implant drop items on gibbing (#33493)
* Make storage implant drop items on gib/removal

* Better way

* Fix error

* Forgotten trash

* Cleanup

* Unused var

* Update Content.Server/Implants/ImplantedSystem.cs

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

---------

Co-authored-by: Winkarst <74284083+Winkarst-cpu@users.noreply.github.co>
Co-authored-by: 0x6273 <0x40@keemail.me>
2025-01-19 11:48:58 -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
github-actions[bot]
2894f49c4c Update Credits (#34507)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
2025-01-19 15:54:27 +01:00
Tezzaide
a83fd7b916 Fixed minor spelling mistake in Noir Trenchcoat description. (#34519)
Update coats.yml
2025-01-19 14:34:46 +01: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
Alfred Baumann
bf59371656 Add Airlocks with Bar and Kitchen access (#33821)
* Add kitchen access to Bar-Cafeteria airlocks on Cog

* Fix merge conflict

* Remove mapping changes

* Add Glass and Maints versions
2025-01-18 22:42:01 -07:00
TytosB
c917bcc2a9 Cog power setup fix (#34188)
* 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

* cog power setup was bad

* made it artsy

---------

Co-authored-by: Emisse <99158783+Emisse@users.noreply.github.com>
2025-01-18 22:39:02 -07:00
PJBot
5fb8ebbe61 Automatic changelog update 2025-01-19 05:33:40 +00:00
War Pigeon
b471c1094d CentComm Map Updates (#34475)
* Bandage fix denied animations playing on devices without them

* CentComm blast door prototype

* CentComm button

* CentComm window shutters

* CC Updates

* Save as grid

* Remove an extra detective figurine

I like them better in the interrogation room

* Remove paramed locker, let pumps shut off

* Fix wrong HOP locker prototype
2025-01-18 22:32:33 -07:00
PJBot
a2df7719b1 Automatic changelog update 2025-01-19 01:48:01 +00:00
K-Dynamic
2f8f536601 New dry fire sound (#34447)
* new empty.ogg

* source to tg commit
2025-01-18 17:46:54 -08:00
PJBot
428fcd65a7 Automatic changelog update 2025-01-18 22:57:48 +00:00
Nox
993b5c46b5 Rarer Highcaps (#34469)
* Removed highcap from seclite

* Changed cyborg starting battery to highcap, reduced seclite wattage to make it last as long as it used to.

* Gave cyborgs back their medcap

* Rounded seclite wattage down to 0.5
2025-01-18 14:56:42 -08: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
PJBot
4a015d133d Automatic changelog update 2025-01-18 18:28:54 +00:00
Minemoder5000
1840160fdc Add a 10u vial of plasma to the chemical locker (#33871)
Add 10u plasma to the chemistry locker so the chemists stop stealing tables.
2025-01-18 10:27:46 -08:00
PJBot
5d06ee2894 Automatic changelog update 2025-01-18 16:59:59 +00:00
Winkarst
86cf3a46e2 Change MaskComponent to accommodate sprites namings (#33451)
Co-authored-by: Winkarst <74284083+Winkarst-cpu@users.noreply.github.co>
2025-01-18 08:58:51 -08:00
Myra
026d65dc43 Staging -> Master merge (#34489) 2025-01-18 16:26:08 +01: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
PJBot
fb38bf3d24 Automatic changelog update 2025-01-18 13:42:36 +00:00
Spessmann
343f59f602 Adds bullet collision to wall mounted cameras (#34500) 2025-01-18 14:41:29 +01: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
PJBot
17464ffe2b Automatic changelog update 2025-01-18 09:03:49 +00:00
ArtisticRoomba
7f0ff0b121 Space lizard plushie can now be worn on your head (#33809)
* space weh can now be work on top of head

* space weh can now be worn on top of head

* trim out unnecessary comps
2025-01-18 10:02:40 +01:00
Mono
c78717e4e2 Various Locale Typo Fixes (and spaces) (#34483)
Random spelling error and FTL linting (+PowersinkSystem because there was an misspelt locale for that)
2025-01-17 23:37:37 -08:00
Leon Friedrich
c4542ee252 Update engine to v240.0.1 (#34497) 2025-01-18 14:59:53 +11:00
ElectroJr
b13ccfefd6 poke tests 2025-01-18 16:50:50 +13:00
ElectroJr
0d8d50de92 Fix elk and add new test 2025-01-18 16:29:21 +13:00
Partmedia
970b4a687d Improve canister admin logs (#34495) 2025-01-17 17:37:40 -08:00
Leon Friedrich
9d4e60068b Optimize & clean up RadiationSystem (#34459)
* Optimize & clean up RadiationSystem

* comments

* Update Content.Server/Radiation/Systems/RadiationSystem.GridCast.cs

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

---------

Co-authored-by: Thomas <87614336+Aeshus@users.noreply.github.com>
2025-01-18 12:07:20 +11:00
PJB3005
f63eb691f0 Improve canister admin logs.
1. Now clearly says "opened"/"closed" when changing the release valve.
2. Clearly says whether the valve was opened while a canister was inserted or not.
3. When a tank is ejected, logs if the valve is open and the ejection started spilling into the environment.

Fixes #34488
2025-01-18 00:51:32 +01:00
PJB3005
0e840d816a Make GasMixture enumerable
I noticed that enumerating gases is frequently done in an annoying way with Enum.GetValues. So I made it better. Now GasMixture is IEnumerable<(Gas gas, float moles)> and it just works.
2025-01-18 00:50:22 +01:00
chromiumboy
efd5d644e8 Holopad networking rework (#34112)
* Initial commit

* Finalizing main changes

* Addressed reviews

* Fixed a few issues

* Switched to using global overrides

* Removed unnecessary references
2025-01-17 14:09:59 -06:00
Ed
734d12cfac Slots separate (#778)
* fix #67

* more all armor to new slot

* smart skeletons
2025-01-17 22:15:54 +03:00
PJBot
464f68dad0 Automatic changelog update 2025-01-17 17:27:12 +00:00
Tobias Berger
2fa4f0a286 Update nix flake for .NET 9 (#34480) 2025-01-17 18:26:04 +01:00
Pieter-Jan Briers
b07fe8ee10 Staging: Add taped logo back for 10th anniversary (#34486) 2025-01-17 18:22:42 +01:00
ElectroJr
dc13744188 Merge branch 'master' of https://github.com/space-wizards/space-station-14 into map-load-refactor 2025-01-18 04:14:18 +13: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
Minemoder5000
50bb5e0c13 Replace the djstation intercoms with freelance intercoms (#34478)
* Add Freelance intercom prototype, and replace the djstation ruin with them instead of three master keys

* removed a new line
2025-01-17 14:01:06 +01:00
PJBot
ac04604b8a Automatic changelog update 2025-01-17 11:36:10 +00:00
Southbridge
8295bfbf8d Pride Scarves (#34448)
* More scarfs (#216)

* Sprites + Colored Scarf Implimentation

Doesn't include into quickthreads or other clothing vendors

* File Paths are important

* Metas, items exist, winterdrobe

I'm iffy on them being in the winterdrobe but the other option is quickthreads so idk

* File Path Fix

* Typo fix

* Resolved merge conflict

* Moved scarves around

* Moved scarf textures out of the _CD directory

* Removed final CD folder

* Removed extra scarfs

* Removed extra scarfs, again

* Replaced ClothingNeckBase with ClothingScarfBase

---------

Co-authored-by: PursuitInAshes <91865152+PursuitInAshes@users.noreply.github.com>
Co-authored-by: TakoDragon <69509841+BackeTako@users.noreply.github.com>
2025-01-17 12:35:03 +01:00
PJBot
40e049603e Automatic changelog update 2025-01-17 07:25:58 +00:00
c4llv07e
4809ee25ff Add option to disable bwoink sound. (#33782)
* Add option to disable bwoink sound.

* Now it's working only with active admin status.

* No bwoink, only "notification sound"

* Moar changes

* Another one
2025-01-17 10:24:50 +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
PJBot
5d9311dff9 Automatic changelog update 2025-01-16 20:50:54 +00:00
Southbridge
06a1615605 Additional Ionstorm Law Updates (#34197)
* Added a couple entires, removed the references to IRL countries, and fixed a grammar mistake on "Telecomunications Equipment"

* Fixed another awkward grammar situation

* Commented out a bunch of law elements I felt weren't good for discussion, added some new ones to help fill in the missing areas

* Reverted pylons, and added more entries to help fill out the lists more

* reverted all deletions

* implemented feedback, also realized the IonStormActions section was rather short, so I added a bunch there

* realized I didn't remove the extra resources line, also added more things, and fixed one grammatical error

* Removed Portugal again, added more Musts since that list was the new shortest one.
2025-01-16 21:49:47 +01: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
ElectroJr
5e47d25d7f Merge branch 'master' of https://github.com/space-wizards/space-station-14 into map-load-refactor 2025-01-12 20:19:04 +13:00
ElectroJr
7554a075a2 Merge branch 'master' of https://github.com/space-wizards/space-station-14 into toolshed-eng-pr 2025-01-12 20:16:16 +13: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
ElectroJr
e5468982f5 Fix mark verb 2025-01-03 18:45:02 +13: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
ElectroJr
48c13b32f4 Remove unused helper. Use EmplaceCommand instead 2025-01-02 17:00:45 +13:00
ElectroJr
f95fb450fd obsolete 2025-01-02 17:00:13 +13: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
ElectroJr
74deed794e Eng changes 2024-12-27 15:47:32 +13: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
ElectroJr
ad317f79b1 Poke engine tests 2024-12-25 16:26:38 +13:00
ElectroJr
b555a6049e Even more engine changes 2024-12-24 21:00:53 +13:00
ElectroJr
a8cc0397c2 Moar engine changes 2024-12-24 18:57:52 +13: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
ElectroJr
eef7d02e11 Improve NoSavedPostMapInitTest 2024-12-24 12:27:33 +13: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
ElectroJr
9d05ea9f57 Poke tests 2024-12-24 04:01:17 +13:00
ElectroJr
f58baf0428 Update permissions for engine toolshed PR 2024-12-24 03:37:31 +13: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
ElectroJr
ef3d7396d4 fix other benchmarks 2024-12-23 18:13:49 +13:00
ElectroJr
43e6fd57d4 Fix MapLoadBenchmark 2024-12-23 18:02:58 +13:00
ElectroJr
d47e72d7c2 oops 2024-12-23 16:38:05 +13:00
ElectroJr
37c843328f Fix NoSavedPostMapInitTest 2024-12-23 14:23:58 +13: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
ElectroJr
6242567aff Refactor map loading & saving 2024-12-23 02:42:17 +13: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
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
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
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
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
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
Errant
0c4dd9d1b9 Revert "Simplify separated screen top menu (#33047)" (Stable -> Master) (#33785) 2024-12-08 22:14:34 +01: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
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
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
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
Nikolai Korolev
ee0ce4b220 Empty commit to rerun tests 2024-11-30 22:54:41 +00:00
Nikolai Korolev
ecb6540c61 Upgrade Github actions in Workfows to node20 2024-11-30 22:35:11 +00:00
SlamBamActionman
fe69de942f Updated values 2024-11-01 12:52:12 +01:00
SlamBamActionman
5794ecd28f Initial commit 2024-09-16 11:05:57 +02:00
8427 changed files with 1713182 additions and 851875 deletions

View File

@@ -344,6 +344,9 @@ resharper_keep_existing_attribute_arrangement = true
resharper_wrap_chained_binary_patterns = chop_if_long
resharper_wrap_chained_method_calls = chop_if_long
resharper_csharp_trailing_comma_in_multiline_lists = true
resharper_csharp_qualified_using_at_nested_scope = false
resharper_csharp_prefer_qualified_reference = false
resharper_csharp_allow_alias = false
[*.{csproj,xml,yml,yaml,dll.config,msbuildproj,targets,props}]
indent_size = 2

5
.envrc
View File

@@ -1,4 +1,5 @@
if ! has nix_direnv_version || ! nix_direnv_version 3.0.4; then
source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/3.0.4/direnvrc" "sha256-DzlYZ33mWF/Gs8DDeyjr8mnVmQGx7ASYqA5WlxwvBG4="
set -e
if ! has nix_direnv_version || ! nix_direnv_version 3.0.6; then
source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/3.0.6/direnvrc" "sha256-RYcUJaRMf8oF5LznDrlCXbkOQrywm0HDv1VjYGaJGdM="
fi
use flake

37
.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/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

4
.github/labeler.yml vendored
View File

@@ -16,6 +16,10 @@
- changed-files:
- any-glob-to-any-file: '**/*.swsl'
"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.

View File

@@ -11,7 +11,7 @@ jobs:
name: Run Benchmarks
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3.6.0
- uses: actions/checkout@v4.2.2
with:
submodules: 'recursive'
- name: Get Engine version

View File

@@ -8,7 +8,7 @@ jobs:
docfx:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3.6.0
- uses: actions/checkout@v4.2.2
- name: Setup submodule
run: |
git submodule update --init --recursive
@@ -19,9 +19,9 @@ jobs:
cd RobustToolbox/
git submodule update --init --recursive
- name: Setup .NET Core
uses: actions/setup-dotnet@v3.2.0
uses: actions/setup-dotnet@v4.1.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:
@@ -19,7 +19,7 @@ jobs:
steps:
- name: Checkout Master
uses: actions/checkout@v3.6.0
uses: actions/checkout@v4.2.2
- name: Setup Submodule
run: |
@@ -34,9 +34,9 @@ jobs:
git submodule update --init --recursive
- name: Setup .NET Core
uses: actions/setup-dotnet@v3.2.0
uses: actions/setup-dotnet@v4.1.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:
@@ -19,7 +19,7 @@ jobs:
steps:
- name: Checkout Master
uses: actions/checkout@v3.6.0
uses: actions/checkout@v4.2.2
- name: Setup Submodule
run: |
@@ -34,9 +34,9 @@ jobs:
git submodule update --init --recursive
- name: Setup .NET Core
uses: actions/setup-dotnet@v3.2.0
uses: actions/setup-dotnet@v4.1.0
with:
dotnet-version: 8.0.x
dotnet-version: 9.0.x
- name: Install dependencies
run: dotnet restore

View File

@@ -10,6 +10,6 @@ jobs:
if: github.event.pull_request.draft == false
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3.6.0
- uses: actions/checkout@v4.2.2
- name: Check for CRLF
run: Tools/check_crlf.py

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:
- '**CP14**'
# 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') && github.actor != 'TheShuEd'
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

@@ -14,7 +14,7 @@ jobs:
{
"0": "XS",
"10": "S",
"30": "M",
"100": "L",
"1000": "XL"
"100": "M",
"1000": "L",
"5000": "XL"
}

45
.github/workflows/publish-testing.yml vendored Normal file
View File

@@ -0,0 +1,45 @@
name: Publish Testing
concurrency:
group: publish-testing
on:
workflow_dispatch:
schedule:
- cron: '0 10 * * *'
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3.6.0
with:
submodules: 'recursive'
- name: Setup .NET Core
uses: actions/setup-dotnet@v3.2.0
with:
dotnet-version: 9.0.x
- name: Get Engine Tag
run: |
cd RobustToolbox
git fetch --depth=1
- name: Install dependencies
run: dotnet restore
- name: Build Packaging
run: dotnet build Content.Packaging --configuration Release --no-restore /m
- name: Package server
run: dotnet run --project Content.Packaging server --platform win-x64 --platform linux-x64 --platform osx-x64 --platform linux-arm64
- name: Package client
run: dotnet run --project Content.Packaging client --no-wipe-release
- name: Publish version
run: Tools/publish_multi_request.py --fork-id wizards-testing
env:
PUBLISH_TOKEN: ${{ secrets.PUBLISH_TOKEN }}
GITHUB_REPOSITORY: ${{ vars.GITHUB_REPOSITORY }}

View File

@@ -16,13 +16,13 @@ jobs:
- name: Install dependencies
run: sudo apt-get install -y python3-paramiko python3-lxml
- uses: actions/checkout@v3.6.0
- uses: actions/checkout@v4.2.2
with:
submodules: 'recursive'
- name: Setup .NET Core
uses: actions/setup-dotnet@v3.2.0
uses: actions/setup-dotnet@v4.1.0
with:
dotnet-version: 8.0.x
dotnet-version: 9.0.x
- name: Get Engine Tag
run: |

View File

@@ -11,14 +11,14 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3.6.0
uses: actions/checkout@v4.2.2
- name: Get changed files
id: files
uses: Ana06/get-changed-files@v2.3.0
with:
format: 'space-delimited'
filter: |
filter: |
**.rsi
**.png

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'
@@ -34,7 +34,7 @@ jobs:
steps:
- name: Checkout Master
uses: actions/checkout@v3.6.0
uses: actions/checkout@v4.2.2
- name: Setup Submodule
run: |
@@ -49,9 +49,9 @@ jobs:
git submodule update --init --recursive
- name: Setup .NET Core
uses: actions/setup-dotnet@v3.2.0
uses: actions/setup-dotnet@v4.1.0
with:
dotnet-version: 8.0.x
dotnet-version: 9.0.x
- name: Install dependencies
run: dotnet restore

View File

@@ -4,19 +4,19 @@ on:
workflow_dispatch:
schedule:
- cron: 0 0 * * 0
jobs:
get_credits:
runs-on: ubuntu-latest
# Hey there fork dev! If you like to include your own contributors in this then you can probably just change this to your own repo
# Do this in dump_github_contributors.ps1 too into your own repo
if: github.repository == 'space-wizards/space-station-14'
steps:
- uses: actions/checkout@v3.6.0
- uses: actions/checkout@v4.2.2
with:
ref: master
- name: Get this week's Contributors
shell: pwsh
env:
@@ -25,25 +25,25 @@ jobs:
# TODO
#- name: Get this week's Patreons
# run: Tools/script2dumppatreons > Resources/Credits/Patrons.yml
# run: Tools/script2dumppatreons > Resources/Credits/Patrons.yml
# MAKE SURE YOU ENABLED "Allow GitHub Actions to create and approve pull requests" IN YOUR ACTIONS, OTHERWISE IT WILL MOST LIKELY FAIL
# For this you can use a pat token of an account with direct push access to the repo if you have protected branches.
# For this you can use a pat token of an account with direct push access to the repo if you have protected branches.
# Uncomment this and comment the other line if you do this.
# https://github.com/stefanzweifel/git-auto-commit-action#push-to-protected-branches
#- name: Commit new credit files
# uses: stefanzweifel/git-auto-commit-action@v4
# with:
# commit_message: Update Credits
# commit_author: PJBot <pieterjan.briers+bot@gmail.com>
# This will make a PR
- name: Set current date as env variable
run: echo "NOW=$(date +'%Y-%m-%dT%H-%M-%S')" >> $GITHUB_ENV
- name: Create Pull Request
uses: peter-evans/create-pull-request@v5
with:

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 ]
@@ -12,7 +12,7 @@ jobs:
if: github.actor != 'PJBot' && github.event.pull_request.draft == false
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3.6.0
- uses: actions/checkout@v4.2.2
- name: Setup Submodule
run: git submodule update --init
- name: Pull engine updates

View File

@@ -2,7 +2,7 @@ name: RSI Validator
on:
push:
branches: [ staging, trying ]
branches: [ master, staging, stable ]
merge_group:
pull_request:
paths:
@@ -13,7 +13,7 @@ jobs:
name: Validate RSIs
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3.6.0
- uses: actions/checkout@v4.2.2
- name: Setup Submodule
run: git submodule update --init
- name: Pull engine updates

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 ]
@@ -12,7 +12,7 @@ jobs:
if: github.actor != 'PJBot' && github.event.pull_request.draft == false
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3.6.0
- uses: actions/checkout@v4.2.2
- name: Setup Submodule
run: git submodule update --init
- name: Pull engine updates

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 ]
@@ -13,7 +13,7 @@ jobs:
if: github.actor != 'PJBot' && github.event.pull_request.draft == false
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3.6.0
- uses: actions/checkout@v4.2.2
- name: Setup submodule
run: |
git submodule update --init --recursive
@@ -24,9 +24,9 @@ jobs:
cd RobustToolbox/
git submodule update --init --recursive
- name: Setup .NET Core
uses: actions/setup-dotnet@v3.2.0
uses: actions/setup-dotnet@v4.1.0
with:
dotnet-version: 8.0.x
dotnet-version: 9.0.x
- name: Install dependencies
run: dotnet restore
- name: Build

View File

@@ -12,12 +12,12 @@ You want to handle the Build, Clean and Rebuild tasks to prevent missing task er
If you want to learn more about these kinds of things, check out Microsoft's official documentation about MSBuild:
https://docs.microsoft.com/en-us/visualstudio/msbuild/msbuild
-->
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<Python>python3</Python>
<Python Condition="'$(OS)'=='Windows_NT' Or '$(OS)'=='Windows'">py -3</Python>
<ProjectGuid>{C899FCA4-7037-4E49-ABC2-44DE72487110}</ProjectGuid>
<TargetFrameworkMoniker>.NETFramework, Version=v4.7.2</TargetFrameworkMoniker>
<TargetFramework>net4.7.2</TargetFramework>
<RestorePackages>false</RestorePackages>
</PropertyGroup>
<PropertyGroup>

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

@@ -9,13 +9,14 @@ using Content.IntegrationTests.Pair;
using Content.Shared.Clothing.Components;
using Content.Shared.Doors.Components;
using Content.Shared.Item;
using Robust.Server.GameObjects;
using Robust.Shared;
using Robust.Shared.Analyzers;
using Robust.Shared.EntitySerialization;
using Robust.Shared.EntitySerialization.Systems;
using Robust.Shared.GameObjects;
using Robust.Shared.Map;
using Robust.Shared.Map.Components;
using Robust.Shared.Random;
using Robust.Shared.Utility;
namespace Content.Benchmarks;
@@ -32,7 +33,6 @@ public class ComponentQueryBenchmark
private TestPair _pair = default!;
private IEntityManager _entMan = default!;
private MapId _mapId = new(10);
private EntityQuery<ItemComponent> _itemQuery;
private EntityQuery<ClothingComponent> _clothingQuery;
private EntityQuery<MapComponent> _mapQuery;
@@ -54,10 +54,10 @@ public class ComponentQueryBenchmark
_pair.Server.ResolveDependency<IRobustRandom>().SetSeed(42);
_pair.Server.WaitPost(() =>
{
var success = _entMan.System<MapLoaderSystem>().TryLoad(_mapId, Map, out _);
if (!success)
var map = new ResPath(Map);
var opts = DeserializationOptions.Default with {InitializeMaps = true};
if (!_entMan.System<MapLoaderSystem>().TryLoadMap(map, out _, out _, opts))
throw new Exception("Map load failed");
_pair.Server.MapMan.DoMapInitialize(_mapId);
}).GetAwaiter().GetResult();
_items = new EntityUid[_entMan.Count<ItemComponent>()];

View File

@@ -44,7 +44,7 @@ namespace Content.Benchmarks
for (var i = 0; i < Aabbs1.Length; i++)
{
var aabb = Aabbs1[i];
_b2Tree.CreateProxy(aabb, i);
_b2Tree.CreateProxy(aabb, uint.MaxValue, i);
_tree.Add(i);
}
}

View File

@@ -6,12 +6,13 @@ using BenchmarkDotNet.Attributes;
using Content.IntegrationTests;
using Content.IntegrationTests.Pair;
using Content.Server.Maps;
using Robust.Server.GameObjects;
using Robust.Shared;
using Robust.Shared.Analyzers;
using Robust.Shared.EntitySerialization.Systems;
using Robust.Shared.GameObjects;
using Robust.Shared.Map;
using Robust.Shared.Prototypes;
using Robust.Shared.Utility;
namespace Content.Benchmarks;
@@ -20,7 +21,7 @@ public class MapLoadBenchmark
{
private TestPair _pair = default!;
private MapLoaderSystem _mapLoader = default!;
private IMapManager _mapManager = default!;
private SharedMapSystem _mapSys = default!;
[GlobalSetup]
public void Setup()
@@ -36,7 +37,7 @@ public class MapLoadBenchmark
.ToDictionary(x => x.ID, x => x.MapPath.ToString());
_mapLoader = server.ResolveDependency<IEntitySystemManager>().GetEntitySystem<MapLoaderSystem>();
_mapManager = server.ResolveDependency<IMapManager>();
_mapSys = server.ResolveDependency<IEntitySystemManager>().GetEntitySystem<SharedMapSystem>();
}
[GlobalCleanup]
@@ -46,23 +47,25 @@ public class MapLoadBenchmark
PoolManager.Shutdown();
}
public static readonly string[] MapsSource = { "Empty", "Satlern", "Box", "Bagel", "Dev", "CentComm", "Core", "TestTeg", "Packed", "Omega", "Reach", "Meta", "Marathon", "MeteorArena", "Fland", "Oasis", "Cog" };
public static readonly string[] MapsSource = { "Empty", "Satlern", "Box", "Bagel", "Dev", "CentComm", "Core", "TestTeg", "Packed", "Omega", "Reach", "Meta", "Marathon", "MeteorArena", "Fland", "Oasis", "Convex"};
[ParamsSource(nameof(MapsSource))]
public string Map;
public Dictionary<string, string> Paths;
private MapId _mapId;
[Benchmark]
public async Task LoadMap()
{
var mapPath = Paths[Map];
var mapPath = new ResPath(Paths[Map]);
var server = _pair.Server;
await server.WaitPost(() =>
{
var success = _mapLoader.TryLoad(new MapId(10), mapPath, out _);
var success = _mapLoader.TryLoadMap(mapPath, out var map, out _);
if (!success)
throw new Exception("Map load failed");
_mapId = map.Value.Comp.MapId;
});
}
@@ -70,9 +73,7 @@ public class MapLoadBenchmark
public void IterationCleanup()
{
var server = _pair.Server;
server.WaitPost(() =>
{
_mapManager.DeleteMap(new MapId(10));
}).Wait();
server.WaitPost(() => _mapSys.DeleteMap(_mapId))
.Wait();
}
}

View File

@@ -7,13 +7,15 @@ using Content.IntegrationTests;
using Content.IntegrationTests.Pair;
using Content.Server.Mind;
using Content.Server.Warps;
using Robust.Server.GameObjects;
using Robust.Shared;
using Robust.Shared.Analyzers;
using Robust.Shared.EntitySerialization;
using Robust.Shared.EntitySerialization.Systems;
using Robust.Shared.GameObjects;
using Robust.Shared.Map;
using Robust.Shared.Player;
using Robust.Shared.Random;
using Robust.Shared.Utility;
namespace Content.Benchmarks;
@@ -34,7 +36,6 @@ public class PvsBenchmark
private TestPair _pair = default!;
private IEntityManager _entMan = default!;
private MapId _mapId = new(10);
private ICommonSession[] _players = default!;
private EntityCoordinates[] _spawns = default!;
public int _cycleOffset = 0;
@@ -65,10 +66,10 @@ public class PvsBenchmark
_pair.Server.ResolveDependency<IRobustRandom>().SetSeed(42);
await _pair.Server.WaitPost(() =>
{
var success = _entMan.System<MapLoaderSystem>().TryLoad(_mapId, Map, out _);
if (!success)
var path = new ResPath(Map);
var opts = DeserializationOptions.Default with {InitializeMaps = true};
if (!_entMan.System<MapLoaderSystem>().TryLoadMap(path, out _, out _, opts))
throw new Exception("Map load failed");
_pair.Server.MapMan.DoMapInitialize(_mapId);
});
// Get list of ghost warp positions

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

@@ -88,6 +88,7 @@ namespace Content.Client.Actions
return;
component.Whitelist = state.Whitelist;
component.Blacklist = state.Blacklist;
component.CanTargetSelf = state.CanTargetSelf;
BaseHandleState<EntityTargetActionComponent>(uid, component, state);
}
@@ -137,6 +138,7 @@ namespace Content.Client.Actions
component.Priority = state.Priority;
component.AttachedEntity = EnsureEntity<T>(state.AttachedEntity, uid);
component.RaiseOnUser = state.RaiseOnUser;
component.RaiseOnAction = state.RaiseOnAction;
component.AutoPopulate = state.AutoPopulate;
component.Temporary = state.Temporary;
component.ItemIconStyle = state.ItemIconStyle;

View File

@@ -1,11 +1,17 @@
using System.Linq;
using System.Numerics;
using Content.Client.Administration.Systems;
using Content.Client.Stylesheets;
using Content.Shared.Administration;
using Content.Shared.CCVar;
using Content.Shared.Ghost;
using Content.Shared.Mind;
using Robust.Client.Graphics;
using Robust.Client.ResourceManagement;
using Robust.Client.UserInterface;
using Robust.Shared;
using Robust.Shared.Enums;
using Robust.Shared.Configuration;
using Robust.Shared.Enums;
using Robust.Shared.Prototypes;
namespace Content.Client.Administration;
@@ -17,8 +23,29 @@ internal sealed class AdminNameOverlay : Overlay
private readonly EntityLookupSystem _entityLookup;
private readonly IUserInterfaceManager _userInterfaceManager;
private readonly Font _font;
private readonly Font _fontBold;
private bool _overlayClassic;
private bool _overlaySymbols;
private bool _overlayPlaytime;
private bool _overlayStartingJob;
private float _ghostFadeDistance;
private float _ghostHideDistance;
private int _overlayStackMax;
private float _overlayMergeDistance;
public AdminNameOverlay(AdminSystem system, IEntityManager entityManager, IEyeManager eyeManager, IResourceCache resourceCache, EntityLookupSystem entityLookup, IUserInterfaceManager userInterfaceManager)
//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");
public AdminNameOverlay(
AdminSystem system,
IEntityManager entityManager,
IEyeManager eyeManager,
IResourceCache resourceCache,
EntityLookupSystem entityLookup,
IUserInterfaceManager userInterfaceManager,
IConfigurationManager config)
{
_system = system;
_entityManager = entityManager;
@@ -26,7 +53,18 @@ internal sealed class AdminNameOverlay : Overlay
_entityLookup = entityLookup;
_userInterfaceManager = userInterfaceManager;
ZIndex = 200;
_font = new VectorFont(resourceCache.GetResource<FontResource>("/Fonts/NotoSans/NotoSans-Regular.ttf"), 10);
// Setting these to a specific ttf would break the antag symbols
_font = resourceCache.NotoStack();
_fontBold = resourceCache.NotoStack(variation: "Bold");
config.OnValueChanged(CCVars.AdminOverlayClassic, (show) => { _overlayClassic = show; }, true);
config.OnValueChanged(CCVars.AdminOverlaySymbols, (show) => { _overlaySymbols = show; }, true);
config.OnValueChanged(CCVars.AdminOverlayPlaytime, (show) => { _overlayPlaytime = show; }, true);
config.OnValueChanged(CCVars.AdminOverlayStartingJob, (show) => { _overlayStartingJob = show; }, true);
config.OnValueChanged(CCVars.AdminOverlayGhostHideDistance, (f) => { _ghostHideDistance = f; }, true);
config.OnValueChanged(CCVars.AdminOverlayGhostFadeDistance, (f) => { _ghostFadeDistance = f; }, true);
config.OnValueChanged(CCVars.AdminOverlayStackMax, (i) => { _overlayStackMax = i; }, true);
config.OnValueChanged(CCVars.AdminOverlayMergeDistance, (f) => { _overlayMergeDistance = f; }, true);
}
public override OverlaySpace Space => OverlaySpace.ScreenSpace;
@@ -34,43 +72,147 @@ internal sealed class AdminNameOverlay : Overlay
protected override void Draw(in OverlayDrawArgs args)
{
var viewport = args.WorldAABB;
var colorDisconnected = Color.White;
var uiScale = _userInterfaceManager.RootControl.UIScale;
var lineoffset = new Vector2(0f, 14f) * uiScale;
var drawnOverlays = new List<(Vector2,Vector2)>() ; // A saved list of the overlays already drawn
foreach (var playerInfo in _system.PlayerList)
// Get all player positions before drawing overlays, so they can be sorted before iteration
var sortable = new List<(PlayerInfo, Box2, EntityUid, Vector2)>();
foreach (var info in _system.PlayerList)
{
var entity = _entityManager.GetEntity(playerInfo.NetEntity);
var entity = _entityManager.GetEntity(info.NetEntity);
// Otherwise the entity can not exist yet
if (entity == null || !_entityManager.EntityExists(entity))
{
// If entity does not exist or is on a different map, skip
if (entity == null
|| !_entityManager.EntityExists(entity)
|| _entityManager.GetComponent<TransformComponent>(entity.Value).MapID != args.MapId)
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 not on screen, skip
if (!aabb.Intersects(in viewport))
{
continue;
// Get on-screen coordinates of player
var screenCoordinates = _eyeManager.WorldToScreen(aabb.Center).Rounded();
sortable.Add((info, aabb, entity.Value, screenCoordinates));
}
// Draw overlays for visible players, starting from the top of the screen
foreach (var info in sortable.OrderBy(s => s.Item4.Y).ToList())
{
var playerInfo = info.Item1;
var aabb = info.Item2;
var entity = info.Item3;
var screenCoordinatesCenter = info.Item4;
//the center position is kept separately, for simpler position comparison later
var centerOffset = new Vector2(28f, -18f) * uiScale;
var screenCoordinates = screenCoordinatesCenter + centerOffset;
var alpha = 1f;
//TODO make a smarter system where the starting offset can be modified by the predicted position and size of already-drawn overlays/stacks?
var currentOffset = Vector2.Zero;
// Ghosts near the cursor are made transparent/invisible
// TODO would be "cheaper" if playerinfo already contained a ghost bool, this gets called every frame for every onscreen player!
if (_entityManager.HasComponent<GhostComponent>(entity))
{
// We want the map positions here, so we don't have to worry about resolution and such shenanigans
var mobPosition = aabb.Center;
var mousePosition = _eyeManager
.ScreenToMap(_userInterfaceManager.MousePositionScaled.Position * uiScale)
.Position;
var dist = Vector2.Distance(mobPosition, mousePosition);
if (dist < _ghostHideDistance)
continue;
alpha = Math.Clamp((dist - _ghostHideDistance) / (_ghostFadeDistance - _ghostHideDistance), 0f, 1f);
colorDisconnected.A = alpha;
}
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 (playerInfo.Antag)
// If the new overlay text block is within merge distance of any previous ones
// merge them into a stack so they don't hide each other
var stack = drawnOverlays.FindAll(x =>
Vector2.Distance(_eyeManager.ScreenToMap(x.Item1).Position, aabb.Center) <= _overlayMergeDistance);
if (stack.Count > 0)
{
args.ScreenHandle.DrawString(_font, screenCoordinates + (lineoffset * 2), "ANTAG", uiScale, Color.OrangeRed);
;
screenCoordinates = stack.First().Item1 + centerOffset;
// Replacing this overlay's coordinates for the later save with the stack root's coordinates
// so that other overlays don't try to stack to these coordinates
screenCoordinatesCenter = stack.First().Item1;
var i = 1;
foreach (var s in stack)
{
// additional entries after maximum stack size is reached will be drawn over the last entry
if (i <= _overlayStackMax - 1)
currentOffset = lineoffset + s.Item2 ;
i++;
}
}
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);
// Character name
var color = Color.Aquamarine;
color.A = alpha;
args.ScreenHandle.DrawString(_font, screenCoordinates + currentOffset, playerInfo.CharacterName, uiScale, playerInfo.Connected ? color : colorDisconnected);
currentOffset += lineoffset;
// Username
color = Color.Yellow;
color.A = alpha;
args.ScreenHandle.DrawString(_font, screenCoordinates + currentOffset, playerInfo.Username, uiScale, playerInfo.Connected ? color : colorDisconnected);
currentOffset += lineoffset;
// Playtime
if (!string.IsNullOrEmpty(playerInfo.PlaytimeString) && _overlayPlaytime)
{
color = Color.Orange;
color.A = alpha;
args.ScreenHandle.DrawString(_font, screenCoordinates + currentOffset, playerInfo.PlaytimeString, uiScale, playerInfo.Connected ? color : colorDisconnected);
currentOffset += lineoffset;
}
// Job
if (!string.IsNullOrEmpty(playerInfo.StartingJob) && _overlayStartingJob)
{
color = Color.GreenYellow;
color.A = alpha;
args.ScreenHandle.DrawString(_font, screenCoordinates + currentOffset, Loc.GetString(playerInfo.StartingJob), uiScale, playerInfo.Connected ? color : colorDisconnected);
currentOffset += lineoffset;
}
// Classic Antag Label
if (_overlayClassic && playerInfo.Antag)
{
var symbol = _overlaySymbols ? Loc.GetString("player-tab-antag-prefix") : string.Empty;
var label = _overlaySymbols
? Loc.GetString("player-tab-character-name-antag-symbol",
("symbol", symbol),
("name", _antagLabelClassic))
: _antagLabelClassic;
color = Color.OrangeRed;
color.A = alpha;
args.ScreenHandle.DrawString(_fontBold, screenCoordinates + currentOffset, label, uiScale, color);
currentOffset += lineoffset;
}
// Role Type
else if (!_overlayClassic && _filter.Contains(playerInfo.RoleProto))
{
var symbol = _overlaySymbols && playerInfo.Antag ? playerInfo.RoleProto.Symbol : string.Empty;
var role = Loc.GetString(playerInfo.RoleProto.Name).ToUpper();
var label = _overlaySymbols
? Loc.GetString("player-tab-character-name-antag-symbol", ("symbol", symbol), ("name", role))
: role;
color = playerInfo.RoleProto.Color;
color.A = alpha;
args.ScreenHandle.DrawString(_fontBold, screenCoordinates + currentOffset, label, uiScale, color);
currentOffset += lineoffset;
}
//Save the coordinates and size of the text block, for stack merge check
drawnOverlays.Add((screenCoordinatesCenter, currentOffset));
}
}
}

View File

@@ -14,6 +14,7 @@ namespace Content.Client.Administration.Systems
[Dependency] private readonly IEyeManager _eyeManager = default!;
[Dependency] private readonly EntityLookupSystem _entityLookup = default!;
[Dependency] private readonly IUserInterfaceManager _userInterfaceManager = default!;
[Dependency] private readonly IConfigurationManager _configurationManager = default!;
private AdminNameOverlay _adminNameOverlay = default!;
@@ -22,7 +23,14 @@ namespace Content.Client.Administration.Systems
private void InitializeOverlay()
{
_adminNameOverlay = new AdminNameOverlay(this, EntityManager, _eyeManager, _resourceCache, _entityLookup, _userInterfaceManager);
_adminNameOverlay = new AdminNameOverlay(
this,
EntityManager,
_eyeManager,
_resourceCache,
_entityLookup,
_userInterfaceManager,
_configurationManager);
_adminManager.AdminStatusUpdated += OnAdminStatusUpdated;
}

View File

@@ -19,11 +19,11 @@ namespace Content.Client.Administration.Systems
OnBwoinkTextMessageRecieved?.Invoke(this, message);
}
public void Send(NetUserId channelId, string text, bool playSound)
public void Send(NetUserId channelId, string text, bool playSound, bool adminOnly)
{
// Reuse the channel ID as the 'true sender'.
// Server will ignore this and if someone makes it not ignore this (which is bad, allows impersonation!!!), that will help.
RaiseNetworkEvent(new BwoinkTextMessage(channelId, channelId, text, playSound: playSound));
RaiseNetworkEvent(new BwoinkTextMessage(channelId, channelId, text, playSound: playSound, adminOnly: adminOnly));
SendInputTextUpdated(channelId, false);
}

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

@@ -2,22 +2,26 @@
xmlns="https://spacestation14.io"
xmlns:cc="clr-namespace:Content.Client.Administration.UI.CustomControls">
<PanelContainer StyleClasses="BackgroundDark">
<SplitContainer Orientation="Horizontal" VerticalExpand="True">
<cc:PlayerListControl Access="Public" Name="ChannelSelector" HorizontalExpand="True" SizeFlagsStretchRatio="1" />
<BoxContainer Orientation="Vertical" HorizontalExpand="True" SizeFlagsStretchRatio="2">
<BoxContainer Access="Public" Name="BwoinkArea" VerticalExpand="True" />
<BoxContainer Orientation="Horizontal" HorizontalExpand="True">
<CheckBox Visible="True" Name="PlaySound" Access="Public" Text="{Loc 'admin-bwoink-play-sound'}" Pressed="True" />
<Control HorizontalExpand="True" MinWidth="5" />
<Button Visible="True" Name="PopOut" Access="Public" Text="{Loc 'admin-logs-pop-out'}" StyleClasses="OpenBoth" HorizontalAlignment="Left" />
<Control HorizontalExpand="True" />
<Button Visible="False" Name="Bans" Text="{Loc 'admin-player-actions-bans'}" StyleClasses="OpenRight" />
<Button Visible="False" Name="Notes" Text="{Loc 'admin-player-actions-notes'}" StyleClasses="OpenBoth" />
<Button Visible="False" Name="Kick" Text="{Loc 'admin-player-actions-kick'}" StyleClasses="OpenBoth" />
<Button Visible="False" Name="Ban" Text="{Loc 'admin-player-actions-ban'}" StyleClasses="OpenBoth" />
<Button Visible="False" Name="Respawn" Text="{Loc 'admin-player-actions-respawn'}" StyleClasses="OpenBoth" />
<Button Visible="False" Name="Follow" Text="{Loc 'admin-player-actions-follow'}" StyleClasses="OpenLeft" />
<SplitContainer Orientation="Vertical" ResizeMode="NotResizable">
<SplitContainer Orientation="Horizontal" VerticalExpand="True">
<cc:PlayerListControl Access="Public" Name="ChannelSelector" HorizontalExpand="True" SizeFlagsStretchRatio="2" />
<BoxContainer Orientation="Vertical" HorizontalExpand="True" SizeFlagsStretchRatio="2">
<BoxContainer Access="Public" Name="BwoinkArea" VerticalExpand="True" />
</BoxContainer>
</SplitContainer>
<BoxContainer Orientation="Horizontal" SetHeight="30" >
<CheckBox Name="AdminOnly" Access="Public" Text="{Loc 'admin-ahelp-admin-only'}" ToolTip="{Loc 'admin-ahelp-admin-only-tooltip'}" />
<Control HorizontalExpand="True" MinWidth="5" />
<CheckBox Name="PlaySound" Access="Public" Text="{Loc 'admin-bwoink-play-sound'}" Pressed="True" />
<Control HorizontalExpand="True" MinWidth="5" />
<Button Visible="True" Name="PopOut" Access="Public" Text="{Loc 'admin-logs-pop-out'}" StyleClasses="OpenBoth" HorizontalAlignment="Left" />
<Control HorizontalExpand="True" />
<Button Visible="False" Name="Bans" Text="{Loc 'admin-player-actions-bans'}" StyleClasses="OpenRight" />
<Button Visible="False" Name="Notes" Text="{Loc 'admin-player-actions-notes'}" StyleClasses="OpenBoth" />
<Button Visible="False" Name="Kick" Text="{Loc 'admin-player-actions-kick'}" StyleClasses="OpenBoth" />
<Button Visible="False" Name="Ban" Text="{Loc 'admin-player-actions-ban'}" StyleClasses="OpenBoth" />
<Button Visible="False" Name="Respawn" Text="{Loc 'admin-player-actions-respawn'}" StyleClasses="OpenBoth" />
<Button Visible="False" Name="Follow" Text="{Loc 'admin-player-actions-follow'}" StyleClasses="OpenLeft" />
</BoxContainer>
</SplitContainer>
</PanelContainer>

View File

@@ -36,6 +36,9 @@ namespace Content.Client.Administration.UI.Bwoink
RobustXamlLoader.Load(this);
IoCManager.InjectDependencies(this);
var newPlayerThreshold = 0;
_cfg.OnValueChanged(CCVars.NewPlayerThreshold, (val) => { newPlayerThreshold = val; }, true);
var uiController = _ui.GetUIController<AHelpUIController>();
if (uiController.UIHelper is not AdminAHelpUIHandler helper)
return;
@@ -45,6 +48,8 @@ namespace Content.Client.Administration.UI.Bwoink
_adminManager.AdminStatusUpdated += UpdateButtons;
UpdateButtons();
AdminOnly.OnToggled += args => PlaySound.Disabled = args.Pressed;
ChannelSelector.OnSelectionChanged += sel =>
{
_currentPlayer = sel;
@@ -57,9 +62,9 @@ namespace Content.Client.Administration.UI.Bwoink
var sb = new StringBuilder();
if (info.Connected)
sb.Append('●');
sb.Append(info.ActiveThisRound ? '⚫' : '◐');
else
sb.Append(info.ActiveThisRound ? '' : '·');
sb.Append(info.ActiveThisRound ? '' : '·');
sb.Append(' ');
if (AHelpHelper.TryGetChannel(info.SessionId, out var panel) && panel.Unread > 0)
@@ -71,10 +76,12 @@ namespace Content.Client.Administration.UI.Bwoink
sb.Append(' ');
}
// Mark antagonists with symbol
if (info.Antag && info.ActiveThisRound)
sb.Append(new Rune(0x1F5E1)); // 🗡
if (info.OverallPlaytime <= TimeSpan.FromMinutes(_cfg.GetCVar(CCVars.NewPlayerThreshold)))
// Mark new players with symbol
if (IsNewPlayer(info))
sb.Append(new Rune(0x23F2)); // ⏲
sb.AppendFormat("\"{0}\"", text);
@@ -82,6 +89,19 @@ namespace Content.Client.Administration.UI.Bwoink
return sb.ToString();
};
// <summary>
// Returns true if the player's overall playtime is under the set threshold
// </summary>
bool IsNewPlayer(PlayerInfo info)
{
// Don't show every disconnected player as new, don't show 0-minute players as new if threshold is
if (newPlayerThreshold <= 0 || info.OverallPlaytime is null && !info.Connected)
return false;
return (info.OverallPlaytime is null
|| info.OverallPlaytime < TimeSpan.FromMinutes(newPlayerThreshold));
}
ChannelSelector.Comparison = (a, b) =>
{
var ach = AHelpHelper.EnsurePanel(a.SessionId);
@@ -91,31 +111,37 @@ namespace Content.Client.Administration.UI.Bwoink
if (a.IsPinned != b.IsPinned)
return a.IsPinned ? -1 : 1;
// First, sort by unread. Any chat with unread messages appears first.
// Then, any chat with unread messages.
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.
// Then, any chat with recent messages from 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.
// Sort by connection status. Disconnected players will be last.
if (a.Connected != b.Connected)
return a.Connected ? -1 : 1;
// Sort connected players by New Player status, then by Antag status
// Sort connected players by whether they have joined the round, then 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));
var aNewPlayer = IsNewPlayer(a);
var bNewPlayer = IsNewPlayer(b);
// Players who have joined the round will be listed before players in the lobby
if (a.ActiveThisRound != b.ActiveThisRound)
return a.ActiveThisRound ? -1 : 1;
// Within both the joined group and lobby group, new players will be grouped and listed first
if (aNewPlayer != bNewPlayer)
return aNewPlayer ? -1 : 1;
// Within all four previous groups, antagonists will be listed first.
if (a.Antag != b.Antag)
return a.Antag ? -1 : 1;
}

View File

@@ -22,12 +22,9 @@ namespace Content.Client.Administration.UI.Bwoink
return;
}
Title = $"{sel.CharacterName} / {sel.Username}";
Title = $"{sel.CharacterName} / {sel.Username} | {Loc.GetString("generic-playtime-title")}: ";
if (sel.OverallPlaytime != null)
{
Title += $" | {Loc.GetString("generic-playtime-title")}: {sel.PlaytimeString}";
}
Title += sel.OverallPlaytime != null ? sel.PlaytimeString : Loc.GetString("generic-unknown-title");
};
OnOpen += () =>

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

@@ -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

@@ -2,11 +2,13 @@ using System.Linq;
using Content.Client.Administration.Systems;
using Content.Client.UserInterface.Controls;
using Content.Shared.Administration;
using Content.Shared.CCVar;
using Robust.Client.AutoGenerated;
using Robust.Client.Graphics;
using Robust.Client.Player;
using Robust.Client.UserInterface;
using Robust.Client.UserInterface.XAML;
using Robust.Shared.Configuration;
using static Content.Client.Administration.UI.Tabs.PlayerTab.PlayerTabHeader;
using static Robust.Client.UserInterface.Controls.BaseButton;
@@ -16,6 +18,7 @@ namespace Content.Client.Administration.UI.Tabs.PlayerTab;
public sealed partial class PlayerTab : Control
{
[Dependency] private readonly IEntityManager _entManager = default!;
[Dependency] private readonly IConfigurationManager _config = default!;
[Dependency] private readonly IPlayerManager _playerMan = default!;
private const string ArrowUp = "↑";
@@ -41,6 +44,10 @@ public sealed partial class PlayerTab : Control
_adminSystem.OverlayEnabled += OverlayEnabled;
_adminSystem.OverlayDisabled += OverlayDisabled;
_config.OnValueChanged(CCVars.AdminPlayerlistSeparateSymbols, PlayerListSettingsChanged);
_config.OnValueChanged(CCVars.AdminPlayerlistHighlightedCharacterColor, PlayerListSettingsChanged);
_config.OnValueChanged(CCVars.AdminPlayerlistRoleTypeColor, PlayerListSettingsChanged);
OverlayButton.OnPressed += OverlayButtonPressed;
ShowDisconnectedButton.OnPressed += ShowDisconnectedPressed;
@@ -106,6 +113,11 @@ public sealed partial class PlayerTab : Control
#region ListContainer
private void PlayerListSettingsChanged(bool _)
{
RefreshPlayerList(_adminSystem.PlayerList);
}
private void RefreshPlayerList(IReadOnlyList<PlayerInfo> players)
{
_players = players;
@@ -196,7 +208,7 @@ public sealed partial class PlayerTab : Control
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 => y.SortWeight - x.SortWeight,
Header.Playtime => TimeSpan.Compare(x.OverallPlaytime ?? default, y.OverallPlaytime ?? default),
_ => 1
};

View File

@@ -19,8 +19,8 @@
HorizontalExpand="True"
ClipText="True"/>
<customControls:VSeparator/>
<Label Name="AntagonistLabel"
SizeFlagsStretchRatio="1"
<Label Name="RoleTypeLabel"
SizeFlagsStretchRatio="2"
HorizontalExpand="True"
ClipText="True"/>
<customControls:VSeparator/>

View File

@@ -1,8 +1,10 @@
using Content.Shared.Administration;
using Content.Shared.CCVar;
using Robust.Client.AutoGenerated;
using Robust.Client.Graphics;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.XAML;
using Robust.Shared.Configuration;
namespace Content.Client.Administration.UI.Tabs.PlayerTab;
@@ -14,15 +16,25 @@ public sealed partial class PlayerTabEntry : PanelContainer
public PlayerTabEntry(PlayerInfo player, StyleBoxFlat styleBoxFlat)
{
RobustXamlLoader.Load(this);
var config = IoCManager.Resolve<IConfigurationManager>();
UsernameLabel.Text = player.Username;
if (!player.Connected)
UsernameLabel.StyleClasses.Add("Disabled");
JobLabel.Text = player.StartingJob;
CharacterLabel.Text = player.CharacterName;
var separateAntagSymbols = config.GetCVar(CCVars.AdminPlayerlistSeparateSymbols);
var genericAntagSymbol = player.Antag ? Loc.GetString("player-tab-antag-prefix") : string.Empty;
var roleSymbol = player.Antag ? player.RoleProto.Symbol : string.Empty;
var symbol = separateAntagSymbols ? roleSymbol : genericAntagSymbol;
CharacterLabel.Text = Loc.GetString("player-tab-character-name-antag-symbol", ("symbol", symbol), ("name", player.CharacterName));
if (player.Antag && config.GetCVar(CCVars.AdminPlayerlistHighlightedCharacterColor))
CharacterLabel.FontColorOverride = player.RoleProto.Color;
if (player.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);
if (config.GetCVar(CCVars.AdminPlayerlistRoleTypeColor))
RoleTypeLabel.FontColorOverride = player.RoleProto.Color;
BackgroundColorPanel.PanelOverride = styleBoxFlat;
OverallPlaytimeLabel.Text = player.PlaytimeString;
PlayerEntity = player.NetEntity;

View File

@@ -25,11 +25,11 @@
Text="{Loc player-tab-job}"
MouseFilter="Pass"/>
<cc:VSeparator/>
<Label Name="AntagonistLabel"
SizeFlagsStretchRatio="1"
<Label Name="RoleTypeLabel"
SizeFlagsStretchRatio="2"
HorizontalExpand="True"
ClipText="True"
Text="{Loc player-tab-antagonist}"
Text="{Loc player-tab-roletype}"
MouseFilter="Pass"/>
<cc:VSeparator/>
<Label Name="PlaytimeLabel"

View File

@@ -18,7 +18,7 @@ public sealed partial class PlayerTabHeader : Control
UsernameLabel.OnKeyBindDown += UsernameClicked;
CharacterLabel.OnKeyBindDown += CharacterClicked;
JobLabel.OnKeyBindDown += JobClicked;
AntagonistLabel.OnKeyBindDown += AntagonistClicked;
RoleTypeLabel.OnKeyBindDown += RoleTypeClicked;
PlaytimeLabel.OnKeyBindDown += PlaytimeClicked;
}
@@ -29,7 +29,7 @@ public sealed partial class PlayerTabHeader : Control
Header.Username => UsernameLabel,
Header.Character => CharacterLabel,
Header.Job => JobLabel,
Header.Antagonist => AntagonistLabel,
Header.RoleType => RoleTypeLabel,
Header.Playtime => PlaytimeLabel,
_ => throw new ArgumentOutOfRangeException(nameof(header), header, null)
};
@@ -40,7 +40,7 @@ public sealed partial class PlayerTabHeader : Control
UsernameLabel.Text = Loc.GetString("player-tab-username");
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");
}
@@ -70,9 +70,9 @@ public sealed partial class PlayerTabHeader : Control
HeaderClicked(args, Header.Job);
}
private void AntagonistClicked(GUIBoundKeyEventArgs args)
private void RoleTypeClicked(GUIBoundKeyEventArgs args)
{
HeaderClicked(args, Header.Antagonist);
HeaderClicked(args, Header.RoleType);
}
private void PlaytimeClicked(GUIBoundKeyEventArgs args)
@@ -89,7 +89,7 @@ public sealed partial class PlayerTabHeader : Control
UsernameLabel.OnKeyBindDown -= UsernameClicked;
CharacterLabel.OnKeyBindDown -= CharacterClicked;
JobLabel.OnKeyBindDown -= JobClicked;
AntagonistLabel.OnKeyBindDown -= AntagonistClicked;
RoleTypeLabel.OnKeyBindDown -= RoleTypeClicked;
PlaytimeLabel.OnKeyBindDown -= PlaytimeClicked;
}
}
@@ -99,7 +99,7 @@ public sealed partial class PlayerTabHeader : Control
Username,
Character,
Job,
Antagonist,
RoleType,
Playtime
}
}

View File

@@ -0,0 +1,5 @@
using Content.Shared.Advertise.Systems;
namespace Content.Client.Advertise.Systems;
public sealed class SpeakOnUIClosedSystem : SharedSpeakOnUIClosedSystem;

View File

@@ -52,7 +52,7 @@ public sealed class ClientAlertsSystem : AlertsSystem
if (args.Current is not AlertComponentState cast)
return;
alerts.Comp.Alerts = cast.Alerts;
alerts.Comp.Alerts = new(cast.Alerts);
UpdateHud(alerts);
}

View File

@@ -31,19 +31,6 @@ public sealed partial class AtmosAlarmEntryContainer : BoxContainer
[AtmosAlarmType.Danger] = "atmos-alerts-window-danger-state",
};
private Dictionary<Gas, string> _gasShorthands = new Dictionary<Gas, string>()
{
[Gas.Ammonia] = "NH₃",
[Gas.CarbonDioxide] = "CO₂",
[Gas.Frezon] = "F",
[Gas.Nitrogen] = "N₂",
[Gas.NitrousOxide] = "N₂O",
[Gas.Oxygen] = "O₂",
[Gas.Plasma] = "P",
[Gas.Tritium] = "T",
[Gas.WaterVapor] = "H₂O",
};
public AtmosAlarmEntryContainer(NetEntity uid, EntityCoordinates? coordinates)
{
RobustXamlLoader.Load(this);
@@ -162,12 +149,11 @@ public sealed partial class AtmosAlarmEntryContainer : BoxContainer
foreach ((var gas, (var mol, var percent, var alert)) in keyValuePairs)
{
FixedPoint2 gasPercent = percent * 100f;
var gasShorthand = _gasShorthands.GetValueOrDefault(gas, "X");
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", gasShorthand), ("value", gasPercent)),
Text = Loc.GetString("atmos-alerts-window-other-gases-value", ("shorthand", gasAbbreviation), ("value", gasPercent)),
FontOverride = normalFont,
FontColorOverride = GetAlarmStateColor(alert),
HorizontalAlignment = HAlignment.Center,

View File

@@ -11,6 +11,8 @@ public sealed class AtmosAlertsComputerBoundUserInterface : BoundUserInterface
protected override void Open()
{
base.Open();
_menu = new AtmosAlertsComputerWindow(this, Owner);
_menu.OpenCentered();
_menu.OnClose += Close;

View File

@@ -512,39 +512,15 @@ public sealed partial class AtmosAlertsComputerWindow : FancyWindow
if (scroll == null)
return;
if (!TryGetVerticalScrollbar(scroll, out var vScrollbar))
return;
if (!TryGetNextScrollPosition(out float? nextScrollPosition))
return;
vScrollbar.ValueTarget = nextScrollPosition.Value;
scroll.VScrollTarget = nextScrollPosition.Value;
if (MathHelper.CloseToPercent(vScrollbar.Value, vScrollbar.ValueTarget))
if (MathHelper.CloseToPercent(scroll.VScroll, scroll.VScrollTarget))
_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;

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,435 @@
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 (!TryGetNextScrollPosition(out float? nextScrollPosition))
return;
scroll.VScrollTarget = nextScrollPosition.Value;
if (MathHelper.CloseToPercent(scroll.VScroll, scroll.VScrollTarget))
_autoScrollActive = 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

@@ -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

@@ -16,6 +16,7 @@ namespace Content.Client.Atmos.EntitySystems
[Dependency] private readonly IResourceCache _resourceCache = default!;
[Dependency] private readonly IOverlayManager _overlayMan = default!;
[Dependency] private readonly SpriteSystem _spriteSys = default!;
[Dependency] private readonly SharedTransformSystem _xformSys = default!;
private GasTileOverlay _overlay = default!;
@@ -25,7 +26,7 @@ namespace Content.Client.Atmos.EntitySystems
SubscribeNetworkEvent<GasOverlayUpdateEvent>(HandleGasOverlayUpdate);
SubscribeLocalEvent<GasTileOverlayComponent, ComponentHandleState>(OnHandleState);
_overlay = new GasTileOverlay(this, EntityManager, _resourceCache, ProtoMan, _spriteSys);
_overlay = new GasTileOverlay(this, EntityManager, _resourceCache, ProtoMan, _spriteSys, _xformSys);
_overlayMan.AddOverlay(_overlay);
}

View File

@@ -130,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);
}
@@ -145,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);
}
@@ -161,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);
}

View File

@@ -83,10 +83,10 @@ public sealed partial class PumpControl : BoxContainer
PumpDataChanged?.Invoke(_address, _data);
};
_copySettings.OnPressed += _ =>
{
PumpDataCopied?.Invoke(_data);
};
_copySettings.OnPressed += _ =>
{
PumpDataCopied?.Invoke(_data);
};
}
public void ChangeData(GasVentPumpData data)

View File

@@ -72,10 +72,10 @@ public sealed partial class ScrubberControl : BoxContainer
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)
{
@@ -56,7 +58,7 @@ public sealed partial class SensorInfo : BoxContainer
gasThresholdControl.Margin = new Thickness(20, 2, 2, 2);
gasThresholdControl.ThresholdDataChanged += (type, alarmThreshold, arg3) =>
{
OnThresholdUpdate!(_address, type, alarmThreshold, arg3);
OnThresholdUpdate?.Invoke(_address, type, alarmThreshold, arg3);
};
_gasThresholds.Add(gas, gasThresholdControl);
@@ -72,12 +74,17 @@ public sealed partial class SensorInfo : BoxContainer
_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);
};
}

View File

@@ -21,6 +21,7 @@ namespace Content.Client.Atmos.Overlays
{
private readonly IEntityManager _entManager;
private readonly IMapManager _mapManager;
private readonly SharedTransformSystem _xformSys;
public override OverlaySpace Space => OverlaySpace.WorldSpaceEntities | OverlaySpace.WorldSpaceBelowWorld;
private readonly ShaderInstance _shader;
@@ -46,10 +47,11 @@ namespace Content.Client.Atmos.Overlays
public const int GasOverlayZIndex = (int) Shared.DrawDepth.DrawDepth.Effects; // Under ghosts, above mostly everything else
public GasTileOverlay(GasTileOverlaySystem system, IEntityManager entManager, IResourceCache resourceCache, IPrototypeManager protoMan, SpriteSystem spriteSys)
public GasTileOverlay(GasTileOverlaySystem system, IEntityManager entManager, IResourceCache resourceCache, IPrototypeManager protoMan, SpriteSystem spriteSys, SharedTransformSystem xformSys)
{
_entManager = entManager;
_mapManager = IoCManager.Resolve<IMapManager>();
_xformSys = xformSys;
_shader = protoMan.Index<ShaderPrototype>("unshaded").Instance();
ZIndex = GasOverlayZIndex;
@@ -158,7 +160,8 @@ namespace Content.Client.Atmos.Overlays
_fireFrameCounter,
_shader,
overlayQuery,
xformQuery);
xformQuery,
_xformSys);
var mapUid = _mapManager.GetMapEntityId(args.MapId);
@@ -180,7 +183,8 @@ namespace Content.Client.Atmos.Overlays
int[] fireFrameCounter,
ShaderInstance shader,
EntityQuery<GasTileOverlayComponent> overlayQuery,
EntityQuery<TransformComponent> xformQuery) state) =>
EntityQuery<TransformComponent> xformQuery,
SharedTransformSystem xformSys) state) =>
{
if (!state.overlayQuery.TryGetComponent(uid, out var comp) ||
!state.xformQuery.TryGetComponent(uid, out var gridXform))
@@ -188,7 +192,7 @@ namespace Content.Client.Atmos.Overlays
return true;
}
var (_, _, worldMatrix, invMatrix) = gridXform.GetWorldPositionRotationMatrixWithInv();
var (_, _, worldMatrix, invMatrix) = state.xformSys.GetWorldPositionRotationMatrixWithInv(gridXform);
state.drawHandle.SetTransform(worldMatrix);
var floatBounds = invMatrix.TransformBox(state.WorldBounds).Enlarged(grid.TileSize);
var localBounds = new Box2i(

View File

@@ -1,4 +1,5 @@
using Robust.Client.GameObjects;
using Robust.Client.UserInterface;
using static Content.Shared.Atmos.Components.GasAnalyzerComponent;
namespace Content.Client.Atmos.UI
@@ -16,9 +17,7 @@ namespace Content.Client.Atmos.UI
{
base.Open();
_window = new GasAnalyzerWindow();
_window.OnClose += OnClose;
_window.OpenCenteredLeft();
_window = this.CreateWindowCenteredLeft<GasAnalyzerWindow>();
}
protected override void ReceiveMessage(BoundUserInterfaceMessage message)

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>

View File

@@ -1,14 +1,8 @@
using System;
using System.Collections.Generic;
using System.Globalization;
using Content.Client.Atmos.EntitySystems;
using Content.Client.UserInterface.Controls;
using Content.Shared.Atmos;
using Content.Shared.Atmos.Prototypes;
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.UI
{
@@ -16,12 +10,25 @@ namespace Content.Client.Atmos.UI
/// Client-side UI used to control a gas pressure pump.
/// </summary>
[GenerateTypedNameReferences]
public sealed partial class GasPressurePumpWindow : DefaultWindow
public sealed partial class GasPressurePumpWindow : FancyWindow
{
public bool PumpStatus = true;
public event Action? ToggleStatusButtonPressed;
public event Action<string>? PumpOutputPressureChanged;
public event Action<float>? PumpOutputPressureChanged;
public float MaxPressure
{
get => _maxPressure;
set
{
_maxPressure = value;
PumpPressureOutputInput.Value = MathF.Min(value, PumpPressureOutputInput.Value);
}
}
private float _maxPressure = Atmospherics.MaxOutputPressure;
public GasPressurePumpWindow()
{
@@ -30,23 +37,25 @@ namespace Content.Client.Atmos.UI
ToggleStatusButton.OnPressed += _ => SetPumpStatus(!PumpStatus);
ToggleStatusButton.OnPressed += _ => ToggleStatusButtonPressed?.Invoke();
PumpPressureOutputInput.OnTextChanged += _ => SetOutputPressureButton.Disabled = false;
PumpPressureOutputInput.OnValueChanged += _ => SetOutputPressureButton.Disabled = false;
SetOutputPressureButton.OnPressed += _ =>
{
PumpOutputPressureChanged?.Invoke(PumpPressureOutputInput.Text ??= "");
PumpPressureOutputInput.Value = Math.Clamp(PumpPressureOutputInput.Value, 0f, _maxPressure);
PumpOutputPressureChanged?.Invoke(PumpPressureOutputInput.Value);
SetOutputPressureButton.Disabled = true;
};
SetMaxPressureButton.OnPressed += _ =>
{
PumpPressureOutputInput.Text = Atmospherics.MaxOutputPressure.ToString(CultureInfo.CurrentCulture);
PumpPressureOutputInput.Value = _maxPressure;
SetOutputPressureButton.Disabled = false;
};
}
public void SetOutputPressure(float pressure)
{
PumpPressureOutputInput.Text = pressure.ToString(CultureInfo.CurrentCulture);
PumpPressureOutputInput.Value = pressure;
}
public void SetPumpStatus(bool enabled)

View File

@@ -1,6 +1,6 @@
<DefaultWindow xmlns="https://spacestation14.io"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
MinSize="280 160" Title="Temperature Control Unit">
MinSize="280 160" Title="{Loc comp-space-heater-ui-title}">
<BoxContainer Name="VboxContainer" Orientation="Vertical" Margin="5 5 5 5" SeparationOverride="10">

View File

@@ -66,7 +66,7 @@ public sealed class ClientGlobalSoundSystem : SharedGlobalSoundSystem
{
if(!_adminAudioEnabled) return;
var stream = _audio.PlayGlobal(soundEvent.Filename, Filter.Local(), false, soundEvent.AudioParams);
var stream = _audio.PlayGlobal(soundEvent.Specifier, Filter.Local(), false, soundEvent.AudioParams);
_adminAudio.Add(stream?.Entity);
}
@@ -75,13 +75,13 @@ public sealed class ClientGlobalSoundSystem : SharedGlobalSoundSystem
// Either the cvar is disabled or it's already playing
if(!_eventAudioEnabled || _eventAudio.ContainsKey(soundEvent.Type)) return;
var stream = _audio.PlayGlobal(soundEvent.Filename, Filter.Local(), false, soundEvent.AudioParams);
var stream = _audio.PlayGlobal(soundEvent.Specifier, Filter.Local(), false, soundEvent.AudioParams);
_eventAudio.Add(soundEvent.Type, stream?.Entity);
}
private void PlayGameSound(GameGlobalSoundEvent soundEvent)
{
_audio.PlayGlobal(soundEvent.Filename, Filter.Local(), false, soundEvent.AudioParams);
_audio.PlayGlobal(soundEvent.Specifier, Filter.Local(), false, soundEvent.AudioParams);
}
private void StopStationEventMusic(StopStationEventMusic soundEvent)

View File

@@ -218,7 +218,7 @@ public sealed partial class ContentAudioSystem
return;
var file = _gameTicker.RestartSound;
if (string.IsNullOrEmpty(file))
if (ResolvedSoundSpecifier.IsNullOrEmpty(file))
{
return;
}

View File

@@ -3,13 +3,15 @@ using Content.Shared.Buckle;
using Content.Shared.Buckle.Components;
using Content.Shared.Rotation;
using Robust.Client.GameObjects;
using Robust.Shared.GameStates;
using Robust.Client.Graphics;
namespace Content.Client.Buckle;
internal sealed class BuckleSystem : SharedBuckleSystem
{
[Dependency] private readonly RotationVisualizerSystem _rotationVisualizerSystem = default!;
[Dependency] private readonly IEyeManager _eye = default!;
[Dependency] private readonly SharedTransformSystem _xformSystem = default!;
public override void Initialize()
{
@@ -17,6 +19,8 @@ internal sealed class BuckleSystem : SharedBuckleSystem
SubscribeLocalEvent<BuckleComponent, AppearanceChangeEvent>(OnAppearanceChange);
SubscribeLocalEvent<StrapComponent, MoveEvent>(OnStrapMoveEvent);
SubscribeLocalEvent<BuckleComponent, BuckledEvent>(OnBuckledEvent);
SubscribeLocalEvent<BuckleComponent, UnbuckledEvent>(OnUnbuckledEvent);
}
private void OnStrapMoveEvent(EntityUid uid, StrapComponent component, ref MoveEvent args)
@@ -28,13 +32,21 @@ internal sealed class BuckleSystem : SharedBuckleSystem
// This code is garbage, it doesn't work with rotated viewports. I need to finally get around to reworking
// sprite rendering for entity layers & direction dependent sorting.
// Future notes:
// Right now this doesn't handle: other grids, other grids rotating, the camera rotation changing, and many other fun rotation specific things
// The entire thing should be a concern of the engine, or something engine helps to implement properly.
// Give some of the sprite rotations their own drawdepth, maybe as an offset within the rsi, or something like this
// And we won't ever need to set the draw depth manually
if (args.NewRotation == args.OldRotation)
return;
if (!TryComp<SpriteComponent>(uid, out var strapSprite))
return;
var isNorth = Transform(uid).LocalRotation.GetCardinalDir() == Direction.North;
var angle = _xformSystem.GetWorldRotation(uid) + _eye.CurrentEye.Rotation; // Get true screen position, or close enough
var isNorth = angle.GetCardinalDir() == Direction.North;
foreach (var buckledEntity in component.BuckledEntities)
{
if (!TryComp<BuckleComponent>(buckledEntity, out var buckle))
@@ -45,6 +57,7 @@ internal sealed class BuckleSystem : SharedBuckleSystem
if (isNorth)
{
// This will only assign if empty, it won't get overwritten by new depth on multiple calls, which do happen easily
buckle.OriginalDrawDepth ??= buckledSprite.DrawDepth;
buckledSprite.DrawDepth = strapSprite.DrawDepth - 1;
}
@@ -56,6 +69,42 @@ internal sealed class BuckleSystem : SharedBuckleSystem
}
}
/// <summary>
/// Lower the draw depth of the buckled entity without needing for the strap entity to rotate/move.
/// Only do so when the entity is facing screen-local north
/// </summary>
private void OnBuckledEvent(Entity<BuckleComponent> ent, ref BuckledEvent args)
{
if (!TryComp<SpriteComponent>(args.Strap, out var strapSprite))
return;
if (!TryComp<SpriteComponent>(ent.Owner, out var buckledSprite))
return;
var angle = _xformSystem.GetWorldRotation(args.Strap) + _eye.CurrentEye.Rotation; // Get true screen position, or close enough
if (angle.GetCardinalDir() != Direction.North)
return;
ent.Comp.OriginalDrawDepth ??= buckledSprite.DrawDepth;
buckledSprite.DrawDepth = strapSprite.DrawDepth - 1;
}
/// <summary>
/// Was the draw depth of the buckled entity lowered? Reset it upon unbuckling.
/// </summary>
private void OnUnbuckledEvent(Entity<BuckleComponent> ent, ref UnbuckledEvent args)
{
if (!TryComp<SpriteComponent>(ent.Owner, out var buckledSprite))
return;
if (!ent.Comp.OriginalDrawDepth.HasValue)
return;
buckledSprite.DrawDepth = ent.Comp.OriginalDrawDepth.Value;
ent.Comp.OriginalDrawDepth = null;
}
private void OnAppearanceChange(EntityUid uid, BuckleComponent component, ref AppearanceChangeEvent args)
{
if (!TryComp<RotationVisualsComponent>(uid, out var rotVisuals))

View File

@@ -39,6 +39,6 @@ public sealed class CargoBountyConsoleBoundUserInterface : BoundUserInterface
if (message is not CargoBountyConsoleState state)
return;
_menu?.UpdateEntries(state.Bounties, state.UntilNextSkip);
_menu?.UpdateEntries(state.Bounties, state.History, state.UntilNextSkip);
}
}

View File

@@ -1,3 +1,4 @@
using Content.Shared.Cargo.Components;
using Content.Shared.Timing;
using Content.Shared.Cargo.Systems;
@@ -10,9 +11,9 @@ public sealed class ClientPriceGunSystem : SharedPriceGunSystem
{
[Dependency] private readonly UseDelaySystem _useDelay = default!;
protected override bool GetPriceOrBounty(EntityUid priceGunUid, EntityUid target, EntityUid user)
protected override bool GetPriceOrBounty(Entity<PriceGunComponent> entity, EntityUid target, EntityUid user)
{
if (!TryComp(priceGunUid, out UseDelayComponent? useDelay) || _useDelay.IsDelayed((priceGunUid, useDelay)))
if (!TryComp(entity, out UseDelayComponent? useDelay) || _useDelay.IsDelayed((entity, useDelay)))
return false;
// It feels worse if the cooldown is predicted but the popup isn't! So only do the cooldown reset on the server.

View File

@@ -0,0 +1,22 @@
<BoxContainer xmlns="https://spacestation14.io"
xmlns:customControls="clr-namespace:Content.Client.Administration.UI.CustomControls"
Margin="10 10 10 0"
HorizontalExpand="True">
<PanelContainer StyleClasses="AngleRect" HorizontalExpand="True">
<BoxContainer Orientation="Vertical"
HorizontalExpand="True">
<BoxContainer Orientation="Horizontal">
<BoxContainer Orientation="Vertical" HorizontalExpand="True">
<RichTextLabel Name="RewardLabel"/>
<RichTextLabel Name="ManifestLabel"/>
</BoxContainer>
<BoxContainer Orientation="Vertical" MinWidth="120" Margin="0 0 10 0">
<RichTextLabel Name="TimestampLabel" HorizontalAlignment="Right" />
<RichTextLabel Name="IdLabel" HorizontalAlignment="Right" />
</BoxContainer>
</BoxContainer>
<customControls:HSeparator Margin="5 10 5 10"/>
<RichTextLabel Name="NoticeLabel" />
</BoxContainer>
</PanelContainer>
</BoxContainer>

View File

@@ -0,0 +1,49 @@
using Content.Client.Message;
using Content.Shared.Cargo;
using Content.Shared.Cargo.Prototypes;
using Robust.Client.AutoGenerated;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.XAML;
using Robust.Shared.Prototypes;
using Robust.Shared.Timing;
namespace Content.Client.Cargo.UI;
[GenerateTypedNameReferences]
public sealed partial class BountyHistoryEntry : BoxContainer
{
[Dependency] private readonly IPrototypeManager _prototype = default!;
public BountyHistoryEntry(CargoBountyHistoryData bounty)
{
RobustXamlLoader.Load(this);
IoCManager.InjectDependencies(this);
if (!_prototype.TryIndex(bounty.Bounty, out var bountyPrototype))
return;
var items = new List<string>();
foreach (var entry in bountyPrototype.Entries)
{
items.Add(Loc.GetString("bounty-console-manifest-entry",
("amount", entry.Amount),
("item", Loc.GetString(entry.Name))));
}
ManifestLabel.SetMarkup(Loc.GetString("bounty-console-manifest-label", ("item", string.Join(", ", items))));
RewardLabel.SetMarkup(Loc.GetString("bounty-console-reward-label", ("reward", bountyPrototype.Reward)));
IdLabel.SetMarkup(Loc.GetString("bounty-console-id-label", ("id", bounty.Id)));
TimestampLabel.SetMarkup(bounty.Timestamp.ToString(@"hh\:mm\:ss"));
if (bounty.Result == CargoBountyHistoryData.BountyResult.Completed)
{
NoticeLabel.SetMarkup(Loc.GetString("bounty-console-history-notice-completed-label"));
}
else
{
NoticeLabel.SetMarkup(Loc.GetString("bounty-console-history-notice-skipped-label",
("id", bounty.ActorName ?? "")));
}
}
}

View File

@@ -11,15 +11,28 @@
<PanelContainer.PanelOverride>
<gfx:StyleBoxFlat BackgroundColor="#1B1B1E" />
</PanelContainer.PanelOverride>
<ScrollContainer HScrollEnabled="False"
HorizontalExpand="True"
VerticalExpand="True">
<BoxContainer Name="BountyEntriesContainer"
Orientation="Vertical"
VerticalExpand="True"
HorizontalExpand="True">
</BoxContainer>
</ScrollContainer>
<TabContainer Name="MasterTabContainer" VerticalExpand="True" HorizontalExpand="True">
<ScrollContainer HScrollEnabled="False"
HorizontalExpand="True"
VerticalExpand="True">
<BoxContainer Name="BountyEntriesContainer"
Orientation="Vertical"
VerticalExpand="True"
HorizontalExpand="True" />
</ScrollContainer>
<ScrollContainer HScrollEnabled="False"
HorizontalExpand="True"
VerticalExpand="True">
<Label Name="NoHistoryLabel"
Text="{Loc 'bounty-console-history-empty-label'}"
Visible="False"
Align="Center" />
<BoxContainer Name="BountyHistoryContainer"
Orientation="Vertical"
VerticalExpand="True"
HorizontalExpand="True" />
</ScrollContainer>
</TabContainer>
</PanelContainer>
<!-- Footer -->
<BoxContainer Orientation="Vertical">

View File

@@ -15,9 +15,12 @@ public sealed partial class CargoBountyMenu : FancyWindow
public CargoBountyMenu()
{
RobustXamlLoader.Load(this);
MasterTabContainer.SetTabTitle(0, Loc.GetString("bounty-console-tab-available-label"));
MasterTabContainer.SetTabTitle(1, Loc.GetString("bounty-console-tab-history-label"));
}
public void UpdateEntries(List<CargoBountyData> bounties, TimeSpan untilNextSkip)
public void UpdateEntries(List<CargoBountyData> bounties, List<CargoBountyHistoryData> history, TimeSpan untilNextSkip)
{
BountyEntriesContainer.Children.Clear();
foreach (var b in bounties)
@@ -32,5 +35,21 @@ public sealed partial class CargoBountyMenu : FancyWindow
{
MinHeight = 10
});
BountyHistoryContainer.Children.Clear();
if (history.Count == 0)
{
NoHistoryLabel.Visible = true;
}
else
{
NoHistoryLabel.Visible = false;
// Show the history in reverse, so last entry is first in the list
for (var i = history.Count - 1; i >= 0; i--)
{
BountyHistoryContainer.AddChild(new BountyHistoryEntry(history[i]));
}
}
}
}

View File

@@ -1,4 +1,5 @@
using Content.Client.UserInterface.Fragments;
using Content.Shared.CartridgeLoader;
using Content.Shared.CartridgeLoader.Cartridges;
using Robust.Client.UserInterface;
@@ -13,16 +14,23 @@ public sealed partial class LogProbeUi : UIFragment
return _fragment!;
}
public override void Setup(BoundUserInterface userInterface, EntityUid? fragmentOwner)
public override void Setup(BoundUserInterface ui, EntityUid? fragmentOwner)
{
_fragment = new LogProbeUiFragment();
_fragment.OnPrintPressed += () =>
{
var ev = new LogProbePrintMessage();
var message = new CartridgeUiMessage(ev);
ui.SendMessage(message);
};
}
public override void UpdateState(BoundUserInterfaceState state)
{
if (state is not LogProbeUiState logProbeUiState)
if (state is not LogProbeUiState cast)
return;
_fragment?.UpdateState(logProbeUiState.PulledLogs);
_fragment?.UpdateState(cast.EntityName, cast.PulledLogs);
}
}

View File

@@ -18,4 +18,9 @@
<ScrollContainer VerticalExpand="True" HScrollEnabled="True">
<BoxContainer Orientation="Vertical" Name="ProbedDeviceContainer"/>
</ScrollContainer>
<BoxContainer Orientation="Horizontal" Margin="4 8">
<Button Name="PrintButton" HorizontalAlignment="Left" Text="{Loc 'log-probe-print-button'}" Disabled="True"/>
<BoxContainer HorizontalExpand="True"/>
<Label Name="EntityName" Align="Right"/>
</BoxContainer>
</cartridges:LogProbeUiFragment>

View File

@@ -8,17 +8,24 @@ namespace Content.Client.CartridgeLoader.Cartridges;
[GenerateTypedNameReferences]
public sealed partial class LogProbeUiFragment : BoxContainer
{
/// <summary>
/// Action invoked when the print button gets pressed.
/// </summary>
public Action? OnPrintPressed;
public LogProbeUiFragment()
{
RobustXamlLoader.Load(this);
PrintButton.OnPressed += _ => OnPrintPressed?.Invoke();
}
public void UpdateState(List<PulledAccessLog> logs)
public void UpdateState(string name, List<PulledAccessLog> logs)
{
ProbedDeviceContainer.RemoveAllChildren();
EntityName.Text = name;
PrintButton.Disabled = string.IsNullOrEmpty(name);
//Reverse the list so the oldest entries appear at the bottom
logs.Reverse();
ProbedDeviceContainer.RemoveAllChildren();
var count = 1;
foreach (var log in logs)

View File

@@ -0,0 +1,5 @@
using Content.Shared.CartridgeLoader.Cartridges;
namespace Content.Client.CartridgeLoader.Cartridges;
public sealed class NanoTaskCartridgeSystem : SharedNanoTaskCartridgeSystem;

View File

@@ -0,0 +1,32 @@
<Control xmlns="https://spacestation14.io" xmlns:system="clr-namespace:System;assembly=System.Runtime">
<BoxContainer Name="MainContainer"
Orientation="Horizontal"
SetWidth="250">
<Button Name="MainButton"
HorizontalExpand="True"
VerticalExpand="True"
StyleClasses="ButtonSquare"
Margin="-1 0 0 0">
<BoxContainer Orientation="Horizontal" HorizontalExpand="True">
<BoxContainer Orientation="Vertical"
VerticalExpand="True"
HorizontalExpand="True"
Margin="-5 0 0 0">
<Label Name="TaskLabel"
StyleClasses="LabelSubText" />
<Label Name="TaskForLabel"
StyleClasses="LabelSubText"
Margin="0 -5 0 0" />
</BoxContainer>
</BoxContainer>
</Button>
<Button Name="DoneButton"
VerticalExpand="True"
Text="{Loc 'nano-task-ui-done'}">
<Button.StyleClasses>
<system:String>ButtonSmall</system:String>
<system:String>OpenLeft</system:String>
</Button.StyleClasses>
</Button>
</BoxContainer>
</Control>

View File

@@ -0,0 +1,33 @@
using Robust.Client.AutoGenerated;
using Robust.Client.Graphics;
using Robust.Client.UserInterface;
using Robust.Client.UserInterface.XAML;
using Robust.Shared.Maths;
using Content.Shared.CartridgeLoader.Cartridges;
namespace Content.Client.CartridgeLoader.Cartridges;
/// <summary>
/// Represents a single control for a single NanoTask item
/// </summary>
[GenerateTypedNameReferences]
public sealed partial class NanoTaskItemControl : Control
{
public Action<int>? OnMainPressed;
public Action<int>? OnDonePressed;
public NanoTaskItemControl(NanoTaskItemAndId item)
{
RobustXamlLoader.Load(this);
TaskLabel.Text = item.Data.Description;
TaskLabel.FontColorOverride = Color.White;
TaskForLabel.Text = item.Data.TaskIsFor;
MainButton.OnPressed += _ => OnMainPressed?.Invoke(item.Id);
DoneButton.OnPressed += _ => OnDonePressed?.Invoke(item.Id);
MainButton.Disabled = item.Data.IsTaskDone;
DoneButton.Text = item.Data.IsTaskDone ? Loc.GetString("nano-task-ui-revert-done") : Loc.GetString("nano-task-ui-done");
}
}

View File

@@ -0,0 +1,67 @@
<DefaultWindow xmlns="https://spacestation14.io"
Title="{Loc nano-task-ui-item-title}"
MinSize="300 300">
<PanelContainer StyleClasses="AngleRect">
<BoxContainer Orientation="Vertical" Margin="4">
<!-- Task Description Input -->
<BoxContainer Orientation="Vertical" Margin="0 4">
<Label Text="{Loc nano-task-ui-description-label}"
StyleClasses="LabelHeading" />
<PanelContainer StyleClasses="ButtonSquare">
<LineEdit Name="DescriptionInput"
PlaceHolder="{Loc nano-task-ui-description-placeholder}" />
</PanelContainer>
</BoxContainer>
<!-- Task Requester Input -->
<BoxContainer Orientation="Vertical" Margin="0 4">
<Label Text="{Loc nano-task-ui-requester-label}"
StyleClasses="LabelHeading" />
<PanelContainer StyleClasses="ButtonSquare">
<LineEdit Name="RequesterInput"
PlaceHolder="{Loc nano-task-ui-requester-placeholder}" />
</PanelContainer>
</BoxContainer>
<!-- Severity Buttons -->
<BoxContainer Orientation="Horizontal"
HorizontalAlignment="Center"
Margin="0 8 0 0">
<Button Name="LowButton"
Text="{Loc nano-task-ui-priority-low}"
StyleClasses="OpenRight"
MinSize="60 0" />
<Button Name="MediumButton"
Text="{Loc nano-task-ui-priority-medium}"
StyleClasses="ButtonSquare"
MinSize="60 0" />
<Button Name="HighButton"
Text="{Loc nano-task-ui-priority-high}"
StyleClasses="OpenLeft"
MinSize="60 0" />
</BoxContainer>
<!-- Verb Buttons -->
<BoxContainer Orientation="Horizontal"
HorizontalAlignment="Right"
Margin="0 8 0 0">
<Button Name="CancelButton"
Text="{Loc nano-task-ui-cancel}"
StyleClasses="OpenRight"
MinSize="60 0" />
<Button Name="DeleteButton"
Text="{Loc nano-task-ui-delete}"
StyleClasses="ButtonSquare"
MinSize="60 0" />
<Button Name="PrintButton"
Text="{Loc nano-task-ui-print}"
StyleClasses="ButtonSquare"
MinSize="60 0" />
<Button Name="SaveButton"
Text="{Loc nano-task-ui-save}"
StyleClasses="OpenLeft"
MinSize="60 0" />
</BoxContainer>
</BoxContainer>
</PanelContainer>
</DefaultWindow>

View File

@@ -0,0 +1,109 @@
using System.Linq;
using Robust.Client.AutoGenerated;
using Robust.Client.UserInterface.CustomControls;
using Robust.Client.UserInterface.XAML;
using Robust.Client.UserInterface.Controls;
using Content.Shared.CartridgeLoader.Cartridges;
namespace Content.Client.CartridgeLoader.Cartridges;
/// <summary>
/// Popup displayed to edit a NanoTask item
/// </summary>
[GenerateTypedNameReferences]
public sealed partial class NanoTaskItemPopup : DefaultWindow
{
private readonly ButtonGroup _priorityGroup = new();
private int? _editingTaskId = null;
public Action<int, NanoTaskItem>? TaskSaved;
public Action<int>? TaskDeleted;
public Action<NanoTaskItem>? TaskCreated;
public Action<NanoTaskItem>? TaskPrinted;
private NanoTaskItem MakeItem()
{
return new(
description: DescriptionInput.Text,
taskIsFor: RequesterInput.Text,
isTaskDone: false,
priority: _priorityGroup.Pressed switch {
var item when item == LowButton => NanoTaskPriority.Low,
var item when item == MediumButton => NanoTaskPriority.Medium,
var item when item == HighButton => NanoTaskPriority.High,
_ => NanoTaskPriority.Medium,
}
);
}
public NanoTaskItemPopup()
{
RobustXamlLoader.Load(this);
LowButton.Group = _priorityGroup;
MediumButton.Group = _priorityGroup;
HighButton.Group = _priorityGroup;
CancelButton.OnPressed += _ => Close();
DeleteButton.OnPressed += _ =>
{
if (_editingTaskId is int id)
{
TaskDeleted?.Invoke(id);
}
};
PrintButton.OnPressed += _ =>
{
TaskPrinted?.Invoke(MakeItem());
};
SaveButton.OnPressed += _ =>
{
if (_editingTaskId is int id)
{
TaskSaved?.Invoke(id, MakeItem());
}
else
{
TaskCreated?.Invoke(MakeItem());
}
};
DescriptionInput.OnTextChanged += args =>
{
if (args.Text.Length > NanoTaskItem.MaximumStringLength)
DescriptionInput.Text = args.Text[..NanoTaskItem.MaximumStringLength];
};
RequesterInput.OnTextChanged += args =>
{
if (args.Text.Length > NanoTaskItem.MaximumStringLength)
RequesterInput.Text = args.Text[..NanoTaskItem.MaximumStringLength];
};
}
public void SetEditingTaskId(int? id)
{
_editingTaskId = id;
DeleteButton.Visible = id is not null;
}
public void ResetInputs(NanoTaskItem? item)
{
if (item is NanoTaskItem task)
{
var button = task.Priority switch {
NanoTaskPriority.High => HighButton,
NanoTaskPriority.Medium => MediumButton,
NanoTaskPriority.Low => LowButton,
};
button.Pressed = true;
DescriptionInput.Text = task.Description;
RequesterInput.Text = task.TaskIsFor;
}
else
{
MediumButton.Pressed = true;
DescriptionInput.Text = "";
RequesterInput.Text = "";
}
}
}

View File

@@ -0,0 +1,82 @@
using System.Linq;
using Content.Client.UserInterface.Fragments;
using Content.Shared.CartridgeLoader;
using Content.Shared.CartridgeLoader.Cartridges;
using Robust.Client.GameObjects;
using Robust.Client.UserInterface;
namespace Content.Client.CartridgeLoader.Cartridges;
/// <summary>
/// UI fragment responsible for displaying NanoTask controls in a PDA and coordinating with the NanoTaskCartridgeSystem for state
/// </summary>
public sealed partial class NanoTaskUi : UIFragment
{
private NanoTaskUiFragment? _fragment;
private NanoTaskItemPopup? _popup;
public override Control GetUIFragmentRoot()
{
return _fragment!;
}
public override void Setup(BoundUserInterface userInterface, EntityUid? fragmentOwner)
{
_fragment = new NanoTaskUiFragment();
_popup = new NanoTaskItemPopup();
_fragment.NewTask += () =>
{
_popup.ResetInputs(null);
_popup.SetEditingTaskId(null);
_popup.OpenCentered();
};
_fragment.OpenTask += id =>
{
if (_fragment.Tasks.Find(task => task.Id == id) is not NanoTaskItemAndId task)
return;
_popup.ResetInputs(task.Data);
_popup.SetEditingTaskId(task.Id);
_popup.OpenCentered();
};
_fragment.ToggleTaskCompletion += id =>
{
if (_fragment.Tasks.Find(task => task.Id == id) is not NanoTaskItemAndId task)
return;
userInterface.SendMessage(new CartridgeUiMessage(new NanoTaskUiMessageEvent(new NanoTaskUpdateTask(new(id, new(
description: task.Data.Description,
taskIsFor: task.Data.TaskIsFor,
isTaskDone: !task.Data.IsTaskDone,
priority: task.Data.Priority
))))));
};
_popup.TaskSaved += (id, data) =>
{
userInterface.SendMessage(new CartridgeUiMessage(new NanoTaskUiMessageEvent(new NanoTaskUpdateTask(new(id, data)))));
_popup.Close();
};
_popup.TaskDeleted += id =>
{
userInterface.SendMessage(new CartridgeUiMessage(new NanoTaskUiMessageEvent(new NanoTaskDeleteTask(id))));
_popup.Close();
};
_popup.TaskCreated += data =>
{
userInterface.SendMessage(new CartridgeUiMessage(new NanoTaskUiMessageEvent(new NanoTaskAddTask(data))));
_popup.Close();
};
_popup.TaskPrinted += data =>
{
userInterface.SendMessage(new CartridgeUiMessage(new NanoTaskUiMessageEvent(new NanoTaskPrintTask(data))));
};
}
public override void UpdateState(BoundUserInterfaceState state)
{
if (state is not NanoTaskUiState nanoTaskState)
return;
_fragment?.UpdateState(nanoTaskState.Tasks);
}
}

View File

@@ -0,0 +1,58 @@
<cartridges:NanoTaskUiFragment xmlns:cartridges="clr-namespace:Content.Client.CartridgeLoader.Cartridges"
xmlns:gfx="clr-namespace:Robust.Client.Graphics;assembly=Robust.Client"
xmlns="https://spacestation14.io" Margin="1 0 2 0">
<PanelContainer StyleClasses="BackgroundDark"></PanelContainer>
<BoxContainer Orientation="Vertical" HorizontalExpand="True" VerticalExpand="True">
<ScrollContainer HorizontalExpand="True" VerticalExpand="True">
<BoxContainer HorizontalExpand="True" VerticalExpand="True" Orientation="Vertical" Margin="8" SeparationOverride="8">
<!-- Heading for High Priority Items -->
<BoxContainer Orientation="Horizontal">
<PanelContainer SetWidth="7" Margin="0 0 8 0">
<PanelContainer.PanelOverride>
<gfx:StyleBoxFlat BackgroundColor="#e93d58"/>
</PanelContainer.PanelOverride>
</PanelContainer>
<Label Name="HighPriority" StyleClasses="LabelHeading"/>
</BoxContainer>
<!-- Location for High Priority Items -->
<GridContainer Name="HighContainer"
HorizontalExpand="True"
Access="Public"
Columns="2" />
<!-- Heading for Medium Priority Items -->
<BoxContainer Orientation="Horizontal">
<PanelContainer SetWidth="7" Margin="0 0 8 0">
<PanelContainer.PanelOverride>
<gfx:StyleBoxFlat BackgroundColor="#ef973c"/>
</PanelContainer.PanelOverride>
</PanelContainer>
<Label Name="MediumPriority" StyleClasses="LabelHeading"/>
</BoxContainer>
<!-- Location for Medium Priority Items -->
<GridContainer Name="MediumContainer"
HorizontalExpand="True"
Access="Public"
Columns="2" />
<!-- Location for Low Priority Items -->
<BoxContainer Orientation="Horizontal">
<PanelContainer SetWidth="7" Margin="0 0 8 0">
<PanelContainer.PanelOverride>
<gfx:StyleBoxFlat BackgroundColor="#3dd425"/>
</PanelContainer.PanelOverride>
</PanelContainer>
<Label Name="LowPriority" StyleClasses="LabelHeading"/>
</BoxContainer>
<!-- Location for Low Priority Items -->
<GridContainer Name="LowContainer"
HorizontalExpand="True"
Access="Public"
Columns="2" />
<Button Name="NewTaskButton" Text="{Loc 'nano-task-ui-new-task'}" HorizontalAlignment="Right"/>
</BoxContainer>
</ScrollContainer>
</BoxContainer>
</cartridges:NanoTaskUiFragment>

View File

@@ -0,0 +1,52 @@
using System.Linq;
using Robust.Client.AutoGenerated;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.XAML;
using Content.Shared.CartridgeLoader.Cartridges;
namespace Content.Client.CartridgeLoader.Cartridges;
/// <summary>
/// Class displaying the main UI of NanoTask
/// </summary>
[GenerateTypedNameReferences]
public sealed partial class NanoTaskUiFragment : BoxContainer
{
public Action<int>? OpenTask;
public Action<int>? ToggleTaskCompletion;
public Action? NewTask;
public List<NanoTaskItemAndId> Tasks = new();
public NanoTaskUiFragment()
{
RobustXamlLoader.Load(this);
Orientation = LayoutOrientation.Vertical;
HorizontalExpand = true;
VerticalExpand = true;
NewTaskButton.OnPressed += _ => NewTask?.Invoke();
}
public void UpdateState(List<NanoTaskItemAndId> tasks)
{
Tasks = tasks;
HighContainer.RemoveAllChildren();
MediumContainer.RemoveAllChildren();
LowContainer.RemoveAllChildren();
HighPriority.Text = Loc.GetString("nano-task-ui-heading-high-priority-tasks", ("amount", tasks.Count(task => task.Data.Priority == NanoTaskPriority.High)));
MediumPriority.Text = Loc.GetString("nano-task-ui-heading-medium-priority-tasks", ("amount", tasks.Count(task => task.Data.Priority == NanoTaskPriority.Medium)));
LowPriority.Text = Loc.GetString("nano-task-ui-heading-low-priority-tasks", ("amount", tasks.Count(task => task.Data.Priority == NanoTaskPriority.Low)));
foreach (var task in tasks)
{
var container = task.Data.Priority switch {
NanoTaskPriority.High => HighContainer,
NanoTaskPriority.Medium => MediumContainer,
NanoTaskPriority.Low => LowContainer,
};
var control = new NanoTaskItemControl(task);
container.AddChild(control);
control.OnMainPressed += id => OpenTask?.Invoke(id);
control.OnDonePressed += id => ToggleTaskCompletion?.Invoke(id);
}
}
}

View File

@@ -1,6 +1,7 @@
using System.Linq;
using System.Threading.Tasks;
using Content.Shared.CCVar;
using Robust.Shared;
using Robust.Shared.Configuration;
using Robust.Shared.ContentPack;
using Robust.Shared.Serialization.Manager;
@@ -125,6 +126,27 @@ namespace Content.Client.Changelog
_sawmill = _logManager.GetSawmill(SawmillName);
}
/// <summary>
/// Tries to return a human-readable version number from the build.json file
/// </summary>
public string GetClientVersion()
{
var fork = _configManager.GetCVar(CVars.BuildForkId);
var version = _configManager.GetCVar(CVars.BuildVersion);
// This trimming might become annoying if down the line some codebases want to switch to a real
// version format like "104.11.3" while others are still using the git hashes
if (version.Length > 7)
version = version[..7];
if (string.IsNullOrEmpty(version) || string.IsNullOrEmpty(fork))
return Loc.GetString("changelog-version-unknown");
return Loc.GetString("changelog-version-tag",
("fork", fork),
("version", version));
}
[DataDefinition]
public sealed partial class Changelog
{

View File

@@ -131,13 +131,13 @@ public sealed partial class ChangelogTab : Control
Margin = new Thickness(6, 0, 0, 0),
};
authorLabel.SetMessage(
FormattedMessage.FromMarkupOrThrow(Loc.GetString("changelog-author-changed", ("author", author))));
FormattedMessage.FromMarkupOrThrow(Loc.GetString("changelog-author-changed", ("author", FormattedMessage.EscapeText(author)))));
ChangelogBody.AddChild(authorLabel);
foreach (var change in groupedEntry.SelectMany(c => c.Changes))
{
var text = new RichTextLabel();
text.SetMessage(FormattedMessage.FromMarkupOrThrow(change.Message));
text.SetMessage(FormattedMessage.FromUnformatted(change.Message));
ChangelogBody.AddChild(new BoxContainer
{
Orientation = LayoutOrientation.Horizontal,

View File

@@ -8,6 +8,8 @@ using JetBrains.Annotations;
using Robust.Client.AutoGenerated;
using Robust.Client.UserInterface;
using Robust.Client.UserInterface.XAML;
using Robust.Shared;
using Robust.Shared.Configuration;
using Robust.Shared.Console;
namespace Content.Client.Changelog
@@ -15,8 +17,9 @@ namespace Content.Client.Changelog
[GenerateTypedNameReferences]
public sealed partial class ChangelogWindow : FancyWindow
{
[Dependency] private readonly IClientAdminManager _adminManager = default!;
[Dependency] private readonly ChangelogManager _changelog = default!;
[Dependency] private readonly IClientAdminManager _adminManager = default!;
[Dependency] private readonly IConfigurationManager _cfg = default!;
public ChangelogWindow()
{
@@ -67,8 +70,7 @@ namespace Content.Client.Changelog
Tabs.SetTabTitle(i++, Loc.GetString($"changelog-tab-title-{changelog.Name}"));
}
var version = typeof(ChangelogWindow).Assembly.GetName().Version ?? new Version(1, 0);
VersionLabel.Text = Loc.GetString("changelog-version-tag", ("version", version.ToString()));
VersionLabel.Text = _changelog.GetClientVersion();
TabsUpdated();
}

View File

@@ -1,4 +1,4 @@
<ui:RadialMenu xmlns="https://spacestation14.io"
<ui:RadialMenu xmlns="https://spacestation14.io"
xmlns:ui="clr-namespace:Content.Client.UserInterface.Controls"
BackButtonStyleClass="RadialMenuBackButton"
CloseButtonStyleClass="RadialMenuCloseButton"
@@ -7,25 +7,25 @@
MinSize="450 450">
<!-- Main -->
<ui:RadialContainer Name="Main" VerticalExpand="True" HorizontalExpand="True" Radius="64" ReserveSpaceForHiddenChildren="False">
<ui:RadialMenuTextureButton StyleClasses="RadialMenuButton" SetSize="64 64" ToolTip="{Loc 'emote-menu-category-general'}" TargetLayer="General" Visible="False">
<ui:RadialContainer Name="Main" VerticalExpand="True" HorizontalExpand="True" InitialRadius="100" ReserveSpaceForHiddenChildren="False">
<ui:RadialMenuTextureButtonWithSector SetSize="64 64" ToolTip="{Loc 'emote-menu-category-general'}" TargetLayer="General" Visible="False">
<TextureRect VerticalAlignment="Center" HorizontalAlignment="Center" TextureScale="2 2" TexturePath="/Textures/Clothing/Head/Soft/mimesoft.rsi/icon.png"/>
</ui:RadialMenuTextureButton>
<ui:RadialMenuTextureButton StyleClasses="RadialMenuButton" SetSize="64 64" ToolTip="{Loc 'emote-menu-category-vocal'}" TargetLayer="Vocal" Visible="False">
</ui:RadialMenuTextureButtonWithSector>
<ui:RadialMenuTextureButtonWithSector SetSize="64 64" ToolTip="{Loc 'emote-menu-category-vocal'}" TargetLayer="Vocal" Visible="False">
<TextureRect VerticalAlignment="Center" HorizontalAlignment="Center" TextureScale="2 2" TexturePath="/Textures/Interface/Emotes/vocal.png"/>
</ui:RadialMenuTextureButton>
<ui:RadialMenuTextureButton StyleClasses="RadialMenuButton" SetSize="64 64" ToolTip="{Loc 'emote-menu-category-hands'}" TargetLayer="Hands" Visible="False">
</ui:RadialMenuTextureButtonWithSector>
<ui:RadialMenuTextureButtonWithSector SetSize="64 64" ToolTip="{Loc 'emote-menu-category-hands'}" TargetLayer="Hands" Visible="False">
<TextureRect VerticalAlignment="Center" HorizontalAlignment="Center" TextureScale="2 2" TexturePath="/Textures/Clothing/Hands/Gloves/latex.rsi/icon.png"/>
</ui:RadialMenuTextureButton>
</ui:RadialMenuTextureButtonWithSector>
</ui:RadialContainer>
<!-- General -->
<ui:RadialContainer Name="General" VerticalExpand="True" HorizontalExpand="True" Radius="64"/>
<ui:RadialContainer Name="General" VerticalExpand="True" HorizontalExpand="True" InitialRadius="100"/>
<!-- Vocal -->
<ui:RadialContainer Name="Vocal" VerticalExpand="True" HorizontalExpand="True" Radius="64"/>
<ui:RadialContainer Name="Vocal" VerticalExpand="True" HorizontalExpand="True" InitialRadius="100"/>
<!-- Hands -->
<ui:RadialContainer Name="Hands" VerticalExpand="True" HorizontalExpand="True" Radius="64"/>
<ui:RadialContainer Name="Hands" VerticalExpand="True" HorizontalExpand="True" InitialRadius="100"/>
</ui:RadialMenu>

View File

@@ -50,7 +50,6 @@ public sealed partial class EmotesMenu : RadialMenu
var button = new EmoteMenuButton
{
StyleClasses = { "RadialMenuButton" },
SetSize = new Vector2(64f, 64f),
ToolTip = Loc.GetString(emote.Name),
ProtoId = emote.ID,
@@ -106,7 +105,7 @@ public sealed partial class EmotesMenu : RadialMenu
}
public sealed class EmoteMenuButton : RadialMenuTextureButton
public sealed class EmoteMenuButton : RadialMenuTextureButtonWithSector
{
public ProtoId<EmotePrototype> ProtoId { get; set; }
}

View File

@@ -2,6 +2,7 @@ using System.Numerics;
using Content.Client.Chat.Managers;
using Content.Shared.CCVar;
using Content.Shared.Chat;
using Content.Shared.Speech;
using Robust.Client.Graphics;
using Robust.Client.UserInterface;
using Robust.Client.UserInterface.Controls;
@@ -141,7 +142,12 @@ namespace Content.Client.Chat.UI
Modulate = Color.White;
}
var offset = (-_eyeManager.CurrentEye.Rotation).ToWorldVec() * -EntityVerticalOffset;
var baseOffset = 0f;
if (_entityManager.TryGetComponent<SpeechComponent>(_senderEntity, out var speech))
baseOffset = speech.SpeechBubbleOffset;
var offset = (-_eyeManager.CurrentEye.Rotation).ToWorldVec() * -(EntityVerticalOffset + baseOffset);
var worldPos = _transformSystem.GetWorldPosition(xform) + offset;
var lowerCenter = _eyeManager.WorldToScreen(worldPos) / UIScale;
@@ -211,7 +217,7 @@ namespace Content.Client.Chat.UI
{
StyleClasses = { "speechBox", speechStyleClass },
Children = { label },
ModulateSelfOverride = Color.White.WithAlpha(0.75f)
ModulateSelfOverride = Color.White.WithAlpha(ConfigManager.GetCVar(CCVars.SpeechBubbleBackgroundOpacity))
};
return panel;
@@ -241,21 +247,23 @@ namespace Content.Client.Chat.UI
{
StyleClasses = { "speechBox", speechStyleClass },
Children = { label },
ModulateSelfOverride = Color.White.WithAlpha(0.75f)
ModulateSelfOverride = Color.White.WithAlpha(ConfigManager.GetCVar(CCVars.SpeechBubbleBackgroundOpacity)),
};
return unfanciedPanel;
}
var bubbleHeader = new RichTextLabel
{
Margin = new Thickness(1, 1, 1, 1)
ModulateSelfOverride = Color.White.WithAlpha(ConfigManager.GetCVar(CCVars.SpeechBubbleSpeakerOpacity)),
Margin = new Thickness(1, 1, 1, 1),
};
var bubbleContent = new RichTextLabel
{
ModulateSelfOverride = Color.White.WithAlpha(ConfigManager.GetCVar(CCVars.SpeechBubbleTextOpacity)),
MaxWidth = SpeechMaxWidth,
Margin = new Thickness(2, 6, 2, 2),
StyleClasses = { "bubbleContent" }
StyleClasses = { "bubbleContent" },
};
//We'll be honest. *Yes* this is hacky. Doing this in a cleaner way would require a bottom-up refactor of how saycode handles sending chat messages. -Myr
@@ -267,7 +275,7 @@ namespace Content.Client.Chat.UI
{
StyleClasses = { "speechBox", speechStyleClass },
Children = { bubbleContent },
ModulateSelfOverride = Color.White.WithAlpha(0.75f),
ModulateSelfOverride = Color.White.WithAlpha(ConfigManager.GetCVar(CCVars.SpeechBubbleBackgroundOpacity)),
HorizontalAlignment = HAlignment.Center,
VerticalAlignment = VAlignment.Bottom,
Margin = new Thickness(4, 14, 4, 2)
@@ -277,7 +285,7 @@ namespace Content.Client.Chat.UI
{
StyleClasses = { "speechBox", speechStyleClass },
Children = { bubbleHeader },
ModulateSelfOverride = Color.White.WithAlpha(ConfigManager.GetCVar(CCVars.ChatFancyNameBackground) ? 0.75f : 0f),
ModulateSelfOverride = Color.White.WithAlpha(ConfigManager.GetCVar(CCVars.ChatFancyNameBackground) ? ConfigManager.GetCVar(CCVars.SpeechBubbleBackgroundOpacity) : 0f),
HorizontalAlignment = HAlignment.Center,
VerticalAlignment = VAlignment.Top
};

View File

@@ -94,7 +94,7 @@ public sealed class ChemistryGuideDataSystem : SharedChemistryGuideDataSystem
if (entProto.Abstract || usedNames.Contains(entProto.Name))
continue;
if (!entProto.TryGetComponent<ExtractableComponent>(out var extractableComponent))
if (!entProto.TryGetComponent<ExtractableComponent>(out var extractableComponent, EntityManager.ComponentFactory))
continue;
//these bloat the hell out of blood/fat
@@ -121,7 +121,7 @@ public sealed class ChemistryGuideDataSystem : SharedChemistryGuideDataSystem
if (extractableComponent.GrindableSolution is { } grindableSolutionId &&
entProto.TryGetComponent<SolutionContainerManagerComponent>(out var manager) &&
entProto.TryGetComponent<SolutionContainerManagerComponent>(out var manager, EntityManager.ComponentFactory) &&
_solutionContainer.TryGetSolution(manager, grindableSolutionId, out var grindableSolution))
{
var data = new ReagentEntitySourceData(
@@ -141,6 +141,11 @@ public sealed class ChemistryGuideDataSystem : SharedChemistryGuideDataSystem
{
return _reagentSources.GetValueOrDefault(id) ?? new List<ReagentSourceData>();
}
// Is handled on server and updated on client via ReagentGuideRegistryChangedEvent
public override void ReloadAllReagentPrototypes()
{
}
}
/// <summary>

View File

@@ -46,6 +46,8 @@ namespace Content.Client.Chemistry.UI
_window.CreateBottleButton.OnPressed += _ => SendMessage(
new ChemMasterOutputToBottleMessage(
(uint) _window.BottleDosage.Value, _window.LabelLine));
_window.BufferSortButton.OnPressed += _ => SendMessage(
new ChemMasterSortingTypeCycleMessage());
for (uint i = 0; i < _window.PillTypeButtons.Length; i++)
{

View File

@@ -34,6 +34,7 @@
<Label Text="{Loc 'chem-master-window-buffer-text'}" />
<Control HorizontalExpand="True" />
<Button MinSize="80 0" Name="BufferTransferButton" Access="Public" Text="{Loc 'chem-master-window-transfer-button'}" ToggleMode="True" StyleClasses="OpenRight" />
<Button MinSize="80 0" Name="BufferSortButton" Access="Public" Text="{Loc 'chem-master-window-sort-type-none'}" StyleClasses="OpenBoth" />
<Button MinSize="80 0" Name="BufferDiscardButton" Access="Public" Text="{Loc 'chem-master-window-discard-button'}" ToggleMode="True" StyleClasses="OpenLeft" />
</BoxContainer>

Some files were not shown because too many files have changed in this diff Show More