1502 Commits

Author SHA1 Message Date
SonicHDC
a36a9ebe8e Smooth diagonal windows to walls (#1563) 2023-11-09 18:23:21 +03:00
lzk
a03ef54169 Update shaker description (#1561) 2023-11-09 12:23:44 +03:00
SonicHDC
71ce92ddc1 Diagonal walls resprite (#1562) 2023-11-09 12:20:22 +03:00
Morb0
949df85170 Update content package for Secrets 2023-11-09 11:58:44 +03:00
Morb0
00cfed5ce5 Remove corvax zombie pacified rem 2023-11-09 11:58:23 +03:00
Morb
28c263b5b2 Merge pull request #1559 from space-syndicate/upstream-sync
Upstream sync
2023-11-09 02:48:16 +03:00
Morb0
307262c150 Fix locale 2023-11-09 01:36:01 +03:00
Morb0
c41fb89727 Fix locale 2023-11-09 01:32:16 +03:00
Morb0
172c2341ba Update locale 2023-11-09 01:28:22 +03:00
Morb0
7d7c9e5f4c Merge remote-tracking branch 'upstream/master' into upstream-sync
# Conflicts:
#	Resources/Prototypes/Entities/Clothing/Hands/gloves.yml
#	Resources/Textures/Clothing/Hands/Gloves/nitrile.rsi/equipped-HAND.png
#	Resources/Textures/Clothing/Hands/Gloves/nitrile.rsi/icon.png
#	Resources/Textures/Clothing/Hands/Gloves/nitrile.rsi/inhand-left.png
#	Resources/Textures/Clothing/Hands/Gloves/nitrile.rsi/inhand-right.png
#	Resources/Textures/Clothing/Hands/Gloves/nitrile.rsi/meta.json
#	Resources/Textures/Objects/Storage/boxes.rsi/nitrile.png
#	Resources/Textures/Objects/Weapons/Guns/Battery/laser_cannon.rsi/equipped-BACKPACK.png
#	Resources/Textures/Objects/Weapons/Guns/Battery/laser_gun.rsi/equipped-BACKPACK.png
#	Resources/Textures/Objects/Weapons/Guns/Battery/makeshift.rsi/equipped-BACKPACK.png
#	Resources/Textures/Objects/Weapons/Guns/Battery/pulse_carbine.rsi/equipped-BACKPACK.png
#	Resources/Textures/Objects/Weapons/Guns/Battery/pulse_rifle.rsi/equipped-BACKPACK.png
#	Resources/Textures/Objects/Weapons/Guns/Battery/xray.rsi/equipped-BACKPACK.png
#	Resources/Textures/Objects/Weapons/Guns/Launchers/china_lake.rsi/equipped-BACKPACK.png
#	Resources/Textures/Objects/Weapons/Guns/Launchers/rocket.rsi/equipped-BACKPACK.png
#	Resources/Textures/Objects/Weapons/Guns/Rifles/ak.rsi/equipped-BACKPACK.png
#	Resources/Textures/Objects/Weapons/Guns/Rifles/carbine.rsi/equipped-BACKPACK.png
#	Resources/Textures/Objects/Weapons/Guns/Rifles/lecter.rsi/equipped-BACKPACK.png
#	Resources/Textures/Objects/Weapons/Guns/SMGs/atreides.rsi/equipped-BACKPACK.png
#	Resources/Textures/Objects/Weapons/Guns/SMGs/c20r.rsi/equipped-BACKPACK.png
#	Resources/Textures/Objects/Weapons/Guns/SMGs/vector.rsi/equipped-BACKPACK.png
#	Resources/Textures/Objects/Weapons/Guns/SMGs/wt550.rsi/equipped-BACKPACK.png
#	Resources/Textures/Objects/Weapons/Guns/Shotguns/bulldog.rsi/equipped-BACKPACK.png
#	Resources/Textures/Objects/Weapons/Guns/Shotguns/enforcer.rsi/equipped-BACKPACK.png
#	Resources/Textures/Objects/Weapons/Guns/Shotguns/pump.rsi/equipped-BACKPACK.png
#	Resources/Textures/Objects/Weapons/Guns/Snipers/bolt_gun_wood.rsi/equipped-BACKPACK.png
#	Resources/Textures/Objects/Weapons/Guns/Snipers/heavy_sniper.rsi/equipped-BACKPACK.png
2023-11-09 01:09:14 +03:00
Boaz1111
4220b098a3 Sling Resprites (#21538)
* DB texture on back changed

* cheese

* test

* CR20 Syndie Sling

* NT slings implemented

* finished SMGS, starting on Laser Weapons

* added more laser slings

* laser weapons done

* small changes to laser weapons and pie cannon slings

* added chinalake and l6 slings

* finished launcher catagory, almost finished rifle catagory

* almost done, just missing the heavy sniper

* Replaced L6, Chinalake and Heavy Sniper resprite because my old heavy sling was ugly af

* all slings done

* added copyright to the .meta files

* Revert "cheese"

This reverts commit a1f7ac7b70709a6789a7b6fc0dc00a2c0734b83a.

* fixed sln file, in theory at least
2023-11-08 14:18:33 -07:00
PJBot
174aa3bf62 Automatic changelog update 2023-11-08 15:32:28 -05:00
KingFroozy
3f4d9983e3 nitrile gloves (#21509) 2023-11-08 13:31:24 -07:00
PJBot
4831f2aebb Automatic changelog update 2023-11-08 15:25:40 -05:00
Ps3Moira
a466a9ef1e Grill Resprite (#21524) 2023-11-08 13:24:36 -07:00
Brandon Hu
52508a64cc Fixed typo "tranexmic -> tranexamic" (#21537) 2023-11-08 13:23:58 -07:00
Morb
55c6c35aed Fix O id prototype (#21534) 2023-11-08 13:23:02 -07:00
Vasilis
6550f42732 Common spelling mistake (#21535) 2023-11-08 13:22:46 -07:00
PJBot
e8a47cd0c5 Automatic changelog update 2023-11-08 15:19:57 -05:00
PixelTK
52af546267 Arachnid 2: Episode 2 (#19984)
* Shield

* minor sprite changes and buffs

* structure buff

* Crafting stuff

* tweaks

* 88-88

* Better web pocket sprites.

* yeah it's fine now.
2023-11-08 12:18:52 -08:00
Morb0
0a488e0014 Update locale 2023-11-08 18:18:44 +03:00
Morb0
da7b583155 Fix attributions license format 2023-11-08 17:41:09 +03:00
Morb0
7a328a7635 Merge remote-tracking branch 'upstream/master' into upstream-sync 2023-11-08 14:28:45 +03:00
Morb0
37cecec106 Fix maps 2023-11-08 12:22:38 +03:00
DrSmugleaf
b360391795 Update Robust to v177.0.0 (#21528) 2023-11-08 00:30:16 -08:00
Gotimanga
8f72e0a415 Add Spawners (#20495) 2023-11-07 18:36:44 -07:00
PJBot
e249aba1f9 Automatic changelog update 2023-11-07 20:32:49 -05:00
Darkie
b5e88901eb Adding damage visuals for directional windows (#21194)
* Added a crack overlay for directional windows. Added directional window crack components to windows, reinforced windows, plasma windows and reinforced plasma windows.

* Changed the copyright information with the files I actually used.

* Updated the copyright further.
2023-11-07 18:31:45 -07:00
Leon Friedrich
ac25dd85fc Fix mob state error (#21431) 2023-11-07 18:30:05 -07:00
PJBot
33f211bdf7 Automatic changelog update 2023-11-07 20:29:43 -05:00
FluidRock
2f296dcc0a Allows reptilians to eat crayons, as is their right (#21420) 2023-11-07 18:28:36 -07:00
KingFroozy
932c5db8f5 content (#21505) 2023-11-07 18:28:15 -07:00
Vasilis
490ebdc9ae No more passive zombies (#21506) 2023-11-07 18:27:49 -07:00
PJBot
fb7afe454a Automatic changelog update 2023-11-07 20:26:48 -05:00
brainfood1183
d8a88d09a7 Origin Station Update 06.11.2023 (notice boards and gasgiant parallax) (#21492) 2023-11-07 18:26:22 -07:00
Nemanja
94368f1f00 Speed Boots [Tier 3 Civ-Service] (#21438)
* Speed Boots

* validate

* monkey
2023-11-07 18:25:43 -07:00
PJBot
a6985e5b4b Automatic changelog update 2023-11-07 20:25:33 -05:00
DrSmugleaf
3953257b7a Add method to clear an action's cooldown (#21517) 2023-11-07 18:24:43 -07:00
Vasilis
45ddc3046a Make the cloning pod and medical scanner fit through verical doors (#21519)
* Unfatten the machines

* This actually works better
2023-11-07 18:24:25 -07:00
Vasilis
104300b8c6 uwu (#21521) 2023-11-07 18:24:05 -07:00
Morb0
5d2f429297 Apply changes 2023-11-08 03:04:24 +03:00
Morb0
611bfea5ff Merge remote-tracking branch 'upstream/master' into update-sposnors
# Conflicts:
#	.github/workflows/publish.yml
#	Content.Packaging/ContentPackaging.cs
#	Content.Server/Chat/Managers/ChatManager.cs
#	Content.Server/GameTicking/GameTicker.StatusShell.cs
#	Resources/Audio/Weapons/Guns/Gunshots/license.txt
#	Resources/Prototypes/Roles/Jobs/Security/senior_officer.yml
#	Resources/Textures/Structures/Doors/Airlocks/Glass/syndicate.rsi/closed.png
#	Resources/Textures/Structures/Doors/Airlocks/Glass/syndicate.rsi/closing.png
#	Resources/Textures/Structures/Doors/Airlocks/Glass/syndicate.rsi/open.png
#	Resources/Textures/Structures/Doors/Airlocks/Glass/syndicate.rsi/opening.png
#	Resources/Textures/Structures/Doors/Airlocks/Standard/syndicate.rsi/closed.png
#	Resources/Textures/Structures/Doors/Airlocks/Standard/syndicate.rsi/closing.png
#	Resources/Textures/Structures/Doors/Airlocks/Standard/syndicate.rsi/open.png
#	Resources/Textures/Structures/Doors/Airlocks/Standard/syndicate.rsi/opening.png
2023-11-08 03:00:51 +03:00
Repo
b1fd3137e1 Minor rule change to include disability slurs in rules (#21518)
* Revert "Enable skeletons temporarily for Halloween (#21356)"

This reverts commit 4f81a561ae.

* Rule modification for slurs
2023-11-07 17:54:42 -06:00
Morb0
64b8975437 Add nebula to queue server system 2023-11-08 02:51:45 +03:00
PJBot
201fe5fd71 Automatic changelog update 2023-11-07 18:39:27 -05:00
Tunguso4ka
c90316dfbd Lockers for clown, mime and NT Representative (#21504)
* clown, mime, blue shield and NT representative now have own lockers. Will it be merged? You`l see it in the next 3-4 days. Stay tuned in.

* blue... shield? never heard of him before.
2023-11-07 18:38:18 -05:00
DrSmugleaf
dc3b6e31b2 Fix Client RoleSystem not inheriting SharedRoleSystem, network job component (#21436) 2023-11-07 14:44:53 -08:00
DrSmugleaf
651dffba16 Fix map renderer (#21515) 2023-11-07 14:27:01 -08:00
Morb0
8e1f231126 Update nebula name config 2023-11-07 11:43:01 +03:00
Emisse
778d3e9847 eek (penis) (#21498) 2023-11-06 21:56:54 -07:00
Leon Friedrich
fb60a56950 Guardian bugfixes (#21467) 2023-11-06 22:16:32 -05:00
Morb0
7e06ecda8b Change update publish to 6:00 UTC 2023-11-07 02:14:53 +03:00
Morb0
ce89349b14 Add nebula config preset 2023-11-07 02:03:23 +03:00
Morb0
4b1e5935e1 Update rule time cvar for servers 2023-11-07 01:57:36 +03:00
metalgearsloth
2a9e08b906 Update submodule to 176.0.0 (#21500) 2023-11-07 09:55:18 +11:00
metalgearsloth
b9c38879e5 Port python packaging to Content.Packaging (#21458) 2023-11-07 09:53:59 +11:00
lapatison
b8a8efd64f Locale fix (#1556) 2023-11-07 01:33:41 +03:00
poeMota
3455e97955 New Corvax Terminal (#1554) 2023-11-07 01:33:11 +03:00
PJBot
df46c52dd7 Automatic changelog update 2023-11-06 02:21:55 -05:00
Nemanja
4729024d3e Convert ItemSize to prototypes (#21481)
* item sizes are prototypes

* eek
2023-11-06 00:20:50 -07:00
deltanedas
38904904d0 ninja stun change (#20503)
* tagless fields

* add damage and paralyze instead of electrocuting

* add disable bool to RevealNinja

* raise MeleeAttackEvent on the user after swinging

* uncloak ninja after attacking

* revert RevealNinja bool

* revert meleeattack event

* revert uncloak

* validate shock prototype

* damagespecifier no validation

* ;

* :trollface:

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-11-05 21:08:33 -07:00
Morb
525d8e3e94 Add map info to status HTTP API (#21089) 2023-11-05 21:03:36 -07:00
PJBot
18eae1389e Automatic changelog update 2023-11-05 23:03:08 -05:00
Ed
8b3adf6085 Anomaly Synchronizer (#20945)
* added textures and basic prototype without functionality

* add full functional

* finish work

* fix naming

* reduce random anomaly spawner offset

* Update AnomalySystem.Vessel.cs

* Update SharedAnomalySystem.cs

* Update SharedAnomalySystem.cs

* Update production.yml

* fix errors

* fix?

* Update anomaly_sync.yml

* deltanedas code fixes. Thx, deltanedas!

* git what

* fix yml

* fix yml 2

* meh, try again

* work, work, work

* fix powered checking. now component work also without ApcPowerReceiving

* now supercrit port invoke on start growing, not after explosion
fix errors

* deltanedas fix pack 1

* Update AnomalySynchronizerComponent.cs
2023-11-05 21:02:02 -07:00
PJBot
ad1a280494 Automatic changelog update 2023-11-05 22:52:36 -05:00
Whisper
e0a11f9659 (Reagent) Minor blood and uncooked protein rework (#20891)
* Blood makes non-animals take poison damage, and sates animal hunger at a very low rate

* Only affects humans, animal restrictions also removed

* ignore the other commits, blood and uncooked protein rework!

* Humans recieve a popup when they consume these reagents

* lower the original damage of uncooked proteins

* Change metablizing organs, make blood digest into uncooked protein instead of it having it's own effect
2023-11-05 20:51:32 -07:00
LordEclipse
dd0ab19c96 Freelance Radio Channel and Encryption Key (#20904)
* Freelance Radio Channel

* Freelance Radio Channel
2023-11-05 20:38:00 -07:00
deltanedas
f0f54b5872 mech nitrogen filtering 2 (#19868)
* target oxygen logic

* filter out nitrogen when low on oxygen

* vvrw and datafield for everything

* :trollface:

* bruh does work

* tagless chicken

* move into atmos, make it not depend on mech

* update mech prototype

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-11-05 20:15:13 -07:00
PJBot
db1eba15e3 Automatic changelog update 2023-11-05 22:05:51 -05:00
deltanedas
96e27810cf add ied (#20966)
* MinSolution and SolutionEmpty construction conditions

* make ied sprites

* add ied

* ied crafting stuff

* deconstruct give cable yes

* fix

* tags

* tag

* 3x3

* sharing is caring

* buff damage

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-11-05 20:04:47 -07:00
PJBot
8302bef3e2 Automatic changelog update 2023-11-05 22:01:15 -05:00
Whisper
71ec51b003 Replicate the PDA belt slot sprite in the IDSLOT (#21457)
* Adds a sprite for the PDA in the IDSLOT

* Update meta.json
2023-11-05 20:00:31 -07:00
deltanedas
3be6c5b9d5 Microreactor power cell research (#21473)
* buff microreactor cell and tweak a little

* add portable fission research

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-11-05 22:00:11 -05:00
brainfood1183
40b36d1dc5 Roller Skates (#20257)
* adds roller skates

* removed hascomp and changed addcomp to ensurecomp, modified to _random, _stun

* remove icon from type: sprite

* sorted dependencies

* skates no longer added skater component to user, movmeentspeedmodifier and damagehighspeedimpact had access removed.

* fixes

* fixes
2023-11-05 19:42:37 -07:00
KISS
4cacb7b9e3 Ice anomaly spawns ice underneath it (#21227)
* added TileAnomalySystem to AnomalyIce

* added FloorIce for station

* created ice crust entity to spawn under ice anomaly

* update draw depth for ice crust

* uh oh, added ice-sliding but at what cost

* resolved mispredicts

* updated sprite alpha, removed appearance component (not used)

* fixed function not reflecting event name, left datafield attributes blank, added one comment about saving data (?)

---------

Co-authored-by: Yurii Kis <yurii.kis@smartteksas.com>
2023-11-05 19:41:42 -07:00
PJBot
b1f39ad2ad Automatic changelog update 2023-11-05 21:41:30 -05:00
Christopher Thirtle
d07ea20f74 Use object-spaced bounding boxes for putting stuff in crates (#21427)
* Use object-spaced bounding boxes for putting stuff in crates

* Use existing _lookup.GetAABB, different component

* PR edits updated

* Remove unused bits from around GetAABB

* Use GetAABBNoContainer
2023-11-05 21:40:25 -05:00
brainfood1183
5af97da997 diagonal window glass and pirate shuttle improvements (#21174)
* shuttle and priate improvements

* fix

* fix damn ubuntu

* darkened syndi airlocks

* fix

* fix ruranium

* added prison cell to pirate ship
2023-11-05 19:38:02 -07:00
PJBot
f87152a789 Automatic changelog update 2023-11-05 21:37:51 -05:00
JoeHammad1844
3079b38323 :trollface: (#21182) 2023-11-05 19:36:46 -07:00
IntegerTempest
615f15e8a9 Nukeops hud (#21260)
* a

* a

* a2

* syndi visor

* left icon

* a3
2023-11-05 19:36:08 -07:00
PJBot
284547e59f Automatic changelog update 2023-11-05 21:28:52 -05:00
IProduceWidgets
f9369db1df Made livestock crates not airtight. (#21315) 2023-11-05 19:27:48 -07:00
avery
e35cd611d6 allow network payload data to inherit nullability (#21327) 2023-11-05 19:25:25 -07:00
PJBot
f103a38b23 Automatic changelog update 2023-11-05 21:25:18 -05:00
Nim
3d1333280a The Mobs of the Living Light (#21338)
* The Mobs of the Living Light

* fix

* sound

* radius

* minor sprite changes
2023-11-05 19:24:14 -07:00
PJBot
2b0888919c Automatic changelog update 2023-11-05 21:22:49 -05:00
Ubaser
fd7db8004e sprite change (#21423) 2023-11-05 19:21:41 -07:00
cOrigin
1c497db665 Artifact fragments can now stack. (#21232)
* it stacks now

* Fixed typo

* fixes random sprite

* fix
2023-11-05 19:21:07 -07:00
DrSmugleaf
c540b61390 Fix erase verb not removing chat messages in some cases (#21355)
* Fix erase verb not removing chat messages in some cases

* Admin changelog

* Fix deleting messages with entity id 0
2023-11-05 19:19:59 -07:00
PJBot
9c9a3f7ce4 Automatic changelog update 2023-11-05 21:19:44 -05:00
Tunguso4ka
36c82ca86f Notice board (#21410)
* notice board

* more notice notice board
2023-11-05 19:18:39 -07:00
themias
95a651e8b6 Bicaridine metabolism bandaid (#21443) 2023-11-05 19:18:20 -07:00
PJBot
b79607b377 Automatic changelog update 2023-11-05 21:18:03 -05:00
IProduceWidgets
79cd2a7d56 Significantly nerf chemvomit and give it a reasonable default. (#21453) 2023-11-05 19:16:56 -07:00
PJBot
3a430f3628 Automatic changelog update 2023-11-05 21:15:09 -05:00
RiceMar1244
196be3cba1 Adds more sources for sheet paper material (#21364)
* Moves sheetifier research unlock from civilian services to industrial

* Makes wood insertable into the sheetifier and makes paper a lathable material

* Adds a paper crate to the cargo catalog

* Adds localizations
2023-11-05 19:14:02 -07:00
deltanedas
2c87c53ed1 hide medibot messages from chat and logs (#21468)
* support npc speech being hidden

* hide medibot messages

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-11-05 18:21:04 -07:00
RieBi
f6f73aa308 Converted weapons license.txts to attributions.ymls (#21444)
* converted weapons license.txts to attributions.ymls

* Update Resources/Audio/Weapons/Xeno/attributions.yml

Co-authored-by: Kara <lunarautomaton6@gmail.com>

* Update attributions.yml

* Update Resources/Audio/Weapons/attributions.yml

Co-authored-by: Kara <lunarautomaton6@gmail.com>

* Update attributions.yml

* Delete sonniss attributions

---------

Co-authored-by: Kara <lunarautomaton6@gmail.com>
2023-11-05 17:36:05 -07:00
RieBi
13d412e210 Convert license.txt to attributions.yml in Animals folder (#21471)
* convert animals/attributions.yml

* fix attributions.yml
2023-11-05 17:35:07 -07:00
RieBi
10c7363fc4 Convert license.txt to attributions.yml in Items folder (#21466)
* convert main folder file

* convert items/medical

* convert items/handcuffs

* change items/attributions.yml

* fix items/handcuffs/attributions.yml
2023-11-05 17:25:54 -07:00
RieBi
b1eb5d4970 Convert license.txt to attributions.yml in misc folder (#21465)
* license.txt to attributions.yml

* update
2023-11-05 17:25:35 -07:00
PJBot
e5fd5ccd5b Automatic changelog update 2023-11-05 18:51:07 -05:00
deltanedas
77d49ea7e1 :trollface: (#21470)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-11-05 16:49:59 -07:00
deltanedas
488433c57e give chemistry bag better storage (#21447)
* chemistry bag better storage

* large beaker and drink bottles are normal size

* :trollface:

* :trollface:

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-11-05 16:49:29 -07:00
PJBot
34e03d1d90 Automatic changelog update 2023-11-05 18:48:33 -05:00
crazybrain23
c54febcbd1 Stop mice eating soap (#21446) 2023-11-05 16:47:19 -07:00
Guilherme Ornel
cfaac4b1f5 wintercoats fit small items (#21463) 2023-11-05 16:46:50 -07:00
deltanedas
670f7459d0 fix susbox slots (#21435)
* fix unfilled susbox slots

* small susbox cleanup

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-11-05 16:45:43 -07:00
lzk
8b11c4fa8a Cleanup chemistry-bottles.yml (#21459)
* Update chemistry-bottles.yml

* :trollface:

* :trollface:
2023-11-05 11:46:08 -05:00
DrSmugleaf
ef8ecf8ba3 Move "id" clothing layer above gloves, shoes, ears, outerclothing, eyes and belt (#21456) 2023-11-05 20:10:30 +11:00
PJBot
349f583b1c Automatic changelog update 2023-11-04 18:45:13 -04:00
themias
a3859901bd Fix accidental crayon graffiti when writing on paper (#21445) 2023-11-04 18:44:09 -04:00
lapatison
7e2f72b911 Translate Upstream #1552 (#1553)
Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com>
2023-11-05 00:50:32 +03:00
lzk
c8cb35a1a1 Fix backpack capacity (for real that time) (#1555) 2023-11-05 00:49:24 +03:00
PJBot
26519ab916 Automatic changelog update 2023-11-04 13:58:25 -04:00
themias
843a7d1d46 Fix ambuzol zombie damage (#21432) 2023-11-04 13:57:21 -04:00
TsjipTsjip
84bc7ee2bb SO gets sec beret (#21433) 2023-11-04 13:52:07 -04:00
Leon Friedrich
6a8023cf8b Fix admin verb PVS issue (#21406) 2023-11-05 02:58:26 +11:00
PJBot
40afc2719b Automatic changelog update 2023-11-04 11:27:00 -04:00
daerSeebaer
10be264125 adjust radiation blockers (#21286) 2023-11-04 11:25:55 -04:00
PJBot
8abc084b31 Automatic changelog update 2023-11-04 11:24:50 -04:00
themias
9182c201e9 Enter mech with drag-drop (#21405) 2023-11-04 11:23:46 -04:00
PJBot
d152e648cb Automatic changelog update 2023-11-04 11:21:13 -04:00
Ubaser
34c69b2c38 Senior Physician Beret (#21426)
* add

* fix
2023-11-04 11:20:09 -04:00
TheEmber
7d0070d99e Soap dont have 100% vomit chance (#21428)
People using soap spears and darts too often as weapon. It shouldnt have better vomit chance than ipecac
2023-11-04 11:19:29 -04:00
PJBot
83a2513207 Automatic changelog update 2023-11-04 09:30:23 -04:00
Nemanja
84b55c48f2 fix borg actions (#21235) 2023-11-04 16:29:19 +03:00
PJBot
12632060b4 Automatic changelog update 2023-11-04 09:20:28 -04:00
Nemanja
4a730c5910 Fix double counting bounties (#21399) 2023-11-04 16:19:23 +03:00
Nemanja
7a2a3ce9a7 fix hand examine (#21309) 2023-11-04 15:50:05 +03:00
deltanedas
bda8a9c82e microwave can be turned on with signal (#21138)
* microwave can be turned on with signal

* update prototype

* mapinit

* init for storage

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-11-04 15:44:59 +03:00
Morb0
7f46899714 Update Secrets 2023-11-04 12:54:26 +03:00
Morb0
e119d801ae Fix backpacks capacity 2023-11-04 12:48:55 +03:00
Morb
8b8556766b Merge pull request #1552 from space-syndicate/upstream-sync
Upstream sync
2023-11-04 12:44:19 +03:00
Morb0
a64291b04d Update locale 2023-11-04 12:40:06 +03:00
Morb0
bc40fdd0ce Fix IAA item sizes 2023-11-04 12:35:56 +03:00
Morb0
259233ad78 Merge remote-tracking branch 'upstream/master' into upstream-sync
# Conflicts:
#	Content.Client/Preferences/UI/CharacterSetupGui.xaml
#	Content.Client/Preferences/UI/CharacterSetupGui.xaml.cs
#	Resources/Prototypes/Catalog/Fills/Boxes/general.yml
#	Resources/Prototypes/Entities/Clothing/Back/satchel.yml
#	Resources/Prototypes/Entities/Objects/Specific/Forensics/forensics.yml
#	Resources/Prototypes/Entities/Objects/Weapons/Guns/Shotguns/shotguns.yml
#	Resources/Textures/Objects/Storage/boxes.rsi/meta.json
2023-11-04 12:16:53 +03:00
lzk
5469489f04 Update Secret gamemode weights (#1542) 2023-11-04 12:05:14 +03:00
Halches
48df3f386f Increase auto evac shuttle call time (#1530) 2023-11-04 11:54:38 +03:00
SyndiCarp
2a6050135b Update Delta station (#1551) 2023-11-04 11:53:43 +03:00
Morb0
784bdcebff Hotfix remove sponsor debug prototypes 2023-11-04 11:37:03 +03:00
PJBot
5a3476f8cc Automatic changelog update 2023-11-04 01:54:56 -04:00
Ed
aa713ea7e6 Candles (#21087)
Co-authored-by: faint <46868845+ficcialfaint@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
2023-11-03 22:53:51 -07:00
PursuitInAshes
6be2ef0c73 Fixes A Anomaly Core Description Typo (#21424) 2023-11-03 22:44:55 -07:00
CMDR-Piboy314
5a5e39f47d Added a penguin plushie! (#21097) 2023-11-03 22:07:16 -07:00
Nemanja
a96563c78a fix anomaly core size (#21418) 2023-11-03 22:09:49 -04:00
keronshb
3a788dd8d4 Mind Action Container (#21336) 2023-11-03 19:55:32 -04:00
PJBot
d218fa3d2c Automatic changelog update 2023-11-03 16:38:30 -04:00
elsie
a90d624220 Fix rotation on Moth Head (Moonfly) marking (#21417) 2023-11-03 16:37:26 -04:00
Alzore
6e90eef108 Security Chunk Salvage (#21403)
* Security Chunk

* More fish, less bullets.
2023-11-03 14:06:19 -06:00
Fromoriss
188cbba26e Fix roaches weight to match new system (#21414) 2023-11-03 14:03:27 -06:00
deltanedas
c7f74f79fa fish petting (#21412)
* fish petting

* evil

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-11-03 13:57:11 -06:00
IProduceWidgets
f1c9935f4c Makes a syndicate chemvend so they dont have to hack it on nukie planet. (#21416)
Adds a few goodies to the vendor's inventories.
2023-11-03 13:56:48 -06:00
PJBot
598b3c9e07 Automatic changelog update 2023-11-03 13:51:37 -04:00
Tunguso4ka
a68b1d2222 fixed rat kebab parents (#21409) 2023-11-03 10:50:32 -07:00
Morb
e0e990549b [Sponsor] Add info window & implement ghost themes (#1549) 2023-11-03 16:29:40 +03:00
lzk
447d462e37 Disable english chat auto-replace (#1547) 2023-11-03 15:02:43 +03:00
Ed
e1cd4c4ca1 Add Silly station (#1546) 2023-11-03 14:43:56 +03:00
PJBot
7e8d0421c5 Automatic changelog update 2023-11-03 07:32:06 -04:00
deltanedas
268bd105a5 buff bag of holding (#21411)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-11-03 07:31:02 -04:00
PJBot
973380bb7a Automatic changelog update 2023-11-02 22:16:00 -04:00
themias
675bcd5c38 Fix negative tank pressure (#21401) 2023-11-02 22:14:56 -04:00
PJBot
8ee0a960a7 Automatic changelog update 2023-11-02 22:12:02 -04:00
TemporalOroboros
19614453d9 Makes thieving gloves sneakier (#21398)
* Hidden DoAfters

* Fix formatting warnings

* Hide progress bar and pickup animation

* Copy Hidden field in copy constructor
2023-11-02 22:10:58 -04:00
PJBot
03922175a7 Automatic changelog update 2023-11-02 15:37:00 -04:00
liltenhead
751ffdca55 Return the nukie hypo (#21391)
* hypo

* Bag hypo
2023-11-02 13:35:56 -06:00
lzk
814202b277 Slurred accent tweaks (#1539) 2023-11-02 18:19:33 +03:00
lzk
b0f48d486f Deleta Gelta station (#1545) 2023-11-02 18:17:54 +03:00
DrSmugleaf
2d58d19b07 Make all prototype types partial (#21374) 2023-11-01 19:56:23 -07:00
DrSmugleaf
aa0c3b64ea Mark all tests that restart rounds as dirty (#21376) 2023-11-01 19:56:07 -07:00
PJBot
9374e2b064 Automatic changelog update 2023-11-01 19:20:49 -04:00
Nemanja
85f09cae86 More Storage Rebalancing (#21373)
* the changes...

* eek
2023-11-01 17:19:41 -06:00
MilenVolf
9e7cac2ac9 Fix tests fail (#21384) 2023-11-01 18:06:23 -04:00
PJBot
2b903ed4c5 Automatic changelog update 2023-11-01 17:49:00 -04:00
Repo
222c025cd3 Revert "Enable skeletons temporarily for Halloween (#21356)" (#21385)
This reverts commit 4f81a561ae.
2023-11-01 17:47:55 -04:00
PJBot
e134a535f0 Automatic changelog update 2023-10-31 23:12:15 -04:00
Vasilis
e1e3eba0d0 Getting turned to a rev makes the rev antag sound (#21316) 2023-10-31 23:11:09 -04:00
PJBot
f85ca702ef Automatic changelog update 2023-10-31 19:21:56 -04:00
Ed
96ff529c82 Anomaly Cores (#21306)
* add first anomaly core

* meme

* 5 min to 10 min
fix yml

* fix

* Update doc

* no static price
2023-10-31 19:20:52 -04:00
DrSmugleaf
3a4c40c29b Validate PresetIdCardComponent.JobName prototype ids (#21361) 2023-10-31 15:09:10 -07:00
PJBot
b806722c8c Automatic changelog update 2023-10-31 16:42:29 -04:00
Nairod
3b10c88c8c Command Styled QM Card (#21368) 2023-10-31 16:42:00 -04:00
brainfood1183
15fc7b1e92 blue blood now requires copper instead of iron to cure bloodloss (#20863)
* blue blood now requires copper instead of iron to cure bloodloss

* arachnid species now needs copper to cure bloodloss and copper pills added to medkits.

* fix puddlesystem proto

* remove the cool

* no longer uses hastag, instead uses custom heart organ and hasorgan.

* fix
2023-10-31 13:41:25 -07:00
PJBot
31d9956bd9 Automatic changelog update 2023-10-31 16:40:17 -04:00
Psychpsyo
6a18bdc023 Soapy Water & Edible Soap (#20364)
* soap reagent and soapy water

* make soapy water recognizable

* Fix tile cleaning bug

CleanDecalsReaction was able to take more than the reactVolume it was given.

* make soapy water an evaporating reagent

* Tile reactions when mopping

* Fix indescribably soap flavor

* Adjust soap flavours

Soap and soapy water now taste clean and syndie soap tastes like punishment.

* Better soap numbers & DeleteOnSolutionEmpty

* Changed TrashOnEmpty to TrashOnSolutionEmpty

* Last TrashOnSolutionEmpty change

* Fix merged code not compiling

* Requested changes.
2023-10-31 13:39:12 -07:00
PJBot
672969b710 Automatic changelog update 2023-10-31 16:29:47 -04:00
potato1234_x
1c604a41a5 Cockroach + Glockroach Admeme + Mothroach (#19752)
* cockroach

* Update Resources/Textures/Mobs/Animals/cockroach.rsi/meta.json

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

* parenting fixe

* d

* rsi fail

* mothroach!!!!

* cockroach vent event + critters in trashcart

* linter

* fix

* commit

---------

Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com>
2023-10-31 13:28:42 -07:00
deltanedas
49f0b20b0a make bloodred large size (#21362)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-10-31 15:37:39 -04:00
Bixkitts
74f1098008 Candy Bucket for Halloween (#21257)
* Added candy bucket and component to update appearance of held containers akin to it

* cleanup newline

* newline was load-bearing

* moved component to Shared, cleanup

* newline is spooky

* You build and run without errors, stop pretending otherwise

* Updated for new storage system in master branch
2023-10-31 11:54:41 -04:00
brainfood1183
77db8b166a mindshield implants (#21269) 2023-10-31 07:03:39 -06:00
PJBot
4ca06eeadf Automatic changelog update 2023-10-31 08:58:31 -04:00
LankLTE
1a9f3bc86b Fix the organtype (#21347) 2023-10-31 06:57:26 -06:00
PJBot
bb4bb502f7 Automatic changelog update 2023-10-31 08:44:22 -04:00
Nemanja
a05ef80cb0 fix smoke not transferring (#21332) 2023-10-31 06:43:18 -06:00
lzk
036ff09fd3 Revert "[Halloween] Lantern sprite change" (#1540) 2023-10-31 12:39:38 +03:00
PJBot
89df43036e Automatic changelog update 2023-10-31 00:10:17 -04:00
ZeroDayDaemon
a302775ac0 Pea Plants (#20504)
* Add Pea Plants

* Pea soup

* Update flavor-profiles.ftl

* Update seeds.yml

* Add seeds to vendors

* Make things more expensive to fix free money exploit

* Update textures

* Revert "Update textures"

This reverts commit b1b7046504afc7468742b0722f601d98684a1c89.

Vines dont grow straight into the air.

* Shift up 4 pixels

* Fuck autofix conflitcs

* Shift up 3 more pizels

* I finally got byond working so I made sure they were EXACTLY the same

* Address Reviews? I think?

---------

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
2023-10-31 00:09:13 -04:00
PJBot
4ebc688882 Automatic changelog update 2023-10-30 23:57:01 -04:00
Nemanja
0c329ed661 Storage Standardization [Take 2] (#21270) 2023-10-30 20:55:55 -07:00
PJBot
2c5ea97d9a Automatic changelog update 2023-10-30 23:41:16 -04:00
Nemanja
4f81a561ae Enable skeletons temporarily for Halloween (#21356) 2023-10-30 20:40:11 -07:00
PJBot
b6bd029c5b Automatic changelog update 2023-10-30 23:32:04 -04:00
I.K
01d57a0210 fix fireaxe swing (#21346) 2023-10-30 23:30:58 -04:00
Ed
1659a14d5c Update ground_lighting.yml (#21350) 2023-10-30 23:16:28 -04:00
Doru991
e1440cb493 Pumpkins, jack o' lanterns and pumpkin hat resprite (#21176)
* Pumpkin textures

* Pumpkin prototypes

* Jack o lantern prototypes and pumpkin cake

* Finishing touches

* Arbitrageloose

* Restore old pumpkin helmet sprites (God I hope it works)
2023-10-30 23:12:23 -04:00
PJBot
98420b5735 Automatic changelog update 2023-10-30 21:50:09 -04:00
Vasilis
1a45c32355 1984 mouse AI (#21353) 2023-10-30 18:49:05 -07:00
PJBot
d6d0312201 Automatic changelog update 2023-10-30 07:49:17 -04:00
metalgearsloth
b3b0d0c567 Thicken thindow bounds (#21280) 2023-10-30 22:48:11 +11:00
DrSmugleaf
d0e267206b Update Patrons.yml (#21344) 2023-10-30 01:57:32 -07:00
Morb
5f69be24be Add new lobby arts (#1537) 2023-10-30 03:28:25 +03:00
Nemanja
6eebda7b5c Fix broken slot highlight in midnight theme. (#21331) 2023-10-29 20:17:52 -04:00
Psychpsyo
e22d3a4cb0 Space Asshole Gear (#21243)
* Add Space Asshole Coat

* Add sledgehammer

* Adjust sledgehammer damage values

* Add copyright string to sledgehammer
2023-10-29 20:09:18 -04:00
PJBot
5349f326fe Automatic changelog update 2023-10-29 20:09:09 -04:00
nmajask
014d3a36c4 Added thermal insulation to flannel jackets (#21273) 2023-10-29 20:08:06 -04:00
lapatison
cd4f96dec8 Upstream #1532 locale Patch (#1536) 2023-10-30 02:37:31 +03:00
PJBot
9734ead7f7 Automatic changelog update 2023-10-29 18:28:47 -04:00
Subversionary
a6448cb87d Fix bola stam damage, bring back old construction requirements (#21340) 2023-10-29 18:27:43 -04:00
brainfood1183
00523b5260 New foam sprites (edge sprites) (#21308)
* New foam sprites (icon smoothing)

* changed to edge sprites for foam

* fix

* edges for metal foams

* fix
2023-10-29 10:13:41 -04:00
Yousifb26
b5c21bcd00 Update belt.yml (#21317)
changes the chief engineer's belt to remove the lv wires (they take up a lot of space and are easy to get anyways) in exchange for a holofan, a t-ray, and a gas analyzer (first time coding ever this might have to be edited)
2023-10-29 10:11:51 -04:00
PJBot
24dc5b669d Automatic changelog update 2023-10-29 06:38:44 -04:00
Simon
d696793796 Fix PDA notifications when creating a news entry using the Mass-Media console. (#21320) 2023-10-29 21:37:40 +11:00
lapatison
2e1e434b11 Translate #1532 (#1533) 2023-10-29 12:42:07 +03:00
Repo
5466a9b1b4 Disable OOC during round (#21323) 2023-10-29 03:31:21 -05:00
Leon Friedrich
6e49331e4d Action bugfixes (#21321) 2023-10-29 19:10:30 +11:00
kerisargit
f2bc0ff128 Atomic bomb add uranium (#21143)
* fix: Incendiary bullets no longer deal cold, acid, or shock damage that ignores all armor.

* Atomic bomb
2023-10-28 23:24:46 -07:00
metalgearsloth
5b8f3c48c4 Revert "Update submodule to 175.0.0 (#21318)" (#21319) 2023-10-29 15:29:30 +11:00
metalgearsloth
4f6ea2aef6 Update submodule to 175.0.0 (#21318) 2023-10-29 15:05:49 +11:00
PJBot
073c8c1551 Automatic changelog update 2023-10-28 23:59:28 -04:00
metalgearsloth
9b1b3e03ed Content audio (#20862) 2023-10-29 14:58:23 +11:00
Whisper
cd280eef6b remove pulse rifle from ert medic (#21310) 2023-10-28 20:56:33 -07:00
PJBot
44558f0893 Automatic changelog update 2023-10-28 23:56:20 -04:00
Ubaser
d08a9e2b94 Wearable bee plush (#20623)
* add

* fix

* temporary change, needs fixing

* mayb fix

* actually fix FR

* yes
2023-10-28 20:55:15 -07:00
Leon Friedrich
e792475484 Fix planet command help message (#21312) 2023-10-29 12:51:19 +11:00
Leon Friedrich
f3c84b982a Update engine to v174.0.0 (#21311) 2023-10-29 04:28:20 +11:00
Leon Friedrich
f308adffaf Move ActorComponent to shared (#21293) 2023-10-29 04:21:02 +11:00
PJBot
1b86ecf9be Automatic changelog update 2023-10-28 12:48:04 -04:00
TemporalOroboros
b223e7d6ed Generalizes solution overflow & slightly increases space lube yield (#21094)
* generalize SolutionSpikeOverflowEvent

* let reactions overflow

* spacelube: 3 -> 5

* restore TryMixAndOverflow threshold cap
2023-10-28 12:46:59 -04:00
keronshb
17f3fc1287 Moves cloning comp & cloning event to shared (#21253) 2023-10-28 09:47:42 -04:00
PJBot
3319774f62 Automatic changelog update 2023-10-28 08:02:15 -04:00
Repo
e0f3bf0a06 User accessible playtime (#21242)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2023-10-28 12:01:11 +00:00
Morb
fb62c1ef83 Merge pull request #1532 from space-syndicate/upstream-sync
Upstream sync
2023-10-28 14:40:41 +03:00
Morb0
952a978255 Fix maps 2023-10-28 14:15:47 +03:00
Morb0
f7e6c1ab8d Remove duplicate hijack 2023-10-28 14:15:46 +03:00
Morb0
d928fce2bd Update Secrets 2023-10-28 14:15:45 +03:00
Morb0
0c2abff188 Update locale 2023-10-28 14:15:44 +03:00
Morb0
f010529b0b Fix player session interface 2023-10-28 14:15:43 +03:00
Morb0
679bea07e0 Remove corvax hijack 2023-10-28 14:15:42 +03:00
Morb0
681762aca7 Merge remote-tracking branch 'upstream/master' into upstream-sync
# Conflicts:
#	Content.Server/GameTicking/GameTicker.Player.cs
#	Content.Server/GameTicking/GameTicker.RoundFlow.cs
#	Content.Server/Preferences/Managers/ServerPreferencesManager.cs
#	Content.Server/Shuttles/Systems/EmergencyShuttleSystem.Console.cs
#	Resources/Prototypes/Objectives/objectiveGroups.yml
2023-10-28 14:14:36 +03:00
PJBot
5776a15b81 Automatic changelog update 2023-10-28 01:55:22 -04:00
Artjom
6ce75ccec9 Health analyzer UI improve (#17280) 2023-10-28 16:54:18 +11:00
Whisper
e11d33b68d fix cburn bag issue, make new bag entity for them and filled bag entity (#21295) 2023-10-28 00:30:59 -04:00
metalgearsloth
219109cac5 Fix namespace (#21299) 2023-10-28 14:49:09 +11:00
Leon Friedrich
d13d86201a Update yaml sequence option in editorconfig (#21297) 2023-10-28 14:28:57 +11:00
Leon Friedrich
1844ad23a3 Fix namespace error (#21298) 2023-10-28 14:24:37 +11:00
metalgearsloth
40e8eba009 Update submodule to 173.0.0 (#21296) 2023-10-28 14:07:08 +11:00
Leon Friedrich
0f5bcddd25 Remove GridModifiedEvent (#21291) 2023-10-28 13:57:57 +11:00
Morb
d27df9705d Fix hijack objective (#21241)
* Fix hijack

* Max difficulty
2023-10-27 22:33:18 -04:00
PJBot
2c7e2b62dc Automatic changelog update 2023-10-27 22:29:28 -04:00
faint
59176f7613 Fix nukies sound not played (#21268)
* Play sound and sending greeting message works for nukies now!!!!!

* oops

* silly change
2023-10-27 22:28:20 -04:00
metalgearsloth
1f59770ac1 Make crystals noRot (#21279)
IDK might be better. Ideally the anchoring would be offset 0-0 but this is the world we live in atm.
2023-10-27 22:27:16 -04:00
Ed
a9fc97a901 rename the rocks (#21275) 2023-10-27 22:27:09 -04:00
Leon Friedrich
ecec22faae Bandaid tests (#21292) 2023-10-28 11:43:15 +11:00
Leon Friedrich
761b2f3da2 Update engine to v172.0.0 (#21288) 2023-10-28 10:01:24 +11:00
Leon Friedrich
e685cb626b Un-revert IPlayerManager refactor (#21244) 2023-10-28 09:59:53 +11:00
Chief-Engineer
c55e1dcafd Restore Leviathan's 80 pop cap (#21281) 2023-10-27 15:59:36 -07:00
PJBot
0e5250d728 Automatic changelog update 2023-10-27 09:55:47 -04:00
Whisper
5585cbf822 ERT Loadout overhaul + Real deathsquad mobs + ERT fixes (#21230)
* "assist with medical efforts"

* CentComm official description change

* give cburn ert mask

* Ert medic hardsuit uses blood-red medic values

* description changes, they all used to use the blood-red description

* ert engineer hardsuit uses cburn values, good for handling all possible engineering problems.

* janitor hardsuit uses cburn values for extreme messes, otherwise we'd send the non eva variant.

* spawn suffix changes

* shorten suffix

* drop armor from ert jumpsuits

* drop armor from DS jumpsuit

* add more armor to death squad to make up for removed armor in the uniform.

* give sec gas masks armor, give syndicate gas masks armor. ERT gas mask uses syndicate mask values

* add nanotrasen

* removed duplicate

* give centcom IDs their hud icon

* replace all ert bulletproof armor with basic universal armor

* replace all oxygen tanks with air tanks; species is random.

* remove gun and meds from ert engineer kit

* give ert engineer materials

* remove weapons and meds from janitor ert

* give ert janitor light replacer

* remove ert sec pulse weapons, admins will assign loadout. Either the lecter or enforcer, probably.

* Give ert sec the security pistol kit

* typo

* give eva ert sec pistol

* give eva janitor ert gas mask

* give jani purple gloves

* medical gloves for medical ert

* replicate security loadout to leader

* quick ert lecter spawns for lazy admins

* better suffixes to find them easier

* add cburn to ertspawn

* Replace "Spawn" with "role"

* Add death squad. Give ert engineer gas analyzer.

* death squad using wrong equipment

* typo

* missing ghost roles on lecter loadouts

* add freedom implanter to deathsquad

* deathsquad ghost role text

* Operative sounds better

* give Ds flashbang box (why isn't it entirely filled?)

* fix typo. add energy shield to DS

* fix typos

* all centcomm roles are now mindshielded. These cannot be removed.

* Rider didnt include some of the changes ?

* give zipties instead of cuffs for mass arrests!

* upgrade ERT survival boxes to extended capacity

* give cburn extended oxygen too
2023-10-27 08:54:43 -05:00
PJBot
f4c3d66b1c Automatic changelog update 2023-10-26 22:53:15 -04:00
Nemanja
0670b56205 A return to foam (foam rework) (#20831) 2023-10-27 13:52:11 +11:00
PJBot
ddaf7ddc47 Automatic changelog update 2023-10-26 22:41:18 -04:00
deltanedas
b9af991e04 Ion storm event (#20277)
* ion storm event prototype + locale

* add lawsets

* use lawsets, make borgs ion storm targets

* ion storm rule and ion storm target

* lawset prototype

* use lawsets

* update silicon law system to use lawsets and support ion storm event

* new toys

* fix

* more fix

* fixy

* ion storm admin logging

* assigning laws makes borg provide its own laws, other stuff

* 1h reoccurence

* 50% chance

* better call saul

* emagLaws is required

* add announcment audio

* fixy

* family friendly gaming

* fixy

* address reviews

* fixy

* more fixy and no erp

* pro

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-10-26 22:40:13 -04:00
PJBot
7144894173 Automatic changelog update 2023-10-26 22:35:06 -04:00
deltanedas
bb65818bf3 Implant whitelist/blacklisting (#20678)
* add whitelist and blacklist to implant and implanter components

* handle whitelist and blacklist in systems

* move hardcoded whitelist/blacklist to base implanter + add admeme implanter

* give implants sensible whitelists

* cleaner CheckTarget and fix

* remove unused imports

* network lists

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-10-26 22:34:02 -04:00
PJBot
b4da282341 Automatic changelog update 2023-10-26 22:28:42 -04:00
crazybrain23
bc533733c4 Show "departed and moved on" for when a ghost role is taken (#21092)
* fix ghost role not counting for "departed and moved on"

* I don't think that bit was needed so away it goes

* hopefully finish the upsream merge
2023-10-26 22:27:36 -04:00
nikthechampiongr
8f181b4534 Fix popup messages appearing when someone tries to open a door without a tool. (#21099)
* The fixTM

* typo fix

* addressing review
2023-10-26 22:26:52 -04:00
Nemanja
7a0759f2c0 Techfab resprite + department fab sprites (#21136) 2023-10-26 22:21:14 -04:00
PJBot
a2e9454e1c Automatic changelog update 2023-10-26 22:20:39 -04:00
JoeHammad1844
c9827c5364 headrev spawn music (#21119)
* headrev spawn music

* :trollface:

* skill issue

* double skill issue

* :trollface:

* :trollface:

* :trollface:
2023-10-26 22:19:35 -04:00
metalgearsloth
55f232ae09 Fix ItemPlacer (#21160)
This is going to lead to many entities being ticked unnecessarily and performance problems.
2023-10-26 22:14:01 -04:00
PJBot
a793a66d19 Automatic changelog update 2023-10-26 22:13:40 -04:00
nmajask
0d5da6c30a fixes and tweaks (#21172) 2023-10-26 22:12:35 -04:00
Ed
354d999c8e Cave Decoration pack (#21265)
* add chromite chasm

* add desert chasm

* snow chasm

* finish
2023-10-26 21:58:27 -04:00
faint
8891890ad1 Fix missing toggle fullscreen loc string (#21264) 2023-10-26 18:19:37 +03:00
chromiumboy
8fcb20894c BBQ rib sandwich (#21180) 2023-10-26 10:08:24 -04:00
Myakot
720bb79a9b New lobby art (#1524)
Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com>
2023-10-26 11:47:13 +03:00
SyndiCarp
7986b33b02 Delete Ishimura station (#1528) 2023-10-26 11:46:29 +03:00
PJBot
e96fbaf4e4 Automatic changelog update 2023-10-26 04:28:17 -04:00
DrSmugleaf
d6d8fff3cb Add missing changelog for storage refactor revert (#21259) 2023-10-26 01:27:12 -07:00
metalgearsloth
c08349a947 Revert "Storage TEST MERGE" (#21258) 2023-10-26 00:46:22 -07:00
PJBot
a850b1f568 Automatic changelog update 2023-10-25 22:48:48 -04:00
Nemanja
81f5e341c0 Some mild item size balancing + fixes (#21250) 2023-10-26 13:47:44 +11:00
PJBot
7a08a4ebbb Automatic changelog update 2023-10-25 18:54:44 -04:00
Nemanja
41795720da [TEST MERGE] Slot-based Storage (#21212) 2023-10-25 18:53:38 -04:00
Doru991
6b04aaf964 Potato battery update + potato AI (#21142)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2023-10-26 00:52:49 +11:00
Ed
94cda6a253 Shadow Dimension visual pack (#21237)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2023-10-26 00:36:22 +11:00
metalgearsloth
80c57170e9 Fix DockingControl (#21238) 2023-10-26 00:28:34 +11:00
deltanedas
07a956e790 syndicate snack box (#21024)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-10-26 00:26:26 +11:00
Nemanja
0253270a9a fix searching on vending machines (#21233) 2023-10-26 00:01:16 +11:00
deltanedas
88a29450d9 give roundstart borgs names (#20081)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-10-26 00:00:08 +11:00
deltanedas
33c82d60c0 simple space mobs cant be flashed (#20784)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-10-25 23:58:12 +11:00
deltanedas
b6a8f5e780 Power switchable refactor (#20419)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-10-25 23:57:23 +11:00
AlexF0x
6ed6cede57 [Halloween] Lantern sprite change (#1525) 2023-10-25 15:16:20 +03:00
lzk
a86759aa5d Fix Core IAA jobs count (#1526) 2023-10-25 15:15:48 +03:00
PJBot
9025ccaa9d Automatic changelog update 2023-10-25 00:52:36 -04:00
Nemanja
6e007b0d0b fix feeding unremovable items (#21234) 2023-10-24 21:51:32 -07:00
ShadowCommander
4b10cab617 Change ListContainer to send null when selected is removed from the data (#20595) 2023-10-24 22:07:47 -04:00
TemporalOroboros
3007200832 Adds AttemptEntity(Uns|S)tickEvent. (#20728)
* try-stick

* convert spider charge to attempt-stick-events
2023-10-24 21:45:42 -04:00
PJBot
f0c5aa15b8 Automatic changelog update 2023-10-24 20:57:26 -04:00
Mr. 27
ef7f3b1f64 Remove "mk --> mmm, okay" and "u --> you" to chatsan anti slang (#21177) 2023-10-24 20:56:18 -04:00
PJBot
33593b7686 Automatic changelog update 2023-10-24 17:01:26 -04:00
TemporalOroboros
4df2f91f54 Fix anomaly locators frantically beeping when entering detection range. (#21178)
* reset beep timer when out of range

* prevent deficit from impacting beep timing
2023-10-24 17:00:22 -04:00
PJBot
7ef9bac762 Automatic changelog update 2023-10-24 16:59:53 -04:00
Myakot
ed36abcb5f Healing skeletons by pouring milk over them (and clean pie remains off their skulls) (#21231)
* mvp done - skellies can heal by spillink regular milk on themselves and clean themselves off creaming with water

* added other types of healing milk, also made a separate reaction to oat milk - it has almost no calcium in it

* fixed indent error, made a dumb mistake
2023-10-24 16:58:33 -04:00
PJBot
968e6e64f6 Automatic changelog update 2023-10-24 16:39:47 -04:00
Stealthbomber16
b59cc50df0 cornmeal is actually obtainable now (#21162)
* do the thing

* lets find out

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

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

---------

Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
2023-10-24 16:38:43 -04:00
PJBot
dd30b3fb7a Automatic changelog update 2023-10-24 16:38:22 -04:00
liltenhead
13c5ac7f62 Add hint for the examine trigger effect (#21166)
* examine locale

* examine trigger desc
2023-10-24 16:37:16 -04:00
Fluffiest Floofers
7c22616096 Update deathhead_r_leg.png (#21226) 2023-10-24 16:36:47 -04:00
Leon Friedrich
0880145ac8 Mind tweaks & fixes (#21203) 2023-10-24 10:23:56 -04:00
Morb
d8738e6784 [Sponsor] More augment markings (#1520) 2023-10-24 14:06:58 +03:00
metalgearsloth
a2bbda43cc Revert "Update submodule to 172.0.0 (#21222)" (#21225) 2023-10-24 21:55:20 +11:00
PJBot
517aea8bc3 Automatic changelog update 2023-10-24 06:45:17 -04:00
metalgearsloth
4701b853ef Fix 0-length climbs (#21224) 2023-10-24 21:44:09 +11:00
PJBot
ea0459fe6c Automatic changelog update 2023-10-24 05:29:36 -04:00
Vasilis
ba6aaa5ff8 Make stuttering less common with the trait (#21207) 2023-10-24 20:28:31 +11:00
metalgearsloth
b98b0d9d36 Update submodule to 172.0.0 (#21222) 2023-10-24 20:24:50 +11:00
Leon Friedrich
7ba0ea2926 IPlayerManager refactor (#21215) 2023-10-24 20:19:08 +11:00
metalgearsloth
c500a63ada Add placementreplacement to wallrocks (#21220) 2023-10-24 19:40:30 +11:00
Vasilis
41a9b88680 Make it a lil easier to restrict what can go in a cannon (#21093) 2023-10-24 19:35:39 +11:00
PJBot
c09633fae3 Automatic changelog update 2023-10-24 03:56:50 -04:00
Morb
47b244b191 Hijack shuttle objective (#19621)
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2023-10-24 18:55:46 +11:00
Whisper
fe3bcda7f2 Remove noRot from asteroids (#21219) 2023-10-24 18:52:57 +11:00
Vasilis
94796ddeee Slightly better locale for revs (#21168) 2023-10-24 18:47:53 +11:00
Leon Friedrich
4e7bdc6658 Fix electrocution resolve error log (#21179) 2023-10-24 17:22:05 +11:00
PJBot
29889f5ba7 Automatic changelog update 2023-10-24 02:21:50 -04:00
Stray-Pyramid
4bb355ab76 Fix ore bag not picking up artifact fragments (#21195) 2023-10-24 17:20:46 +11:00
PJBot
51885f4b4a Automatic changelog update 2023-10-24 02:19:50 -04:00
Nemanja
ddf1fd98ff fix magnet trigger for artifacts (#21213) 2023-10-24 17:18:46 +11:00
DrSmugleaf
0e0ac5fcc5 Drop admin log entity db table (#21216) 2023-10-23 22:08:20 -07:00
Leon Friedrich
472381c0db Add GrantContainedActions() (#21206) 2023-10-23 20:53:27 -04:00
PJBot
60092e8b8a Automatic changelog update 2023-10-23 10:36:36 -04:00
Tryded
7073b292c0 Buffs Double bladed energy swords (#21131) 2023-10-23 10:35:32 -04:00
PJBot
eae349d15e Automatic changelog update 2023-10-23 09:21:38 -04:00
metalgearsloth
46a3076ecb Predict tile-prying (#21167) 2023-10-24 00:20:33 +11:00
Nairod
33935c5ce8 Increase Ninja Suit Weight (#21188) 2023-10-24 00:09:53 +11:00
Morb0
7426f258c3 Revert "Use ssh-agent for publish workflow"
This reverts commit 945ae46b70.
2023-10-23 10:57:38 +03:00
DrSmugleaf
52e1d64ee2 Stop all reads/writes to the admin_log_entity table (#21186) 2023-10-22 21:24:03 -07:00
DrSmugleaf
43d5c00648 Store round start date in the database (#21153) 2023-10-22 21:01:48 -07:00
lapatison
e07457c87f Translate Upstream #1521 (#1522) 2023-10-23 02:44:07 +03:00
TsjipTsjip
190b1f61f2 Kettle updates (#21164) 2023-10-22 12:00:36 -06:00
Morb0
4920315938 Fix gelta 2023-10-22 20:22:43 +03:00
SyndiCarp
6bff047ff5 Added evacuation (#1519) 2023-10-22 19:46:52 +03:00
Арт
89f74d0531 Update Avrit (#1516) 2023-10-22 19:46:38 +03:00
comasqw
7d54934496 [Maps] Add new Map "Gelta" and Replacing Delta with Gelta (#1518) 2023-10-22 19:46:20 +03:00
Morb
2f83180d0a Merge pull request #1521 from space-syndicate/upstream-sync
Upstream sync
2023-10-22 19:42:16 +03:00
Morb0
95cff3f75c Fix maps 2023-10-22 19:27:31 +03:00
Morb0
141b112363 Update locale 2023-10-22 19:00:16 +03:00
Morb0
b8088a6cfd Replace corvax chat filter with upstream implement 2023-10-22 18:52:05 +03:00
Morb0
429c0c2f9e Merge remote-tracking branch 'upstream/master' into upstream-sync
# Conflicts:
#	Content.Server/Chat/Systems/ChatSystem.cs
2023-10-22 18:36:48 +03:00
PJBot
c318cbac9f Automatic changelog update 2023-10-22 09:54:22 -04:00
stopbreaking
988bfa5c09 Replaced Wieldable DoAfter with UseDelay (#18880)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2023-10-23 00:53:13 +11:00
lapatison
d742c3ec01 Translation fixes (#1511) 2023-10-22 13:27:26 +03:00
PJBot
ef0c079724 Automatic changelog update 2023-10-22 03:35:12 -04:00
EnDecc
002d3be16b The Quartermaster's Requisition Digi-board (#21023)
* Added sprites

* Added item in game

* Ditched glowing light indicator to simplify implementation

* Added clipboard to locker fill

* Added traitor objective

* forgor meta.json

* forgor clip textures on front-facing in-hand sprites

* lowered concussiveness of bureaucracy

* added remote cargo ordering, paper sucking, and removed paper on spawn

* slightly reduce storage capacity so it can fit in backpacks
2023-10-22 00:34:06 -07:00
deltanedas
dc9f9b55ee ignition source refactor (#21044)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-10-22 17:05:48 +11:00
iacore
c1bc177d1e Make secure crates weldable, for real this time (#21037) 2023-10-22 17:04:24 +11:00
metalgearsloth
7c2a00d360 Update submodule to 171.0.0 (#21158) 2023-10-22 17:00:23 +11:00
PJBot
975a8e89e7 Automatic changelog update 2023-10-22 01:55:34 -04:00
Leon Friedrich
fbf4333a03 Maybe fix hand test failures (#21157) 2023-10-22 16:55:10 +11:00
Leon Friedrich
e3eaba1ebb Fix inventory transform bug (#21144) 2023-10-22 16:54:30 +11:00
metalgearsloth
a5f1683f54 RCD and tile placement fixes (#21132) 2023-10-22 16:53:39 +11:00
metalgearsloth
e2352fc28e Update buckle jointrelay (#21079) 2023-10-22 16:53:15 +11:00
PJBot
60bfdc4968 Automatic changelog update 2023-10-22 01:52:06 -04:00
PJBot
082e3b9a46 Automatic changelog update 2023-10-22 01:51:03 -04:00
deltanedas
3f241b439c emitter bolts can mine (#21135)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-10-22 16:51:01 +11:00
nikthechampiongr
d28208282a Telekinetic door prying fix (#21150) 2023-10-22 16:49:56 +11:00
DrSmugleaf
b44281a5d4 Fix whitelist commands not giving feedback with 0 arguments, trim names, add [player] completion hint (#21152) 2023-10-21 14:57:51 -07:00
PJBot
0b5fd38829 Automatic changelog update 2023-10-21 17:35:04 -04:00
DrSmugleaf
0109e7abc2 Fix expeditions console not having any expeditions (#21148) 2023-10-21 14:34:00 -07:00
DrSmugleaf
b589a121d9 Fix thrusters starting disabled (#21147) 2023-10-21 14:33:49 -07:00
DrSmugleaf
4fc45f3409 Update RobustToolbox to v170.0.0 (#21149) 2023-10-21 14:32:25 -07:00
PJBot
498af4910a Automatic changelog update 2023-10-21 16:10:58 -04:00
Vasilis
9ea8e03c23 Social a-anxiety/st-st-stuttering t-trait. (#20500)
* This was supposed to be a challenge

* Component magik

* Add documentation
2023-10-21 13:09:54 -07:00
Morb
e6da3aafe1 [Sponsor] Augment markings (#1517) 2023-10-21 22:48:05 +03:00
PJBot
93c345a1b9 Automatic changelog update 2023-10-21 15:44:15 -04:00
Mr. 27
e2227c6b09 Make common netspeak get replaced in the chat (#20180)
* added more slang to the sanitization manager

* idk why this file is here

* Added new sanitization accent

* No longer is an acccent, instead is a dictionary

* Reverted back to a system similar to before, added the new netspeak from the dictionary

* Added some new words to the chat san

* Added (wdym --> what do you mean) to the chatsan

* merge conflict

* removed boolvalue

* remove space

* Upcoming

* Added MF and ETC to chatsan :))

* upcoming

* added FYI and WYD to speech-chatsan.ftl

* Made the chatsan accent string a const string with [ValidatePrototypeId<AccentPrototype>]

* forgot the ';' :(((

* fixed error throw [AccentPrototype] --> [ReplacementAccentPrototype]
2023-10-21 15:43:11 -04:00
Morb0
5539ef1949 Remove remain sponsor items 2023-10-21 21:08:57 +03:00
Morb0
613048571a Remove sponsor items 2023-10-21 20:48:14 +03:00
PJBot
db81050b4d Automatic changelog update 2023-10-21 07:00:02 -04:00
DrSmugleaf
29ac3f35fa Update Robust to v169.0.1 (#21139) 2023-10-21 03:58:57 -07:00
metalgearsloth
8f068561c3 Fix rat king rummage audio (#21130) 2023-10-21 09:58:00 +11:00
PJBot
77d9876a2f Automatic changelog update 2023-10-20 18:38:06 -04:00
metalgearsloth
44bd12c8a5 Fix replay infinite loop (#21129) 2023-10-21 09:37:02 +11:00
Ed
82627cab15 Orewall and cobblestone wall pack (#21034)
* start work

* remove crafting things

* remove

* fix yml

* remove all pebbles
add sand stone
add sand cobblestone wall
add asteroid cobblestone wall
resprite basaltand snow walls

* add new walls

* :trollface:
2023-10-20 17:00:24 -04:00
PJBot
f7108af8b0 Automatic changelog update 2023-10-20 16:22:53 -04:00
deltanedas
68aa295a38 Add internal temperatures for cooking meats (#20659) 2023-10-20 12:21:49 -08:00
Sirionaut
3a561ed993 fixed localization for guardian (#21101) 2023-10-20 20:06:56 +03:00
lapatison
7b92a94180 Translate Upstream #1514 (#1515)
Co-authored-by: Morb <14136326+Morb0@users.noreply.github.com>
2023-10-20 17:25:24 +03:00
Morb0
945ae46b70 Use ssh-agent for publish workflow 2023-10-20 12:05:07 +03:00
SonicHDC
4eee5738fb Legendary Rust Wall Resprite (#1474) 2023-10-20 10:51:48 +03:00
Morb
db35ad9165 Merge pull request #1514 from space-syndicate/upstream-sync
Upstream sync
2023-10-20 10:49:22 +03:00
DrSmugleaf
5734f02de5 Fix ghost actions disappearing when toggling visibility of other ghosts (#21033) 2023-10-20 00:05:33 -07:00
PJBot
5ae3a02ed5 Automatic changelog update 2023-10-20 01:47:37 -04:00
IntegerTempest
d4aeba84d1 add craft rollerbed & wheelchair (#21110) 2023-10-20 16:46:32 +11:00
I.K
2cb47e5916 fix botany tools and air tank wide swing animations (#21103)
* change rotations of botany tools

* change gas tank wide swing rotation
2023-10-19 20:52:34 -04:00
coolmankid12345
69b38efaec Yeah (#21112)
Co-authored-by: coolmankid12345 <coolmankid12345@users.noreply.github.com>
2023-10-19 20:50:44 -04:00
Morb0
5cce21090b Update locale 2023-10-20 02:04:36 +03:00
Morb0
2af666368b Merge remote-tracking branch 'upstream/master' into upstream-sync
# Conflicts:
#	Content.Server/MassMedia/Systems/NewsSystem.cs
#	Resources/Prototypes/Catalog/uplink_catalog.yml
#	Resources/Textures/Clothing/Uniforms/Jumpsuit/atmos_casual.rsi/meta.json
#	Resources/Textures/Objects/Storage/boxes.rsi/meta.json
2023-10-20 01:50:09 +03:00
Morb0
22a96f3fa9 Update Secrets source 2023-10-20 01:43:06 +03:00
DrSmugleaf
aeaabc5687 Update RobustToolbox to v169.0.0 (#21105) 2023-10-19 12:34:46 -07:00
DrSmugleaf
f560f88eb5 Remove 700 usages of Component.Owner (#21100) 2023-10-19 12:34:31 -07:00
PJBot
5825ffb95c Automatic changelog update 2023-10-19 11:20:37 -04:00
ninruB
0d2afb07cd reduce c4 and c4 bundle price (#21102)
c4 is reduced to 2 from 4 and the bundle to 12 from 20
2023-10-19 18:19:33 +03:00
Morb0
76afbae87d Update Secrets 2023-10-19 13:29:19 +03:00
PJBot
1a12892bda Automatic changelog update 2023-10-18 23:56:33 -04:00
Ed
9bb62181de Added fun: Darts (#20582)
* add textures

* fix cargo/cargo-fun.ftl

* fix cargo/cargo-fun.ftl again

* update icons and resize hitbox

* really fixed cargo.ftl

* fix soundSpecifier

* balance changes: solution transfer has been reduced from 2 to 1. Now the transfer does not work on targets wearing anything in the outerclothing slot

* add hypodart to uplink

* return of darts solution capacity to 2u

* Update uplink-catalog.ftl

* Update uplink_catalog.yml

* Update darts.yml

* remove hypodart sprite

* Update darts.yml

* Update fun.yml

* add random popups component, resprite dartboard

* localize darts

* fix

* Update darts.yml
2023-10-18 23:55:30 -04:00
Itzbenz
8d070d4758 Allow Chemical Dispenser to be scrollable (#20800) 2023-10-18 23:53:32 -04:00
Panzer
3be48bed3b wet floor bomb properties (#20823)
* wet floor bomb prop

made it more powerful

* Update uplink_catalog.yml

Made it clearer and credited myself
2023-10-18 23:52:12 -04:00
PJBot
41ec40a0d3 Automatic changelog update 2023-10-18 23:49:59 -04:00
deltanedas
0a4c16ca21 make meat sizzle when cooked (#20877)
* make meat sizzle when cooked

* fixy

* better sound

* vorbis ops

* fade out

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-10-18 23:49:51 -04:00
Vasilis
e04d6a312c Fixed players without headrevs ticked being picked anyway (#20895)
* Fixy fix fix uwu merge pwease

* admin message to inform them

* oop
2023-10-18 23:48:55 -04:00
PJBot
3e32e75737 Automatic changelog update 2023-10-18 23:46:02 -04:00
KingFroozy
5703776232 Atmos-tech's casual jumpsuit resprite (#20989)
* Pixels go brrr

* Update meta.json
2023-10-18 23:44:58 -04:00
Vasilis
4ca9227294 Add sufix to sci flash (#21095)
* Add sufix to flash

* It's 4 am please help
2023-10-18 23:44:06 -04:00
Velcroboy
83acaa5bf2 Add security beacon (#21048)
Co-authored-by: Jeff <velcroboy333@hotmail.com>
2023-10-18 23:43:52 -04:00
PJBot
68ed978435 Automatic changelog update 2023-10-18 17:16:22 -04:00
Doru991
b419dbb3eb Make gibbing drop items again (#21047)
LGTM, Just a warning that this will probably get overriden when medical refactor gets merged since it refactors gibbing.
2023-10-18 14:15:17 -07:00
PJBot
9c25db8b13 Automatic changelog update 2023-10-18 17:05:50 -04:00
TemporalOroboros
414701dd3b Swaps HV/MV/LV scaling to supply power scaling (#20880) 2023-10-18 14:04:47 -07:00
PJBot
dffc32163e Automatic changelog update 2023-10-18 17:04:27 -04:00
phunnyguy
c92b99f6ba Tortilla dough, Taco shells, and Tacos (#20797)
LGTM!
2023-10-18 14:03:23 -07:00
Keiku
7b4ceb9d0c Add checkbox for toggle walking (#20926)
Co-authored-by: onoira <onoira@psiko.zone>
LGTM!
2023-10-18 13:59:00 -07:00
lapatison
94e1d37dbe Translate Upstream #1512 (#1513) 2023-10-18 23:56:11 +03:00
Fluffiest Floofers
9741aaa5c1 Adjust warm donk pocket chemicals (#21052)
Add omnizine and increase nutriment as the comment suggest.
2023-10-18 10:11:41 -08:00
PJBot
f20ed94614 Automatic changelog update 2023-10-18 14:06:20 -04:00
Errant
064cb8797e Accurate temperature alerts (#19913) 2023-10-18 10:05:15 -08:00
PJBot
8adbd50cf9 Automatic changelog update 2023-10-18 13:47:37 -04:00
daerSeebaer
8edd5257c4 Display current load and maximum capacity (#20181) 2023-10-18 09:46:32 -08:00
Link
badb601dd1 Added implanter sprite (#20758)
* add

* Update meta.json

* tweaaaak
2023-10-18 13:18:54 -04:00
I.K
344c10745e FIX (#21091) 2023-10-19 01:03:00 +11:00
Morb
3149bcf18c Merge pull request #1512 from space-syndicate/upstream-sync
Upstream sync
2023-10-18 15:25:52 +03:00
Morb0
41096e6e71 Update locale 2023-10-18 13:27:52 +03:00
Morb0
1c61956e31 Merge remote-tracking branch 'upstream/master' into upstream-sync
# Conflicts:
#	Resources/ServerInfo/Guidebook/Science/Science.xml
2023-10-18 13:22:26 +03:00
PJBot
6b58757676 Automatic changelog update 2023-10-18 01:12:37 -04:00
metalgearsloth
7a878f703f Fix vaulting mispredict (#21082) 2023-10-18 16:11:33 +11:00
DrSmugleaf
c72b95db6b Fix debug assert when shooting guns (#21070) 2023-10-18 15:45:35 +11:00
DrSmugleaf
13cff0e89b Fix build (#21075) 2023-10-17 20:11:33 -07:00
DrSmugleaf
7ac338741b Update RobustToolbox to 904ddea27497caa6e652eec1b9d3ff2743a79e5c (#21074) 2023-10-17 19:42:55 -07:00
DrSmugleaf
5934c6728f Replace all T : Component constraints with T : IComponent (#21073) 2023-10-17 19:42:47 -07:00
DrSmugleaf
a136616531 Replace Component.OnRemove with ComponentRemove event subscriptions (#21072) 2023-10-17 19:35:36 -07:00
rosieposie
cb1b067a21 Lockable Suit Storages (#20950) 2023-10-17 18:33:02 -07:00
PJBot
433c706384 Automatic changelog update 2023-10-17 21:13:07 -04:00
I.K
df81532469 Change wide swing sprites to be that of the weapon used (#21050)
Co-authored-by: notquitehadouken <1isthisameme>
2023-10-18 12:12:00 +11:00
PJBot
b33b57509e Automatic changelog update 2023-10-17 19:02:28 -04:00
Vasilis
0cf28f9700 Spear 1984 (#21065) 2023-10-18 10:01:24 +11:00
PJBot
c08be70b6f Automatic changelog update 2023-10-17 18:59:11 -04:00
Vasilis
ebd5238807 Restrict arrows from being used in cannons (#21067) 2023-10-18 09:58:05 +11:00
lapatison
0ed6a0749e Translate Upstream #1507 (#1509) 2023-10-18 01:47:57 +03:00
metalgearsloth
d394477d3a Update submodule to 167.0.0 (#21060) 2023-10-17 23:58:36 +11:00
Nemanja
fd994511a7 technology auto guidebook (#21029)
* technology auto guidebook

* boo-womp

* boo-womp II
2023-10-16 16:51:58 -05:00
Morb
10977c9f94 Revert "Update WL server title" (#1508) 2023-10-17 00:13:21 +03:00
lapatison
42b4cc7978 Translate Upstream #1501 (#1503) 2023-10-16 23:21:27 +03:00
Morb0
5d85629695 Revert "Update secret server resource dir name"
This reverts commit 604f5ddac4.
2023-10-16 23:16:18 +03:00
PJBot
fedc7c6957 Automatic changelog update 2023-10-16 07:50:45 -04:00
metalgearsloth
91ea140ff1 Fix item drop mispredicts (#21035) 2023-10-16 22:49:41 +11:00
PJBot
2b1e4ed32d Automatic changelog update 2023-10-16 07:40:10 -04:00
JoeHammad1844
a439a1295e Stun baton tweak (#20970) 2023-10-16 22:39:06 +11:00
Morb
604f5ddac4 Update secret server resource dir name 2023-10-16 13:40:20 +03:00
Kara
77964d4a6b Kill SharedEntityExtensions and all popup extensions (#20909)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2023-10-16 16:56:09 +11:00
Leon Friedrich
00e274ea38 Add new entity spawn test & fix misc bugs (#19953) 2023-10-16 16:54:10 +11:00
Leon Friedrich
1f0c9314fd Default warp point names (#21017) 2023-10-16 16:39:39 +11:00
PJBot
422544035d Automatic changelog update 2023-10-16 01:35:22 -04:00
Alex
101cc347dd upgrade (#20997) 2023-10-15 23:34:17 -06:00
DrSmugleaf
c3e303b80b Fix sorting admin player tab playtime alphabetically (#21028)
* Fix sorting admin player tab playtime alphabetically

* Admin changelog
2023-10-15 23:32:51 -06:00
PJBot
1f564f06b2 Automatic changelog update 2023-10-16 01:32:07 -04:00
coolmankid12345
f7fbabadac Less charges for Sci flash (#20959)
* Flash

* Okay not plant based anymore

---------

Co-authored-by: coolmankid12345 <coolmankid12345@users.noreply.github.com>
2023-10-15 23:31:48 -06:00
Leon Friedrich
7032a5a89a Update dev map (#21016) 2023-10-15 23:31:14 -06:00
Nemanja
b5a7af1d58 Fix uncuffing for zombies (#21021) 2023-10-15 23:31:03 -06:00
ShadowCommander
c20bf50f40 Fix sound on material reclaimer (#21030)
* Fix saw sound error on client

The sound tried to play using shared PlayPvs which doesn't work on client. PlayPredicted handles client and server.

Fixed NextSound not playing again while continuously gibbing items.

* Fix duplicate splat sound on Recycler gibbing
2023-10-15 23:30:35 -06:00
PJBot
e40172e07b Automatic changelog update 2023-10-16 01:30:18 -04:00
brainfood1183
3ecaa6523e fixes behonkers, they now function like spitters and will attack via ai with behonk laser. (#21003) 2023-10-15 23:29:14 -06:00
PJBot
27b9c35c57 Automatic changelog update 2023-10-16 01:28:28 -04:00
iacore
556e679ef5 Make secure crate weldable (#21007) 2023-10-15 23:27:23 -06:00
Leon Friedrich
58ae37957e Fix low tickrate eye lerping (#21001) 2023-10-15 23:26:45 -06:00
deltanedas
687ceee4ed Rolling pin can be worn in belt slot (#21019)
* sprite swap

* rolling pin can be put in belt

* test pls

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-10-16 00:09:06 -04:00
Morb0
03860be233 Use Github FORK_ID in workflow 2023-10-16 03:52:19 +03:00
lapatison
15c8dc05d6 Translation fixes (#1497) 2023-10-16 03:42:33 +03:00
Ed
fee6b12af8 Gate halloween update (#1505) 2023-10-16 03:40:22 +03:00
Morb
80bbc5edb4 Merge pull request #1507 from space-syndicate/upstream-sync
Upstream sync
2023-10-16 01:37:55 +03:00
Morb0
4fd87f4a14 Fix yaml 2023-10-16 01:20:28 +03:00
deltanedas
bfb5bcda1c add rainbow fish (#20955)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-10-15 18:19:49 -04:00
PJBot
212a89272b Automatic changelog update 2023-10-15 18:18:54 -04:00
ike709
d10e33cff0 Allow Hand-Prying Most Unpowered Airlocks (#21002)
Co-authored-by: ike709 <ike709@github.com>
2023-10-15 18:17:44 -04:00
Morb0
65d3934bbb Fix locale 2023-10-16 00:59:57 +03:00
Morb0
2569e71beb Fix locale 2023-10-16 00:55:38 +03:00
Morb0
183ef00ca1 Update locale 2023-10-16 00:31:08 +03:00
Whisper
e5f5a28829 adds "idk." to the text to emote list (#21015) 2023-10-15 14:06:55 -07:00
Morb
7bd0fa9c18 [Resprite] Health indicator (#1506) 2023-10-15 21:48:48 +03:00
mhamster
65cfa17d9c [Fix?] Json generation for wiki works again (#1504) 2023-10-15 21:46:35 +03:00
Morb0
3b66b6f44f Update radiation collector sprites 2023-10-15 18:11:25 +03:00
Morb0
55a91108c1 Merge remote-tracking branch 'upstream/master' into upstream-sync
# Conflicts:
#	Content.Server/Chat/Managers/ChatManager.cs
#	Resources/Prototypes/Roles/Jobs/Security/security_cadet.yml
#	Resources/Prototypes/Roles/Jobs/Wildcards/psychologist.yml
#	Resources/Textures/Structures/Power/Generation/Singularity/collector.rsi/ca_active.png
#	Resources/Textures/Structures/Power/Generation/Singularity/collector.rsi/ca_deactive.png
#	Resources/Textures/Structures/Power/Generation/Singularity/collector.rsi/ca_off.png
#	Resources/Textures/Structures/Power/Generation/Singularity/collector.rsi/ca_on.png
#	Resources/Textures/Structures/Power/Generation/Singularity/collector.rsi/meta.json
2023-10-15 17:52:02 +03:00
DrSmugleaf
8801885b35 Fix not being able to sort by playtime in the F7 players tab (#21004) 2023-10-14 14:56:06 -07:00
PJBot
873e287f26 Automatic changelog update 2023-10-14 17:52:38 -04:00
JoeHammad1844
abf80c572e Barratry update (#20810) 2023-10-14 15:51:33 -06:00
JoeHammad1844
d2ad01741c meta update (#20916) 2023-10-14 15:50:44 -06:00
JustCone
38387ef9a6 atmos buttons and new jani sign (#20969) 2023-10-14 15:43:42 -06:00
metalgearsloth
aac17c3321 Cleanup more follower leaks (#20902)
* Cleanup more follower leaks

Rather than check stop everywhere we'll just check it on start and cleanup the old following. If someone were already following and followed something new the FollowedComponent would never get cleaned up and would never have its ref to the entity removed.

* Don't cause archetype changes
2023-10-14 14:02:36 -04:00
PJBot
8555a8e723 Automatic changelog update 2023-10-14 13:36:25 -04:00
liltenhead
eba6e74f81 helm explosion resist nerf (#20943) 2023-10-14 13:34:58 -04:00
PJBot
5767a59d1a Automatic changelog update 2023-10-14 13:30:01 -04:00
DrSmugleaf
ed15b93926 Make starting gear automatically find hands for inhand items (#20861) 2023-10-14 10:28:52 -07:00
DrSmugleaf
9e1ecdea76 Remove obsolete usages of AnimationPlayerComponent (#20806) 2023-10-14 10:28:06 -07:00
Interrobang01
49a584f12c Update comms console description (#20974) 2023-10-14 09:05:01 -08:00
Leon Friedrich
ce76a03d5e Small ExplosionSystem Cleanup (#20817) 2023-10-15 03:48:25 +11:00
TemporalOroboros
0775ab6a14 Moves SolutionContainerManagerComponent to Shared. (#20944) 2023-10-15 03:45:28 +11:00
Kara
546fa44526 Kill SharedUnoccludedExtensions (#20914) 2023-10-15 03:42:37 +11:00
DrSmugleaf
8639df7a74 Add pop sound effect when using the erase admin verb (#20988) 2023-10-14 02:53:02 -07:00
deltanedas
d59dd0de36 saltern update (#20986)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-10-14 03:36:10 -06:00
DrSmugleaf
f02a54497d Make the panic bunker UI send cvar updates on focus exit, add erase verb tooltip message (#20987) 2023-10-14 02:28:08 -07:00
DrSmugleaf
5be0df32ad Add admin Erase verb, add checkbox to erase from the ban panel (#20985) 2023-10-14 02:02:56 -07:00
DrSmugleaf
3a2482420f Show total playtime in player list and AHelp window (#20980) 2023-10-14 01:55:40 -07:00
Morb
77efb2affa Add Athara bunker 20 hours (#1502) 2023-10-14 11:45:57 +03:00
Nemanja
5ecd5f7521 Fix hostile simplemob rotation (#20900) 2023-10-14 00:15:20 -07:00
PJBot
65f5703731 Automatic changelog update 2023-10-14 03:12:57 -04:00
deltanedas
33e5dfb9a8 add igniter (#20962)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-10-14 00:11:50 -07:00
deltanedas
4fb8fa3f22 update landmine sprites from tg (#20977)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-10-14 00:09:47 -07:00
Ed
acb390e8cc Small Liquid Anomaly Patch (#20967) 2023-10-14 00:09:25 -07:00
deltanedas
4c9246589b add flash and dash sounds to paracusia (#20983)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-10-13 22:49:04 -07:00
chromiumboy
69995ef020 Added missing name (#20979) 2023-10-13 22:35:47 -04:00
Morb
3947cb36a0 Merge pull request #1501 from space-syndicate/upstream-sync
Upstream sync
2023-10-14 03:26:48 +03:00
Morb0
f310661bdc Return librarian jumpskirt monkey 2023-10-14 03:09:21 +03:00
PJBot
516aa1d7bf Automatic changelog update 2023-10-13 19:43:54 -04:00
PJBot
0603671c96 Automatic changelog update 2023-10-13 19:42:51 -04:00
liltenhead
60f88b1fd6 Decrease AME stability damage (#20963) 2023-10-13 16:42:46 -07:00
liltenhead
d5e5b80c97 Increase containment field connection duration (#20965) 2023-10-13 16:41:43 -07:00
PJBot
4c4f24422c Automatic changelog update 2023-10-13 19:09:05 -04:00
chromiumboy
4c630d0b17 Radiation collector sprite update (#20956) 2023-10-13 19:08:00 -04:00
daerSeebaer
dd6b7b337f Fix sprite alignment (#20975) 2023-10-13 14:07:23 -08:00
Morb0
e8da1b74e1 Update locale 2023-10-14 00:47:16 +03:00
Morb0
6f6cbb14af Merge remote-tracking branch 'upstream/master' into upstream-sync
# Conflicts:
#	Content.Client/Administration/UI/AdminMenuWindow.xaml.cs
#	Content.Client/Changelog/ChangelogManager.cs
#	Resources/Prototypes/Voice/disease_emotes.yml
#	Resources/Textures/Clothing/Head/Helmets/paramedhelm.rsi/equipped-HELMET.png
#	Resources/Textures/Clothing/Head/Helmets/paramedhelm.rsi/icon.png
#	Resources/Textures/Clothing/Head/Helmets/paramedhelm.rsi/inhand-left.png
#	Resources/Textures/Clothing/Head/Helmets/paramedhelm.rsi/inhand-right.png
#	Resources/Textures/Clothing/Head/Helmets/paramedhelm.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Hardsuits/paramed.rsi/equipped-OUTERCLOTHING.png
#	Resources/Textures/Clothing/OuterClothing/Hardsuits/paramed.rsi/icon.png
#	Resources/Textures/Clothing/OuterClothing/Hardsuits/paramed.rsi/inhand-left.png
#	Resources/Textures/Clothing/OuterClothing/Hardsuits/paramed.rsi/inhand-right.png
#	Resources/Textures/Clothing/OuterClothing/Hardsuits/paramed.rsi/meta.json
#	SpaceStation14.sln
2023-10-14 00:39:46 +03:00
DrSmugleaf
db4ad40430 Add panic bunker UI and automatic panic bunker (#20954) 2023-10-13 11:56:12 -07:00
coolmankid12345
e972ce7984 Add guidebook for revolutionaries (#20957) 2023-10-13 09:36:41 -08:00
PJBot
2ff8e149fb Automatic changelog update 2023-10-13 13:35:23 -04:00
Ed
5fa0e7dd49 Animals make hearts when you pet them (#20859) 2023-10-13 09:34:18 -08:00
deltanedas
e6e7d63b84 carp plushie bite (#20968)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-10-13 07:52:42 -07:00
chromiumboy
d01fe2e29f Add more tanks to tank dispensers (#20960) 2023-10-12 22:04:47 -08:00
PJBot
3e3f6d7015 Automatic changelog update 2023-10-12 21:31:35 -04:00
pigeonpeas
9c9b95b181 Add reptillian floppy kobold ear (#20929) 2023-10-12 17:30:31 -08:00
SyndiCarp
85ea85bcca Update Delta station (#1498) 2023-10-13 03:00:51 +03:00
DrSmugleaf
d6575eb556 Add support for multiple changelog files, add admin changelog (#20849) 2023-10-12 15:45:04 -07:00
PJBot
4159b7b5e8 Automatic changelog update 2023-10-12 18:21:28 -04:00
Ubaser
1b46acac64 Paramedic Suit [RESPRITE] (#20619)
* add sprites

* fix copyright

* update sprites
2023-10-12 16:20:23 -06:00
chromiumboy
535b013f63 SMES and substation require power cells as machine parts (#20344)
* Initial commit

* Balancing and tweaks
2023-10-12 12:06:03 -04:00
PJBot
3323b617dd Automatic changelog update 2023-10-12 03:36:37 -04:00
Kevin Zheng
99f777ca9d Increase carbon dioxide poisoning damage (#20939)
* Increase CO2 poisoning damage

* Fix
2023-10-12 10:35:31 +03:00
DrSmugleaf
388e424a17 Add project to update Patrons.yml from a csv file containing Patreon webhooks, add missing Patrons (#20942) 2023-10-12 00:33:30 -07:00
DrSmugleaf
1e1433374a Update Patrons list in the credits (#20937) 2023-10-11 23:30:52 -07:00
lapatison
33e4a75ffb Translate Upstream #1494 (#1496) 2023-10-12 02:40:02 +03:00
Psychpsyo
1508f513bf Jittering System Fix + Cleanup (#20921) 2023-10-11 15:57:09 -07:00
DrSmugleaf
b53f10fbb2 Fix not removing RevolutionaryRoleComponent from minds on mindshield application (#20832)
* Fix not removing RevolutionaryRoleComponent from minds on mindshield application

* Simplify other part of the mindshield code

* Fix being able to mindshield head revs

* Other way around
2023-10-11 18:14:00 -04:00
Colin-Tel
0afc035585 Prettified human_hair.rsi meta.json (#20873)
* Prettified human_hair.rsi meta.json

* Update meta.json

removed delay field
2023-10-11 17:49:49 -04:00
lzk
6a4dca04ea Update chat sanitize for :O emote (#1493) 2023-10-11 21:28:47 +03:00
Leon Friedrich
fcd0d9ef0f Add methods to transfer actions between containers (#20901) 2023-10-11 13:50:10 -04:00
Morb
bb114337cb Merge pull request #1494 from space-syndicate/upstream-sync
Upstream sync
2023-10-11 20:46:30 +03:00
Morb0
6e2e1121ff Remove FoodTinMREOpen from Avrit 2023-10-11 20:22:12 +03:00
Morb0
08262c48e2 Remove FoodTinBeansOpen from Avrit 2023-10-11 20:02:49 +03:00
PJBot
8177c406f6 Automatic changelog update 2023-10-11 12:48:31 -04:00
JoeHammad1844
0cb46632fd nukie shuttle gets syndicate airlocks (#20417) 2023-10-11 19:47:25 +03:00
Morb0
f34310b8e2 Remove secret CVars 2023-10-11 19:46:58 +03:00
brainfood1183
b7d96c6538 Honk reagent now makes you Honk. (#20838) 2023-10-11 19:43:54 +03:00
PJBot
9ea55c5417 Automatic changelog update 2023-10-11 12:32:14 -04:00
Leon Friedrich
1f21826c21 Fix inventory relay by-ref events (#20816)
* Fix inventory relay ref events

* this works too (avoid duplication)

---------

Co-authored-by: Slava0135 <super.novalskiy_0135@inbox.ru>
2023-10-11 19:31:10 +03:00
PJBot
6d34f19030 Automatic changelog update 2023-10-11 11:21:26 -04:00
Skarletto
16032cf421 today i will not stack 50 scrubbers (#20917) 2023-10-11 11:20:21 -04:00
Morb0
45c4a86f9e Update locale 2023-10-11 17:28:14 +03:00
Morb0
f4e4f2032d Replace librarian jumpskirt resprite 2023-10-11 17:19:36 +03:00
Morb0
f4a02e9b4f Add digitigrade comments 2023-10-11 17:18:36 +03:00
Morb0
d2a4a3b16b Change default announce sound and decrease changes 2023-10-11 17:05:07 +03:00
Morb0
75443d7fb6 Merge remote-tracking branch 'upstream/master' into upstream-sync
# Conflicts:
#	Content.Server/Communications/CommunicationsConsoleSystem.cs
#	README.md
#	Resources/Prototypes/Entities/Mobs/Species/reptilian.yml
#	Resources/Prototypes/Roles/Jobs/Civilian/librarian.yml
#	Resources/Prototypes/secret_weights.yml
#	Resources/Textures/Clothing/Uniforms/Jumpsuit/librarian.rsi/equipped-INNERCLOTHING.png
#	Resources/Textures/Clothing/Uniforms/Jumpsuit/librarian.rsi/icon.png
#	Resources/Textures/Clothing/Uniforms/Jumpsuit/librarian.rsi/inhand-left.png
#	Resources/Textures/Clothing/Uniforms/Jumpsuit/librarian.rsi/inhand-right.png
#	Resources/Textures/Clothing/Uniforms/Jumpsuit/librarian.rsi/meta.json
2023-10-11 16:56:19 +03:00
mokiros
071f75d146 Fixed "Dropping things makes you teleport" (#20919) 2023-10-12 00:26:22 +11:00
PJBot
f339ba0404 Automatic changelog update 2023-10-11 05:23:14 -04:00
deltanedas
201e39b42e show battery charge when recharger is examined (#20098)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-10-11 20:22:09 +11:00
Kara
7dd20f7af1 Kill ComponentExt (#20907) 2023-10-11 20:19:46 +11:00
Kara
dbb7c7065a Kill ContainerHelpers (#20908) 2023-10-11 20:18:49 +11:00
Kara
14dac914ce Kill UserInterfaceHelpers (#20912) 2023-10-11 20:17:59 +11:00
Kara
756fd6f309 Kill GravityExtensions (#20911) 2023-10-11 02:04:33 -07:00
RadioMull
1dd0327d73 Fix typo (#20772) 2023-10-10 22:36:17 -08:00
deltanedas
e911c9e516 Rename SmokeDissipateSpawnComponent to SpawnOnDespawnComponent (#20782) 2023-10-10 22:34:51 -08:00
nmajask
d4667477a5 Add casual jumpsuit/skirts (#20422) 2023-10-10 21:05:18 -08:00
Leon Friedrich
440a578047 Add mind entities to PVS overrides (#20847) 2023-10-11 14:45:05 +11:00
PJBot
f789de2cd3 Automatic changelog update 2023-10-10 23:44:51 -04:00
ShadowCommander
c7d1fb80b5 Add a command to hide replay UI (#19956) 2023-10-10 20:43:48 -07:00
deltanedas
d2665b6bba glue only mutes if drank (#20627)
* glue only mutes if drunk

* glue mutes and fixes bleeding on touch

* no mute on touch

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-10-10 23:17:44 -04:00
PJBot
33d8cd49fa Automatic changelog update 2023-10-10 23:12:55 -04:00
Vasilis
bf6827f1e9 Hopefully??? (#20865) 2023-10-10 23:11:46 -04:00
PJBot
106d7f9fda Automatic changelog update 2023-10-10 23:10:30 -04:00
gus
ac2f914706 crabs look for food (#20874)
Co-authored-by: gus <august.eymann@gmail.ccom>
2023-10-10 23:09:26 -04:00
metalgearsloth
d99d85500c Fix shuttle throwing (#20884)
The original PR had a lot of strange and unperformant code.
2023-10-10 23:07:21 -04:00
DrSmugleaf
9bcf67753a Replace string data fields with LocId where relevant (#20883) 2023-10-10 23:06:24 -04:00
PJBot
ef233cf0fe Automatic changelog update 2023-10-10 22:56:57 -04:00
deltanedas
6db534ef86 uncloak ninja after attacking (#20892)
* raise MeleeAttackEvent on the user after swinging

* add disable bool to RevealNinja

* uncloak ninja after attacking

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-10-10 22:55:53 -04:00
Leon Friedrich
088832a295 Update engine to v166.0.0 (#20899) 2023-10-11 13:27:14 +11:00
PJBot
969fd334dc Automatic changelog update 2023-10-10 19:42:16 -04:00
metalgearsloth
edbfef22d6 Climbing refactor (#20516) 2023-10-10 16:41:11 -07:00
Emisse
ab75941bc0 box update (#20897) 2023-10-10 16:46:54 -06:00
Emisse
6f2f0b492f Bagel Update (#20896)
* bagel update

* bagel update
2023-10-10 16:46:47 -06:00
metalgearsloth
425e49bbc8 Fix salvage mission biome seed (#20885) 2023-10-10 14:35:50 -07:00
PJBot
1b90732e33 Automatic changelog update 2023-10-10 17:34:21 -04:00
metalgearsloth
8e77faf71e Fix salvage faction non-determinism (#20886) 2023-10-10 14:33:17 -07:00
metalgearsloth
83062e39b0 Fix shuttle planet FTL overlapping markers (#20887) 2023-10-10 14:33:04 -07:00
PJBot
660ee13b89 Automatic changelog update 2023-10-10 14:03:53 -04:00
Whisper
b4d734d7c5 organs edible to lizards, and make their food contents uncooked proteins (#20882)
* organs edible to lizards, and make their food contents uncooked proteins

* npc mobs avoid eating brains for player QOL
2023-10-10 11:02:46 -07:00
PJBot
57e1d642ac Automatic changelog update 2023-10-10 12:56:34 -04:00
potato1234_x
6abb55088c CuraDrobe + Misc Librarian Stuff (#19469)
* sprites

* stuff

* jumpsuit sprites

* jumpskirt sprites

* fix 2

* CLOTHING FIX 2 IM LOSING MY MIND

* contrast 2

* update 239
2023-10-10 11:55:30 -05:00
PJBot
55f058f3d6 Automatic changelog update 2023-10-10 10:04:24 -04:00
GoodWheatley
764a0a15c1 Fix species speeds (#20890)
* Fix diona speed

* Fix lizard speed
2023-10-10 10:03:19 -04:00
Slava0135
6f8c2b7e52 Use conditions to store progress for Ninja objectives (#20254)
* TryGetObjectiveComp

* helper function to get objective

* store N of jacked doors in condition

* store called in threat bool in condition

* store techs in steal research condition

* fix access

* remove unused transform system

* use popup from shared system

* fix formatting

* condition => obj everywhere

* i fogror to remove downloaded nodes from role

* change signature

* use query

* View Variables

* spider charge detonated => condition
2023-10-10 09:32:10 +03:00
PJBot
c35a018cad Automatic changelog update 2023-10-09 23:35:45 -04:00
Nemanja
2c8a97fe02 Revert "Revert "Reenable kudzu."" (#20876) 2023-10-09 20:34:41 -07:00
PJBot
80e7f12557 Automatic changelog update 2023-10-09 23:33:38 -04:00
Nemanja
46d1890844 Fix fast kudzu (#20875) 2023-10-09 20:32:34 -07:00
Fluffiest Floofers
4ea05ccfb8 Job Spawner icons cleanup (#20872)
* icons

* minor fixes

* another minor fix
2023-10-09 22:05:18 -04:00
brainfood1183
ad17adfb63 Polymorph Artifact Effect (#20660)
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
2023-10-09 16:49:42 -07:00
PJBot
e7a453e022 Automatic changelog update 2023-10-09 19:43:57 -04:00
Vasilis
eb833335d9 Github actions script to update ingame credits for contributors (#20345) 2023-10-09 16:42:53 -07:00
iacore
21247fb642 cleanup: remove TargetingDoll-related code (#20866) 2023-10-09 16:40:17 -07:00
Whisper
367c251e09 gives a suffix to the strictly human spawning syndicate agent (#20864) 2023-10-09 16:31:22 -04:00
iglov
b0ef355eff Just fix dev guide link at README (#20868) 2023-10-09 13:02:33 -07:00
PJBot
8c011e473d Automatic changelog update 2023-10-09 11:24:03 -04:00
nmajask
9fb41da59d Adds flannel jackets (#20765)
* Added flannel jackets

* Better desc

Turns out lumberjacks don't wear flannel jackets

* Added the jackets to maint fluff pool

* Moves the jackets to the winterdrobe
2023-10-09 11:22:56 -04:00
Morb0
227ae9514a Fix Delta map 2023-10-09 17:42:52 +03:00
DrSmugleaf
d9b6f17d50 Fix test prototypes fields being marked as unused (#20853) 2023-10-09 00:19:32 -07:00
Sailor
a62b9ea19b Revert "Reenable kudzu." (#20843) 2023-10-09 00:08:42 -07:00
Leon Friedrich
6c0efe6580 Fix buckle test but properly this time (#20854) 2023-10-09 18:01:45 +11:00
Leon Friedrich
338a415101 Try fix buckle test (#20851) 2023-10-09 17:35:30 +11:00
DrSmugleaf
be346c3cf3 Add Exists check and try catch when creating replay dir (#20852) 2023-10-08 23:34:10 -07:00
DrSmugleaf
f776251925 Fix error on round restart when terminating spreaders (#20850) 2023-10-09 17:16:08 +11:00
PJBot
83f79fc698 Automatic changelog update 2023-10-09 01:08:58 -04:00
gus
9eede28d8c Using capital letter for radio channel prefixes works now (#20846)
Co-authored-by: gus <august.eymann@gmail.ccom>
2023-10-08 22:07:54 -07:00
PJBot
8e507af3ba Automatic changelog update 2023-10-09 00:50:24 -04:00
Nemanja
6ec02db63f Make MMIs work again (#20844) 2023-10-08 21:49:20 -07:00
Morb0
dc3b053b86 Fix guidbook formatting 2023-10-09 02:17:19 +03:00
Bloodcanis
63c1d59890 Fix-ishimura (#1492) 2023-10-09 01:34:22 +03:00
PJBot
4e8700444f Automatic changelog update 2023-10-08 17:26:13 -04:00
DrSmugleaf
3e509d7630 Give ringtone setting a 0.25 second cooldown, style and fixes (#20780) 2023-10-08 17:25:08 -04:00
PJBot
483f720bf8 Automatic changelog update 2023-10-08 17:03:51 -04:00
Nemanja
99d1d34b67 Standardize species speeds (#20841) 2023-10-08 14:02:46 -07:00
Nemanja
25a6912667 Reformat hand examine text (#20842) 2023-10-08 14:01:18 -07:00
Whisper
7adbf78b12 suffix additions: Pinpointer, thruster, gyro (#20818)
* seperates the anchored and unachored versions of the gyro and thruster with a suffix.

* add station suffix for station pinpointer

* more suffixes for briefcases
2023-10-08 16:37:45 -04:00
Leon Friedrich
1a5cf370e7 Slightly improve action ui performance (#20799) 2023-10-08 16:37:09 -04:00
kerisargit
35f41742a7 fix: Incendiary bullets no longer deal cold, acid, or shock damage that ignores all armor. (#20836) 2023-10-08 13:08:20 -04:00
Leon Friedrich
ba15d99894 Update engine to v165.0.0 (#20837) 2023-10-09 03:43:30 +11:00
Leon Friedrich
00642e87a3 Changes for SplitContainer Engine PR (#20383) 2023-10-09 03:28:04 +11:00
Leon Friedrich
364c9b7f0a DamageableSystem cleanup & performance improvements (#20820) 2023-10-09 03:27:41 +11:00
PJBot
70246ae10e Automatic changelog update 2023-10-07 16:00:44 -04:00
TsjipTsjip
cc47fb2712 Kettle update (#20808)
* Kettle map upload

* Kettle map proto upload
2023-10-07 14:00:34 -06:00
Nemanja
2a75e7213e Wow kudzu is back! (#20822) 2023-10-07 13:59:39 -06:00
PJBot
a487bd42c3 Automatic changelog update 2023-10-07 15:35:35 -04:00
LankLTE
d691ddae64 Give player species slight passive regen (#20638)
* Implementation

* Reviews
2023-10-07 15:34:32 -04:00
PJBot
99a4ee9da5 Automatic changelog update 2023-10-07 15:17:01 -04:00
JoeHammad1844
8377094b28 Tweaked secret weights (#20807) 2023-10-07 12:15:57 -07:00
PJBot
0b4555eb05 Automatic changelog update 2023-10-07 15:12:12 -04:00
DrSmugleaf
e4c4d9b0a4 Fix sleeping action not working (#20813) 2023-10-07 15:11:02 -04:00
Leon Friedrich
3101e5a18d Fix action-granting items not being predicted (#20778)
* Ensure actions are predicted

* Fix test fail
2023-10-07 15:08:13 -04:00
Morb0
e350b46928 Add corvax interfaces to Magic ACZ 2023-10-07 20:06:09 +03:00
Arimah Greene
29a77bc54e Tag tinned peaches and meat with Fruit and Meat, respectively (#20814) 2023-10-07 07:46:57 -07:00
PJBot
c4c24d4c2d Automatic changelog update 2023-10-07 09:06:47 -04:00
HerCoyote23
d87cb63a4e Spiders inject toxin (#19497)
* Spider poison

* No more double damage

* add toxin regeneration

---------

Co-authored-by: Slava0135 <super.novalskiy_0135@inbox.ru>
2023-10-07 16:05:40 +03:00
Morb0
abf8abe1eb Remove build info generation for public build 2023-10-07 14:48:10 +03:00
Morb0
1c1fa21f95 Fix GH vars use 2023-10-07 14:18:00 +03:00
Morb0
59bbfe7615 Use ACZ for public builds 2023-10-07 14:14:46 +03:00
Morb0
3ebd054bce Revert "Disable manifest download for public build"
This reverts commit ea9bf2e146.
2023-10-07 14:14:23 +03:00
Morb0
ea9bf2e146 Disable manifest download for public build 2023-10-07 13:59:46 +03:00
DrSmugleaf
a0341ec53e Add test to load all config presets (#20705) 2023-10-06 19:31:08 -07:00
Leon Friedrich
427cae2d25 Misc mind tweaks and fixes (#20614) 2023-10-06 18:00:48 -07:00
PJBot
ec452aa4a3 Automatic changelog update 2023-10-06 20:57:22 -04:00
Nemanja
02df8cd263 Add mob retaliation (#19901) 2023-10-06 17:56:18 -07:00
PJBot
45234b25b6 Automatic changelog update 2023-10-06 20:46:15 -04:00
Nim
772cc76ff9 To weld the secret door (#20707) 2023-10-06 17:45:11 -07:00
PJBot
70d7775007 Automatic changelog update 2023-10-06 20:44:57 -04:00
DrSmugleaf
783ed6f917 Change ThrownItemComponent to be removed after flytime (#20700) 2023-10-06 17:43:54 -07:00
deltanedas
6af7c90b73 make tinned foods use openable (#19884)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-10-06 17:35:32 -07:00
PJBot
2079dc05ff Automatic changelog update 2023-10-06 20:27:38 -04:00
Ed
b5e8c57978 Liquid anomaly (#20626)
Co-authored-by: Kara <lunarautomaton6@gmail.com>
2023-10-06 17:26:34 -07:00
PJBot
15fee3f944 Automatic changelog update 2023-10-06 17:27:08 -04:00
chromiumboy
7d20aefc0a Fix opening wire panels without WiresPanelSecurityComponent (#20798) 2023-10-06 13:26:02 -08:00
PJBot
186e395b23 Automatic changelog update 2023-10-06 17:20:06 -04:00
LankLTE
1dc34d5ed8 Lizard "Rework" (#20328)
Part of my Species Reworks, this gives lizards the ability to pull without hands, a diet restriction (Meat, Fruit, and Pills), and removes their random damage modifiers while toning up / down their notable ones to reasonable levels. Additionally normalizes their specific heat, removes their extra cold damage taken, and removes their random walking speed increase.

Any food I could find that was a fruit / meat has been tagged appropriately. This shouldn't break anything but it's possible (likely) I've missed a few, which can be fixed later.
2023-10-06 13:19:00 -08:00
JustCone
544b9ea5ed New Signs to Packed (#20796) 2023-10-06 13:35:25 -06:00
Emisse
f3ae0bfb95 bagel update (#20795) 2023-10-06 13:29:33 -06:00
PJBot
b76450e958 Automatic changelog update 2023-10-06 14:50:12 -04:00
Ubaser
c8cd7fbdf5 add (#20781) 2023-10-06 12:49:08 -06:00
Fluffiest Floofers
d3bfd0193b Four 'new' signs (#20792)
* 4 signs from tg

* based photoshop user, janitor sign

* forgot the hub in 'github'
2023-10-06 12:45:27 -06:00
coolmankid12345
d6e7ff7309 Remove extra white pixels (#20791)
Co-authored-by: coolmankid12345 <coolmankid12345@users.noreply.github.com>
2023-10-06 09:38:50 -08:00
SyndiCarp
dfccc5293d Update delta (#1491) 2023-10-06 20:27:43 +03:00
Арт
e5845f079c Update Avrit (#1488) 2023-10-06 20:27:27 +03:00
PJBot
c1556214de Automatic changelog update 2023-10-06 02:31:02 -04:00
gus
52cf78ed20 Make syndicate bombs collidable again (#20573) 2023-10-05 22:29:58 -08:00
coolmankid12345
0a7338c0fe Minor Rev changes (#20771)
Co-authored-by: coolmankid12345 <coolmankid12345@users.noreply.github.com>
2023-10-06 15:41:26 +11:00
chromiumboy
acc9c8940b Use construction graphs for hacking protections (#20265) 2023-10-05 19:15:03 -08:00
PJBot
8eeedb2427 Automatic changelog update 2023-10-05 21:51:29 -04:00
Ed
77e21399ae Add rotation to tree (#20775)
* add rotation to tree

* Repeat check, add rock rotation
2023-10-05 20:50:24 -05:00
lapatison
7014384baf [Localisation][Resprite] Poster translation (#1464) 2023-10-06 01:21:23 +03:00
PJBot
f5344af4ee Automatic changelog update 2023-10-05 17:35:42 -04:00
gus
10dfe433f9 monkey gas mask! (#20683) 2023-10-05 15:34:37 -06:00
PJBot
a038dd6aa8 Automatic changelog update 2023-10-05 17:32:45 -04:00
dahnte
6f48a2e53a Added onion rings (#20734)
* Initial commit

* Added onion rings
2023-10-05 15:31:40 -06:00
TsjipTsjip
c5c1105261 Power infra names for Kettle (#20762) 2023-10-05 15:17:54 -06:00
JustCone
5abc3a38da Fland Power Infrastructure Names (#20764) 2023-10-05 15:17:17 -06:00
JustCone
7f3d4e121c Marathon Power Infrastructure Names (#20763) 2023-10-05 15:16:58 -06:00
TsjipTsjip
2b87bc3419 Power infra names for Barratry (#20760) 2023-10-05 15:16:18 -06:00
KingFroozy
9542177fe3 shouldlength overeye hairstyle (#20757) 2023-10-05 15:15:24 -06:00
Chief-Engineer
9995df215d set leviathan pop cap to 60 (#19589) 2023-10-05 13:41:17 -07:00
lzk
98250b9022 Give IAA mindshield (#1487) 2023-10-05 23:32:22 +03:00
lzk
c4e19c5581 Translation fixes (#1486) 2023-10-05 23:10:21 +03:00
lapatison
28b056535f Translate Upstream #1484 (#1485) 2023-10-05 23:09:07 +03:00
PJBot
141ffd837d Automatic changelog update 2023-10-05 15:57:47 -04:00
I.K
2ea4d0d6b5 Make slimes not rot (#20761) 2023-10-05 22:56:40 +03:00
PJBot
cd89da8893 Automatic changelog update 2023-10-05 15:54:58 -04:00
brainfood1183
d4ed37d266 Rock Anomaly (#20635) 2023-10-05 12:53:53 -07:00
Pieter-Jan Briers
f38c754b20 Vulture server config preset (#20766) 2023-10-05 21:46:37 +02:00
lzk
55be41653d [Translate] Guidebooks (#1189) 2023-10-05 21:07:09 +03:00
Morb
2721cdbd06 Merge pull request #1484 from space-syndicate/upstream-sync
Upstream sync
2023-10-05 20:45:50 +03:00
Morb0
3cf94e9bbf Update locale 2023-10-05 19:52:50 +03:00
Morb0
ab79ed141b Revert "Space Ninja 3: an old enemy in a new environment (#20713)"
This reverts commit 09b2151e
2023-10-05 19:38:46 +03:00
Morb0
5a4438ca85 Merge remote-tracking branch 'upstream/master' into upstream-sync
# Conflicts:
#	Resources/Prototypes/Entities/Structures/Machines/lathe.yml
#	Resources/Prototypes/Roles/Jobs/Cargo/quartermaster.yml
#	Resources/Prototypes/Roles/Jobs/Engineering/chief_engineer.yml
#	Resources/Prototypes/Roles/Jobs/Medical/chief_medical_officer.yml
#	Resources/Prototypes/Roles/Jobs/Science/research_director.yml
#	Resources/Prototypes/Roles/Jobs/Security/head_of_security.yml
#	Resources/Prototypes/secret_weights.yml
#	Resources/Textures/Clothing/OuterClothing/Suits/spaceninja.rsi/meta.json
#	Resources/Textures/Clothing/Shoes/Boots/magboots-advanced.rsi/equipped-FEET.png
#	Resources/Textures/Clothing/Shoes/Boots/magboots-syndicate.rsi/on-equipped-FEET.png
#	Resources/Textures/Clothing/Shoes/Boots/magboots.rsi/equipped-FEET.png
#	Resources/Textures/Clothing/Shoes/Boots/magboots.rsi/on-equipped-FEET.png
#	Resources/Textures/Objects/Misc/bureaucracy.rsi/meta.json
2023-10-05 19:37:38 +03:00
deltanedas
a365568a7a give revs briefing (#20749)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-10-05 08:05:09 -07:00
Morb0
5ca1a75d49 Use workflow vars FORK_ID & default fork_id in script 2023-10-05 17:19:05 +03:00
TsjipTsjip
14256dee03 Barratry seniors (#20720)
* Update barratry proto to accomodate senior roles

* Add senior role spawnpoints to barratry
2023-10-05 03:14:36 -06:00
PJBot
a946093786 Automatic changelog update 2023-10-05 05:13:46 -04:00
Nemanja
3949932536 Fix access for vehicles and mechs (#20737)
* fix access for vehicles and mechs

* optimize
2023-10-05 03:12:40 -06:00
Bloody2372
c7cf6764ee Add "Two Strands" hair (#20730)
Co-authored-by: Илья Стокалюк <darkelement237@mail.ru>
2023-10-05 03:11:27 -06:00
DrSmugleaf
5f0b665f0e Fix printing $username at round end for head revs when it doesn't have a session (#20742) 2023-10-04 23:22:30 -06:00
DrSmugleaf
066054982d Fix revolutionaries not being considered antags (#20739) 2023-10-04 22:40:52 -06:00
nmajask
3f42835811 Adds clipboards to bureaucracy crate and replaces incorrectly credited sprites (#20736)
* Adds clipboards to the bureaucracy crate

* Ports current sprites from TG to fix the credits
2023-10-04 23:24:29 -04:00
PJBot
cad76d9cec Automatic changelog update 2023-10-04 21:48:38 -04:00
Raphael Bertoche
c1cfe8d45e Removes unnecessary message for defibbing a patient which has ghosted (#20690)
* Removes unnecessary message for defibbing a patient which has ghosted

This message is for the defib operator.

It could inform them that the patient doesn't have a consciousness since it's ghosted
but maybe no message is really the right move here because it may have succeeded
and that would be what would happen had the defib attempt succeeded - no message.

Also when the patient's ghost return to body there they will be alive as long as the
body is still alive, so telling the operator to defib again may be wrong.

* Removes corresponding ftl message which doesn't occur now
2023-10-04 21:47:41 -04:00
coolmankid12345
9df5ded9ad Revolutionaries (#18477)
Co-authored-by: coolmankid12345 <coolmankid12345@users.noreply.github.com>
Co-authored-by: EmoGarbage404 <retron404@gmail.com>
2023-10-04 18:47:33 -07:00
I.K
2c69dd2df9 emag inhand sprites (#20729) 2023-10-04 21:46:30 -04:00
Ed
f76922feaf Gate map Patch (#1483) 2023-10-05 01:52:00 +03:00
Fromoriss
13f0676c97 Add ashwalker and gladiator starting gear sets (#20688) 2023-10-04 14:43:33 -08:00
PJBot
44280de565 Automatic changelog update 2023-10-04 18:29:33 -04:00
nmajask
ef44986235 Add clipboards (#20717) 2023-10-04 14:28:28 -08:00
Jackal298
09b2151e08 Space Ninja 3: an old enemy in a new environment (#20713)
Make Ninja more stable in terms of design
2023-10-04 18:18:28 -04:00
Ubaser
4df0f0ef38 Add trading ship for future implementation (#20715)
* add ship

* update

* update

* update again :3
2023-10-04 12:57:39 -06:00
deltanedas
76173285b9 Add missing type argument from PopupClient to PopupEntity (#20725)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-10-04 10:52:04 -08:00
deltanedas
ed9e44d2d9 fix magboots equipped sprites (#20723)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-10-04 10:31:54 -04:00
PJBot
bb0eec3ae2 Automatic changelog update 2023-10-04 10:31:30 -04:00
Nemanja
6131721fe5 fix borgs not being able to toggle flashlight (#20448) 2023-10-04 10:30:11 -04:00
Morb
7b1cc0f315 [Resprite] Lizard digitigrade (#1465) 2023-10-04 16:21:55 +03:00
lapatison
bb2d7d45ba Translate Upstream #1473 (#1478)
Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com>
2023-10-04 16:21:35 +03:00
Ubaser
bfa301b53e fix (#20719) 2023-10-04 01:42:34 -06:00
PJBot
e6ee26775e Automatic changelog update 2023-10-04 01:23:53 -04:00
crazybrain23
e0fda7c658 Fix omnitool not prying airlocks (#20697) 2023-10-04 16:22:47 +11:00
PJBot
5ae3bffbc5 Automatic changelog update 2023-10-03 19:08:34 -04:00
Doru991
fa1c15b082 Fix plant species reagent mutations (#20702) 2023-10-03 15:07:29 -08:00
JustCone
37f22a8baf Add names to unnamed SMES and Subs (#20712) 2023-10-03 13:52:44 -06:00
brainfood1183
1bdb2ce4be Origin Station Update 22.09.2023 (remove mines, fix telecoms) (#20411)
* Origin Station Update 22.09.2023 (remove mines, add smile slime, fix telecoms)

* ore boxes in salv, fixed hv power teg

* name substations and smes
2023-10-03 13:15:43 -06:00
Morb0
a88c257139 Take fork_id from workflow env 2023-10-03 19:13:11 +03:00
Morb0
833ee6b706 Hotfix join queue resolve in status shell 2023-10-03 15:50:05 +03:00
lzk
f4f36726b9 Set smile TTS (#1482) 2023-10-03 15:27:01 +03:00
Morb0
8fa4553bdf Use cp instead of ln for publish workflow 2023-10-03 15:04:17 +03:00
Morb0
6b255e3dca Remove old corvax secrets locale dir 2023-10-03 14:57:30 +03:00
Morb0
05f2b1fd81 just directly call ln in publish workflow 2023-10-03 14:40:27 +03:00
Morb0
c144a9ee75 Fix setup_secrets.sh 2023-10-03 14:34:04 +03:00
Morb0
23b3f8e4e9 chmod setup_secrets script 2023-10-03 14:32:17 +03:00
Morb0
718bf6ceba Fix sh setup_secret script call 2023-10-03 14:28:55 +03:00
Morb0
27e5c1d8f5 Add sh setup secrets script 2023-10-03 14:24:25 +03:00
Morb0
95f43aa02a Fix publish workflow jobs order 2023-10-03 14:13:12 +03:00
Morb0
9782fa644e Run setup secrets ps1 in publish workflow 2023-10-03 14:09:34 +03:00
Chief-Engineer
fcc24ce224 Revert "Disable SSD indicators on LRP (#20021)" (#20703)
This reverts commit 5aa7b01b68.
2023-10-03 05:52:40 -05:00
Morb0
eabed92967 Hotfix public publish workflow job 2023-10-03 13:02:17 +03:00
Morb
b65eee1b06 Public build publish workflow (#1481) 2023-10-03 12:38:47 +03:00
Morb
3af93f83f2 Species sponsor (#1480) 2023-10-03 02:50:23 +03:00
JustCone
edd1757834 Box Power Infrastructure Names (#20693) 2023-10-02 16:42:50 -06:00
Morb
6e4608bf4f [Secret] Add ghost themes (#1479) 2023-10-03 01:20:10 +03:00
deltanedas
be55f9a825 Play sound when filling ammo (#20691)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-10-02 13:43:38 -08:00
PJBot
ba71e4f410 Automatic changelog update 2023-10-02 17:21:15 -04:00
deltanedas
1c088d516f Give nukeops play time requirements (#20109)
Co-authored-by: Ray <vigersray@gmail.com>
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-10-02 13:20:08 -08:00
Chief-Engineer
5aa7b01b68 Disable SSD indicators on LRP (#20021) 2023-10-02 12:59:24 -08:00
JustCone
8dda8a145b Add names for power infrastructure on Packed (#20689) 2023-10-02 12:27:13 -08:00
lapatison
88b56629fe Translation fixes (#1471) 2023-10-02 23:22:46 +03:00
Nemanja
2b4835099a Increase bluespace beaker capacity (#20680) 2023-10-02 11:37:49 -08:00
I.K
dc95582679 Make forcing others into disposals take longer and more apparent (#20687) 2023-10-02 11:35:58 -08:00
PJBot
2d20ca0545 Automatic changelog update 2023-10-02 15:22:20 -04:00
deltanedas
4c46273303 Add rolling pins for flattening dough (#20624) 2023-10-02 11:21:15 -08:00
Morb
a9bd03e5b8 Update queue (#1477) 2023-10-02 21:46:03 +03:00
PJBot
13f218e6c7 Automatic changelog update 2023-10-02 14:31:55 -04:00
Vasilis
3131481865 easiest bug fix of my life (#20686) 2023-10-02 11:30:51 -07:00
router
c12d0c5fa9 Make minigun weigh more (#20685) 2023-10-02 10:07:47 -08:00
Morb
a5504424c4 Update sposnors system (#1475) 2023-10-02 19:06:17 +03:00
Morb
2d34ea7b96 Merge pull request #1473 from space-syndicate/upstream-sync
Upstream sync
2023-10-02 18:53:00 +03:00
PJBot
7802bd16fa Automatic changelog update 2023-10-02 11:35:27 -04:00
JoeHammad1844
6ee76b06d6 Revert "Northstar Gloves dmg reduced from 8 -> 7" (#20674) 2023-10-02 08:34:22 -07:00
Morb0
705ba6a8dd Update locale 2023-10-02 18:34:12 +03:00
Morb0
7ab806398c Extract locale 2023-10-02 18:33:33 +03:00
Morb0
2046506e17 Merge remote-tracking branch 'upstream/master' into upstream-sync 2023-10-02 18:29:43 +03:00
deltanedas
c988f21d25 Temperature refactor (#20662)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-10-02 07:44:05 -07:00
deltanedas
f0bd861fc8 actually add jug to medfab (#20679)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-10-02 09:49:45 -04:00
metalgearsloth
9b06e52b33 Fix sericulture (#20673) 2023-10-02 18:51:27 +11:00
PJBot
c13f6ffacc Automatic changelog update 2023-10-02 03:09:25 -04:00
Ubaser
10c2db4830 New Kobold Ears marking for lizards (#20672) 2023-10-02 18:08:20 +11:00
chromiumboy
149c494972 Fix powered door prying popup (#20669) 2023-10-01 22:27:29 -08:00
TsjipTsjip
66c5549640 Rename power infra on omega station (#20654) 2023-10-01 23:27:42 -06:00
TsjipTsjip
56c306f9d9 Rename power infra on cluster (#20655) 2023-10-01 23:27:27 -06:00
TsjipTsjip
dbbeb9b0ec Replace paramedic with medical windoor (#20653) 2023-10-01 23:25:11 -06:00
JustCone
716fea9df0 Packed records computer changes (#20667) 2023-10-01 23:25:01 -06:00
PJBot
5df3339dcb Automatic changelog update 2023-10-01 20:18:54 -04:00
deltanedas
3488e577d9 Electric grill (#20661)
---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-10-01 19:17:50 -05:00
Morb0
e010b1244d Update locale 2023-10-02 02:43:52 +03:00
Morb0
ab3b524d15 Extract locale 2023-10-02 02:38:36 +03:00
Morb0
4203c37e09 Remove corvax qm mantle 2023-10-02 02:33:48 +03:00
Morb0
09111343cc Fix speaker color 2023-10-02 02:29:56 +03:00
Morb0
34a8740819 Merge remote-tracking branch 'upstream/master' into upstream-sync
# Conflicts:
#	.github/workflows/build-test-release.yml
#	Content.Client/Humanoid/HumanoidAppearanceSystem.cs
#	Content.Shared/Humanoid/HumanoidAppearanceComponent.cs
#	Content.Shared/Humanoid/SharedHumanoidAppearanceSystem.cs
#	Resources/Prototypes/Entities/Clothing/Shoes/boots.yml
2023-10-02 02:18:19 +03:00
lzk
ef129966fa Revert "Remove Delta from mappool " (#1427) 2023-10-02 00:28:00 +03:00
PJBot
65426fb4c5 Automatic changelog update 2023-10-01 17:24:45 -04:00
Nairod
fc6ffb1570 Boot Smallarms (#20062) 2023-10-01 14:23:40 -07:00
PJBot
0527aad4d2 Automatic changelog update 2023-10-01 17:09:06 -04:00
chromiumboy
d04a58f7b3 Fix prying door hacking protections (#20664) 2023-10-01 13:08:02 -08:00
Leon Friedrich
fc034dd9d1 Remove SpreaderNodeGroup (#20230)
* Remove SpreaderNodeGroup

* Fix airtight updates

* more smoke stuff

* more smoke fixes

* wtf is smoke code

* Fix merge

* Fix divide by zero
2023-10-01 16:56:41 -04:00
PJBot
824484c6ac Automatic changelog update 2023-10-01 16:50:13 -04:00
Velcroboy
31e7a9bcfd Adds vending restocks for ChefVend and Condiment Stations (#19305)
Co-authored-by: Jeff <velcroboy333@hotmail.com>
2023-10-01 16:49:10 -04:00
PJBot
ca6a0fbf0b Automatic changelog update 2023-10-01 16:46:22 -04:00
PixelTK
dfda2dbd05 Sericulture fixes (#19193)
* redone

* I FUCKING HATE SPAWNING STUFF IN SHARED

* inheritdoc

* owo

* fly broken wings

* From a server event to just an event.

* more info

* a comment and a different comment

* Partial

* Emo's requested changes.

* wuh

* head ache

* they call me mean names (laugh track)
2023-10-01 16:46:09 -04:00
Nim
d15b7dff42 Advanced treatment cyborg module for medical borg (#19667)
* chemical analysis goggles for medical borg

* module and its tools

* fix

* fix2

* icon

* module research

* meh
2023-10-01 16:45:17 -04:00
Jezithyr
34d4e9803a Fix for [20593] (#20663) 2023-10-01 13:33:18 -07:00
PJBot
d832008c07 Automatic changelog update 2023-10-01 16:19:10 -04:00
Nairod
fcdedb377d Practice Ammunition Tech (#20331) 2023-10-01 13:18:05 -07:00
deltanedas
b842061f20 Butcher pig for bacon and bacon cooking (#20657) 2023-10-01 11:34:13 -08:00
ravage
14fedfe45d Add Spanish accent to poncho and sombrero (#20377) 2023-10-01 09:55:05 -08:00
PJBot
427018c1b5 Automatic changelog update 2023-10-01 13:53:49 -04:00
drteaspoon420
b5117f613b Carry over other mutations when doing species mutation (#20551) 2023-10-01 09:52:45 -08:00
PJBot
a0699cf788 Automatic changelog update 2023-10-01 13:37:24 -04:00
Nemanja
f5644eb337 Add a special hardsuit for nukie medic (#20471) 2023-10-01 09:36:20 -08:00
PJBot
81461eafb4 Automatic changelog update 2023-10-01 13:17:58 -04:00
Michael Cu
c61d684a19 Fixed Telescopic Shield Lighting (#20650)
* Fixed Telescopic Shield Lighting Bug fix #20199

* no need for these at all

---------

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
2023-10-01 13:16:54 -04:00
PJBot
bf7c979409 Automatic changelog update 2023-10-01 12:42:36 -04:00
Ed
45db770759 Wide anomaly locator (#20581)
* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* add textures

* fix encoding

* fix 2
2023-10-01 12:41:32 -04:00
PJBot
a6e784404a Automatic changelog update 2023-10-01 10:57:03 -04:00
Tox Cruize
ed4da2bcb3 Space cat breathes space (#20550)
* Space cat breathes space

Made Space Cat lungs ROBUST

* Made Space Cat's lungs ROBUST 2.0
2023-10-01 10:55:58 -04:00
PJBot
6f7bdc8f79 Automatic changelog update 2023-10-01 10:52:39 -04:00
Kacper Urbańczyk
f72e01887d Add RandomHumanoidAppearance component to for space ninjas (#20605) 2023-10-01 10:51:35 -04:00
Ubaser
4f37914bbc Fix the new lizard horn's consistency + issue (#20620)
* fix

* add

* Revert "add"

This reverts commit a054a3204a8f185a94ceb80b1bd3bc9f30423711.
2023-10-01 10:50:10 -04:00
PJBot
8c31cec13f Automatic changelog update 2023-10-01 10:35:33 -04:00
Nim
9c42fa6798 Slime mobs breathe nitrogen and resprite their organs (#20577)
* Slimes breathe nitrogen and resprite their organs

* ups

* mmm
2023-10-01 10:34:29 -04:00
PJBot
0149814bd5 Automatic changelog update 2023-10-01 10:29:53 -04:00
Ubaser
063c9aa5fa Add QM mantle (#20621)
* add

* fix prototype
2023-10-01 10:28:47 -04:00
Ubaser
2ad9ae6bc1 Add Winter Boots (#20622)
* add

* fix prototype
2023-10-01 10:28:14 -04:00
metalgearsloth
e5c85ee662 Fix followers leaking (#20643) 2023-10-01 10:25:06 -04:00
Morb
195c402ef1 [Major] Moving out Queue, Verifications and Sponsors (#1435) 2023-10-01 14:59:40 +03:00
SonicHDC
75b2701ef9 [Resprite] TG Stairs (#1472) 2023-10-01 13:26:36 +03:00
deltanedas
1eb2b905c4 saltern update (#20325)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-30 14:47:41 -07:00
DrSmugleaf
585ab5ca84 Move view variables verb to the top of the list with no category and localize it (#20546) 2023-09-30 13:22:07 -07:00
drteaspoon420
574b2a94d9 Added generic empty liquids tank (#20563) 2023-09-30 13:21:07 -07:00
PJBot
b9db1eb9e3 Automatic changelog update 2023-09-30 16:19:06 -04:00
deltanedas
94a11f28ca dragon refactor, objectives and use GenericAntag (#20201)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-30 13:18:01 -07:00
Kevin Zheng
007db2599b Adjust hard bomb shape (#20608) 2023-09-30 13:02:21 -07:00
Leon Friedrich
3f349eebad Rename ThreatPrototype and mark fields as required (#20611) 2023-09-30 13:01:13 -07:00
Leon Friedrich
5164107788 Add TestPair.WaitCommand() (#20615) 2023-09-30 13:00:20 -07:00
deltanedas
54851faefa bowl is open (#20453)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-30 12:52:24 -07:00
PJBot
6f6f9eb364 Automatic changelog update 2023-09-30 15:09:12 -04:00
Nemanja
d035c28388 Make holofans destructable (#20445) 2023-09-30 11:08:08 -08:00
Flareguy
0a601a48c6 Update nukie hardsuit descriptions (#20529) 2023-09-30 10:38:43 -08:00
Fluffiest Floofers
7d4172f496 Move ID layer one pixel to correct alignment (#20630) 2023-09-30 10:23:18 -08:00
PJBot
0b6c5c7245 Automatic changelog update 2023-09-30 13:54:25 -04:00
deltanedas
0fafd98db8 fix cognizine ghost role (#20632)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-30 10:53:21 -07:00
metalgearsloth
bcb79eff4b Update submodule to 164.0.0 (#20618) 2023-09-30 15:20:44 +10:00
DrSmugleaf
2f11a749f6 Remove cloneData parameter from AutoNetworkedField (#20596) 2023-09-30 15:14:16 +10:00
DrSmugleaf
379de4b22a Remove v0.1 version number from local main menu screen (#20617) 2023-09-30 14:54:46 +10:00
metalgearsloth
ca64217e37 Update submodule to 163.0.0 (#20616) 2023-09-30 14:41:54 +10:00
metalgearsloth
3a196a1d09 Move TimedDespawn to engine (#20515) 2023-09-30 14:35:32 +10:00
PJBot
4a884cda6c Automatic changelog update 2023-09-29 23:36:28 -04:00
daerSeebaer
0bb8c222bd Added blocked visuals to volumetric pump (#20610) 2023-09-29 19:35:23 -08:00
PJBot
812b8fff3f Automatic changelog update 2023-09-29 15:15:57 -04:00
TsjipTsjip
fbbb8fd7d3 Kettle medical rework (#20435)
* Initial try at medical rework for kettle

* Re-add decal decorations to Kettle's medical

* Add more lockers to kettle's med

* Actually upload kettle's map, not its proto
2023-09-29 13:14:53 -06:00
lapatison
b2ada9a40f Translate Upstream #1467 (#1469)
Co-authored-by: Morb <14136326+Morb0@users.noreply.github.com>
2023-09-29 21:21:49 +03:00
PJBot
10ce0e392a Automatic changelog update 2023-09-29 11:02:24 -04:00
metalgearsloth
290c2fd502 Organ fixes (#20488) 2023-09-29 08:01:47 -07:00
Kacper Urbańczyk
4313a6ee66 Fix electrocution displaying real name of disguised players (#20603) 2023-09-29 08:01:19 -07:00
DrSmugleaf
1dc1c8f64b Fix loading a map with a ThirstComponent crashing the game (#20594) 2023-09-29 15:43:16 +10:00
DrSmugleaf
101ee6ee81 Fix mapping actions crashing on load (#20592) 2023-09-28 21:13:15 -07:00
PJBot
0da2cd96f0 Automatic changelog update 2023-09-28 23:56:33 -04:00
Nemanja
90605212fc caninsert entitystorage tweaks (#20589) 2023-09-28 22:55:29 -05:00
PJBot
d664c906ad Automatic changelog update 2023-09-28 21:47:21 -04:00
DrSmugleaf
445e6aabed Fix AHelp progressively showing more AHelp panels (#20591) 2023-09-28 18:46:16 -07:00
PJBot
072db2d817 Automatic changelog update 2023-09-28 21:06:41 -04:00
Kara
80f36ea6d4 Glorfcode (force say on damage/stun/crit) (#20562) 2023-09-28 18:05:36 -07:00
PJBot
6c8e79adfa Automatic changelog update 2023-09-28 21:00:22 -04:00
DrSmugleaf
31af0fc7ae Update RobustToolbox to v162.2.1 (#20590) 2023-09-28 17:59:14 -07:00
PJBot
4adc2aecee Automatic changelog update 2023-09-28 20:45:51 -04:00
DrSmugleaf
d2578370a7 Fix not networking markings (#20588) 2023-09-28 17:44:47 -07:00
PJBot
e6956bf182 Automatic changelog update 2023-09-28 19:56:14 -04:00
Miro Kavaliou
c06586f942 Added a toggle fullscreen button (default F11) (#20272)
* Added a toggle fullscreen button (default F11)

* Removed un-needed comments

* Review Requested Changes

* Fixed Acidental Spacing Change

* bwoink, removed extraneous code

* nothing, litterally
2023-09-28 18:55:10 -05:00
PJBot
3477349dfe Automatic changelog update 2023-09-28 19:47:43 -04:00
DrSmugleaf
be61cca53f Disable AHelp buttons when no player is selected, update button styling (#20568) 2023-09-28 16:46:49 -07:00
DrSmugleaf
f985e7dc5c Fix role unbans not applying in real time (#20547) 2023-09-28 16:46:39 -07:00
DrSmugleaf
a44fa86b68 Update trivial components to use auto comp states (#20539) 2023-09-28 16:20:29 -07:00
DrSmugleaf
14cfe44ece Catch replay start and end errors on round restarts (#20565) 2023-09-28 15:48:29 -07:00
PJBot
bcad37f351 Automatic changelog update 2023-09-28 18:47:11 -04:00
DrSmugleaf
1d99a68828 Change .editorconfig to keep existing attribute arrangement (#20538) 2023-09-28 15:46:36 -07:00
DrSmugleaf
90404450d4 Remove windows-latest CI runs, remove unused build-test-release.yml (#20540) 2023-09-28 15:46:26 -07:00
DrSmugleaf
72b1d668d4 Add confirmation to kick and respawn in the admin player actions panel (#20542) 2023-09-28 15:46:06 -07:00
PJBot
8aa0aff13a Automatic changelog update 2023-09-28 15:21:03 -04:00
lunarcomets
d348096ef2 archaic accent tweaks (#20567) 2023-09-28 12:19:58 -07:00
PJBot
b81ae431a6 Automatic changelog update 2023-09-28 13:08:17 -04:00
NULL882
c2771c24fa Necropolis and mine walls (#20578) 2023-09-28 10:07:12 -07:00
Skarletto
5d8219761e bartender suit (#20521)
* give me a drink bartender

* guh

* aARG
2023-09-28 10:18:10 -05:00
Morb
93eb5f660c Merge pull request #1467 from space-syndicate/upstream-sync
Upstream sync
2023-09-28 18:06:27 +03:00
DrSmugleaf
2f4b2cc887 Add active and ended game rule components, generic TryRoundStartAttempt and minPlayers field (#20564)
* Improve active game rule querying, add generic try round start attempt method, move minPlayers to GameRuleComponent

* Nukeops todo and cleanup

* Remove Active field

* Add EndedGameRuleComponent
2023-09-28 10:48:59 -04:00
Morb0
610b0dc343 Update locale 2023-09-28 17:44:49 +03:00
Morb0
f494e2fbce Extract locale 2023-09-28 17:41:45 +03:00
Morb0
64f1e79a5a Merge remote-tracking branch 'upstream/master' into upstream-sync
# Conflicts:
#	Resources/Prototypes/Datasets/tips.yml
#	Resources/Textures/Clothing/OuterClothing/Hardsuits/syndicate.rsi/equipped-OUTERCLOTHING.png
#	Resources/manifest.yml
2023-09-28 17:32:44 +03:00
PJBot
78091fb11d Automatic changelog update 2023-09-28 10:06:46 -04:00
Nemanja
5e25201032 Health alert tweaks (#20557) 2023-09-28 07:05:42 -07:00
PJBot
4b4520c771 Automatic changelog update 2023-09-28 10:01:23 -04:00
Doru991
eb26990782 Make arcades hackable again (#20555) 2023-09-29 00:00:18 +10:00
Morb
84dbb75d85 [Resprite] Syndicate airlock (#1466) 2023-09-28 16:31:07 +03:00
PJBot
6452482059 Automatic changelog update 2023-09-28 07:35:26 -04:00
nikthechampiongr
5ff79120e6 EasyPry airlocks for arrivals. Now also prying refactor I guess (#19394)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2023-09-28 21:34:21 +10:00
PJBot
cbeba20ebb Automatic changelog update 2023-09-28 06:54:58 -04:00
Repo
0a8a6f81c5 Fix Punpun crew monitor sensor (#20484) 2023-09-28 20:53:53 +10:00
PJBot
c0ddb6f411 Automatic changelog update 2023-09-28 06:53:09 -04:00
LEVELcat
08af7008c8 Add EyesGlasses into ClothesMate (#20523) 2023-09-28 20:52:05 +10:00
Pieter-Jan Briers
bc218347a8 Revert "Use full file path for temp replays (#19002)" (#20545) 2023-09-28 20:49:49 +10:00
ravage
f19cd90694 clean up some lines in smile the slime prototype (#20552) 2023-09-28 20:49:17 +10:00
Nemanja
b052e0f242 Predicted armor (#20560) 2023-09-28 20:48:50 +10:00
metalgearsloth
9ad551e3dd Update submodule to 162.2.0 (#20570) 2023-09-28 20:29:28 +10:00
metalgearsloth
040538a0b7 Minor slippery stuff (#20535) 2023-09-28 20:27:35 +10:00
PJBot
e502b6be61 Automatic changelog update 2023-09-28 00:10:52 -04:00
Psychpsyo
008f2d9d1c Wearable Wet Floor Sign and 'Janitorial Suicide Vest' (#20311)
* Explosive wet floor sign & janitorial suicide vest

* fix attributions

* Remove name & desc from explosive wet floor sign

* Make wet floor sign chameleonable
2023-09-28 00:09:44 -04:00
PJBot
d90a75ad76 Automatic changelog update 2023-09-28 00:07:17 -04:00
deltanedas
0d22d2d1f2 rouny meat and steak (#20526)
* lost friendship flavor

* add rouny steak

* rouny special meat

* rouny meat textures

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-28 00:07:08 -04:00
Psychpsyo
25315a0e23 fix bingus wrinkly head (#20531) 2023-09-28 00:06:13 -04:00
Psychpsyo
d7a90229bb Make NPC names proper nouns & fix some genders (#20534)
* Proper names & genders

* Uppercase proper names

* Make Smile female
2023-09-28 00:05:50 -04:00
PJBot
88712e3caa Automatic changelog update 2023-09-27 19:42:11 -04:00
DrSmugleaf
0c881e6379 Fix mispredict when closing a crematorium you are standing over (#20541) 2023-09-27 19:41:07 -04:00
Morb
5efb0c328f Cleanup TTS & fix voice preview (#1458) 2023-09-27 20:18:18 +03:00
lapatison
a9a5dc8bde Translation fixes (#1463) 2023-09-27 20:16:41 +03:00
Ed
a4a5fe9cc5 Update Gate station (#1460) 2023-09-27 20:11:34 +03:00
lzk
5edb3c82de Rename dinnerware vendor (#1457) 2023-09-27 20:07:05 +03:00
PJBot
5eb8a1d88d Automatic changelog update 2023-09-27 12:52:03 -04:00
cOrigin
96ac6c9f23 Moth food fix (#20522) 2023-09-27 09:50:59 -07:00
PJBot
805a7c7dc9 Automatic changelog update 2023-09-27 11:28:13 -04:00
DrSmugleaf
81dab12f8a Fix role bans having no confirmation (#20544) 2023-09-27 10:27:08 -05:00
PJBot
f706555b32 Automatic changelog update 2023-09-27 05:23:37 -04:00
deathride58
136e895f83 Further interaction outline tweaks (tonemap rework) (#19898) 2023-09-27 19:22:32 +10:00
Psychpsyo
cbaab5dc36 Make bucket tranfer 100u by default (#20532) 2023-09-26 22:31:54 -08:00
PJBot
cd2f36f2ea Automatic changelog update 2023-09-26 18:06:50 -04:00
gus
16d8699c83 Syndicate Bomb Fix (#20486)
* my git ignore

* Makes Syndicate Bombs CollideOnAnchor

* woops gitignore

* canCollide on Physics Component

mobile webedit
2023-09-26 18:05:45 -04:00
lzk
ca02f4f9c5 Remove duplicated lines from soap prototypes (#20511) 2023-09-26 10:01:43 -08:00
PJBot
07890b4f9f Automatic changelog update 2023-09-26 13:47:18 -04:00
Waylon Cude
d23e0db8e5 Fix spacemen not being able to sleep (#20514) 2023-09-26 13:46:14 -04:00
deltanedas
dfc2d8a80b Change min temp delta to 0.1 (#20512)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-26 09:41:34 -08:00
Fromoriss
679e794810 Adjust armor item size (#20492) 2023-09-26 09:23:45 -08:00
Nemanja
0faff973c5 Fix white pixels on nukie suit (#20507) 2023-09-26 09:20:24 -08:00
Flareguy
0c217c8b7e Minor tips update (#20505) 2023-09-26 09:13:55 -08:00
Kara
66307df970 Revert "Guidebook can POP OUT YAYYYY" (#20520) 2023-09-26 07:49:27 -07:00
PJBot
188eff3ebc Automatic changelog update 2023-09-26 00:38:26 -04:00
Whisper
8fb9d6e9b3 Remove empty damage values from health analyzer UI (#20366) 2023-09-25 20:37:22 -08:00
PJBot
205ea1ce17 Automatic changelog update 2023-09-25 22:25:14 -04:00
Ubaser
527485f00d 4 new Lizard Horn markings (#20496)
* add images to .rsi

* Revert "add images to .rsi"

This reverts commit afa891ee9456c35dd88d5baa4269568286282955.

* add images to .rsi (for real now)

* other misc files
2023-09-25 22:24:09 -04:00
Kevin Zheng
e4de2fdd6c Prevent pull-moving (#20502) 2023-09-25 22:21:31 -04:00
PJBot
f8e26ed2c3 Automatic changelog update 2023-09-25 20:05:08 -04:00
Nim
c317d56ba6 [Resprite] Syndicate Implanter (#20376)
* Syndicate Implanter

* cop

* size

* fix
2023-09-25 20:04:03 -04:00
Doru991
e603be2422 Shuttle movement fix (#20498) 2023-09-25 10:35:25 -08:00
lzk
6847a8671c Translate rat_king_commands.yml (#1456) 2023-09-25 15:35:29 +03:00
lzk
d36c9a818b Give some sec boots knife (#1449) 2023-09-25 15:29:50 +03:00
lapatison
ac8cdbe91d Translate Upstream #1454 (#1455) 2023-09-25 14:02:49 +03:00
lzk
06d99e9668 Localization of lisp (#1451) 2023-09-25 14:01:48 +03:00
Emisse
f120b247f3 bagel update (#20491) 2023-09-25 03:03:15 -06:00
PJBot
9566eaec15 Automatic changelog update 2023-09-25 02:54:08 -04:00
Psychpsyo
34aea7d9ed Fix BodySystem and Gibbing (#20460)
* Fix gibbing & body system

Makes it so that bodies no longer have two sets of torso organs and that gibbed bodies get spread around on the floor again.

* Actually fix the double torso problem

* rootSlot in cameFrom

* Remove SetCoordinates inside GibBody()

* Don't use entity.RandomOffset() in GibBody()

* Gibbing now uses _random.NextVector2()
2023-09-24 23:53:04 -07:00
deltanedas
91a157d7ed use weighted random for ninja threats (#20469)
* change threats to be weighted random and a little cleanup

* ninja rule stores weighted random id for threats

* move threats out of the rule and into weighted random

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-24 23:16:09 -04:00
coolmankid12345
2616cb69e8 fix metamorphic glasses (#20487)
Co-authored-by: coolmankid12345 <coolmankid12345@users.noreply.github.com>
2023-09-24 23:15:14 -04:00
PJBot
be13a7c811 Automatic changelog update 2023-09-24 21:34:32 -04:00
Nemanja
efb66aa412 fire extinguisher go brrrrrr (#20479) 2023-09-24 21:33:29 -04:00
Leon Friedrich
c348582e04 Fix thirst errors in tests (#20481) 2023-09-24 18:07:31 -07:00
DrSmugleaf
20c34580c2 Update contributors list (#20482) 2023-09-24 17:16:00 -07:00
Morb
ae593e6d51 Merge pull request #1454 from space-syndicate/upstream-sync
Upstream sync
2023-09-25 00:57:30 +03:00
Morb0
f7ee8479ab Update locale 2023-09-25 00:40:14 +03:00
PJBot
0ce7cf50b1 Automatic changelog update 2023-09-24 17:34:30 -04:00
TomaszKawalec
cd9f0b8728 Display minimum temperature required for reaction to occur in guidebook (#20424) 2023-09-24 17:33:25 -04:00
Morb0
e1c1dde9c3 Update locale 2023-09-25 00:33:16 +03:00
Morb0
bcbb54b230 Merge remote-tracking branch 'upstream/master' into upstream-sync 2023-09-25 00:30:12 +03:00
Morb0
ba30a219b2 Fix autocall announcement sound 2023-09-25 00:24:00 +03:00
PJBot
be1eca3b9f Automatic changelog update 2023-09-24 17:23:48 -04:00
Kara
2e481be694 Follow mouse rotation in combat mode (#20433) 2023-09-24 17:22:44 -04:00
Morb0
111f0cd628 Merge remote-tracking branch 'upstream/master' into upstream-sync
# Conflicts:
#	Content.Server/RoundEnd/RoundEndSystem.cs
2023-09-25 00:14:43 +03:00
PJBot
19a977e805 Automatic changelog update 2023-09-24 16:53:11 -04:00
gus
87c88387a9 Added ore boxes to cargo. (#20455) 2023-09-24 16:52:06 -04:00
deltanedas
6738fc06d5 fix moth z on clothes eating (#20456) 2023-09-24 16:49:58 -04:00
Nemanja
c396222a78 fix spears linter fail (#20476) 2023-09-24 16:45:36 -04:00
Moony
f8e94b377a Revert "remove hot potato from uplink (#20474)" (#20477)
This reverts commit 74901b0cb1.
2023-09-24 16:45:18 -04:00
PJBot
e426abac63 Automatic changelog update 2023-09-24 16:40:53 -04:00
daerSeebaer
d4a6982b81 Shutdown AME when the fuel is empty (#20458) 2023-09-24 16:39:49 -04:00
PJBot
07fb076a26 Automatic changelog update 2023-09-24 16:35:12 -04:00
Kara
fb175a520d Ghost hearing action (#19722) 2023-09-24 16:34:08 -04:00
deltanedas
5e405380ef removing embedded projectiles puts them in your hand (#20475)
* tagless fields

* put embedded projectile in hand when picked up

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-24 16:33:36 -04:00
PJBot
0a607f5fd7 Automatic changelog update 2023-09-24 16:17:37 -04:00
csqrb
7bb3dd09c7 After killing all nuclear operatives, shuttle will be called instead of instant round end (#19850)
* ☢️🕵️💀🚫📄🚀

* 🚀📢📥📜

* 🔧🐛📢🚹🚉👑👑

* 😪

* 🧱

* 🚀🛬🕔➡️🕙

* ☢️⚙️🔵🔚🔨➡️🔵🔚⚙️

these commit names are literally evil who tf does this
2023-09-24 16:16:33 -04:00
PJBot
4a263952cf Automatic changelog update 2023-09-24 16:00:10 -04:00
liltenhead
3dfb7a6e85 nerf maxcaps (#20226) 2023-09-24 15:59:04 -04:00
PJBot
d558dd92dd Automatic changelog update 2023-09-24 15:58:15 -04:00
PJBot
e0db71ee32 Automatic changelog update 2023-09-24 15:57:13 -04:00
Tunguso4ka
ee54022832 Ash Walker`s spear and uniform (#20292)
* bones, gladiators, milk, spear and tears

* :trollface: my copy/paste python script did the funny

* forgor

* fixed

* mat.yml fixed

* bones

* bone armor

* gladiator uniform now in clothesmate like ss13

* bone armor craft

* pieces

* i was dumb in the past, now im dumb too

* that was dumb...

* fixing stuff

* i hate git

* Revert "i hate git"

This reverts commit 17ef4e5a07a3ebad7d4f487f15721d1df16d757f.

* Revert "fixing stuff"

This reverts commit 4fc5d6b2dc1fc6ebb3945bdf5663b8e432ca7aa3.

* this will work?

* i fucking merged it
2023-09-24 15:57:10 -04:00
Slava0135
74901b0cb1 remove hot potato from uplink (#20474) 2023-09-24 22:56:06 +03:00
PJBot
52afe73ae9 Automatic changelog update 2023-09-24 15:55:42 -04:00
lapatison
ba5d0cf915 Translate Upstream #1447 (#1453) 2023-09-24 22:55:38 +03:00
PixelTK
ec05e229ba new arachnid marking (#20347) 2023-09-24 15:54:38 -04:00
PJBot
a9ec34a416 Automatic changelog update 2023-09-24 15:51:45 -04:00
Slava0135
c4f3f5177a Fix thirst (#20472)
Co-authored-by: DrSmugleaf <drsmugleaf@gmail.com>
2023-09-24 12:50:41 -07:00
PJBot
47c107c431 Automatic changelog update 2023-09-24 15:48:46 -04:00
Kara
657e4d861e Allow picking up items in combat mode (#20431)
* Allow picking up items in combat mode

* dont hardcode that
2023-09-24 15:47:42 -04:00
PJBot
9e1bf43242 Automatic changelog update 2023-09-24 15:47:20 -04:00
drteaspoon420
1a67c5583a Solutions on thrown spears/shot arrows (#20416)
* Solutions on thrown spears/shot arrows

Spears inject their solution on thrown hit.
Arrows now have 5u solution storage that is injected when it hits target.

* Whoops, wrong arrow.

Instead of base arrow, I accidentally modified the 'regular arrow'

* spear and arrow solution graphics

Spears and arrows now show what they are doped with when they are on ground. (just like beakers)
2023-09-24 15:46:16 -04:00
Nemanja
d225bd39fa basic station event commands (#20371)
* basic station event commands

* ouagh
2023-09-24 12:46:35 -05:00
PJBot
2be28908f7 Automatic changelog update 2023-09-24 13:21:08 -04:00
Doru991
a9cfd56abc Fix food trash not spawning (#20467) 2023-09-24 13:20:02 -04:00
deltanedas
e0950d21fd mouse cant open doors (#20470)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-24 08:59:27 -07:00
Pieter-Jan Briers
000168d242 Fixes for the RSS changelog script. (#20468) 2023-09-24 17:14:15 +02:00
Morb
cbb445e822 Update wiki workflow (#1452) 2023-09-24 18:13:46 +03:00
Morb
0d92ed8a3a Revert "Remove old wiki update workflow (#20385)" (#1450) 2023-09-24 17:42:08 +03:00
JerryTheMouse
5101893156 [Resprite] RatKing Actions (#1448) 2023-09-24 17:41:56 +03:00
mhamster
68201fc1e8 Fix wiki json autogen + entity autogen (#1441) 2023-09-24 17:29:13 +03:00
JerryTheMouse
12599381bc [Resprite] Disarm (#1445) 2023-09-24 17:12:55 +03:00
Morb
cc06a9998d Merge pull request #1447 from space-syndicate/upstream-sync
Upstream sync
2023-09-24 16:24:49 +03:00
Morb0
33c65bec4c Fix Corvax Spectrum 2023-09-24 15:57:34 +03:00
Morb
17f45d7faf Exterminate tab in seeds prototype No C# (#20464) 2023-09-24 05:42:44 -07:00
Morb0
413ff2b432 Fix Corvax Spectrum 2023-09-24 15:29:45 +03:00
Morb0
678997d293 Fix books locale 2023-09-24 15:19:17 +03:00
Morb0
0f2537a021 Update locale 2023-09-24 15:17:18 +03:00
Morb0
13b3bfa217 Merge remote-tracking branch 'upstream/master' into upstream-sync
# Conflicts:
#	.github/CODEOWNERS
#	.github/workflows/update-wiki.yml
#	Content.Client/Preferences/UI/HumanoidProfileEditor.xaml.cs
#	Content.Shared/Humanoid/HumanoidCharacterAppearance.cs
#	Content.Shared/Humanoid/Markings/MarkingPrototype.cs
#	Content.Shared/Preferences/HumanoidCharacterProfile.cs
#	Resources/Prototypes/Entities/Clothing/Hands/gloves.yml
#	Resources/ServerInfo/Guidebook/Engineering/AME.xml
#	Resources/ServerInfo/Guidebook/Engineering/Atmospherics.xml
#	Resources/manifest.yml
2023-09-24 12:56:24 +03:00
Kara
e26c0706f6 Make AmbientSoundComponent.Enabled readonly (#20438) 2023-09-24 02:03:29 -07:00
JerryTheMouse
51610c6c7f [Resprite] Harmmode (#1444) 2023-09-24 09:08:23 +03:00
Leon Friedrich
4774368f2a Fix "spawn" spellbook (#20447) 2023-09-24 12:38:22 +10:00
Leon Friedrich
a3b44013fc Prevent projectiles from colliding with their guns (#20439) 2023-09-23 12:08:35 -08:00
PJBot
6feb66ad42 Automatic changelog update 2023-09-23 16:01:17 -04:00
Repo
16b70ca8f6 Fix declaration of war (#20399) 2023-09-23 12:00:12 -08:00
daerSeebaer
f5ddbcf123 Fix APC turning invisible after emagging (#20245) 2023-09-23 11:27:51 -08:00
PJBot
e512f532d0 Automatic changelog update 2023-09-23 15:16:09 -04:00
deltanedas
f747bfe5fc Add navmap beacon to armed nukes (#20394) 2023-09-23 11:15:05 -08:00
Vasilis
eb4a9c4833 :( (#20440) 2023-09-23 13:44:49 -05:00
deltanedas
815846ee7f butcherable gloves + glove cleanup (#20036)
* butcherable gloves + glove cleanup

* insulative fingerless merc

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-23 11:28:06 -07:00
PJBot
d5d9b043b8 Automatic changelog update 2023-09-23 12:34:43 -04:00
Leon Friedrich
715653214b Fix spellbook actions (#20437) 2023-09-23 09:33:39 -07:00
Ed
f964d38743 Hotfix Gate (#1443) 2023-09-23 19:09:01 +03:00
PJBot
52d3d13f47 Automatic changelog update 2023-09-23 09:15:10 -04:00
PrPleGoo
1a13884961 Task/food hud (#19312)
* security HUD now shows a job icon on entities with a body

* thirst goggles

* set starting hud gear

* fix build

* remove from starting gear

* remove

* replace

* fix thirst and hunger icons

* update icons

* space

* space

* ]

* ]

* fix build

* fix comments

* fix

* spacing

* field

* move more namespaces

* use AutoGenerateComponentState

* comments

* fix build

* not all fields

* comments

* unpaused

* fix Dirty warning

---------

Co-authored-by: Slava0135 <super.novalskiy_0135@inbox.ru>
2023-09-23 16:14:06 +03:00
Kara
dae18c981f Fix action containers deleting the wrong actions (#20430) 2023-09-23 03:53:31 -07:00
Kara
9b55fbd0be fix build (#20427) 2023-09-23 03:09:07 -07:00
Leon Friedrich
684b334806 Action container rejig (#20260)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2023-09-23 18:49:39 +10:00
PJBot
c80c90ed65 Automatic changelog update 2023-09-23 04:26:03 -04:00
Nemanja
86d22a7cb6 skeleton fixes (#20373) 2023-09-23 18:24:58 +10:00
TsjipTsjip
5bb381dd4b Add chef closet to aspid (#20423) 2023-09-23 18:15:35 +10:00
daerSeebaer
42104bb56a Add SMES and substation names (#20414) 2023-09-22 23:13:09 -08:00
metalgearsloth
c3cc66bb32 Fix rotator dirty spelling (#20421) 2023-09-23 16:39:07 +10:00
Kara
b8b4e918e2 Mouse rotator system (#19267)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2023-09-23 15:45:13 +10:00
PJBot
69bcd69715 Automatic changelog update 2023-09-23 01:40:51 -04:00
dahnte
0be5e1bf80 Fixed lisp bug with capital and lowercase matching and other sounds matched for clarity (#20370) 2023-09-23 15:39:47 +10:00
y7o4ka
dbd21f1295 Resizeable changelog (#19272) 2023-09-22 22:35:53 -04:00
deltanedas
b7cff81587 Openable refactor (#19750) 2023-09-22 22:10:04 -04:00
DrSmugleaf
71ab660885 Add role bans tab to the bans admin window (#20388) 2023-09-22 14:08:28 -07:00
PJBot
8299fcbb65 Automatic changelog update 2023-09-22 16:02:46 -04:00
Waylon Cude
9cbcf67b1a Metabolism fixes (#20402)
* In-progress commit for fixing metabolism system

* Commit with all debugging in there

In case I have to revert or something

* Cleanup debug commands
2023-09-22 15:01:42 -05:00
Nemanja
f16ff3a2d9 Rat King Milsim + Buffs (#20190)
* rat king update

* rummaging

* buuuuunnnnncccchhh of shit

* the last of it

* make rat servants not ghost roles

* pissma buff and cooldown
2023-09-22 15:01:05 -05:00
PJBot
eebf2c0039 Automatic changelog update 2023-09-22 15:58:09 -04:00
Artur
bd513e623c fixed station records console item list selection (#20369) 2023-09-22 14:57:05 -05:00
Kevin Zheng
f6d07b6b2e Remove old wiki update workflow (#20385) 2023-09-22 14:54:50 -05:00
HerCoyote23
393b50d008 ninja suit damage resistance nerf (#20413) 2023-09-22 14:53:56 -05:00
PJBot
d2a3cf8a8c Automatic changelog update 2023-09-22 15:53:35 -04:00
Vasilis
e5162d4151 Guidebook can POP OUT YAYYYY (#20268)
* Let them eat cake

* Reviews

* Change amoled theme to gray

* Ok nevermind im big smart
2023-09-22 14:52:30 -05:00
Vasilis
413ba8cc9a Remove cringe hardcodes for background (#20374) 2023-09-22 14:50:34 -05:00
Wrexbe (Josh)
9e1a9dd6df Refactor Advertise System (#19669)
* Refactor Advertise System

* Added interval checks

* More stuff
2023-09-22 08:46:25 -07:00
lzk
25327e14c9 Decrease doorjack count for ninja (#1439) 2023-09-22 17:49:19 +03:00
Ed
2381238f90 Update Gate station (#1440) 2023-09-22 17:38:28 +03:00
PJBot
b765cb7b85 Automatic changelog update 2023-09-22 05:46:26 -04:00
Kara
f8d194b117 Bows & arrows (#19771) 2023-09-22 02:45:21 -07:00
SolidusSnek
1ba1ab6d61 Fix WizDen rules grammar (#20320)
* Update Rules.txt

* Update Rules.txt
2023-09-21 21:19:48 -05:00
Warentan
aa1c908038 Update atmos and AME guidebook (#20379) 2023-09-21 14:07:36 -08:00
lapatison
53aed078ac Translation edits (#1437) 2023-09-21 23:15:02 +03:00
lzk
de472fd997 fix qm suit crate locale (#1438) 2023-09-21 23:13:14 +03:00
deltanedas
37c5020a71 move ninja objectives code into generic antag system (#20186)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-21 07:33:18 -07:00
PJBot
8629a3ab9e Automatic changelog update 2023-09-21 09:22:48 -04:00
metalgearsloth
1d0a860c34 Fix exped ghost roles (#20392) 2023-09-21 23:21:43 +10:00
DrSmugleaf
4c5e7a01f1 Make the lobby AHelp button red for admins when one is received (#20390) 2023-09-21 17:40:57 +10:00
Jezithyr
31b2c9f830 Refactoring body system to use containers and general body cleanup (#20202)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2023-09-21 17:23:02 +10:00
DrSmugleaf
d888d9ad67 Fix xaml control file template, make component and prototype templates partial (#20387) 2023-09-20 23:03:13 -07:00
Repo
b98e099af0 Fix syndicate bomb uplink time limit (#20380) 2023-09-20 17:05:04 -08:00
PJBot
f0df598bf5 Automatic changelog update 2023-09-20 21:00:03 -04:00
Waylon Cude
a8018dd575 Tweak mixed drink ratios (#20301)
The drinks in SS14 were made quite boozy, usually there should be more
mixer than alcohol in a drink. This commit tweaks all the standard
alcohol + mixer drinks to have twice the amount of mixer vs alcohol
2023-09-20 16:58:56 -08:00
PJBot
f8306911bc Automatic changelog update 2023-09-20 15:41:45 -04:00
ike709
3ee729f3fd Adds a search bar to vending machines (#20326)
* Adds a search bar to vending machines

* fix indentation

* whitespace again

---------

Co-authored-by: ike709 <ike709@github.com>
2023-09-20 15:40:41 -04:00
Kevin Zheng
9441f6b53a Bomb balance adjustments (#20231)
* Bomb balance adjustments

* Make bomb minimum 3 minutes

* Default bomb to 3 minutes
2023-09-20 15:03:33 -04:00
PJBot
c6f059b033 Automatic changelog update 2023-09-20 08:02:58 -04:00
metalgearsloth
bbbc1174e6 Fix do_after net initial item (#20363) 2023-09-20 22:01:54 +10:00
metalgearsloth
33edef2f9a Fix EmergencyBurnKit arbitrage (#20362) 2023-09-20 20:27:05 +10:00
PJBot
8efc619823 Automatic changelog update 2023-09-20 05:52:12 -04:00
Арт
0c9c68027a Added corn in butter (#19448)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2023-09-20 19:51:08 +10:00
metalgearsloth
d3b6434586 Fix prototype rename cringe (#20361) 2023-09-20 19:50:45 +10:00
PJBot
4a6f91de88 Automatic changelog update 2023-09-20 04:27:21 -04:00
Alekshhh
f658970f3e U-Shape Rails (#19485)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2023-09-20 18:26:16 +10:00
deltanedas
4fbebb6917 Roundstart antag role restrictions revival (#20108)
Co-authored-by: Ray <vigersray@gmail.com>
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-20 17:54:53 +10:00
PJBot
35246963c7 Automatic changelog update 2023-09-20 03:51:23 -04:00
Alekshhh
c93433839f Medkit Fill Change (#19362)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2023-09-20 17:50:19 +10:00
PJBot
8be3614be5 Automatic changelog update 2023-09-20 00:52:54 -04:00
dahnte
7631b66c69 Added lisp as a character trait (#20350) 2023-09-19 21:51:50 -07:00
PJBot
9d8f835d15 Automatic changelog update 2023-09-20 00:50:46 -04:00
liltenhead
92ac079639 Reduce buckler and makeshift shield costs (#20356) 2023-09-19 21:49:43 -07:00
LankLTE
c3c228f28f Tweak Moth Values (#20327) 2023-09-19 21:49:35 -07:00
Leon Friedrich
5d7f15c34c Fix explosion preview/debug overlay (#20353) 2023-09-20 11:19:42 +10:00
metalgearsloth
9f9577acd0 Fix component constraints (#20241) 2023-09-20 10:12:48 +10:00
PJBot
d01a0e497d Automatic changelog update 2023-09-19 19:52:20 -04:00
Repo
41139bf2b2 Option to delay uplink item purchase (#20214)
* Time delay for certain uplink stock.

* Remove glitchy timer and add refresh button.
2023-09-19 16:51:15 -07:00
Leon Friedrich
6db59967bd Update engine to v162.1.1 (#20348) 2023-09-20 08:01:48 +10:00
Morb
835bde4c6e Sex restriction for markings (#19894)
* Add sex restriction to markings

* Apply to existing systems
2023-09-19 16:56:10 -04:00
lzk
ae29a31113 localize slurred accent (#1419) 2023-09-19 22:52:13 +03:00
lapatison
1187efe26e Fix collector.ftl translation (#1436) 2023-09-19 22:51:21 +03:00
lapatison
b717feb967 Translate Upstream #1430 (#1433)
Co-authored-by: Morb0 <14136326+Morb0@users.noreply.github.com>
Co-authored-by: HerCoyote23 <131214189+HerCoyote23@users.noreply.github.com>
2023-09-19 21:50:18 +03:00
metalgearsloth
1b2fd313a0 Update submodule to 162.1.0 (#20340) 2023-09-19 23:31:07 +10:00
PJBot
d0f4a2699a Automatic changelog update 2023-09-19 08:53:05 -04:00
metalgearsloth
036b9ef74f Expeditions rework (#18960) 2023-09-19 22:52:01 +10:00
Leon Friedrich
86fa8ae180 Remove IoC resolves in BaseNetConnectorNodeGroup and friends (#20333) 2023-09-19 22:44:49 +10:00
Nyranu
98c5a59d30 Update Spectrum station (#1425) 2023-09-19 15:34:52 +03:00
Ed
6d46ddf80b remove decal stairs, add stairs entity for map Gate (#1432) 2023-09-19 15:34:33 +03:00
SonicHDC
8fdb170aa5 Tiles Corvax Stylization (#1431) 2023-09-19 12:21:53 +03:00
lapatison
d8f3ae1ed1 Edit translations (#1429) 2023-09-19 12:21:33 +03:00
MrFippik
38a835c6d1 [Translate] Logical items and network ports (#1404)
Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com>
Co-authored-by: lapatison <100279397+lapatison@users.noreply.github.com>
2023-09-19 12:20:44 +03:00
lzk
9739909a6e Datasets translate (#1411)
Co-authored-by: lapatison <100279397+lapatison@users.noreply.github.com>
2023-09-19 12:20:08 +03:00
lzk
98a9d113f8 Decrease announcement sound volume (#1428) 2023-09-19 12:19:02 +03:00
Ed
02348ba80f Update Gate station (#1426) 2023-09-19 12:17:23 +03:00
Morb
488b4138d0 Merge pull request #1430 from space-syndicate/upstream-sync
Upstream sync
2023-09-19 12:16:10 +03:00
Morb0
5bbc4a6ac7 Merge remote-tracking branch 'upstream/master' into upstream-sync2 2023-09-19 12:09:28 +03:00
Leon Friedrich
39af74e0a3 Fix linter error (#20334) 2023-09-19 19:08:34 +10:00
Morb0
60a0a98ba0 Update locale 2023-09-19 11:52:25 +03:00
Morb0
f4de43b84d Fix EvilTwin 2023-09-19 11:43:10 +03:00
Morb0
5e79b7c53f Fix locale 2023-09-19 11:43:10 +03:00
Morb0
36528f2941 Update locale 2023-09-19 11:43:09 +03:00
Morb0
e64f773e6a Make hijack objective entity 2023-09-19 11:43:08 +03:00
Morb0
c5a1921727 Fix locale 2023-09-19 11:43:07 +03:00
Morb0
363208a769 Remove old condition 2023-09-19 11:43:06 +03:00
Morb0
f9395994a6 Remake hijack shuttle into component & system 2023-09-19 11:43:05 +03:00
Morb0
6a93301fc5 Update locale 2023-09-19 11:43:05 +03:00
Morb0
59ded42ec9 Add TTS to BaseMod 2023-09-19 11:42:06 +03:00
Morb0
58ef40767e Merge remote-tracking branch 'upstream/master' into upstream-sync2
# Conflicts:
#	Content.Client/Entry/EntryPoint.cs
#	Content.Client/Preferences/ClientPreferencesManager.cs
#	Content.Server/GameTicking/Rules/NukeopsRuleSystem.cs
#	Resources/Prototypes/Entities/Clothing/Shoes/boots.yml
#	Resources/Prototypes/Entities/Mobs/Species/base.yml
2023-09-19 11:41:15 +03:00
metalgearsloth
b8697d86c4 Update submodule to 162.0.0 (#20332) 2023-09-19 17:42:27 +10:00
PJBot
b1a079cfa6 Automatic changelog update 2023-09-19 01:06:23 -04:00
Nemanja
fdbadbe579 closet skeleton event (#19802) 2023-09-19 15:05:17 +10:00
PJBot
283a90bf9f Automatic changelog update 2023-09-18 23:30:33 -04:00
Doru991
fcfe75a308 New crops: Berries and Bungo (#19800)
* Add berries

* Berry recipes

* Add bungo fruit

* yml tweaks

* yummy poisonous pits

* Technically it's a seed

* Revert "Technically it's a seed"

This reverts commit be892cf119c1e733ac2922b878aaa476f435152a.

Slapping the seed component onto it led to unforeseen consequences, and I don't want to mess with the seed system for a mostly useless gimmick.

* Revert 2 Electric Boogaloo

This reverts commit 2c4fb34250e9369085d49e730de3dab0e077b687.

* Small rewording

* Cocoa balancing

* Oops
2023-09-18 23:29:27 -04:00
LankLTE
88ec2aa77c Fixes Syndicate Bomb logs (#20240)
* Fixed logs

* fix dumb entity stuff
2023-09-18 21:51:13 -04:00
Nemanja
06ad5221ee decal settings (#20324) 2023-09-18 17:17:48 -06:00
Emisse
c42567c280 fland update (#20319) 2023-09-18 15:45:17 -06:00
Emisse
ba7e82be27 box update (#20318) 2023-09-18 15:45:09 -06:00
Emisse
174d9cab5d bagel update (#20315) 2023-09-18 15:45:03 -06:00
PJBot
71cd66a3f9 Automatic changelog update 2023-09-18 17:08:07 -04:00
HerCoyote23
74056d19aa Stealth rebalance (#20314) 2023-09-18 15:06:59 -06:00
PJBot
e2711c581b Automatic changelog update 2023-09-18 15:22:44 -04:00
liltenhead
59390b8795 Space Damage Increase Part 2 (#20234)
* slime space damage

* base space damage
2023-09-18 13:21:36 -06:00
deltanedas
5f11646f20 add binary translator key to uplink (#20295)
* add binary translator key

* add binary translator key to uplink

* grammar

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-18 13:20:56 -06:00
PJBot
433808bffb Automatic changelog update 2023-09-18 15:20:19 -04:00
PursuitInAshes
bb0af71fe3 Adds Cap Cap to Captains Hardsuit+Clothing Locker (#20278) 2023-09-18 13:20:10 -06:00
JoeHammad1844
8ce4767d07 syndie headset 1 TC (#20284) 2023-09-18 13:18:55 -06:00
Tunguso4ka
60ae564279 now with sound! (#20287) 2023-09-18 13:17:59 -06:00
Flareguy
b75fd719cb Adds stair entities (with new sprites,) nukes stair decals (#20279)
* nukes stair decals, adds entity stairs

* FUCK. my furniture

* fix deprecated sprites
2023-09-18 13:17:19 -06:00
brainfood1183
c4bb9753d5 Origin Station Update 16.09.2023 (ninjabombwaypoints, training bomb) (#20270) 2023-09-18 13:15:27 -06:00
Nemanja
0981a29aeb noRo: true for asteroids (#20289) 2023-09-18 13:14:11 -06:00
Pspritechologist
6dd579a385 Adds Duration to EMP Event (#18437) 2023-09-18 08:28:05 -04:00
PJBot
6fc5bf8938 Automatic changelog update 2023-09-18 02:14:16 -04:00
Ilya246
1aeb6ab4a5 fix bloodred boots (#20309) 2023-09-18 00:13:12 -06:00
metalgearsloth
2d683d1305 Update submodule to 161.1.0 (#20305) 2023-09-18 11:50:43 +10:00
PJBot
de3efd3226 Automatic changelog update 2023-09-17 21:23:43 -04:00
Nairod
3edd3d6407 HoloBarrier Fix and Buff (#20129) 2023-09-18 11:22:39 +10:00
PJBot
2c0f67c0be Automatic changelog update 2023-09-17 21:11:48 -04:00
peptron1
470254276f Chaplain Hoodie change (#20096) 2023-09-18 11:10:44 +10:00
deltanedas
fc6638d7e0 gateway changes (#20304)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-18 11:09:21 +10:00
Leon Friedrich
84495c3d52 Don't show verb confirmation pop-ups in debug mode (#20300) 2023-09-18 11:07:43 +10:00
Leon Friedrich
df3ff0cee4 Fixes a borg error that was causing random test failures (#20297) 2023-09-18 11:06:56 +10:00
PJBot
fefc2ea245 Automatic changelog update 2023-09-17 20:31:35 -04:00
JoeHammad1844
b27e65fcf8 Beret resprite and security beret (#19958)
* Add files via upload

* fuck I did an oopsie

* Security berets

* fixed science beret

* fixed engi and merc beret
2023-09-17 20:30:30 -04:00
PJBot
7fa3761dd6 Automatic changelog update 2023-09-17 20:27:25 -04:00
lapatison
e274f1e196 Cool match ignition with the boot. (#20053)
* added

* review
2023-09-17 20:26:21 -04:00
PJBot
aef7180fdb Automatic changelog update 2023-09-17 20:24:40 -04:00
Psychpsyo
067797fcb1 Make advanced mop show up on janitor trolley (#20124)
* Make advanced mop show up on janitor trolley

* Make blue trash bag show up on janitor trolley

* Revert "Make blue trash bag show up on janitor trolley"

This reverts commit 3f94b3cf81fba68255f60ca4b2ff085f4ab0c48f.
2023-09-17 20:23:35 -04:00
PJBot
9fe20bfb49 Automatic changelog update 2023-09-17 20:23:30 -04:00
DrSmugleaf
c558f00a74 Fix Fultons losing their beacon when split (#20179) 2023-09-17 20:22:26 -04:00
PJBot
d4abaf277a Automatic changelog update 2023-09-17 20:21:15 -04:00
Henry
0397a3eef1 Added the ability to eat organs, mmm tastes like people (#20225)
* added ability to eat organs

* Update animal.yml

* adjusting for inflation

* test
2023-09-17 20:20:11 -04:00
lzk
bc0274dbf7 Remove Delta from mappool (#1421) 2023-09-18 00:24:45 +03:00
Leon Friedrich
3b42018679 Add print_pvs_ack command permissions (#20296) 2023-09-18 05:24:25 +10:00
PJBot
0cd201566c Automatic changelog update 2023-09-17 13:58:54 -04:00
Leon Friedrich
9c24d82af9 Update engine to v161.0.0 (#20294) 2023-09-18 03:58:27 +10:00
Leon Friedrich
53b4da68fa Fix light animations (#20263) 2023-09-18 03:57:49 +10:00
MrFippik
ea953377c8 Translate Upstream #1412 (#1415)
Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com>
Co-authored-by: lapatison <100279397+lapatison@users.noreply.github.com>
2023-09-17 17:06:23 +03:00
Morb
d5e5cdeb12 Hotfix news content (#1424) 2023-09-17 13:06:35 +03:00
PJBot
91231cb3fc Automatic changelog update 2023-09-17 05:05:25 -04:00
DrSmugleaf
bb655ab4a5 Resize the non-admin AHelp window to be taller and less wide (#20271) 2023-09-17 04:04:20 -05:00
metalgearsloth
e5d6d7f1eb Make GetExplosionResistance event a struct (#20274)
Also fixed a typo.
2023-09-17 04:04:04 -05:00
Leon Friedrich
3be88f4680 Un-network TimedDespawnComponent (#20280) 2023-09-17 17:18:52 +10:00
metalgearsloth
93ccd1b77d Fix drain return (#20276) 2023-09-16 21:08:05 -08:00
metalgearsloth
2718546629 Fix ghost selling (#20235) 2023-09-16 21:06:58 -08:00
metalgearsloth
2390d4de37 Update submodule to 160.1.0 (#20273) 2023-09-17 11:27:32 +10:00
deltanedas
30259e7234 make objective blacklist work (#20256)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-16 14:25:56 -07:00
Kevin Zheng
c28bd562ea Fix lint (#20266) 2023-09-16 13:16:57 -08:00
deltanedas
162509982c Fix meat cooking construction graph (#20250) 2023-09-16 12:39:34 -08:00
TomaszKawalec
282db32ad8 MutationSystem style changes (#19954) 2023-09-16 12:25:53 -08:00
Moony
d5aa958421 Derotate Core pending improvement. (#20262)
Lot of long-standing problems with the map at this time. Derotating until resolved.
2023-09-16 14:09:05 -06:00
Leon Friedrich
5d313c8278 Update engine to v160.0.2 (#20259) 2023-09-17 04:54:24 +10:00
deltanedas
54f29ce45e remove directional switches sprite offsets (#20117)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-16 13:06:14 -04:00
deltanedas
5a586604d2 better logging for shared objective system (#20253)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-16 22:59:27 +10:00
PJBot
fb1de134a6 Automatic changelog update 2023-09-16 08:51:51 -04:00
Flareguy
743063e4f0 Ports /vg/station barricade sprites & slightly buffs them (#19840) 2023-09-16 05:50:48 -07:00
PJBot
5a7b05dbac Automatic changelog update 2023-09-16 08:11:09 -04:00
deltanedas
b541171c79 hopefully fix no objectives (#20246)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-16 22:10:05 +10:00
Kara
7c8eb6692a Ore boxes (#19838) 2023-09-16 21:49:54 +10:00
deltanedas
621e102c93 refactor nukeops rule a bit (#19792)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-16 21:48:42 +10:00
Leon Friedrich
7d9693d976 Fix replay recording temporary paths not supporting subdirectories (#19887) 2023-09-16 21:46:12 +10:00
deltanedas
ac0b8fe621 cleanup navmap beacons (#20244)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-16 19:48:03 +10:00
PJBot
4ac5ad1f2f Automatic changelog update 2023-09-16 04:12:51 -04:00
metalgearsloth
e08b0954e5 Add navmap beacons (#19388) 2023-09-16 18:11:47 +10:00
Jezithyr
a0170dc613 update RobustToolbox to v160.0.1 (#20238) 2023-09-16 00:22:18 -07:00
PJBot
6d9e6a9765 Automatic changelog update 2023-09-16 02:19:14 -04:00
deltanedas
f7711edbe3 Objectives ecs rework (#19967)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-16 16:18:10 +10:00
deltanedas
e8c58d1574 Microwaved pais get scrambled name + randomly bricked (#19982)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-16 16:07:36 +10:00
deltanedas
8aba52d796 fix gateway destinations (#20172)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-16 15:56:35 +10:00
RIKELOLDABOSS
1b9a86642f Zombiefix (#20227)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2023-09-16 15:55:49 +10:00
deltanedas
640633c26b fix striker gyroscope (#20211)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-16 15:52:14 +10:00
Kevin Zheng
655e5d5cec Add speedloader to secfab (#20219) 2023-09-16 15:32:16 +10:00
metalgearsloth
f8a4faf907 Update submodule to 160.0.0 (#20233) 2023-09-16 15:27:51 +10:00
ShadowCommander
425af9e742 Cleanup GhostSystem (#17526) 2023-09-16 15:21:33 +10:00
Leon Friedrich
f7d7f5cc7f Rename DummyPuppet to VentriloquistPuppet (#19777) 2023-09-16 14:54:46 +10:00
PJBot
a9cc99f80c Automatic changelog update 2023-09-16 00:34:04 -04:00
Psychpsyo
5d74447679 Make advanced mop wieldable (#20229) 2023-09-15 21:33:01 -07:00
PJBot
075936df0f Automatic changelog update 2023-09-16 00:16:09 -04:00
Slava0135
2e1197257c Reset speed when buckling (#19846) 2023-09-16 14:15:05 +10:00
Leon Friedrich
411fc8e27b Improve vv /c/enthover and add keybind (#20127) 2023-09-16 14:09:51 +10:00
Kirillcas
8e351bbf68 fix admins Flags arrays (#19644) 2023-09-16 13:58:11 +10:00
PJBot
fccb608ef5 Automatic changelog update 2023-09-15 16:53:56 -04:00
metalgearsloth
86f963b99e Fix magnet pickup (#20212)
Flipped sign moment.
2023-09-15 15:53:36 -05:00
Nemanja
ae2aa3e833 Fix broken mob state actions (#20222) 2023-09-15 15:52:49 -05:00
612
236a97d190 Disable kuzdu pending growth rate fix (#20200) 2023-09-15 09:16:03 -08:00
Arimah Greene
ce4ee085d7 Restore missing tags on BaseMobSpecies (#20216)
When BaseMobOrganic was split into BaseMobSpecies and BaseMobSpeciesOrganic, the Tag component was accidentally omitted.
2023-09-15 12:46:58 -04:00
metalgearsloth
7e4f755d7f Suppress pathfinding debug assert (#20101) 2023-09-15 23:34:01 +10:00
DrSmugleaf
6e05aba338 Update Robust to 0e21f5727a38c2fcc18a931f35cec6c5c4dc12e1 (#20204) 2023-09-15 03:46:04 -07:00
DrSmugleaf
c494fa0864 Update Robust to 3ce8a003895a331c008aa0dc0185d817e8e94734 (#20203) 2023-09-15 03:39:13 -07:00
chromiumboy
e92e913452 Adjust default airlock hacking protections (#20171) 2023-09-14 23:08:50 -08:00
Ubaser
89f5fa2247 Add loungewear (#19933) 2023-09-14 23:00:29 -08:00
Pieter-Jan Briers
08b6f0748a Clear cached preferences when disconnecting on client (#19921) 2023-09-14 22:49:32 -08:00
metalgearsloth
b201594a3b Fix client gameticker jobs bug (#20197) 2023-09-15 15:59:15 +10:00
PJBot
6da5ad261e Automatic changelog update 2023-09-15 00:16:46 -04:00
Nemanja
170e559417 multi-gun nerf (#20194) 2023-09-14 23:15:42 -05:00
PJBot
49581e1ec0 Automatic changelog update 2023-09-14 23:15:51 -04:00
Doru991
eaecdb4336 Cyborg health alert and damage examining (#20084)
* Option for alt health alert and no overlay

* Fancy borg health indicator

* Borg damage examine localization

* EENENGHHHH ENNNGHHH

* Requested code changes

* Legal sound

* Revert "Legal sound"

This reverts commit 35715c88898aeb78dfe800319852c230395fdd7e.

I misunderstood what Sloth meant

* Annoying buzzer is back
2023-09-14 23:14:47 -04:00
deltanedas
c25b769132 fix ninja no guns (#20184)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-14 23:12:14 -04:00
Nemanja
c34913b227 Try and fix mob prototypes (#19859)
Co-authored-by: DrSmugleaf <drsmugleaf@gmail.com>
2023-09-14 20:10:30 -07:00
PJBot
372c67e160 Automatic changelog update 2023-09-14 22:16:30 -04:00
Morb
8bcab77bc4 Disable SSD indicator for NPC (#20027)
* Make ActiveNPCComponent shared

* Check if entity have ActiveNPC component

* Make networked

* Fix path

* fix
2023-09-14 22:15:26 -04:00
Velcroboy
4e883d90b1 Increases Blast Door dmg resistance. (#20177)
Co-authored-by: Jeff <velcroboy333@hotmail.com>
2023-09-14 22:14:11 -04:00
PJBot
182e60a06a Automatic changelog update 2023-09-14 22:07:01 -04:00
c4llv07e
649cd34edc Fix hud theme selection (#19106)
* Fix hud theme selection

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Remove iterator indexing in the theme configuration

Signed-off-by: c4llv07e <kseandi@gmail.com>

---------

Signed-off-by: c4llv07e <kseandi@gmail.com>
2023-09-14 22:05:55 -04:00
DrSmugleaf
89337f33bc Fix doafters always being red for the client (#20187) 2023-09-15 10:21:59 +10:00
PJBot
9a85bcc142 Automatic changelog update 2023-09-14 19:52:50 -04:00
LankLTE
0e9d804ca2 canCreateVacuum (#20118) 2023-09-14 16:51:47 -07:00
PJBot
5635754ab6 Automatic changelog update 2023-09-14 19:35:48 -04:00
Nairod
58373ccc18 Add HoloBarrier To SecFab (#20128) 2023-09-14 16:34:43 -07:00
Morb
b50e51b35f Update WL server title (#1418) 2023-09-15 00:27:43 +03:00
Ed
b267f8b8cd Update Gate station (#1416) 2023-09-15 00:15:00 +03:00
Morb
94de2bea3d News fix (#1417) 2023-09-15 00:12:11 +03:00
PJBot
2b8aa6f4ac Automatic changelog update 2023-09-14 06:09:07 -04:00
DrSmugleaf
6728077bc7 Fix missing localization for bibles, crit, internals, mime, sleeping and voice mask (#20131) 2023-09-14 03:08:03 -07:00
PJBot
c1eb0c2f79 Automatic changelog update 2023-09-14 03:18:49 -04:00
Psychpsyo
11972a0066 Make Shark Plush Janitor-Bucketable (#20123) 2023-09-14 00:17:44 -07:00
chromiumboy
3753fed920 Fix adding/removing airlock protections via welding (#19926) 2023-09-13 21:54:49 -08:00
PJBot
4c25483693 Automatic changelog update 2023-09-14 00:57:28 -04:00
Doru991
3f51795cc7 Add plant species mutations (#19960) 2023-09-13 20:56:24 -08:00
PJBot
78373d5975 Automatic changelog update 2023-09-13 23:52:13 -04:00
Whisper
1b3f4c3d7b Guardians (Holo and holoclown) have syndicate faction ai (#19816) 2023-09-13 20:51:10 -07:00
Kevin Zheng
a622844a5f Make slow spacing variables CCVars (#19862) 2023-09-13 19:38:56 -08:00
PJBot
383935a1d2 Automatic changelog update 2023-09-13 23:38:17 -04:00
Kevin Zheng
e54a62bca9 Add cryogenic gas tanks (#19864) 2023-09-13 19:37:13 -08:00
PJBot
d0a0434ee4 Automatic changelog update 2023-09-13 21:04:16 -04:00
Nim
afd30c5c75 Telescopic shield (#20048)
* telescopic shield

* research

* removed the shield from the locker

* sound

* eh

* fix
2023-09-13 18:03:12 -07:00
PJBot
7b27d71246 Automatic changelog update 2023-09-13 20:28:02 -04:00
Flareguy
7d02c4af0f Miscellaneous syndicate bomb tweaks & fixes (#20068)
* syndicate bomb tweaks & ss13 parity

* 100s

* 90s timer

* fuck. my furniture

* timer back to 120s, no more wire mirroring
2023-09-13 17:26:58 -07:00
PJBot
b12fea5297 Automatic changelog update 2023-09-13 20:22:37 -04:00
deltanedas
d790e79f9c er (#20119)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-13 17:21:32 -07:00
RIKELOLDABOSS
8d0f80231d Add new words to zombie, mouse, and cat accent (#20115) 2023-09-14 01:55:17 +02:00
Emisse
dd8db5822d Revert "Nukies will be able to buy carp (#20051)" (#20114)
This reverts commit 8084a69ae4.
2023-09-13 18:12:56 -04:00
PJBot
cdd3b40f0f Automatic changelog update 2023-09-13 18:04:48 -04:00
metalgearsloth
91444083cf Dispose storage windows on state change (#20095) 2023-09-13 16:03:44 -06:00
PJBot
dea266ea8b Automatic changelog update 2023-09-13 18:03:36 -04:00
deltanedas
c3e8be7ce8 ninja can spawn earlier, 1h reoccurence (#20091)
* ninja can spawn earlier, 1h reoccurence

* need 40p

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-13 16:02:29 -06:00
daerSeebaer
4759b1b739 Add names for HV&MV power infrastrucutre on Aspid (#20106)
* add names for power infrastructureon aspid

* added missing SMES names on Aspid
2023-09-13 16:01:12 -06:00
TsjipTsjip
1fa34f4033 Add training bomb to kettle.yml (#20110) 2023-09-13 15:17:40 -06:00
Morb
96dc673904 Replace Lawyer with IAA for Europa station (#1413) 2023-09-13 23:51:33 +03:00
Morb
8a74d25f1a Merge pull request #1412 from space-syndicate/upstream-sync
Upstream sync
2023-09-13 21:24:39 +03:00
Morb0
5f3e6c4716 Fix maps 2023-09-13 21:20:52 +03:00
Morb0
d34fad151c Use NetEntity 2023-09-13 20:29:59 +03:00
Morb0
e92205e9b8 Fix locale 2023-09-13 20:10:00 +03:00
PJBot
4c17062505 Automatic changelog update 2023-09-13 12:55:54 -04:00
deltanedas
bcce439746 add training bombs to cargo (#20072)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-13 09:54:47 -07:00
Morb0
dd162a01e3 Fix loadout system 2023-09-13 17:28:46 +03:00
Morb0
0b7a36e623 Update locale 2023-09-13 17:24:31 +03:00
Morb0
d135aabdcd Use corvax admin icons 2023-09-13 17:05:55 +03:00
Morb0
e21ee44f9e Merge remote-tracking branch 'upstream/master' into upstream-sync
# Conflicts:
#	.github/CODEOWNERS
#	Content.IntegrationTests/Tests/Preferences/ServerDbSqliteTests.cs
#	Content.Server/VoiceMask/VoiceMaskSystem.cs
#	Resources/Prototypes/Datasets/verbs.yml
#	Resources/Prototypes/Entities/Mobs/NPCs/silicon.yml
#	Resources/Prototypes/Entities/Mobs/Player/admin_ghost.yml
#	Resources/Prototypes/Maps/aspid.yml
#	Resources/Prototypes/Maps/barratry.yml
#	Resources/Prototypes/Maps/cluster.yml
#	Resources/Prototypes/Maps/kettle.yml
#	Resources/Prototypes/Maps/origin.yml
#	Resources/ServerInfo/Guidebook/Cargo/Salvage.xml
#	Resources/Textures/Structures/Furniture/chairs.rsi/meta.json
2023-09-13 16:51:52 +03:00
Ed
1ff24a7ee1 New station Gate (#1408) 2023-09-13 16:35:01 +03:00
Ubaser
9c2f11d0eb Add map "Europa" (#19930)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2023-09-13 22:22:21 +10:00
PJBot
0618874fa6 Automatic changelog update 2023-09-13 08:07:19 -04:00
metalgearsloth
7dc3347181 Fix planet docking (#20104) 2023-09-13 22:06:15 +10:00
PJBot
427a48d67d Automatic changelog update 2023-09-13 04:57:19 -04:00
Nairod
6a26771d5e Orderable Security Barriers (#20103) 2023-09-13 18:56:15 +10:00
PJBot
760c1d965a Automatic changelog update 2023-09-13 04:02:26 -04:00
metalgearsloth
ac66224a3a Fulton fixes (#20102) 2023-09-13 18:01:22 +10:00
DrSmugleaf
5c15f52703 Fix entities getting shuffled in the map renderer (#20100) 2023-09-13 00:12:35 -07:00
deltanedas
89b670d0c0 run fixgridatmos on dev (#20099)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-13 00:52:12 -06:00
mhamster
0d18f83949 Chemical things machine boards translation fixes (#1405) 2023-09-13 08:05:45 +03:00
DrSmugleaf
f23228bda9 Update dragon devour action icon (#20020)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2023-09-12 22:05:04 -07:00
SyndiCarp
d387108631 Update corvax_avrit.yml (#1409) 2023-09-13 08:04:50 +03:00
SyndiCarp
5e41e09a9f HotFix corvax_ishimura.yml (#1410) 2023-09-13 08:04:30 +03:00
PJBot
b0e8af46ce Automatic changelog update 2023-09-13 00:36:08 -04:00
Doru991
266dc47b80 welder fix (#20090) 2023-09-13 14:35:04 +10:00
PJBot
3b4aebf9e0 Automatic changelog update 2023-09-13 00:26:39 -04:00
metalgearsloth
a936f68bfa Fix eye target not updating on rider shutdown (#20094) 2023-09-13 14:25:34 +10:00
metalgearsloth
0a4fcd71ff Update submodule to 159.0.3 (#20087) 2023-09-13 11:58:50 +10:00
Morb
80543c322d Rotating character preview & lobby preview change (#19741) 2023-09-12 21:57:38 -04:00
deltanedas
486bba4565 prevent mice going under secret doors (#20057)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-12 18:20:47 -07:00
PJBot
7ea0537551 Automatic changelog update 2023-09-12 17:51:06 -04:00
AndrewEyeke
8084a69ae4 Nukies will be able to buy carp (#20051)
* Nukies will be able to buy carp

* Limited fish to 10 stock

* Limited fish to 10 stock

* Limited fish to 10 stock
2023-09-12 14:50:03 -07:00
DrSmugleaf
4b13d0cbc2 Fix the map renderer not rendering entities (#20082) 2023-09-12 14:39:41 -07:00
PJBot
be7be13f54 Automatic changelog update 2023-09-12 16:55:22 -04:00
Morb
f9144496f7 Stair decals (#20080)
* wip

* done
2023-09-12 14:54:28 -06:00
deltanedas
b53e5d6661 ninja hotfixes (#20032)
* check that slot is power cell slot

* add BatteryChangedEvent

* use BatteryChangedEvent when enabling gloves and replacing battery

* sort gloves dependencies

* increase stun duration and cooldown

* play sound when stunning people

* remove dirty for non networked field

* NinjaBatteryChangedEvent

* real

* fake

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-12 14:54:18 -06:00
deltanedas
ef869b1cff saltern updat (#20075)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-12 14:25:59 -06:00
drteaspoon420
a7980be623 Ensure plants always have some reagents after crossing (#20078) 2023-09-12 11:40:11 -08:00
deltanedas
1986ca86f4 make hardbombs indestructible (#20073)
* make hardbombs not explode when destroyed

* actually just remove it entirely

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-12 11:29:50 -07:00
PJBot
5354f0c931 Automatic changelog update 2023-09-12 11:10:38 -04:00
JoeHammad1844
3401709e84 Nukies get free microbomb (#20012) 2023-09-12 08:09:32 -07:00
PJBot
70cdb07fbb Automatic changelog update 2023-09-12 10:36:12 -04:00
metalgearsloth
da2502e9bc Update submodule to 159.0.2 (#20069) 2023-09-13 00:35:08 +10:00
Aru Moon
f614029f64 remove useless file from prototypes (#20066) 2023-09-12 09:21:38 -05:00
PJBot
cf6377643b Automatic changelog update 2023-09-12 08:35:08 -04:00
metalgearsloth
7064f262b4 Add ore bag area pickups (#19358) 2023-09-12 22:34:04 +10:00
lapatison
92bbc86b86 Fix admin-notes.ftl (#1407) 2023-09-12 14:20:03 +03:00
deltanedas
7d9550bc55 remove sus codewords (#20060)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-12 00:37:43 -05:00
metalgearsloth
fd60d39bc7 Remove instruments compref (#19560) 2023-09-12 14:43:06 +10:00
metalgearsloth
f05f94fdc0 Fix solution EUIs (#20033) 2023-09-12 14:35:30 +10:00
metalgearsloth
748ca93f5c Fix context menu for admin menu (#20030) 2023-09-12 14:34:20 +10:00
metalgearsloth
ace2ddbb73 Update submodule to 159.0.1 (#20059) 2023-09-12 13:44:29 +10:00
eclips_e
133ca98655 Hardbombs & Defusables (#15380)
Co-authored-by: Kara <lunarautomaton6@gmail.com>
Co-authored-by: Just-a-Unity-Dev <just-a-unity-dev@users.noreply.github.com>
Co-authored-by: LankLTE <twlowe06@gmail.com>
Co-authored-by: LankLTE <135308300+LankLTE@users.noreply.github.com>
2023-09-11 18:42:38 -07:00
Morb
75bf7bc6e8 Hide SSD indicator in containers (#20043) 2023-09-11 18:59:48 -04:00
PJBot
effd307e64 Automatic changelog update 2023-09-11 18:58:31 -04:00
DrSmugleaf
9a49fbe936 Fix failing to insert into storage messages not being localized (#20049) 2023-09-11 18:57:27 -04:00
DrSmugleaf
113778471c Change MindComponent xmldoc to say that it is added to mind entities, not player entities (#20050) 2023-09-11 14:47:30 -07:00
PJBot
22886efb71 Automatic changelog update 2023-09-11 15:59:30 -04:00
chromiumboy
c853f0bfb7 Artifact containers can safely store radioactive objects (version 2) (#19652)
* Artifact containers suppress the radioactive of artifacts inside them

* Updated to reflect changes to RobustToolbox

* Made necessary changes after updating RT

* Removed test code

* Made requested change

* Updated due to changes to RobustToolbox

* Renamed function

* Updated to accommodate changes to RobustToolbox

* Actually resolve merge conflict?

* Removed unnecessary change

* Made requested changes

* retrigger checks

* Retrigger checks

---------

Co-authored-by: root <root@DESKTOP-HJPF29C>
2023-09-11 15:58:25 -04:00
lzk
5ca34e5578 crayon.yml cleaning (#20029) 2023-09-11 15:52:54 -04:00
metalgearsloth
a75745491d Make some more machines snapCardinals (#19781) 2023-09-11 22:56:53 +10:00
DrSmugleaf
a272cd4439 Remove manual localization from action entity prototypes (#20023)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2023-09-11 22:34:41 +10:00
metalgearsloth
b9d35a0346 Fix merge artifact (#20025) 2023-09-11 21:43:13 +10:00
metalgearsloth
f594af4a3e Update submodule to 159.0.0 (#20024) 2023-09-11 21:28:30 +10:00
PJBot
313be95cb2 Automatic changelog update 2023-09-11 07:21:51 -04:00
metalgearsloth
d5bd1c6f86 Predict StorageComponent (#19682) 2023-09-11 21:20:46 +10:00
metalgearsloth
99b77bc2d3 Remove lights compref (#19531) 2023-09-11 19:18:06 +10:00
PJBot
d315ce3c8c Automatic changelog update 2023-09-11 05:05:08 -04:00
DrSmugleaf
41284a60e4 Fixed error when equipping the energy katana as a space ninja (#20015) 2023-09-11 19:04:02 +10:00
PJBot
28e9df0fba Automatic changelog update 2023-09-11 04:17:31 -04:00
drteaspoon420
a7ac4a83c4 Changed produce spills into dynamic from hardcoded. (#19980) 2023-09-11 01:16:26 -07:00
metalgearsloth
66c4dfaa8e Fix tests (#20017) 2023-09-11 18:10:07 +10:00
metalgearsloth
e1a91466f1 Fix playtime tracker (#20014) 2023-09-11 17:42:25 +10:00
metalgearsloth
ceda715f1c Update submodule to 158.0.0 (#20016) 2023-09-11 17:42:12 +10:00
metalgearsloth
28bf3a6240 Remove SharedEye (but content) (#19481) 2023-09-11 16:15:23 +10:00
PJBot
c477e5b0c2 Automatic changelog update 2023-09-11 02:04:20 -04:00
Kara
64a29f0d8a InAir tweaks & chasm fixes (#19707) 2023-09-11 16:03:16 +10:00
PJBot
414755b455 Automatic changelog update 2023-09-11 01:53:59 -04:00
Morb
2a143c873c SSD Indicator (#19701) 2023-09-11 15:52:56 +10:00
PJBot
d80aca5d16 Automatic changelog update 2023-09-11 01:45:25 -04:00
metalgearsloth
b77265314b Make role timer tooltips pretty (#19605)
Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
2023-09-11 15:44:21 +10:00
metalgearsloth
2a367af7ed Fix ghost warps (#20008) 2023-09-11 15:43:24 +10:00
Leon Friedrich
7ce26e5ad2 Update engine to v157.1.0 (#20009) 2023-09-11 15:29:52 +10:00
Leon Friedrich
a225fe99b6 Fix misc commands (#20004) 2023-09-11 15:21:52 +10:00
metalgearsloth
0689e864e7 Fix admin fax (#20006) 2023-09-11 15:13:18 +10:00
PJBot
abd7508fe9 Automatic changelog update 2023-09-11 01:02:57 -04:00
Leon Friedrich
5bc14d86ed Fix crew monitor (#20003) 2023-09-11 15:01:53 +10:00
LankLTE
7eae2bb921 fix ghost recoloring (#20001) 2023-09-11 14:36:26 +10:00
metalgearsloth
3c0439167a Fix makeghostrole eui (#19998) 2023-09-11 14:31:45 +10:00
Pieter-Jan Briers
497294219a Make raw strings sanely formatted in Rider. (#19955) 2023-09-11 14:24:52 +10:00
PJBot
ef2e936508 Automatic changelog update 2023-09-10 23:54:40 -04:00
metalgearsloth
88dfc59038 Remove custom tooltip timings (#19604) 2023-09-11 13:53:35 +10:00
Leon Friedrich
965de89362 Fix actions not initially appearing (#19990) 2023-09-11 10:45:35 +10:00
Leon Friedrich
51f2eea45b Update engine to v157.0.0 (#19985) 2023-09-11 09:48:10 +10:00
metalgearsloth
5a0fc68be2 Content update for NetEntities (#18935) 2023-09-11 09:42:41 +10:00
PJBot
389c8d1a2c Automatic changelog update 2023-09-10 19:02:13 -04:00
Vasilis
1a7d3d945e Nerf paramed PDA scanning speed and buff all others to be the same (#19983)
* Match scantime with peramed for cmo

* Nerf, the webedit

* All pda times are same now uwu
2023-09-10 16:01:05 -07:00
deltanedas
6953070d40 ninja bombing target whitelist warp point (#19977)
* ninja bombing target whitelist

* :trollface:

* add bombing targets to saltern

* oops remove jordans

* remove aspid js too

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-10 16:04:00 -06:00
lzk
9832320243 Remove some reptilian name (#1403) 2023-09-10 23:54:06 +03:00
SyndiCarp
f0be429afb Update corvax_ishimura.yml (#1406) 2023-09-10 23:52:59 +03:00
Bloodcanis
a68f2cc6f6 Update corvax_delta.yml (#1402) 2023-09-10 23:51:32 +03:00
Nyranu
976b887989 New station Spectrum (#1397) 2023-09-10 23:51:17 +03:00
PJBot
d68fa97fda Automatic changelog update 2023-09-10 16:22:59 -04:00
Interrobang01
3e42c86e9e Fix cognizine not working on entities with minds (#19951) 2023-09-10 12:21:54 -08:00
PJBot
5b0fee41f4 Automatic changelog update 2023-09-10 07:50:48 -04:00
Leon Friedrich
a08c381018 Make replays record ghost chat (#19957) 2023-09-10 21:49:45 +10:00
metalgearsloth
6969066d86 Update submodule to 156.0.0 (#19976) 2023-09-10 21:49:15 +10:00
PJBot
9e3c675ef9 Automatic changelog update 2023-09-10 07:47:41 -04:00
metalgearsloth
4d1c3ae66a Revert "Remove IContainer and move functions to the container system.… (#19975) 2023-09-10 21:46:36 +10:00
lzk
cfe839bf12 Allow YO and forbid comma (#1353) 2023-09-10 09:26:33 +03:00
deltanedas
24810d916b ninja 2 electric boogaloo (#15534)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-10 16:20:27 +10:00
metalgearsloth
25c8a03276 Move ServerbSqliteTests to integration (#19807) 2023-09-10 15:09:12 +10:00
PJBot
3abd6acbbc Automatic changelog update 2023-09-09 23:43:48 -04:00
Arimah Greene
a6af59e3bf Make PA constructible again (#19428)
* Change construction graph correctly

https://github.com/space-wizards/space-station-14/issues/18511#issuecomment-1687893199

* Remove unnecessary call to UpdatePathfinding
2023-09-09 23:42:42 -04:00
PJBot
95cca53c17 Automatic changelog update 2023-09-09 23:39:00 -04:00
Flareguy
8d69f7f2eb Cobwebs (#19623)
* adds cobwebs

* like legit the most awesomest thing ever
2023-09-09 23:37:56 -04:00
PJBot
fa90eba5f8 Automatic changelog update 2023-09-09 23:05:37 -04:00
deltanedas
5dbf79f7da ian crafting (#19821) 2023-09-09 23:04:32 -04:00
PJBot
2c20e0bdcd Automatic changelog update 2023-09-09 22:52:56 -04:00
deltanedas
152a1d1e75 Make monkeys better (#19407)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-10 12:51:51 +10:00
Leon Friedrich
65053a1ec2 Update engine to v155.0.0 (#19968) 2023-09-10 12:27:43 +10:00
Leon Friedrich
b45e53603d Remove IContainer and move functions to the container system. (#19834) 2023-09-10 12:16:37 +10:00
Leon Friedrich
2d71eec6f9 Remove AllComponentsOneEntityDeleteTest (#19965)
* Remove AllComponentsOneEntityDeleteTest

* AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2023-09-09 19:35:05 -05:00
PJBot
41b0b0ac64 Automatic changelog update 2023-09-09 19:40:35 -04:00
DrSmugleaf
d737e6b84a Fix not being able to use vehicle horns (#19966) 2023-09-09 16:39:29 -07:00
PJBot
8bb3811baf Automatic changelog update 2023-09-09 19:15:21 -04:00
DrSmugleaf
09bce85f19 Fix actions not being usable, ordering, and containers (#19964) 2023-09-09 16:14:17 -07:00
PJBot
7b41f7451c Automatic changelog update 2023-09-09 17:55:44 -04:00
drteaspoon420
6a005640cd Improve plant chemical and gas crossing (#19950)
Chemicals and gasses are not all wholesale swapped but given 50/50 for every chemical or gas.
2023-09-09 13:54:37 -08:00
PJBot
abdb729b95 Automatic changelog update 2023-09-09 15:00:39 -04:00
JoeHammad1844
dc254a1308 Fingerless gloves in SecDrobe (#19932)
* Fingerless gloves in sec drobe

* oopsies

* Add files via upload
2023-09-09 12:59:03 -06:00
lzk
e1d54e360f ways to get a plush moth (#19843)
* to arcades

* plushie toys crate

* hampter in arcade
2023-09-09 12:58:42 -06:00
Kevin Zheng
1be963cfa5 Add method for real atmos tick rate (#19861)
Atmos takes a variable number of atmos sub-ticks to complete processing depending on the configuration options.
2023-09-09 10:48:34 -08:00
lzk
c93e10d020 Add do not map suffix to corvax stamps (#1399) 2023-09-09 21:47:09 +03:00
csqrb
e773d8c09f Increase crayon charges from 5 to 15 (#19922) 2023-09-09 10:45:38 -08:00
lzk
79b9ec8675 Update paper.yml (#19943) 2023-09-09 12:45:14 -06:00
PJBot
d2a7c54dcd Automatic changelog update 2023-09-09 14:33:09 -04:00
deltanedas
2c72032c30 Buff gauze (#19909) 2023-09-09 10:32:00 -08:00
Vasilis
16943ff857 Aghost have syndicate access (#19948) 2023-09-10 03:58:37 +10:00
Vasilis
d637ad0e21 no more (#19949) 2023-09-09 11:29:31 -04:00
PJBot
5de0be6342 Automatic changelog update 2023-09-09 08:57:32 -04:00
SonicHDC
6e0466fb25 Bench and fixes (#19748)
* Bench Proto

* Bench sprites

* Update meta.json

* Grammatic fixes

* Update meta.json

* Add files via upload

* Delete Resources/Textures/Structures/Furniture/chairs.rsi/steel-bench-overlay.png

* Meta

* Spaces

Final changes in git web

* Directions fix

Bar and stool fixes

* Final proto fixes

* Physics

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>

---------

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
2023-09-09 08:56:10 -04:00
Ubaser
d7c9a2cb73 fix transparency (#19934) 2023-09-09 01:44:35 -06:00
DrSmugleaf
66fd8de531 Add missing tile migration for glass alt > alt (#19940) 2023-09-09 01:37:12 -06:00
DrSmugleaf
b37a33444b Revert "Revert "Small Fixes (#19929)" (#19937)" (#19939)
This reverts commit c5a1c3dedd.
2023-09-09 01:37:04 -06:00
Emisse
c5a1c3dedd Revert "Small Fixes (#19929)" (#19937)
This reverts commit 70076361bd.
2023-09-09 01:28:54 -06:00
Emisse
ca289d4f0b Revert "Semi revert glass tile resprite (#19266)" (#19931)
This reverts commit 38f921f831.
2023-09-09 00:33:22 -06:00
Nairod
70076361bd Small Fixes (#19929) 2023-09-08 23:44:14 -06:00
Nairod
25569e2f87 Mime Wall Nerf (#19925) 2023-09-09 15:40:11 +10:00
DrSmugleaf
c71f97e3a2 Refactor actions to be entities with components (#19900) 2023-09-08 18:16:05 -07:00
Pieter-Jan Briers
e18f731b91 Fix race condition causing some people being unable to connect. (#19920) 2023-09-08 14:52:36 -07:00
DrSmugleaf
f23e7024a6 Update RobustToolbox to 33184ecfa560947d747cfbf234751221a64be32c (#19919) 2023-09-08 14:48:06 -07:00
Nemanja
cc5e185c6e Fix initial infected transformation (#19735) 2023-09-08 17:29:49 -04:00
Kevin Zheng
de9354a562 Add powered SCI to dev map (#19915) 2023-09-08 13:43:47 -06:00
lzk
85de6ffcf4 Sort jobs in map prototypes (#19910)
* Update aspid.yml

* Update barratry.yml

* Update cluster.yml

* Update kettle.yml

* Update saltern.yml

* Update origin.yml
2023-09-08 13:43:19 -06:00
deltanedas
ffe04b41e7 saltern 4.21 (#19908)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-08 13:22:11 -06:00
potato1234_x
5945c20fdc no more f toast (#19905) 2023-09-07 23:37:52 -07:00
PJBot
82c8837433 Automatic changelog update 2023-09-07 22:26:08 -04:00
deltanedas
64f2efbb55 move advanced laser gun into t3 lasers tech (#19875)
* move advanced laser gun into t2 lasers tech

* t3 and troll

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-07 19:25:04 -07:00
PJBot
2f5641ef7d Automatic changelog update 2023-09-07 22:17:23 -04:00
Kevin Zheng
442cc7f659 Switch security techfab to produce magazines (#19769)
* Switch security techfab to produce magazines

* Add back ammo boxes
2023-09-07 19:16:19 -07:00
deltanedas
db2a4478b0 show non-sheet material units in lathe (#19896)
* locale for material units

* use material units in lathe ui

* give units to non-sheet materials

* :trollface:

* use volume properly

* :trollface:

* review

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-07 22:11:10 -04:00
Doru991
1c6d723515 Syndie airlocks (#19264)
* Add regular syndie access level

* Localize that

* Syndie airlock textures

* Yaml work

* guh

* Real

* Eated a word

* Just one more commit

* The game didn't complain about that one

* Make agent id have working agent access

* Change color scheme and palette

* Glass too because why not

* Nukie agent ID workaround
2023-09-07 19:19:56 -04:00
PJBot
a1f32ae8eb Automatic changelog update 2023-09-07 18:00:12 -04:00
deltanedas
7e77720f01 Scale radiation intensity with stack size (#19869) 2023-09-07 13:59:08 -08:00
chromiumboy
ad9c4433f4 Adjust file namespace scope (#19824) 2023-09-07 10:49:55 -08:00
liltenhead
005e89c352 Increase hardhat light radius (#19867) 2023-09-07 10:38:57 -08:00
PJBot
4de3e8c870 Automatic changelog update 2023-09-07 12:50:08 -04:00
Vasilis
2446c6a37b Hypo can inject solutions back into beakers (#19877)
* Inject to beakers

* Stop fighting in my pr

* Review
2023-09-07 09:49:02 -07:00
Errant
63c7bca04e Add pressure limit to gas tanks (#19879) 2023-09-06 21:37:23 -08:00
Morb
610a10fb85 Use full file path for temp replays (#19002) 2023-09-07 13:56:33 +10:00
PJBot
caddfda2b2 Automatic changelog update 2023-09-06 22:14:35 -04:00
Varen
8590d32760 FTL on a spaced tile yeets instead of gibs (#19883)
* -Changes gibbing on FTL when on a spaced tile to yeeting on FTL if you're not buckled and on a space tile.

* -Throw relative to local shuttle position instead, fine for most cases and more performant
-Use throw code to throw.

* Blanks removal

woops

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>

---------

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
2023-09-06 22:13:31 -04:00
PJBot
6880674442 Automatic changelog update 2023-09-06 21:22:18 -04:00
Velcroboy
1de23dc4d0 Adds Ganja Brownies (#19222) 2023-09-06 21:21:14 -04:00
Jackal298
b3420f2fbf Refinement of inventory of Disсond Dena (#19514) 2023-09-06 21:15:02 -04:00
PJBot
e9c6ac04d6 Automatic changelog update 2023-09-06 20:33:27 -04:00
lzk
08d0c78a25 grooog (#19870) 2023-09-06 20:32:23 -04:00
PJBot
621a88eb62 Automatic changelog update 2023-09-06 20:26:28 -04:00
EnDecc
f8eefc0725 Craftable steel secure crate (#19881)
* recipe

* i cast retest spell
2023-09-06 17:25:25 -07:00
PJBot
76dd75081d Automatic changelog update 2023-09-06 17:42:57 -04:00
potato1234_x
38f921f831 Semi revert glass tile resprite (#19266) 2023-09-06 14:41:53 -07:00
PJBot
f3b47431e7 Automatic changelog update 2023-09-06 14:19:18 -04:00
deltanedas
58812c6ae7 fix weldable (#19878)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-06 14:18:11 -04:00
Arimah Greene
3269438ea8 Assign a default value to ClickDamageModifier (#19871) 2023-09-06 21:06:09 +10:00
PJBot
d6c728cb27 Automatic changelog update 2023-09-06 04:31:28 -04:00
metalgearsloth
b25862365e Revert click damage mod (#19860)
Maybe swings should be default and we make the animation not shit and the prediction slightly better.
2023-09-06 03:30:23 -05:00
deltanedas
f2669b5771 Clean up APCs (#19841)
While here, fix an issue where APCs don't update the UI state after a load change.
2023-09-05 13:19:43 -08:00
lzk
8437038fd4 Adjust red glow stick glow duration (#19857) 2023-09-05 12:16:54 -08:00
PJBot
60a1ba62d3 Automatic changelog update 2023-09-05 16:16:10 -04:00
deltanedas
6d5c310b36 Make constructed hydro trays start empty (#19620) 2023-09-05 12:15:06 -08:00
daerSeebaer
048c7f8e04 Add atmos door to spray painter (#19852) 2023-09-05 09:46:30 -08:00
PJBot
198f61dfff Automatic changelog update 2023-09-05 13:21:09 -04:00
Slava0135
81388f77ed Add gas tank valve (#19830) 2023-09-05 09:20:05 -08:00
PJBot
b1eeb07da9 Automatic changelog update 2023-09-05 12:21:58 -04:00
deltanedas
a096e5be7e prevent magnet deconstruction when active (#19849)
* raise ToolUseAttemptEvent on target as well as tool

* prevent using tools on magnet when active

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-05 19:20:54 +03:00
Slava0135
ce54689e0c SpaceStation14.sln as default solution in VSCode (#19844) 2023-09-05 11:30:24 +03:00
PJBot
e4c0733cd5 Automatic changelog update 2023-09-04 23:43:13 -04:00
EnDecc
9c8e86e252 The Quartermaster Hardsuit (#19738)
* added Quartermaster hardsuit, and cargo order for it

* always some pocket lint

* DNM comments to relevant spots

* renames

* more renames, also pirate crate because gold luxury something something

* plus one id
2023-09-04 20:42:09 -07:00
Kevin Zheng
a251708ac9 Fix copy/paste error (#19836) 2023-09-04 20:29:43 -04:00
Kevin Zheng
55f51a3fc5 Update CODEOWNERS (#19835) 2023-09-04 20:29:24 -04:00
PJBot
38cb758050 Automatic changelog update 2023-09-04 18:34:50 -04:00
DrSmugleaf
0527d2e719 Fix barriers not working (#19774) 2023-09-04 15:33:40 -07:00
Leon Friedrich
e4ca6f4fb9 Allow solutions to store extra reagent data (#19323) 2023-09-05 07:55:10 +10:00
6094 changed files with 1242630 additions and 741180 deletions

View File

@@ -196,7 +196,7 @@ csharp_preserve_single_line_blocks = true
#dotnet_naming_style.begins_with_i.word_separator =
#dotnet_naming_style.begins_with_i.capitalization = pascal_case
dotnet_diagnostic.IDE0055.severity = warning
dotnet_diagnostic.ide0055.severity = warning
dotnet_naming_rule.constants_rule.severity = warning
dotnet_naming_rule.constants_rule.style = upper_camel_case_style
@@ -336,6 +336,10 @@ dotnet_naming_symbols.type_parameters_symbols.applicable_kinds = type_parameter
# ReSharper properties
resharper_braces_for_ifelse = required_for_multiline
resharper_keep_existing_attribute_arrangement = true
[*.{csproj,xml,yml,dll.config,msbuildproj,targets}]
[*.{csproj,xml,yml,yaml,dll.config,msbuildproj,targets}]
indent_size = 2
[{*.yaml,*.yml}]
ij_yaml_indent_sequence_value = false

View File

@@ -13,7 +13,7 @@ jobs:
if: github.actor != 'PJBot' && github.event.pull_request.draft == false
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}

View File

@@ -13,7 +13,7 @@ jobs:
if: github.actor != 'IanComradeBot' && github.event.pull_request.draft == false
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}

View File

@@ -1,62 +0,0 @@
name: Build & Test Release
on:
push:
branches: [ master, staging, trying ]
merge_group:
pull_request:
types: [ opened, reopened, synchronize, ready_for_review ]
branches: [ master ]
jobs:
build:
if: github.actor != 'IanComradeBot' && github.event.pull_request.draft == false
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout Master
uses: actions/checkout@v3.6.0
- name: Setup Submodule
run: |
git submodule update --init --recursive
- name: Pull engine updates
uses: space-wizards/submodule-dependency@v0.1.5
- name: Update Engine Submodules
run: |
cd RobustToolbox/
git submodule update --init --recursive
- name: Setup .NET Core
uses: actions/setup-dotnet@v3.2.0
with:
dotnet-version: 7.0.x
- name: Install dependencies
run: dotnet restore
- name: Build Project
run: dotnet build --configuration Tools --no-restore /p:WarningsAsErrors=nullable /m
- name: Run Content.Tests
run: dotnet test --configuration Tools --no-build Content.Tests/Content.Tests.csproj -- NUnit.ConsoleOut=0
- name: Run Content.IntegrationTests
shell: pwsh
run: |
$env:DOTNET_gcServer=1
dotnet test --configuration Tools --no-build Content.IntegrationTests/Content.IntegrationTests.csproj -- NUnit.ConsoleOut=0 NUnit.MapWarningTo=Failed
ci-success:
name: Build & Test Release
needs:
- build
runs-on: ubuntu-latest
steps:
- name: CI succeeded
run: exit 0

61
.github/workflows/publish-publish.yml vendored Normal file
View File

@@ -0,0 +1,61 @@
name: Publish Public
#concurrency:
# group: publish
on:
workflow_dispatch:
schedule:
- cron: '0 1 * * *'
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Check configuration
env:
PUBLIC_PATH: ${{ secrets.BUILDS_PUBLIC_PATH }}
if: ${{ env.PUBLIC_PATH == '' }}
uses: andymckay/cancel-action@0.3
- uses: actions/checkout@v3.6.0
with:
submodules: 'recursive'
- name: Setup .NET Core
uses: actions/setup-dotnet@v3.2.0
with:
dotnet-version: 7.0.x
- name: Get Engine Tag
run: |
cd RobustToolbox
git fetch --depth=1
- name: Package all
run: |
Tools/package_server_build.py --hybrid-acz -p win-x64 linux-x64 osx-x64 linux-arm64
- name: Shuffle files around
run: |
mkdir "release/${{ github.sha }}"
mv release/SS14.Server*.zip "release/${{ github.sha }}"
- name: Upload files to mothership
uses: burnett01/rsync-deployments@5.2
with:
switches: -avzr --ignore-existing
path: "release/${{ github.sha }}"
remote_path: ${{ secrets.BUILDS_PUBLIC_PATH }}
remote_host: ${{ secrets.BUILDS_HOST }}
remote_user: ${{ secrets.BUILDS_USERNAME }}
remote_key: ${{ secrets.BUILDS_SSH_KEY }}
- name: Generate public HTML
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.BUILDS_HOST }}
username: ${{ secrets.BUILDS_USERNAME }}
key: ${{ secrets.BUILDS_SSH_KEY }}
script: node ~/scripts/generate_html_page.js -fork ${{ vars.FORK_ID_PUBLIC }} -id ${{ github.sha }}

View File

@@ -6,7 +6,7 @@ concurrency:
on:
workflow_dispatch:
schedule:
- cron: '0 1 * * *'
- cron: '0 6 * * *'
jobs:
build:
@@ -32,8 +32,10 @@ jobs:
echo "HOST *" > ~/.ssh/config
echo "StrictHostKeyChecking no" >> ~/.ssh/config
git -c submodule.Secrets.update=checkout submodule update --init
cp -R Secrets/Prototypes Resources/Prototypes/CorvaxSecrets
cp -R Secrets/ServerPrototypes Resources/Prototypes/CorvaxSecretsServer
cp -R Secrets/Resources/Prototypes Resources/Prototypes/CorvaxSecrets
cp -R Secrets/Resources/ServerPrototypes Resources/Prototypes/CorvaxSecretsServer
cp -R Secrets/Resources/Locale Resources/Locale/ru-RU/corvax-secrets
cp -R Secrets/Resources/Textures Resources/Textures/CorvaxSecrets
# Corvax-Secrets-End
- name: Setup .NET Core
@@ -46,12 +48,21 @@ jobs:
cd RobustToolbox
git fetch --depth=1
- name: Package all
run: |
Tools/package_server_build.py -p win-x64 linux-x64 osx-x64 linux-arm64
Tools/package_client_build.py
- 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: Update Build Info
env:
FORK_ID: ${{ vars.FORK_ID }}
run: Tools/gen_build_info.py
- name: Shuffle files around
@@ -75,7 +86,7 @@ jobs:
host: ${{ secrets.BUILDS_HOST }}
username: ${{ secrets.BUILDS_USERNAME }}
key: ${{ secrets.BUILDS_SSH_KEY }}
script: node ~/scripts/push_to_manifest.js -fork syndicate -id ${{ github.sha }}
script: node ~/scripts/push_to_manifest.js -fork ${{ vars.FORK_ID }} -id ${{ github.sha }}
# - name: Publish changelog (Discord)
# run: Tools/actions_changelogs_since_last_run.py

View File

@@ -47,7 +47,7 @@ jobs:
run: |
cd RobustToolbox/
git submodule update --init --recursive
# Corvax-Secrets-Start
- name: Setup secrets
env:
@@ -70,12 +70,18 @@ jobs:
- name: Install dependencies
run: dotnet restore
- name: Package client
run: |
Tools/package_server_build.py -p win-x64 linux-x64 osx-x64 linux-arm64
Tools/package_client_build.py
- 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: Update Build Info
env:
FORK_ID: ${{ vars.FORK_ID }}
run: Tools/gen_build_info.py
- name: Shuffle files around

32
.github/workflows/update-credits.yml vendored Normal file
View File

@@ -0,0 +1,32 @@
name: Update Contrib and Patreons in credits
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
with:
ref: master
- name: Get this week's Contributors
shell: pwsh
run: Tools/dump_github_contributors.ps1 > Resources/Credits/GitHub.txt
# TODO
#- name: Get this week's Patreons
# run: Tools/script2dumppatreons > Resources/Credits/Patrons.yml
- 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>

View File

@@ -70,3 +70,12 @@ jobs:
username: ${{ secrets.WIKI_BOT_USER }}
password: ${{ secrets.WIKI_BOT_PASS }}
- name: Upload entity_prototypes.json to wiki
uses: jtmullen/mediawiki-edit-action@v0.1.1
with:
wiki_text_file: ./bin/Content.Server/data/entity_prototypes.json
edit_summary: Update entity_prototypes.json via GitHub Actions
page_name: "${{ secrets.WIKI_PAGE_ROOT }}/entity_prototypes.json"
api_url: ${{ secrets.WIKI_ROOT_URL }}/api.php
username: ${{ secrets.WIKI_BOT_USER }}
password: ${{ secrets.WIKI_BOT_PASS }}

3
.gitignore vendored
View File

@@ -13,6 +13,8 @@
# Secret
Resources/Prototypes/CorvaxSecrets
Resources/Prototypes/CorvaxSecretsServer
Resources/Textures/CorvaxSecrets
Resources/Locale/ru-RU/corvax-secrets
# Build results
[Dd]ebug/
@@ -166,6 +168,7 @@ PublishScripts/
# NuGet v3's project.json files produces more ignoreable files
*.nuget.props
*.nuget.targets
.nuget/
# Microsoft Azure Build Output
csx/

2
.gitmodules vendored
View File

@@ -4,6 +4,6 @@
branch = master
[submodule "Secrets"]
path = Secrets
url = git@gitlab.com:Morbo/corvax-secrets.git
url = git@github.com:corvax-project/secrets.git
branch = master
update = none

View File

@@ -1,3 +1,4 @@
{
"omnisharp.analyzeOpenDocumentsOnly": true
"omnisharp.analyzeOpenDocumentsOnly": true,
"dotnet.defaultSolution": "SpaceStation14.sln"
}

View File

@@ -1,7 +1,7 @@
using Content.Shared.Access;
using Content.Shared.Access.Components;
using Content.Shared.Access.Systems;
using Content.Shared.Containers.ItemSlots;
using Robust.Client.GameObjects;
using Robust.Shared.Prototypes;
using static Content.Shared.Access.Components.AccessOverriderComponent;
@@ -23,7 +23,7 @@ namespace Content.Client.Access.UI
{
base.Open();
List<string> accessLevels;
List<ProtoId<AccessLevelPrototype>> accessLevels;
if (EntMan.TryGetComponent<AccessOverriderComponent>(Owner, out var accessOverrider))
{
@@ -33,7 +33,7 @@ namespace Content.Client.Access.UI
else
{
accessLevels = new List<string>();
accessLevels = new List<ProtoId<AccessLevelPrototype>>();
_accessOverriderSystem.Log.Error($"No AccessOverrider component found for {EntMan.ToPrettyString(Owner)}!");
}

View File

@@ -21,7 +21,7 @@ namespace Content.Client.Access.UI
private readonly Dictionary<string, Button> _accessButtons = new();
public AccessOverriderWindow(AccessOverriderBoundUserInterface owner, IPrototypeManager prototypeManager,
List<string> accessLevels)
List<ProtoId<AccessLevelPrototype>> accessLevels)
{
RobustXamlLoader.Load(this);
IoCManager.InjectDependencies(this);
@@ -31,7 +31,7 @@ namespace Content.Client.Access.UI
foreach (var access in accessLevels)
{
if (!prototypeManager.TryIndex<AccessLevelPrototype>(access, out var accessLevel))
if (!prototypeManager.TryIndex(access, out var accessLevel))
{
_logMill.Error($"Unable to find accesslevel for {access}");
continue;

View File

@@ -1,10 +1,11 @@
using Content.Shared.Access;
using Content.Shared.Access.Components;
using Content.Shared.Access.Systems;
using Content.Shared.Containers.ItemSlots;
using Content.Shared.CrewManifest;
using Robust.Client.GameObjects;
using Robust.Shared.Prototypes;
using static Content.Shared.Access.Components.IdCardConsoleComponent;
namespace Content.Client.Access.UI
{
public sealed class IdCardConsoleBoundUserInterface : BoundUserInterface
@@ -22,7 +23,7 @@ namespace Content.Client.Access.UI
protected override void Open()
{
base.Open();
List<string> accessLevels;
List<ProtoId<AccessLevelPrototype>> accessLevels;
if (EntMan.TryGetComponent<IdCardConsoleComponent>(Owner, out var idCard))
{
@@ -31,7 +32,7 @@ namespace Content.Client.Access.UI
}
else
{
accessLevels = new List<string>();
accessLevels = new List<ProtoId<AccessLevelPrototype>>();
_idCardConsoleSystem.Log.Error($"No IdCardConsole component found for {EntMan.ToPrettyString(Owner)}!");
}

View File

@@ -28,7 +28,7 @@ namespace Content.Client.Access.UI
private string? _lastJobProto;
public IdCardConsoleWindow(IdCardConsoleBoundUserInterface owner, IPrototypeManager prototypeManager,
List<string> accessLevels)
List<ProtoId<AccessLevelPrototype>> accessLevels)
{
RobustXamlLoader.Load(this);
IoCManager.InjectDependencies(this);

View File

@@ -1,11 +1,9 @@
using Content.Shared.Actions.ActionTypes;
namespace Content.Client.Actions;
/// <summary>
/// This event is raised when a user clicks on an empty action slot. Enables other systems to fill this slow.
/// This event is raised when a user clicks on an empty action slot. Enables other systems to fill this slot.
/// </summary>
public sealed class FillActionSlotEvent : EntityEventArgs
{
public ActionType? Action;
public EntityUid? Action;
}

View File

@@ -1,9 +1,7 @@
using System.IO;
using System.Linq;
using Content.Shared.Actions;
using Content.Shared.Actions.ActionTypes;
using JetBrains.Annotations;
using Robust.Client.GameObjects;
using Robust.Client.Player;
using Robust.Shared.ContentPack;
using Robust.Shared.GameStates;
@@ -12,6 +10,7 @@ using Robust.Shared.Serialization.Manager;
using Robust.Shared.Serialization.Markdown;
using Robust.Shared.Serialization.Markdown.Mapping;
using Robust.Shared.Serialization.Markdown.Sequence;
using Robust.Shared.Serialization.Markdown.Value;
using Robust.Shared.Utility;
using YamlDotNet.RepresentationModel;
@@ -20,37 +19,98 @@ namespace Content.Client.Actions
[UsedImplicitly]
public sealed class ActionsSystem : SharedActionsSystem
{
public delegate void OnActionReplaced(ActionType existing, ActionType action);
public delegate void OnActionReplaced(EntityUid actionId);
[Dependency] private readonly IPlayerManager _playerManager = default!;
[Dependency] private readonly IResourceManager _resources = default!;
[Dependency] private readonly ISerializationManager _serialization = default!;
[Dependency] private readonly MetaDataSystem _metaData = default!;
public event Action<ActionType>? ActionAdded;
public event Action<ActionType>? ActionRemoved;
public event OnActionReplaced? ActionReplaced;
public event Action<EntityUid>? OnActionAdded;
public event Action<EntityUid>? OnActionRemoved;
public event Action? ActionsUpdated;
public event Action<ActionsComponent>? LinkActions;
public event Action? UnlinkActions;
public event Action? ClearAssignments;
public event Action<List<SlotAssignment>>? AssignSlot;
public ActionsComponent? PlayerActions { get; private set; }
private readonly List<EntityUid> _removed = new();
private readonly List<(EntityUid, BaseActionComponent?)> _added = new();
public override void Initialize()
{
base.Initialize();
SubscribeLocalEvent<ActionsComponent, PlayerAttachedEvent>(OnPlayerAttached);
SubscribeLocalEvent<ActionsComponent, PlayerDetachedEvent>(OnPlayerDetached);
SubscribeLocalEvent<ActionsComponent, LocalPlayerAttachedEvent>(OnPlayerAttached);
SubscribeLocalEvent<ActionsComponent, LocalPlayerDetachedEvent>(OnPlayerDetached);
SubscribeLocalEvent<ActionsComponent, ComponentHandleState>(HandleComponentState);
SubscribeLocalEvent<InstantActionComponent, ComponentHandleState>(OnInstantHandleState);
SubscribeLocalEvent<EntityTargetActionComponent, ComponentHandleState>(OnEntityTargetHandleState);
SubscribeLocalEvent<WorldTargetActionComponent, ComponentHandleState>(OnWorldTargetHandleState);
}
public override void Dirty(ActionType action)
private void OnInstantHandleState(EntityUid uid, InstantActionComponent component, ref ComponentHandleState args)
{
if (args.Current is not InstantActionComponentState state)
return;
BaseHandleState<InstantActionComponent>(uid, component, state);
}
private void OnEntityTargetHandleState(EntityUid uid, EntityTargetActionComponent component, ref ComponentHandleState args)
{
if (args.Current is not EntityTargetActionComponentState state)
return;
component.Whitelist = state.Whitelist;
component.CanTargetSelf = state.CanTargetSelf;
BaseHandleState<EntityTargetActionComponent>(uid, component, state);
}
private void OnWorldTargetHandleState(EntityUid uid, WorldTargetActionComponent component, ref ComponentHandleState args)
{
if (args.Current is not WorldTargetActionComponentState state)
return;
BaseHandleState<WorldTargetActionComponent>(uid, component, state);
}
private void BaseHandleState<T>(EntityUid uid, BaseActionComponent component, BaseActionComponentState state) where T : BaseActionComponent
{
component.Icon = state.Icon;
component.IconOn = state.IconOn;
component.IconColor = state.IconColor;
component.Keywords = new HashSet<string>(state.Keywords);
component.Enabled = state.Enabled;
component.Toggled = state.Toggled;
component.Cooldown = state.Cooldown;
component.UseDelay = state.UseDelay;
component.Charges = state.Charges;
component.Container = EnsureEntity<T>(state.Container, uid);
component.EntityIcon = EnsureEntity<T>(state.EntityIcon, uid);
component.CheckCanInteract = state.CheckCanInteract;
component.ClientExclusive = state.ClientExclusive;
component.Priority = state.Priority;
component.AttachedEntity = EnsureEntity<T>(state.AttachedEntity, uid);
component.RaiseOnUser = state.RaiseOnUser;
component.AutoPopulate = state.AutoPopulate;
component.Temporary = state.Temporary;
component.ItemIconStyle = state.ItemIconStyle;
component.Sound = state.Sound;
if (_playerManager.LocalPlayer?.ControlledEntity == component.AttachedEntity)
ActionsUpdated?.Invoke();
}
protected override void UpdateAction(EntityUid? actionId, BaseActionComponent? action = null)
{
if (!ResolveActionData(actionId, ref action))
return;
base.UpdateAction(actionId, action);
if (_playerManager.LocalPlayer?.ControlledEntity != action.AttachedEntity)
return;
base.Dirty(action);
ActionsUpdated?.Invoke();
}
@@ -59,124 +119,107 @@ namespace Content.Client.Actions
if (args.Current is not ActionsComponentState state)
return;
state.SortedActions ??= new SortedSet<ActionType>(state.Actions);
var serverActions = state.SortedActions;
var removed = new List<ActionType>();
foreach (var act in component.Actions.ToList())
_added.Clear();
_removed.Clear();
var stateEnts = EnsureEntitySet<ActionsComponent>(state.Actions, uid);
foreach (var act in component.Actions)
{
if (act.ClientExclusive)
continue;
if (!serverActions.TryGetValue(act, out var serverAct))
{
component.Actions.Remove(act);
if (act.AutoRemove)
removed.Add(act);
continue;
}
act.CopyFrom(serverAct);
if (!stateEnts.Contains(act) && !IsClientSide(act))
_removed.Add(act);
}
component.Actions.ExceptWith(_removed);
var added = new List<ActionType>();
// Anything that remains is a new action
foreach (var newAct in serverActions)
foreach (var actionId in stateEnts)
{
if (component.Actions.Contains(newAct))
if (!actionId.IsValid())
continue;
// We create a new action, not just sorting a reference to the state's action.
var action = (ActionType) newAct.Clone();
component.Actions.Add(action);
added.Add(action);
if (!component.Actions.Add(actionId))
continue;
TryGetActionData(actionId, out var action);
_added.Add((actionId, action));
}
if (_playerManager.LocalPlayer?.ControlledEntity != uid)
return;
foreach (var action in removed)
foreach (var action in _removed)
{
ActionRemoved?.Invoke(action);
OnActionRemoved?.Invoke(action);
}
foreach (var action in added)
_added.Sort(ActionComparer);
foreach (var action in _added)
{
ActionAdded?.Invoke(action);
OnActionAdded?.Invoke(action.Item1);
}
ActionsUpdated?.Invoke();
}
protected override void AddActionInternal(ActionsComponent comp, ActionType action)
public static int ActionComparer((EntityUid, BaseActionComponent?) a, (EntityUid, BaseActionComponent?) b)
{
// Sometimes the client receives actions from the server, before predicting that newly added components will add
// their own shared actions. Just in case those systems ever decided to directly access action properties (e.g.,
// action.Toggled), we will remove duplicates:
if (comp.Actions.TryGetValue(action, out var existing))
{
comp.Actions.Remove(existing);
ActionReplaced?.Invoke(existing, action);
}
var priorityA = a.Item2?.Priority ?? 0;
var priorityB = b.Item2?.Priority ?? 0;
if (priorityA != priorityB)
return priorityA - priorityB;
comp.Actions.Add(action);
priorityA = a.Item2?.Container?.Id ?? 0;
priorityB = b.Item2?.Container?.Id ?? 0;
return priorityA - priorityB;
}
public override void AddAction(EntityUid uid, ActionType action, EntityUid? provider, ActionsComponent? comp = null, bool dirty = true)
protected override void ActionAdded(EntityUid performer, EntityUid actionId, ActionsComponent comp,
BaseActionComponent action)
{
if (!Resolve(uid, ref comp, false))
if (_playerManager.LocalPlayer?.ControlledEntity != performer)
return;
dirty &= !action.ClientExclusive;
base.AddAction(uid, action, provider, comp, dirty);
if (uid == _playerManager.LocalPlayer?.ControlledEntity)
ActionAdded?.Invoke(action);
OnActionAdded?.Invoke(actionId);
}
public override void RemoveAction(EntityUid uid, ActionType action, ActionsComponent? comp = null, bool dirty = true)
protected override void ActionRemoved(EntityUid performer, EntityUid actionId, ActionsComponent comp, BaseActionComponent action)
{
if (GameTiming.ApplyingState && !action.ClientExclusive)
if (_playerManager.LocalPlayer?.ControlledEntity != performer)
return;
if (!Resolve(uid, ref comp, false))
return;
dirty &= !action.ClientExclusive;
base.RemoveAction(uid, action, comp, dirty);
if (action.AutoRemove && uid == _playerManager.LocalPlayer?.ControlledEntity)
ActionRemoved?.Invoke(action);
OnActionRemoved?.Invoke(actionId);
}
private void OnPlayerAttached(EntityUid uid, ActionsComponent component, PlayerAttachedEvent args)
public IEnumerable<(EntityUid Id, BaseActionComponent Comp)> GetClientActions()
{
if (_playerManager.LocalPlayer?.ControlledEntity is not { } user)
return Enumerable.Empty<(EntityUid, BaseActionComponent)>();
return GetActions(user);
}
private void OnPlayerAttached(EntityUid uid, ActionsComponent component, LocalPlayerAttachedEvent args)
{
LinkAllActions(component);
}
private void OnPlayerDetached(EntityUid uid, ActionsComponent component, PlayerDetachedEvent? args = null)
private void OnPlayerDetached(EntityUid uid, ActionsComponent component, LocalPlayerDetachedEvent? args = null)
{
UnlinkAllActions();
}
public void UnlinkAllActions()
{
PlayerActions = null;
UnlinkActions?.Invoke();
}
public void LinkAllActions(ActionsComponent? actions = null)
{
var player = _playerManager.LocalPlayer?.ControlledEntity;
if (player == null || !Resolve(player.Value, ref actions, false))
if (_playerManager.LocalPlayer?.ControlledEntity is not { } user ||
!Resolve(user, ref actions, false))
{
return;
}
LinkActions?.Invoke(actions);
PlayerActions = actions;
}
public override void Shutdown()
@@ -185,61 +228,37 @@ namespace Content.Client.Actions
CommandBinds.Unregister<ActionsSystem>();
}
public void TriggerAction(ActionType? action)
public void TriggerAction(EntityUid actionId, BaseActionComponent action)
{
if (PlayerActions == null || action == null || _playerManager.LocalPlayer?.ControlledEntity is not { Valid: true } user)
return;
if (action.Provider != null && Deleted(action.Provider))
return;
if (action is not InstantAction instantAction)
if (_playerManager.LocalPlayer?.ControlledEntity is not { } user ||
!TryComp(user, out ActionsComponent? actions))
{
return;
}
if (action is not InstantActionComponent instantAction)
return;
if (action.ClientExclusive)
{
if (instantAction.Event != null)
instantAction.Event.Performer = user;
PerformAction(user, PlayerActions, instantAction, instantAction.Event, GameTiming.CurTime);
PerformAction(user, actions, actionId, instantAction, instantAction.Event, GameTiming.CurTime);
}
else
{
var request = new RequestPerformActionEvent(instantAction);
var request = new RequestPerformActionEvent(GetNetEntity(actionId));
EntityManager.RaisePredictiveEvent(request);
}
}
/*public void SaveActionAssignments(string path)
{
// Currently only tested with temporary innate actions (i.e., mapping actions). No guarantee it works with
// other actions. If its meant to be used for full game state saving/loading, the entity that provides
// actions needs to keep the same uid.
var sequence = new SequenceDataNode();
foreach (var (action, assigns) in Assignments.Assignments)
{
var slot = new MappingDataNode();
slot.Add("action", _serializationManager.WriteValue(action));
slot.Add("assignments", _serializationManager.WriteValue(assigns));
sequence.Add(slot);
}
using var writer = _resourceManager.UserData.OpenWriteText(new ResourcePath(path).ToRootedPath());
var stream = new YamlStream { new(sequence.ToSequenceNode()) };
stream.Save(new YamlMappingFix(new Emitter(writer)), false);
}*/
/// <summary>
/// Load actions and their toolbar assignments from a file.
/// </summary>
public void LoadActionAssignments(string path, bool userData)
{
if (PlayerActions == null)
if (_playerManager.LocalPlayer?.ControlledEntity is not { } user)
return;
var file = new ResPath(path).ToRootedPath();
@@ -265,17 +284,13 @@ namespace Content.Client.Actions
if (!map.TryGet("action", out var actionNode))
continue;
var action = _serialization.Read<ActionType>(actionNode, notNullableOverride: true);
var action = _serialization.Read<BaseActionComponent>(actionNode, notNullableOverride: true);
var actionId = Spawn(null);
AddComp(actionId, action);
AddActionDirect(user, actionId);
if (PlayerActions.Actions.TryGetValue(action, out var existingAction))
{
existingAction.CopyFrom(action);
action = existingAction;
}
else
{
PlayerActions.Actions.Add(action);
}
if (map.TryGet<ValueDataNode>("name", out var nameNode))
_metaData.SetEntityName(actionId, nameNode.Value);
if (!map.TryGet("assignments", out var assignmentNode))
continue;
@@ -284,7 +299,7 @@ namespace Content.Client.Actions
foreach (var index in nodeAssignments)
{
var assignment = new SlotAssignment(index.Hotbar, index.Slot, action);
var assignment = new SlotAssignment(index.Hotbar, index.Slot, actionId);
assignments.Add(assignment);
}
}
@@ -292,6 +307,6 @@ namespace Content.Client.Actions
AssignSlot?.Invoke(assignments);
}
public record struct SlotAssignment(byte Hotbar, byte Slot, ActionType Action);
public record struct SlotAssignment(byte Hotbar, byte Slot, EntityUid ActionId);
}
}

View File

@@ -1,9 +1,5 @@
using System;
using Content.Client.Stylesheets;
using Content.Shared.Actions;
using Content.Shared.Actions.ActionTypes;
using Content.Client.Stylesheets;
using Robust.Client.UserInterface.Controls;
using Robust.Shared.IoC;
using Robust.Shared.Timing;
using Robust.Shared.Utility;
using static Robust.Client.UserInterface.Controls.BoxContainer;

View File

@@ -35,20 +35,21 @@ namespace Content.Client.Administration
foreach (var playerInfo in _system.PlayerList)
{
var entity = _entityManager.GetEntity(playerInfo.NetEntity);
// Otherwise the entity can not exist yet
if (!_entityManager.EntityExists(playerInfo.EntityUid))
if (entity == null || !_entityManager.EntityExists(entity))
{
continue;
}
var entity = playerInfo.EntityUid.Value;
// if not on the same map, continue
if (_entityManager.GetComponent<TransformComponent>(entity).MapID != _eyeManager.CurrentMap)
if (_entityManager.GetComponent<TransformComponent>(entity.Value).MapID != _eyeManager.CurrentMap)
{
continue;
}
var aabb = _entityLookup.GetWorldAABB(entity);
var aabb = _entityLookup.GetWorldAABB(entity.Value);
// if not on screen, continue
if (!aabb.Intersects(in viewport))

View File

@@ -4,7 +4,7 @@ using Robust.Client.Console;
using Robust.Client.Player;
using Robust.Shared.ContentPack;
using Robust.Shared.Network;
using Robust.Shared.Players;
using Robust.Shared.Player;
using Robust.Shared.Utility;
namespace Content.Client.Administration.Managers
@@ -130,5 +130,13 @@ namespace Content.Client.Administration.Managers
return null;
}
public AdminData? GetAdminData(bool includeDeAdmin = false)
{
if (_player.LocalPlayer is { Session: { } session })
return GetAdminData(session, includeDeAdmin);
return null;
}
}
}

View File

@@ -1,5 +1,4 @@
using System;
using Content.Shared.Administration;
using Content.Shared.Administration;
namespace Content.Client.Administration.Managers
{
@@ -13,6 +12,15 @@ namespace Content.Client.Administration.Managers
/// </summary>
event Action AdminStatusUpdated;
/// <summary>
/// Gets the admin data for the client, if they are an admin.
/// </summary>
/// <param name="includeDeAdmin">
/// Whether to return admin data for admins that are current de-adminned.
/// </param>
/// <returns><see langword="null" /> if the player is not an admin.</returns>
AdminData? GetAdminData(bool includeDeAdmin = false);
/// <summary>
/// Checks whether the local player is an admin.
/// </summary>
@@ -52,5 +60,17 @@ namespace Content.Client.Administration.Managers
bool CanAdminMenu();
void Initialize();
/// <summary>
/// Checks if the client is an admin.
/// </summary>
/// <param name="includeDeAdmin">
/// Whether to return admin data for admins that are current de-adminned.
/// </param>
/// <returns>true if the player is an admin, false otherwise.</returns>
bool IsAdmin(bool includeDeAdmin = false)
{
return GetAdminData(includeDeAdmin) != null;
}
}
}

View File

@@ -24,12 +24,13 @@ namespace Content.Client.Administration.Systems
// View variables verbs
if (_clientConGroupController.CanViewVar())
{
Verb verb = new();
verb.Category = VerbCategory.Debug;
verb.Text = "View Variables";
verb.Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/vv.svg.192dpi.png"));
verb.Act = () => _clientConsoleHost.ExecuteCommand($"vv {args.Target}");
verb.ClientExclusive = true; // opening VV window is client-side. Don't ask server to run this verb.
var verb = new VvVerb()
{
Text = Loc.GetString("view-variables"),
Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/vv.svg.192dpi.png")),
Act = () => _clientConsoleHost.ExecuteCommand($"vv {GetNetEntity(args.Target)}"),
ClientExclusive = true // opening VV window is client-side. Don't ask server to run this verb.
};
args.Verbs.Add(verb);
}
}

View File

@@ -5,13 +5,15 @@
xmlns:atmosTab="clr-namespace:Content.Client.Administration.UI.Tabs.AtmosTab"
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:objectsTab="clr-namespace:Content.Client.Administration.UI.Tabs.ObjectsTab"
xmlns:panic="clr-namespace:Content.Client.Administration.UI.Tabs.PanicBunkerTab">
<TabContainer Name="MasterTabContainer">
<adminTab:AdminTab />
<adminbusTab:AdminbusTab />
<atmosTab:AtmosTab />
<tabs:RoundTab />
<tabs:ServerTab />
<panic:PanicBunkerTab Name="PanicBunkerControl" Access="Public" />
<playerTab:PlayerTab Name="PlayerTabControl" Access="Public" />
<objectsTab:ObjectsTab Name="ObjectsTabControl" Access="Public" />
</TabContainer>

View File

@@ -12,7 +12,7 @@ namespace Content.Client.Administration.UI
public AdminMenuWindow()
{
MinSize = new Vector2(600, 250); // Corvax-Resize
MinSize = new Vector2(650, 250);
Title = Loc.GetString("admin-menu-title");
RobustXamlLoader.Load(this);
MasterTabContainer.SetTabTitle(0, Loc.GetString("admin-menu-admin-tab"));
@@ -20,8 +20,9 @@ namespace Content.Client.Administration.UI
MasterTabContainer.SetTabTitle(2, Loc.GetString("admin-menu-atmos-tab"));
MasterTabContainer.SetTabTitle(3, Loc.GetString("admin-menu-round-tab"));
MasterTabContainer.SetTabTitle(4, Loc.GetString("admin-menu-server-tab"));
MasterTabContainer.SetTabTitle(5, Loc.GetString("admin-menu-players-tab"));
MasterTabContainer.SetTabTitle(6, Loc.GetString("admin-menu-objects-tab"));
MasterTabContainer.SetTabTitle(5, Loc.GetString("admin-menu-panic-bunker-tab"));
MasterTabContainer.SetTabTitle(6, Loc.GetString("admin-menu-players-tab"));
MasterTabContainer.SetTabTitle(7, Loc.GetString("admin-menu-objects-tab"));
}
protected override void Dispose(bool disposing)

View File

@@ -1,13 +1,9 @@
<ui:FancyWindow xmlns="https://spacestation14.io"
xmlns:ui="clr-namespace:Content.Client.UserInterface.Controls"
xmlns:graphics="clr-namespace:Robust.Client.Graphics;assembly=Robust.Client"
VerticalExpand="True" HorizontalExpand="True"
Title="{Loc admin-notes-message-window-title}"
MinSize="600 170">
<PanelContainer VerticalExpand="True" HorizontalExpand="True">
<PanelContainer.PanelOverride>
<graphics:StyleBoxFlat BackgroundColor="#25252A" />
</PanelContainer.PanelOverride>
<PanelContainer VerticalExpand="True" HorizontalExpand="True" StyleClasses="BackgroundDark">
<ScrollContainer HScrollEnabled="False" VerticalExpand="True" HorizontalExpand="True" Margin="4">
<BoxContainer Orientation="Vertical" SeparationOverride="10" VerticalAlignment="Bottom">
<Label Name="AdminLabel" Text="Loading..." />

View File

@@ -1,13 +1,9 @@
<ui:FancyWindow xmlns="https://spacestation14.io"
xmlns:ui="clr-namespace:Content.Client.UserInterface.Controls"
xmlns:graphics="clr-namespace:Robust.Client.Graphics;assembly=Robust.Client"
VerticalExpand="True" HorizontalExpand="True"
Title="{Loc admin-remarks-title}"
SetSize="600 400">
<PanelContainer>
<PanelContainer.PanelOverride>
<graphics:StyleBoxFlat BackgroundColor="#25252A" />
</PanelContainer.PanelOverride>
<PanelContainer StyleClasses="BackgroundDark">
<BoxContainer Orientation="Vertical" Margin="4">
<ScrollContainer VerticalExpand="True" HorizontalExpand="True" HScrollEnabled="False">
<BoxContainer Orientation="Vertical" Name="NotesContainer" Access="Public" VerticalExpand="True" />

View File

@@ -0,0 +1,59 @@
using System.Threading;
using Content.Client.Stylesheets;
using Robust.Client.UserInterface.Controls;
using Timer = Robust.Shared.Timing.Timer;
namespace Content.Client.Administration.UI;
public static class AdminUIHelpers
{
private static void ResetButton(Button button, ConfirmationData data)
{
data.Cancellation.Cancel();
button.ModulateSelfOverride = null;
button.Text = data.OriginalText;
}
public static bool RemoveConfirm(Button button, Dictionary<Button, ConfirmationData> confirmations)
{
if (confirmations.Remove(button, out var data))
{
ResetButton(button, data);
return true;
}
return false;
}
public static void RemoveAllConfirms(Dictionary<Button, ConfirmationData> confirmations)
{
foreach (var (button, confirmation) in confirmations)
{
ResetButton(button, confirmation);
}
confirmations.Clear();
}
public static bool TryConfirm(Button button, Dictionary<Button, ConfirmationData> confirmations)
{
if (RemoveConfirm(button, confirmations))
return true;
var data = new ConfirmationData(new CancellationTokenSource(), button.Text);
confirmations[button] = data;
Timer.Spawn(TimeSpan.FromSeconds(5), () =>
{
confirmations.Remove(button);
button.ModulateSelfOverride = null;
button.Text = data.OriginalText;
}, data.Cancellation.Token);
button.ModulateSelfOverride = StyleNano.ButtonColorCautionDefault;
button.Text = Loc.GetString("admin-player-actions-confirm");
return false;
}
}
public readonly record struct ConfirmationData(CancellationTokenSource Cancellation, string? OriginalText);

View File

@@ -1,15 +0,0 @@
<controls:BanListControl
xmlns="https://spacestation14.io"
xmlns:controls="clr-namespace:Content.Client.Administration.UI.BanList"
xmlns:graphics="clr-namespace:Robust.Client.Graphics;assembly=Robust.Client">
<PanelContainer>
<PanelContainer.PanelOverride>
<graphics:StyleBoxFlat BackgroundColor="#25252A"/>
</PanelContainer.PanelOverride>
<ScrollContainer>
<BoxContainer Name="Bans" Access="Public" Orientation="Vertical">
<controls:BanListHeader Name="BansHeader"/>
</BoxContainer>
</ScrollContainer>
</PanelContainer>
</controls:BanListControl>

View File

@@ -1,76 +0,0 @@
using System.Linq;
using System.Numerics;
using Content.Client.Administration.UI.CustomControls;
using Content.Shared.Administration.BanList;
using Robust.Client.AutoGenerated;
using Robust.Client.UserInterface;
using Robust.Client.UserInterface.XAML;
namespace Content.Client.Administration.UI.BanList;
[GenerateTypedNameReferences]
public sealed partial class BanListControl : Control
{
private BanListIdsPopup? _popup;
public BanListControl()
{
RobustXamlLoader.Load(this);
}
public void SetBans(List<SharedServerBan> bans)
{
foreach (var control in Bans.Children.ToArray()[1..])
{
control.Orphan();
}
foreach (var ban in bans)
{
Bans.AddChild(new HSeparator());
var line = new BanListLine(ban);
line.OnIdsClicked += LineIdsClicked;
Bans.AddChild(line);
}
}
private void ClosePopup()
{
_popup?.Close();
_popup = null;
}
private bool LineIdsClicked(BanListLine line)
{
ClosePopup();
var ban = line.Ban;
var id = ban.Id == null ? string.Empty : Loc.GetString("ban-list-id", ("id", ban.Id.Value));
var ip = ban.Address == null
? string.Empty
: Loc.GetString("ban-list-ip", ("ip", ban.Address.Value.address));
var hwid = ban.HWId == null ? string.Empty : Loc.GetString("ban-list-hwid", ("hwid", ban.HWId));
var guid = ban.UserId == null
? string.Empty
: Loc.GetString("ban-list-guid", ("guid", ban.UserId.Value.ToString()));
_popup = new BanListIdsPopup(id, ip, hwid, guid);
var box = UIBox2.FromDimensions(UserInterfaceManager.MousePositionScaled.Position, new Vector2(1, 1));
_popup.Open(box);
return true;
}
protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
if (_popup != null)
{
UserInterfaceManager.PopupRoot.RemoveChild(_popup);
}
}
}

View File

@@ -1,21 +1,47 @@
using Content.Client.Eui;
using System.Numerics;
using Content.Client.Administration.UI.BanList.Bans;
using Content.Client.Administration.UI.BanList.RoleBans;
using Content.Client.Eui;
using Content.Shared.Administration.BanList;
using Content.Shared.Eui;
using Content.Shared.Ghost.Roles;
using JetBrains.Annotations;
using Robust.Client.UserInterface;
namespace Content.Client.Administration.UI.BanList;
[UsedImplicitly]
public sealed class BanListEui : BaseEui
{
[Dependency] private readonly IUserInterfaceManager _ui = default!;
private BanListIdsPopup? _popup;
public BanListEui()
{
BanWindow = new BanListWindow();
BanWindow.OnClose += OnClosed;
BanControl = BanWindow.BanList;
BanControl.LineIdsClicked += OnLineIdsClicked;
RoleBanControl = BanWindow.RoleBanList;
RoleBanControl.LineIdsClicked += OnLineIdsClicked;
}
private BanListWindow BanWindow { get; }
private BanListControl BanControl { get; }
private RoleBanListControl RoleBanControl { get; }
private void OnClosed()
{
if (_popup != null)
{
_popup.Close();
_popup.Dispose();
_popup = null;
}
SendMessage(new CloseEuiMessage());
}
@@ -25,10 +51,6 @@ public sealed class BanListEui : BaseEui
BanWindow.Close();
}
private BanListWindow BanWindow { get; }
private BanListControl BanControl { get; }
public override void HandleState(EuiStateBase state)
{
if (state is not BanListEuiState s)
@@ -38,10 +60,58 @@ public sealed class BanListEui : BaseEui
s.Bans.Sort((a, b) => a.BanTime.CompareTo(b.BanTime));
BanControl.SetBans(s.Bans);
RoleBanControl.SetRoleBans(s.RoleBans);
}
public override void Opened()
{
BanWindow.OpenCentered();
}
private static string FormatDate(DateTimeOffset date)
{
return date.ToString("MM/dd/yyyy h:mm tt");
}
public static void SetData<T>(IBanListLine<T> line, SharedServerBan ban) where T : SharedServerBan
{
line.Reason.Text = ban.Reason;
line.BanTime.Text = FormatDate(ban.BanTime);
line.Expires.Text = ban.ExpirationTime == null
? Loc.GetString("ban-list-permanent")
: FormatDate(ban.ExpirationTime.Value);
if (ban.Unban is { } unban)
{
var unbanned = Loc.GetString("ban-list-unbanned", ("date", FormatDate(unban.UnbanTime)));
var unbannedBy = unban.UnbanningAdmin == null
? string.Empty
: $"\n{Loc.GetString("ban-list-unbanned-by", ("unbanner", unban.UnbanningAdmin))}";
line.Expires.Text += $"\n{unbanned}{unbannedBy}";
}
line.BanningAdmin.Text = ban.BanningAdminName;
}
private void OnLineIdsClicked<T>(IBanListLine<T> line) where T : SharedServerBan
{
_popup?.Close();
_popup = null;
var ban = line.Ban;
var id = ban.Id == null ? string.Empty : Loc.GetString("ban-list-id", ("id", ban.Id.Value));
var ip = ban.Address == null
? string.Empty
: Loc.GetString("ban-list-ip", ("ip", ban.Address.Value.address));
var hwid = ban.HWId == null ? string.Empty : Loc.GetString("ban-list-hwid", ("hwid", ban.HWId));
var guid = ban.UserId == null
? string.Empty
: Loc.GetString("ban-list-guid", ("guid", ban.UserId.Value.ToString()));
_popup = new BanListIdsPopup(id, ip, hwid, guid);
var box = UIBox2.FromDimensions(_ui.MousePositionScaled.Position, new Vector2(1, 1));
_popup.Open(box);
}
}

View File

@@ -1,9 +1,5 @@
<Popup xmlns="https://spacestation14.io"
xmlns:graphics="clr-namespace:Robust.Client.Graphics;assembly=Robust.Client">
<PanelContainer>
<PanelContainer.PanelOverride>
<graphics:StyleBoxFlat BackgroundColor="#25252A"/>
</PanelContainer.PanelOverride>
<Popup xmlns="https://spacestation14.io">
<PanelContainer StyleClasses="BackgroundDark">
<BoxContainer Orientation="Vertical">
<Label Name="ID" HorizontalExpand="True"/>
<Label Name="IP" HorizontalExpand="True"/>

View File

@@ -1,59 +0,0 @@
using Content.Shared.Administration.BanList;
using Robust.Client.AutoGenerated;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.XAML;
namespace Content.Client.Administration.UI.BanList;
[GenerateTypedNameReferences]
public sealed partial class BanListLine : BoxContainer
{
public readonly SharedServerBan Ban;
public event Func<BanListLine, bool>? OnIdsClicked;
public BanListLine(SharedServerBan ban)
{
RobustXamlLoader.Load(this);
Ban = ban;
IdsHidden.OnPressed += IdsPressed;
Reason.Text = ban.Reason;
BanTime.Text = FormatDate(ban.BanTime);
Expires.Text = ban.ExpirationTime == null
? Loc.GetString("ban-list-permanent")
: FormatDate(ban.ExpirationTime.Value);
if (ban.Unban is { } unban)
{
var unbanned = Loc.GetString("ban-list-unbanned", ("date", FormatDate(unban.UnbanTime)));
var unbannedBy = unban.UnbanningAdmin == null
? string.Empty
: $"\n{Loc.GetString("ban-list-unbanned-by", ("unbanner", unban.UnbanningAdmin))}";
Expires.Text += $"\n{unbanned}{unbannedBy}";
}
BanningAdmin.Text = ban.BanningAdminName;
}
private static string FormatDate(DateTimeOffset date)
{
return date.ToString("MM/dd/yyyy h:mm tt");
}
private void IdsPressed(BaseButton.ButtonEventArgs buttonEventArgs)
{
OnIdsClicked?.Invoke(this);
}
protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
IdsHidden.OnPressed -= IdsPressed;
OnIdsClicked = null;
}
}

View File

@@ -1,6 +1,11 @@
<controls:BanListWindow
xmlns="https://spacestation14.io"
xmlns:controls="clr-namespace:Content.Client.Administration.UI.BanList"
xmlns:bans="clr-namespace:Content.Client.Administration.UI.BanList.Bans"
xmlns:roleBans="clr-namespace:Content.Client.Administration.UI.BanList.RoleBans"
SetSize="1400 400">
<controls:BanListControl Name="BanList" Access="Public"/>
<TabContainer Name="TabContainer">
<bans:BanListControl Name="BanList" Access="Public"/>
<roleBans:RoleBanListControl Name="RoleBanList" Access="Public"/>
</TabContainer>
</controls:BanListWindow>

View File

@@ -10,6 +10,9 @@ public sealed partial class BanListWindow : DefaultWindow
public BanListWindow()
{
RobustXamlLoader.Load(this);
TabContainer.SetTabTitle(0, Loc.GetString("ban-list-bans"));
TabContainer.SetTabTitle(1, Loc.GetString("ban-list-role-bans"));
}
public void SetTitlePlayer(string playerName)

View File

@@ -0,0 +1,11 @@
<bans:BanListControl
xmlns="https://spacestation14.io"
xmlns:bans="clr-namespace:Content.Client.Administration.UI.BanList.Bans">
<PanelContainer StyleClasses="BackgroundDark">
<ScrollContainer>
<BoxContainer Name="Bans" Access="Public" Orientation="Vertical">
<bans:BanListHeader Name="BansHeader"/>
</BoxContainer>
</ScrollContainer>
</PanelContainer>
</bans:BanListControl>

View File

@@ -0,0 +1,36 @@
using Content.Client.Administration.UI.CustomControls;
using Content.Shared.Administration.BanList;
using Robust.Client.AutoGenerated;
using Robust.Client.UserInterface;
using Robust.Client.UserInterface.XAML;
namespace Content.Client.Administration.UI.BanList.Bans;
[GenerateTypedNameReferences]
public sealed partial class BanListControl : Control
{
public event Action<BanListLine>? LineIdsClicked;
public BanListControl()
{
RobustXamlLoader.Load(this);
}
public void SetBans(List<SharedServerBan> bans)
{
for (var i = Bans.ChildCount - 1; i >= 1; i--)
{
Bans.GetChild(i).Dispose();
}
foreach (var ban in bans)
{
Bans.AddChild(new HSeparator());
var line = new BanListLine(ban);
line.IdsClicked += LineIdsClicked;
Bans.AddChild(line);
}
}
}

View File

@@ -25,7 +25,6 @@
<Label Text="{Loc ban-list-header-banning-admin}"
SizeFlagsStretchRatio="2"
HorizontalExpand="True"/>
<cc:VSeparator/>
</BoxContainer>
</PanelContainer>
</ContainerButton>

View File

@@ -2,7 +2,7 @@
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.XAML;
namespace Content.Client.Administration.UI.BanList;
namespace Content.Client.Administration.UI.BanList.Bans;
[GenerateTypedNameReferences]
public sealed partial class BanListHeader : ContainerButton

View File

@@ -16,23 +16,26 @@
</BoxContainer>
<cc:VSeparator/>
<Label Name="Reason"
Access="Public"
SizeFlagsStretchRatio="6"
HorizontalExpand="True"
VerticalExpand="True"/>
<cc:VSeparator/>
<Label Name="BanTime"
Access="Public"
SizeFlagsStretchRatio="2"
HorizontalExpand="True"
ClipText="True"/>
<cc:VSeparator/>
<Label Name="Expires"
Access="Public"
SizeFlagsStretchRatio="4"
HorizontalExpand="True"
ClipText="True"/>
<cc:VSeparator/>
<Label Name="BanningAdmin"
Access="Public"
SizeFlagsStretchRatio="2"
HorizontalExpand="True"
ClipText="True"/>
<cc:VSeparator/>
</BoxContainer>

View File

@@ -0,0 +1,38 @@
using Content.Shared.Administration.BanList;
using Robust.Client.AutoGenerated;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.XAML;
using static Robust.Client.UserInterface.Controls.BaseButton;
namespace Content.Client.Administration.UI.BanList.Bans;
[GenerateTypedNameReferences]
public sealed partial class BanListLine : BoxContainer, IBanListLine<SharedServerBan>
{
public SharedServerBan Ban { get; }
public event Action<BanListLine>? IdsClicked;
public BanListLine(SharedServerBan ban)
{
RobustXamlLoader.Load(this);
Ban = ban;
IdsHidden.OnPressed += IdsPressed;
BanListEui.SetData(this, ban);
}
private void IdsPressed(ButtonEventArgs buttonEventArgs)
{
IdsClicked?.Invoke(this);
}
protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
IdsHidden.OnPressed -= IdsPressed;
IdsClicked = null;
}
}

View File

@@ -0,0 +1,13 @@
using Content.Shared.Administration.BanList;
using Robust.Client.UserInterface.Controls;
namespace Content.Client.Administration.UI.BanList;
public interface IBanListLine<T> where T : SharedServerBan
{
T Ban { get; }
Label Reason { get; }
Label BanTime { get; }
Label Expires { get; }
Label BanningAdmin { get; }
}

View File

@@ -0,0 +1,11 @@
<roleBans:RoleBanListControl
xmlns="https://spacestation14.io"
xmlns:roleBans="clr-namespace:Content.Client.Administration.UI.BanList.RoleBans">
<PanelContainer StyleClasses="BackgroundDark">
<ScrollContainer>
<BoxContainer Name="RoleBans" Access="Public" Orientation="Vertical">
<roleBans:RoleBanListHeader Name="BansHeader"/>
</BoxContainer>
</ScrollContainer>
</PanelContainer>
</roleBans:RoleBanListControl>

View File

@@ -0,0 +1,36 @@
using Content.Client.Administration.UI.CustomControls;
using Content.Shared.Administration.BanList;
using Robust.Client.AutoGenerated;
using Robust.Client.UserInterface;
using Robust.Client.UserInterface.XAML;
namespace Content.Client.Administration.UI.BanList.RoleBans;
[GenerateTypedNameReferences]
public sealed partial class RoleBanListControl : Control
{
public event Action<RoleBanListLine>? LineIdsClicked;
public RoleBanListControl()
{
RobustXamlLoader.Load(this);
}
public void SetRoleBans(List<SharedServerRoleBan> bans)
{
for (var i = RoleBans.ChildCount - 1; i >= 1; i--)
{
RoleBans.GetChild(i).Dispose();
}
foreach (var ban in bans)
{
RoleBans.AddChild(new HSeparator());
var line = new RoleBanListLine(ban);
line.IdsClicked += LineIdsClicked;
RoleBans.AddChild(line);
}
}
}

View File

@@ -0,0 +1,34 @@
<ContainerButton
xmlns="https://spacestation14.io"
xmlns:cc="clr-namespace:Content.Client.Administration.UI.CustomControls">
<PanelContainer Name="BackgroundPanel" Access="Public">
<BoxContainer
Orientation="Horizontal"
HorizontalExpand="True"
SeparationOverride="4">
<Label Text="{Loc ban-list-header-ids}"
SizeFlagsStretchRatio="1"
HorizontalExpand="True"/>
<cc:VSeparator/>
<Label Text="{Loc ban-list-header-reason}"
SizeFlagsStretchRatio="4.5"
HorizontalExpand="True"/>
<cc:VSeparator Name="ReasonSeparator" Access="Public"/>
<Label Text="{Loc ban-list-header-role}"
SizeFlagsStretchRatio="1.5"
HorizontalExpand="True"/>
<cc:VSeparator/>
<Label Text="{Loc ban-list-header-time}"
SizeFlagsStretchRatio="2"
HorizontalExpand="True"/>
<cc:VSeparator/>
<Label Text="{Loc ban-list-header-expires}"
SizeFlagsStretchRatio="4"
HorizontalExpand="True"/>
<cc:VSeparator/>
<Label Text="{Loc ban-list-header-banning-admin}"
SizeFlagsStretchRatio="2"
HorizontalExpand="True"/>
</BoxContainer>
</PanelContainer>
</ContainerButton>

View File

@@ -0,0 +1,14 @@
using Robust.Client.AutoGenerated;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.XAML;
namespace Content.Client.Administration.UI.BanList.RoleBans;
[GenerateTypedNameReferences]
public sealed partial class RoleBanListHeader : ContainerButton
{
public RoleBanListHeader()
{
RobustXamlLoader.Load(this);
}
}

View File

@@ -0,0 +1,46 @@
<BoxContainer
xmlns="https://spacestation14.io"
xmlns:cc="clr-namespace:Content.Client.Administration.UI.CustomControls"
Orientation="Horizontal"
HorizontalExpand="True"
SeparationOverride="4">
<BoxContainer Orientation="Vertical"
SizeFlagsStretchRatio="1"
HorizontalExpand="True"
RectClipContent="True">
<Button Name="IdsHidden"
Text="{Loc 'ban-list-view'}"
HorizontalExpand="True"
VerticalExpand="True"
MouseFilter="Pass"/>
</BoxContainer>
<cc:VSeparator/>
<Label Name="Reason"
Access="Public"
SizeFlagsStretchRatio="4.5"
HorizontalExpand="True"
VerticalExpand="True"/>
<cc:VSeparator/>
<Label Name="Role"
SizeFlagsStretchRatio="1.5"
HorizontalExpand="True"
VerticalExpand="True"/>
<cc:VSeparator/>
<Label Name="BanTime"
Access="Public"
SizeFlagsStretchRatio="2"
HorizontalExpand="True"
ClipText="True"/>
<cc:VSeparator/>
<Label Name="Expires"
Access="Public"
SizeFlagsStretchRatio="4"
HorizontalExpand="True"
ClipText="True"/>
<cc:VSeparator/>
<Label Name="BanningAdmin"
Access="Public"
SizeFlagsStretchRatio="2"
HorizontalExpand="True"
ClipText="True"/>
</BoxContainer>

View File

@@ -0,0 +1,40 @@
using Content.Shared.Administration.BanList;
using Robust.Client.AutoGenerated;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.XAML;
using static Robust.Client.UserInterface.Controls.BaseButton;
namespace Content.Client.Administration.UI.BanList.RoleBans;
[GenerateTypedNameReferences]
public sealed partial class RoleBanListLine : BoxContainer, IBanListLine<SharedServerRoleBan>
{
public SharedServerRoleBan Ban { get; }
public event Action<RoleBanListLine>? IdsClicked;
public RoleBanListLine(SharedServerRoleBan ban)
{
RobustXamlLoader.Load(this);
Ban = ban;
IdsHidden.OnPressed += IdsPressed;
BanListEui.SetData(this, ban);
Role.Text = ban.Role;
}
private void IdsPressed(ButtonEventArgs buttonEventArgs)
{
IdsClicked?.Invoke(this);
}
protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
IdsHidden.OnPressed -= IdsPressed;
IdsClicked = null;
}
}

View File

@@ -22,6 +22,7 @@
<LineEdit Name="HwidLine" MinWidth="100" HorizontalExpand="True" PlaceHolder="{Loc ban-panel-hwid}" ToolTip="{Loc ban-panel-ip-hwid-tooltip}" />
</BoxContainer>
<CheckBox Name="LastConnCheckbox" Margin="2" Text="{Loc ban-panel-last-conn}" Pressed="True" />
<CheckBox Name="EraseCheckbox" Margin="2" Text="{Loc ban-panel-erase}" Pressed="False" />
<BoxContainer Orientation="Horizontal" Margin="2">
<LineEdit Name="TimeLine" MaxWidth="150" MinWidth="70" PlaceHolder="0" />
<OptionButton Name="MultiplierOption" />
@@ -30,7 +31,7 @@
</BoxContainer>
<BoxContainer Orientation="Horizontal" Margin="4">
<OptionButton Name="TypeOption" />
<Control MinWidth="30"></Control>
<Control MinWidth="30" />
<Label Text="{Loc ban-panel-severity}" />
<OptionButton Name="SeverityOption" />
</BoxContainer>

View File

@@ -1,10 +1,7 @@
using System.Globalization;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Text.RegularExpressions;
using Content.Client.Administration.UI.CustomControls;
using Content.Client.Stylesheets;
using Content.Shared.Administration;
using Content.Shared.Database;
using Content.Shared.Roles;
@@ -23,7 +20,7 @@ namespace Content.Client.Administration.UI.BanPanel;
[GenerateTypedNameReferences]
public sealed partial class BanPanel : DefaultWindow
{
public event Action<string?, (IPAddress, int)?, bool, byte[]?, bool, uint, string, NoteSeverity, string[]?>? BanSubmitted;
public event Action<string?, (IPAddress, int)?, bool, byte[]?, bool, uint, string, NoteSeverity, string[]?, bool>? BanSubmitted;
public event Action<string>? PlayerChanged;
private string? PlayerUsername { get; set; }
private (IPAddress, int)? IpAddress { get; set; }
@@ -441,7 +438,8 @@ public sealed partial class BanPanel : DefaultWindow
var useLastIp = IpCheckbox.Pressed && LastConnCheckbox.Pressed && IpAddress is null;
var useLastHwid = HwidCheckbox.Pressed && LastConnCheckbox.Pressed && Hwid is null;
var severity = (NoteSeverity) SeverityOption.SelectedId;
BanSubmitted?.Invoke(player, IpAddress, useLastIp, Hwid, useLastHwid, (uint) (TimeEntered * Multiplier), reason, severity, roles);
var erase = EraseCheckbox.Pressed;
BanSubmitted?.Invoke(player, IpAddress, useLastIp, Hwid, useLastHwid, (uint) (TimeEntered * Multiplier), reason, severity, roles, erase);
}
protected override void FrameUpdate(FrameEventArgs args)

View File

@@ -1,8 +1,3 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Content.Client.Eui;
using Content.Shared.Administration;
using Content.Shared.Eui;
@@ -19,8 +14,8 @@ public sealed class BanPanelEui : BaseEui
{
BanPanel = new BanPanel();
BanPanel.OnClose += () => SendMessage(new CloseEuiMessage());
BanPanel.BanSubmitted += (player, ip, useLastIp, hwid, useLastHwid, minutes, reason, severity, roles)
=> SendMessage(new BanPanelEuiStateMsg.CreateBanRequest(player, ip, useLastIp, hwid, useLastHwid, minutes, reason, severity, roles));
BanPanel.BanSubmitted += (player, ip, useLastIp, hwid, useLastHwid, minutes, reason, severity, roles, erase)
=> SendMessage(new BanPanelEuiStateMsg.CreateBanRequest(player, ip, useLastIp, hwid, useLastHwid, minutes, reason, severity, roles, erase));
BanPanel.PlayerChanged += player => SendMessage(new BanPanelEuiStateMsg.GetPlayerInfoRequest(player));
}

View File

@@ -1,23 +1,20 @@
<Control
xmlns="https://spacestation14.io"
xmlns:cc="clr-namespace:Content.Client.Administration.UI.CustomControls"
xmlns:gfx="clr-namespace:Robust.Client.Graphics;assembly=Robust.Client">
<PanelContainer>
<PanelContainer.PanelOverride>
<gfx:StyleBoxFlat BackgroundColor="#25252A"/>
</PanelContainer.PanelOverride>
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" HorizontalAlignment="Right">
<Button Margin="0 0 10 0" Visible="True" Name="PopOut" Access="Public" Text="{Loc 'admin-logs-pop-out'}"/>
<Button Visible="False" Name="Bans" Text="{Loc 'admin-player-actions-bans'}" />
<Button Visible="False" Name="Notes" Text="{Loc 'admin-player-actions-notes'}" />
<Button Visible="False" Name="Kick" Text="{Loc 'admin-player-actions-kick'}" />
<Button Visible="False" Name="Ban" Text="{Loc 'admin-player-actions-ban'}" />
<Button Visible="False" Name="Respawn" Text="{Loc 'admin-player-actions-respawn'}" />
<Button Visible="False" Name="Teleport" Text="{Loc 'admin-player-actions-teleport'}" />
<BoxContainer Orientation="Horizontal" HorizontalExpand="True">
<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="Teleport" Text="{Loc 'admin-player-actions-teleport'}" StyleClasses="OpenLeft" />
</BoxContainer>
</BoxContainer>
</SplitContainer>

View File

@@ -1,22 +1,16 @@
using System.Linq;
using System.Text;
using System.Threading;
using Content.Client.Administration.Managers;
using Content.Client.Administration.UI.CustomControls;
using Content.Client.Administration.UI.Tabs.AdminTab;
using Content.Client.Stylesheets;
using Content.Client.UserInterface.Systems.Bwoink;
using Content.Client.UserInterface.Systems.Chat.Controls;
using Content.Shared.Administration;
using Robust.Client.AutoGenerated;
using Robust.Client.Console;
using Robust.Client.UserInterface;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.CustomControls;
using Robust.Client.UserInterface.XAML;
using Robust.Shared.Network;
using Robust.Shared.Utility;
using Timer = Robust.Shared.Timing.Timer;
namespace Content.Client.Administration.UI.Bwoink
{
@@ -31,8 +25,8 @@ namespace Content.Client.Administration.UI.Bwoink
[Dependency] private readonly IUserInterfaceManager _ui = default!;
public AdminAHelpUIHandler AHelpHelper = default!;
//private readonly BwoinkSystem _bwoinkSystem;
private PlayerInfo? _currentPlayer = default;
private PlayerInfo? _currentPlayer;
private readonly Dictionary<Button, ConfirmationData> _confirmations = new();
public BwoinkControl()
{
@@ -45,17 +39,13 @@ namespace Content.Client.Administration.UI.Bwoink
AHelpHelper = helper;
_adminManager.AdminStatusUpdated += FixButtons;
FixButtons();
_adminManager.AdminStatusUpdated += UpdateButtons;
UpdateButtons();
ChannelSelector.OnSelectionChanged += sel =>
{
_currentPlayer = sel;
if (sel is not null)
{
SwitchToChannel(sel.SessionId);
}
SwitchToChannel(sel?.SessionId);
ChannelSelector.PlayerListContainer.DirtyList();
};
@@ -131,7 +121,7 @@ namespace Content.Client.Administration.UI.Bwoink
Kick.OnPressed += _ =>
{
if (!TryConfirm(Kick))
if (!AdminUIHelpers.TryConfirm(Kick, _confirmations))
{
return;
}
@@ -149,7 +139,7 @@ namespace Content.Client.Administration.UI.Bwoink
Respawn.OnPressed += _ =>
{
if (!TryConfirm(Respawn))
if (!AdminUIHelpers.TryConfirm(Respawn, _confirmations))
{
return;
}
@@ -164,8 +154,6 @@ namespace Content.Client.Administration.UI.Bwoink
};
}
private Dictionary<Control, (CancellationTokenSource cancellation, string? originalText)> Confirmations { get; } = new();
public void OnBwoink(NetUserId channel)
{
ChannelSelector.PopulateList();
@@ -190,25 +178,27 @@ namespace Content.Client.Administration.UI.Bwoink
ChannelSelector.PlayerListContainer.Select(data);
}
private void FixButtons()
public void UpdateButtons()
{
var disabled = _currentPlayer == null;
Bans.Visible = _adminManager.HasFlag(AdminFlags.Ban);
Bans.Disabled = !Bans.Visible;
Bans.Disabled = !Bans.Visible || disabled;
Notes.Visible = _adminManager.HasFlag(AdminFlags.ViewNotes);
Notes.Disabled = !Notes.Visible;
Notes.Disabled = !Notes.Visible || disabled;
Ban.Visible = _adminManager.HasFlag(AdminFlags.Ban);
Ban.Disabled = !Ban.Visible;
Ban.Disabled = !Ban.Visible || disabled;
Kick.Visible = _adminManager.CanCommand("kick");
Kick.Disabled = !Kick.Visible;
Teleport.Visible = _adminManager.CanCommand("tpto");
Teleport.Disabled = !Teleport.Visible;
Kick.Disabled = !Kick.Visible || disabled;
Respawn.Visible = _adminManager.CanCommand("respawn");
Respawn.Disabled = !Respawn.Visible;
Respawn.Disabled = !Respawn.Visible || disabled;
Teleport.Visible = _adminManager.CanCommand("tpto");
Teleport.Disabled = !Teleport.Visible || disabled;
}
private string FormatTabTitle(ItemList.Item li, PlayerInfo? pl = default)
@@ -239,37 +229,22 @@ namespace Content.Client.Administration.UI.Bwoink
return sb.ToString();
}
private void SwitchToChannel(NetUserId ch)
private void SwitchToChannel(NetUserId? ch)
{
foreach (var bw in BwoinkArea.Children)
bw.Visible = false;
var panel = AHelpHelper.EnsurePanel(ch);
panel.Visible = true;
UpdateButtons();
if (ch != null)
{
AHelpHelper.HideAllPanels();
var panel = AHelpHelper.EnsurePanel(ch.Value);
panel.Visible = true;
}
}
private bool TryConfirm(Button button)
public void PopulateList()
{
if (Confirmations.Remove(button, out var tuple))
{
tuple.cancellation.Cancel();
button.ModulateSelfOverride = null;
button.Text = tuple.originalText;
return true;
}
tuple = (new CancellationTokenSource(), button.Text);
Confirmations[button] = tuple;
Timer.Spawn(TimeSpan.FromSeconds(5), () =>
{
Confirmations.Remove(button);
button.ModulateSelfOverride = null;
button.Text = tuple.originalText;
}, tuple.cancellation.Token);
button.ModulateSelfOverride = StyleNano.ButtonColorCautionDefault;
button.Text = Loc.GetString("admin-player-actions-confirm");
return false;
ChannelSelector.PopulateList();
UpdateButtons();
}
}
}

View File

@@ -1,20 +1,6 @@
using System.Text;
using System.Threading;
using Content.Client.Administration.Managers;
using Content.Client.Administration.UI.CustomControls;
using Content.Client.Administration.UI.Tabs.AdminTab;
using Content.Client.Stylesheets;
using Content.Client.UserInterface.Systems.Bwoink;
using Content.Shared.Administration;
using Robust.Client.AutoGenerated;
using Robust.Client.Console;
using Robust.Client.UserInterface;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.CustomControls;
using Robust.Client.UserInterface.XAML;
using Robust.Shared.Network;
using Robust.Shared.Utility;
using Timer = Robust.Shared.Timing.Timer;
namespace Content.Client.Administration.UI.Bwoink
{
@@ -33,10 +19,15 @@ namespace Content.Client.Administration.UI.Bwoink
if (sel is not null)
{
Title = $"{sel.CharacterName} / {sel.Username}";
if (sel.OverallPlaytime != null)
{
Title += $" | {Loc.GetString("generic-playtime-title")}: {sel.PlaytimeString}";
}
}
};
OnOpen += () => Bwoink.ChannelSelector.PopulateList();
OnOpen += () => Bwoink.PopulateList();
}
}
}

View File

@@ -18,22 +18,24 @@ namespace Content.Client.Administration.UI.CustomControls
public sealed partial class PlayerListControl : BoxContainer
{
private readonly AdminSystem _adminSystem;
private readonly VerbSystem _verbSystem;
private List<PlayerInfo> _playerList = new();
private readonly List<PlayerInfo> _sortedPlayerList = new();
public event Action<PlayerInfo?>? OnSelectionChanged;
public event Action<PlayerInfo>? OnSelectionChanged;
public IReadOnlyList<PlayerInfo> PlayerInfo => _playerList;
public Func<PlayerInfo, string, string>? OverrideText;
public Comparison<PlayerInfo>? Comparison;
private IEntityManager _entManager;
private IUserInterfaceManager _uiManager;
public PlayerListControl()
{
_adminSystem = EntitySystem.Get<AdminSystem>();
_verbSystem = EntitySystem.Get<VerbSystem>();
IoCManager.InjectDependencies(this);
_entManager = IoCManager.Resolve<IEntityManager>();
_uiManager = IoCManager.Resolve<IUserInterfaceManager>();
_adminSystem = _entManager.System<AdminSystem>();
RobustXamlLoader.Load(this);
// Fill the Option data
PlayerListContainer.ItemPressed += PlayerListItemPressed;
@@ -44,9 +46,9 @@ namespace Content.Client.Administration.UI.CustomControls
BackgroundPanel.PanelOverride = new StyleBoxFlat {BackgroundColor = new Color(32, 32, 40)};
}
private void PlayerListItemPressed(BaseButton.ButtonEventArgs args, ListData data)
private void PlayerListItemPressed(BaseButton.ButtonEventArgs? args, ListData? data)
{
if (data is not PlayerListData {Info: var selectedPlayer})
if (args == null || data is not PlayerListData {Info: var selectedPlayer})
return;
if (args.Event.Function == EngineKeyFunctions.UIClick)
{
@@ -56,9 +58,9 @@ namespace Content.Client.Administration.UI.CustomControls
if (OverrideText != null && args.Button.Children.FirstOrDefault()?.Children?.FirstOrDefault() is Label label)
label.Text = GetText(selectedPlayer);
}
else if (args.Event.Function == EngineKeyFunctions.UseSecondary && selectedPlayer.EntityUid != null)
else if (args.Event.Function == EngineKeyFunctions.UseSecondary && selectedPlayer.NetEntity != null)
{
IoCManager.Resolve<IUserInterfaceManager>().GetUIController<VerbMenuUIController>().OpenVerbMenu(selectedPlayer.EntityUid.Value);
_uiManager.GetUIController<VerbMenuUIController>().OpenVerbMenu(selectedPlayer.NetEntity.Value, true);
}
}

View File

@@ -1,10 +1,6 @@
<Control xmlns="https://spacestation14.io"
xmlns:aui="clr-namespace:Content.Client.Administration.UI.CustomControls"
xmlns:gfx="clr-namespace:Robust.Client.Graphics;assembly=Robust.Client">
<PanelContainer>
<PanelContainer.PanelOverride>
<gfx:StyleBoxFlat BackgroundColor="#25252A"/>
</PanelContainer.PanelOverride>
xmlns:aui="clr-namespace:Content.Client.Administration.UI.CustomControls">
<PanelContainer StyleClasses="BackgroundDark">
<BoxContainer Orientation="Horizontal">
<BoxContainer Orientation="Vertical">
<BoxContainer Orientation="Horizontal" MinWidth="400">

View File

@@ -21,14 +21,14 @@ namespace Content.Client.Administration.UI.ManageSolutions
[Dependency] private readonly IPrototypeManager _prototypeManager = default!;
[Dependency] private readonly IClientConsoleHost _consoleHost = default!;
private readonly EntityUid _targetEntity;
private readonly NetEntity _targetEntity;
private string _targetSolution;
private ReagentPrototype? _selectedReagent;
// FloatSpinBox does not (yet?) play nice with xaml
private FloatSpinBox _quantitySpin = new(1, 2) { Value = 10, HorizontalExpand = true};
public AddReagentWindow(EntityUid targetEntity, string targetSolution)
public AddReagentWindow(NetEntity targetEntity, string targetSolution)
{
IoCManager.InjectDependencies(this);
RobustXamlLoader.Load(this);

View File

@@ -1,4 +1,5 @@
using Content.Shared.Chemistry.Components;
using Content.Shared.Chemistry.Reagent;
using Robust.Client.AutoGenerated;
using Robust.Client.Console;
using Robust.Client.UserInterface.Controls;
@@ -16,7 +17,7 @@ namespace Content.Client.Administration.UI.ManageSolutions
[Dependency] private readonly IClientConsoleHost _consoleHost = default!;
[Dependency] private readonly IEntityManager _entityManager = default!;
private EntityUid _target = EntityUid.Invalid;
private NetEntity _target = NetEntity.Invalid;
private string? _selectedSolution;
private AddReagentWindow? _addReagentWindow;
private Dictionary<string, Solution>? _solutions;
@@ -37,12 +38,13 @@ namespace Content.Client.Administration.UI.ManageSolutions
_addReagentWindow?.Dispose();
}
public void SetTargetEntity(EntityUid target)
public void SetTargetEntity(NetEntity target)
{
_target = target;
var uid = _entityManager.GetEntity(target);
var targetName = _entityManager.EntityExists(target)
? IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(target).EntityName
var targetName = _entityManager.EntityExists(uid)
? _entityManager.GetComponent<MetaDataComponent>(uid).EntityName
: string.Empty;
Title = Loc.GetString("admin-solutions-window-title", ("targetName", targetName));
@@ -176,16 +178,16 @@ namespace Content.Client.Administration.UI.ManageSolutions
/// <summary>
/// Add a single reagent entry to the list
/// </summary>
private void AddReagentEntry(Solution.ReagentQuantity reagent)
private void AddReagentEntry(ReagentQuantity reagentQuantity)
{
var box = new BoxContainer();
var spin = new FloatSpinBox(1, 2);
spin.Value = reagent.Quantity.Float();
spin.OnValueChanged += (args) => SetReagent(args, reagent.ReagentId);
spin.Value = reagentQuantity.Quantity.Float();
spin.OnValueChanged += (args) => SetReagent(args, reagentQuantity.Reagent.Prototype);
spin.HorizontalExpand = true;
box.AddChild(new Label() { Text = reagent.ReagentId , HorizontalExpand = true});
box.AddChild(new Label() { Text = reagentQuantity.Reagent.Prototype , HorizontalExpand = true});
box.AddChild(spin);
ReagentList.AddChild(box);
@@ -194,18 +196,18 @@ namespace Content.Client.Administration.UI.ManageSolutions
/// <summary>
/// Execute a command to modify the reagents in the solution.
/// </summary>
private void SetReagent(FloatSpinBox.FloatSpinBoxEventArgs args, string reagentId)
private void SetReagent(FloatSpinBox.FloatSpinBoxEventArgs args, string prototype)
{
if (_solutions == null || _selectedSolution == null)
return;
var current = _solutions[_selectedSolution].GetReagentQuantity(reagentId);
var current = _solutions[_selectedSolution].GetTotalPrototypeQuantity(prototype);
var delta = args.Value - current.Float();
if (MathF.Abs(delta) < 0.01)
return;
var command = $"addreagent {_target} {_selectedSolution} {reagentId} {delta}";
var command = $"addreagent {_target} {_selectedSolution} {prototype} {delta}";
_consoleHost.ExecuteCommand(command);
}

View File

@@ -1,9 +1,5 @@
<Control xmlns="https://spacestation14.io"
xmlns:gfx="clr-namespace:Robust.Client.Graphics;assembly=Robust.Client">
<PanelContainer>
<PanelContainer.PanelOverride>
<gfx:StyleBoxFlat BackgroundColor="#25252A"/>
</PanelContainer.PanelOverride>
<Control xmlns="https://spacestation14.io">
<PanelContainer StyleClasses="BackgroundDark">
<BoxContainer Orientation="Vertical">
<ScrollContainer VerticalExpand="True" HorizontalExpand="True" HScrollEnabled="False">
<BoxContainer Orientation="Vertical" Name="Notes" Access="Public" VerticalExpand="True"/>

View File

@@ -1,8 +1,8 @@
<Popup xmlns="https://spacestation14.io"
xmlns:gfx="clr-namespace:Robust.Client.Graphics;assembly=Robust.Client">
<PanelContainer>
<PanelContainer StyleClasses="BackgroundDark">
<PanelContainer.PanelOverride>
<gfx:StyleBoxFlat BackgroundColor="#25252A" BorderThickness="1" BorderColor="#18181B"/>
<gfx:StyleBoxFlat BorderThickness="1" BorderColor="#18181B"/>
</PanelContainer.PanelOverride>
<BoxContainer Orientation="Vertical">
<Label Name="PlayerNameLabel"/>

View File

@@ -9,8 +9,11 @@ namespace Content.Client.Administration.UI.SetOutfit
public sealed class SetOutfitEui : BaseEui
{
private readonly SetOutfitMenu _window;
private IEntityManager _entManager;
public SetOutfitEui()
{
_entManager = IoCManager.Resolve<IEntityManager>();
_window = new SetOutfitMenu();
_window.OnClose += OnClosed;
}
@@ -34,7 +37,7 @@ namespace Content.Client.Administration.UI.SetOutfit
public override void HandleState(EuiStateBase state)
{
var outfitState = (SetOutfitEuiState) state;
_window.TargetEntityId = outfitState.TargetEntityId;
_window.TargetEntityId = outfitState.TargetNetEntity;
}
}

View File

@@ -18,7 +18,7 @@ namespace Content.Client.Administration.UI.SetOutfit
[Dependency] private readonly IPrototypeManager _prototypeManager = default!;
[Dependency] private readonly IClientConsoleHost _consoleHost = default!;
public EntityUid? TargetEntityId { get; set; }
public NetEntity? TargetEntityId { get; set; }
private StartingGearPrototype? _selectedOutfit;
public SetOutfitMenu()

View File

@@ -1,10 +1,12 @@
using System.Linq;
using System.Numerics;
using JetBrains.Annotations;
using Robust.Client.GameObjects;
using Robust.Client.Graphics;
using Robust.Client.ResourceManagement;
using Robust.Shared.Enums;
using Robust.Shared.Map;
using System.Linq;
using System.Numerics;
using Robust.Shared.Map.Components;
namespace Content.Client.Administration.UI.SpawnExplosion;
@@ -13,7 +15,6 @@ public sealed class ExplosionDebugOverlay : Overlay
{
[Dependency] private readonly IEntityManager _entityManager = default!;
[Dependency] private readonly IEyeManager _eyeManager = default!;
[Dependency] private readonly IMapManager _mapManager = default!;
public Dictionary<int, List<Vector2i>>? SpaceTiles;
public Dictionary<EntityUid, Dictionary<int, List<Vector2i>>> Tiles = new();
@@ -61,14 +62,15 @@ public sealed class ExplosionDebugOverlay : Overlay
var handle = args.ScreenHandle;
Box2 gridBounds;
var xformQuery = _entityManager.GetEntityQuery<TransformComponent>();
var xformSystem = _entityManager.System<TransformSystem>();
foreach (var (gridId, tileSets) in Tiles)
{
if (!_mapManager.TryGetGrid(gridId, out var grid))
if (!_entityManager.TryGetComponent(gridId, out MapGridComponent? grid))
continue;
var gridXform = xformQuery.GetComponent(grid.Owner);
var (_, _, matrix, invMatrix) = gridXform.GetWorldPositionRotationMatrixWithInv(xformQuery);
var gridXform = xformQuery.GetComponent(gridId);
var (_, _, matrix, invMatrix) = xformSystem.GetWorldPositionRotationMatrixWithInv(gridXform, xformQuery);
gridBounds = invMatrix.TransformBox(args.WorldBounds).Enlarged(grid.TileSize * 2);
DrawText(handle, gridBounds, matrix, tileSets, grid.TileSize);
}
@@ -114,9 +116,9 @@ public sealed class ExplosionDebugOverlay : Overlay
}
}
if (tileSets.ContainsKey(0))
if (tileSets.TryGetValue(0, out var set))
{
var epicenter = tileSets[0].First();
var epicenter = set.First();
var worldCenter = transform.Transform((epicenter + Vector2Helpers.Half) * tileSize);
var screenCenter = _eyeManager.WorldToScreen(worldCenter) + new Vector2(-24, -24);
var text = $"{Intensity[0]:F2}\nΣ={TotalIntensity:F1}\nΔ={Slope:F1}";
@@ -129,14 +131,15 @@ public sealed class ExplosionDebugOverlay : Overlay
var handle = args.WorldHandle;
Box2 gridBounds;
var xformQuery = _entityManager.GetEntityQuery<TransformComponent>();
var xformSystem = _entityManager.System<TransformSystem>();
foreach (var (gridId, tileSets) in Tiles)
{
if (!_mapManager.TryGetGrid(gridId, out var grid))
if (!_entityManager.TryGetComponent(gridId, out MapGridComponent? grid))
continue;
var gridXform = xformQuery.GetComponent(grid.Owner);
var (_, _, worldMatrix, invWorldMatrix) = gridXform.GetWorldPositionRotationMatrixWithInv(xformQuery);
var gridXform = xformQuery.GetComponent(gridId);
var (_, _, worldMatrix, invWorldMatrix) = xformSystem.GetWorldPositionRotationMatrixWithInv(gridXform, xformQuery);
gridBounds = invWorldMatrix.TransformBox(args.WorldBounds).Enlarged(grid.TileSize * 2);
handle.SetTransform(worldMatrix);
DrawTiles(handle, gridBounds, tileSets, SpaceTileSize);

View File

@@ -10,6 +10,7 @@ namespace Content.Client.Administration.UI.SpawnExplosion;
[UsedImplicitly]
public sealed class SpawnExplosionEui : BaseEui
{
[Dependency] private readonly EntityManager _entManager = default!;
[Dependency] private readonly IOverlayManager _overlayManager = default!;
private readonly SpawnExplosionWindow _window;
@@ -69,7 +70,15 @@ public sealed class SpawnExplosionEui : BaseEui
_overlayManager.AddOverlay(_debugOverlay);
}
_debugOverlay.Tiles = data.Explosion.Tiles;
var tiles = new Dictionary<EntityUid, Dictionary<int, List<Vector2i>>>();
_debugOverlay.Tiles.Clear();
foreach (var (nent, det) in data.Explosion.Tiles)
{
tiles[_entManager.GetEntity(nent)] = det;
}
_debugOverlay.Tiles = tiles;
_debugOverlay.SpaceTiles = data.Explosion.SpaceTiles;
_debugOverlay.Intensity = data.Explosion.Intensity;
_debugOverlay.Slope = data.Slope;

View File

@@ -4,8 +4,7 @@ using Robust.Client.AutoGenerated;
using Robust.Client.Console;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.CustomControls;
using Robust.Shared.IoC;
using Robust.Shared.Players;
using Robust.Client.UserInterface.XAML;
using Robust.Shared.Utility;
namespace Content.Client.Administration.UI.Tabs.AdminTab
@@ -15,9 +14,12 @@ namespace Content.Client.Administration.UI.Tabs.AdminTab
public sealed partial class PlayerActionsWindow : DefaultWindow
{
private PlayerInfo? _selectedPlayer;
private readonly Dictionary<Button, ConfirmationData> _confirmations = new();
protected override void EnteredTree()
public PlayerActionsWindow()
{
RobustXamlLoader.Load(this);
SubmitKickButton.OnPressed += SubmitKickButtonOnPressed;
SubmitAHelpButton.OnPressed += SubmitAhelpButtonOnPressed;
SubmitRespawnButton.OnPressed += SubmitRespawnButtonOnPressed;
@@ -26,6 +28,9 @@ namespace Content.Client.Administration.UI.Tabs.AdminTab
private void OnListOnOnSelectionChanged(PlayerInfo? obj)
{
if (_selectedPlayer != obj)
AdminUIHelpers.RemoveAllConfirms(_confirmations);
_selectedPlayer = obj;
var disableButtons = _selectedPlayer == null;
SubmitKickButton.Disabled = disableButtons;
@@ -37,6 +42,10 @@ namespace Content.Client.Administration.UI.Tabs.AdminTab
{
if (_selectedPlayer == null)
return;
if (!AdminUIHelpers.TryConfirm(SubmitKickButton, _confirmations))
return;
IoCManager.Resolve<IClientConsoleHost>().ExecuteCommand(
$"kick \"{_selectedPlayer.Username}\" \"{CommandParsing.Escape(ReasonLine.Text)}\"");
}
@@ -54,6 +63,10 @@ namespace Content.Client.Administration.UI.Tabs.AdminTab
{
if (_selectedPlayer == null)
return;
if (!AdminUIHelpers.TryConfirm(SubmitRespawnButton, _confirmations))
return;
IoCManager.Resolve<IClientConsoleHost>().ExecuteCommand(
$"respawn \"{_selectedPlayer.Username}\"");
}

View File

@@ -5,7 +5,6 @@ using Robust.Client.Console;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.CustomControls;
using Robust.Shared.IoC;
using Robust.Shared.Players;
namespace Content.Client.Administration.UI.Tabs.AdminTab
{

View File

@@ -104,7 +104,7 @@ namespace Content.Client.Administration.UI.Tabs.AdminbusTab
private void OnTeleportButtonPressed(BaseButton.ButtonEventArgs obj)
{
IoCManager.Resolve<IClientConsoleHost>().ExecuteCommand(
$"tp {XCoordinate.Value} {YCoordinate.Value} {MapOptions.SelectedId}");
$"tp {XCoordinate.Value} {YCoordinate.Value} {new MapId(MapOptions.SelectedId)}");
}
private void OnSubmitButtonPressed(BaseButton.ButtonEventArgs obj)
@@ -112,7 +112,7 @@ namespace Content.Client.Administration.UI.Tabs.AdminbusTab
if (MapPath.Text.Length == 0) return;
IoCManager.Resolve<IClientConsoleHost>().ExecuteCommand(
$"loadbp {MapOptions.SelectedId} \"{MapPath.Text}\" {XCoordinate.Value} {YCoordinate.Value} {RotationSpin.Value}");
$"loadbp {new MapId(MapOptions.SelectedId)} \"{MapPath.Text}\" {XCoordinate.Value} {YCoordinate.Value} {RotationSpin.Value}");
}
}
}

View File

@@ -1,14 +1,10 @@
using System.Collections.Generic;
using System.Linq;
using JetBrains.Annotations;
using Robust.Client.AutoGenerated;
using Robust.Client.Console;
using Robust.Client.Player;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.CustomControls;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
using Robust.Shared.Map;
using Robust.Client.UserInterface.XAML;
using Robust.Shared.Map.Components;
namespace Content.Client.Administration.UI.Tabs.AtmosTab
@@ -17,16 +13,29 @@ namespace Content.Client.Administration.UI.Tabs.AtmosTab
[UsedImplicitly]
public sealed partial class AddAtmosWindow : DefaultWindow
{
private IEnumerable<MapGridComponent>? _data;
[Dependency] private readonly IPlayerManager _players = default!;
[Dependency] private readonly IEntityManager _entities = default!;
private readonly List<Entity<MapGridComponent>> _data = new();
public AddAtmosWindow()
{
RobustXamlLoader.Load(this);
IoCManager.InjectDependencies(this);
}
protected override void EnteredTree()
{
_data = IoCManager.Resolve<IMapManager>().GetAllGrids().Where(g => (int) g.Owner != 0);
foreach (var grid in _data)
_data.Clear();
var player = _players.LocalPlayer?.ControlledEntity;
var playerGrid = _entities.GetComponentOrNull<TransformComponent>(player)?.GridUid;
var query = IoCManager.Resolve<IEntityManager>().AllEntityQueryEnumerator<MapGridComponent>();
while (query.MoveNext(out var uid, out var grid))
{
var player = IoCManager.Resolve<IPlayerManager>().LocalPlayer?.ControlledEntity;
var playerGrid = IoCManager.Resolve<IEntityManager>().GetComponentOrNull<TransformComponent>(player)?.GridUid;
GridOptions.AddItem($"{grid.Owner} {(playerGrid == grid.Owner ? " (Current)" : "")}");
_data.Add((uid, grid));
GridOptions.AddItem($"{uid} {(playerGrid == uid ? " (Current)" : "")}");
}
GridOptions.OnItemSelected += eventArgs => GridOptions.SelectId(eventArgs.Id);
@@ -35,11 +44,8 @@ namespace Content.Client.Administration.UI.Tabs.AtmosTab
private void SubmitButtonOnOnPressed(BaseButton.ButtonEventArgs obj)
{
if (_data == null)
return;
var dataList = _data.ToList();
var selectedGrid = dataList[GridOptions.SelectedId].Owner;
IoCManager.Resolve<IClientConsoleHost>().ExecuteCommand($"addatmos {selectedGrid}");
var selectedGrid = _data[GridOptions.SelectedId].Owner;
IoCManager.Resolve<IClientConsoleHost>().ExecuteCommand($"addatmos {_entities.GetNetEntity(selectedGrid)}");
}
}
}

View File

@@ -15,7 +15,7 @@ namespace Content.Client.Administration.UI.Tabs.AtmosTab
[UsedImplicitly]
public sealed partial class AddGasWindow : DefaultWindow
{
private List<EntityUid>? _gridData;
private List<NetEntity>? _gridData;
private IEnumerable<GasPrototype>? _gasData;
protected override void EnteredTree()
@@ -25,11 +25,12 @@ namespace Content.Client.Administration.UI.Tabs.AtmosTab
var playerManager = IoCManager.Resolve<IPlayerManager>();
var gridQuery = entManager.AllEntityQueryEnumerator<MapGridComponent>();
_gridData ??= new List<EntityUid>();
_gridData ??= new List<NetEntity>();
_gridData.Clear();
while (gridQuery.MoveNext(out var uid, out _))
{
_gridData.Add(entManager.GetNetEntity(uid));
var player = playerManager.LocalPlayer?.ControlledEntity;
var playerGrid = entManager.GetComponentOrNull<TransformComponent>(player)?.GridUid;
GridOptions.AddItem($"{uid} {(playerGrid == uid ? " (Current)" : "")}");
@@ -60,7 +61,6 @@ namespace Content.Client.Administration.UI.Tabs.AtmosTab
var gasList = _gasData.ToList();
var gasId = gasList[GasOptions.SelectedId].ID;
IoCManager.Resolve<IClientConsoleHost>().ExecuteCommand(
$"addgas {TileXSpin.Value} {TileYSpin.Value} {gridIndex} {gasId} {AmountSpin.Value}");
}

View File

@@ -19,7 +19,7 @@ namespace Content.Client.Administration.UI.Tabs.AtmosTab
[UsedImplicitly]
public sealed partial class FillGasWindow : DefaultWindow
{
private List<EntityUid>? _gridData;
private List<NetEntity>? _gridData;
private IEnumerable<GasPrototype>? _gasData;
protected override void EnteredTree()
@@ -29,7 +29,7 @@ namespace Content.Client.Administration.UI.Tabs.AtmosTab
var playerManager = IoCManager.Resolve<IPlayerManager>();
var gridQuery = entManager.AllEntityQueryEnumerator<MapGridComponent>();
_gridData ??= new List<EntityUid>();
_gridData ??= new List<NetEntity>();
_gridData.Clear();
while (gridQuery.MoveNext(out var uid, out _))
@@ -37,7 +37,7 @@ namespace Content.Client.Administration.UI.Tabs.AtmosTab
var player = playerManager.LocalPlayer?.ControlledEntity;
var playerGrid = entManager.GetComponentOrNull<TransformComponent>(player)?.GridUid;
GridOptions.AddItem($"{uid} {(playerGrid == uid ? " (Current)" : "")}");
_gridData.Add(uid);
_gridData.Add(entManager.GetNetEntity(uid));
}
GridOptions.OnItemSelected += eventArgs => GridOptions.SelectId(eventArgs.Id);

View File

@@ -17,7 +17,7 @@ namespace Content.Client.Administration.UI.Tabs.AtmosTab
[UsedImplicitly]
public sealed partial class SetTemperatureWindow : DefaultWindow
{
private List<EntityUid>? _data;
private List<NetEntity>? _data;
protected override void EnteredTree()
{
@@ -25,7 +25,7 @@ namespace Content.Client.Administration.UI.Tabs.AtmosTab
var playerManager = IoCManager.Resolve<IPlayerManager>();
var gridQuery = entManager.AllEntityQueryEnumerator<MapGridComponent>();
_data ??= new List<EntityUid>();
_data ??= new List<NetEntity>();
_data.Clear();
while (gridQuery.MoveNext(out var uid, out _))
@@ -33,7 +33,7 @@ namespace Content.Client.Administration.UI.Tabs.AtmosTab
var player = playerManager.LocalPlayer?.ControlledEntity;
var playerGrid = entManager.GetComponentOrNull<TransformComponent>(player)?.GridUid;
GridOptions.AddItem($"{uid} {(playerGrid == uid ? " (Current)" : "")}");
_data.Add(uid);
_data.Add(entManager.GetNetEntity(uid));
}
GridOptions.OnItemSelected += eventArgs => GridOptions.SelectId(eventArgs.Id);

View File

@@ -1,4 +1,3 @@
using System.Linq;
using Content.Client.Station;
using Robust.Client.AutoGenerated;
using Robust.Client.UserInterface;
@@ -40,13 +39,34 @@ public sealed partial class ObjectsTab : Control
private void RefreshObjectList(ObjectsTabSelection selection)
{
var entities = selection switch
var entities = new List<EntityUid>();
switch (selection)
{
ObjectsTabSelection.Stations => _entityManager.EntitySysManager.GetEntitySystem<StationSystem>().Stations.ToList(),
ObjectsTabSelection.Grids => _entityManager.EntityQuery<MapGridComponent>(true).Select(x => x.Owner).ToList(),
ObjectsTabSelection.Maps => _entityManager.EntityQuery<MapComponent>(true).Select(x => x.Owner).ToList(),
_ => throw new ArgumentOutOfRangeException(nameof(selection), selection, null),
};
case ObjectsTabSelection.Stations:
entities.AddRange(_entityManager.EntitySysManager.GetEntitySystem<StationSystem>().Stations);
break;
case ObjectsTabSelection.Grids:
{
var query = _entityManager.AllEntityQueryEnumerator<MapGridComponent>();
while (query.MoveNext(out var uid, out _))
{
entities.Add(uid);
}
break;
}
case ObjectsTabSelection.Maps:
{
var query = _entityManager.AllEntityQueryEnumerator<MapComponent>();
while (query.MoveNext(out var uid, out _))
{
entities.Add(uid);
}
break;
}
default:
throw new ArgumentOutOfRangeException(nameof(selection), selection, null);
}
foreach (var control in _objects)
{

View File

@@ -0,0 +1,6 @@
<controls:PanicBunkerStatusWindow
xmlns="https://spacestation14.io"
xmlns:controls="clr-namespace:Content.Client.Administration.UI.Tabs.PanicBunkerTab"
Title="{Loc admin-ui-panic-bunker-window-title}">
<Label Name="MessageLabel" Access="Public" Text="{Loc admin-ui-panic-bunker-is-enabled}" />
</controls:PanicBunkerStatusWindow>

View File

@@ -0,0 +1,14 @@
using Robust.Client.AutoGenerated;
using Robust.Client.UserInterface.CustomControls;
using Robust.Client.UserInterface.XAML;
namespace Content.Client.Administration.UI.Tabs.PanicBunkerTab;
[GenerateTypedNameReferences]
public sealed partial class PanicBunkerStatusWindow : DefaultWindow
{
public PanicBunkerStatusWindow()
{
RobustXamlLoader.Load(this);
}
}

View File

@@ -0,0 +1,43 @@
<controls:PanicBunkerTab
xmlns="https://spacestation14.io"
xmlns:controls="clr-namespace:Content.Client.Administration.UI.Tabs.PanicBunkerTab"
xmlns:cc="clr-namespace:Content.Client.Administration.UI.CustomControls"
Margin="4">
<BoxContainer Orientation="Vertical">
<cc:CommandButton Name="EnabledButton" Command="panicbunker" ToggleMode="True"
Text="{Loc admin-ui-panic-bunker-disabled}"
ToolTip="{Loc admin-ui-panic-bunker-tooltip}" />
<BoxContainer Orientation="Horizontal">
<cc:CommandButton Name="DisableAutomaticallyButton" HorizontalExpand="True"
Command="panicbunker_disable_with_admins"
ToggleMode="True"
Text="{Loc admin-ui-panic-bunker-disable-automatically}"
ToolTip="{Loc admin-ui-panic-bunker-disable-automatically-tooltip}" />
<cc:CommandButton Name="EnableAutomaticallyButton" HorizontalExpand="True"
Command="panicbunker_enable_without_admins"
ToggleMode="True"
Text="{Loc admin-ui-panic-bunker-enable-automatically}"
ToolTip="{Loc admin-ui-panic-bunker-enable-automatically-tooltip}" />
<cc:CommandButton Name="CountDeadminnedButton" HorizontalExpand="True"
Command="panicbunker_count_deadminned_admins"
ToggleMode="True"
Text="{Loc admin-ui-panic-bunker-count-deadminned-admins}"
ToolTip="{Loc admin-ui-panic-bunker-count-deadminned-admins-tooltip}" />
</BoxContainer>
<cc:CommandButton Name="ShowReasonButton" Command="panicbunker_show_reason"
ToggleMode="True" Text="{Loc admin-ui-panic-bunker-show-reason}"
ToolTip="{Loc admin-ui-panic-bunker-show-reason-tooltip}" />
<BoxContainer Orientation="Vertical" Margin="0 10 0 0">
<BoxContainer Orientation="Horizontal" Margin="2">
<Label Text="{Loc admin-ui-panic-bunker-min-account-age}" MinWidth="175" />
<LineEdit Name="MinAccountAge" MinWidth="50" Margin="0 0 5 0" />
<Label Text="{Loc generic-hours}" />
</BoxContainer>
<BoxContainer Orientation="Horizontal" Margin="2">
<Label Text="{Loc admin-ui-panic-bunker-min-overall-hours}" MinWidth="175" />
<LineEdit Name="MinOverallHours" MinWidth="50" Margin="0 0 5 0" />
<Label Text="{Loc generic-hours}" />
</BoxContainer>
</BoxContainer>
</BoxContainer>
</controls:PanicBunkerTab>

View File

@@ -0,0 +1,77 @@
using Content.Shared.Administration.Events;
using Robust.Client.AutoGenerated;
using Robust.Client.UserInterface;
using Robust.Client.UserInterface.XAML;
using Robust.Shared.Console;
namespace Content.Client.Administration.UI.Tabs.PanicBunkerTab;
[GenerateTypedNameReferences]
public sealed partial class PanicBunkerTab : Control
{
[Dependency] private readonly IConsoleHost _console = default!;
private string _minAccountAge;
private string _minOverallHours;
public PanicBunkerTab()
{
RobustXamlLoader.Load(this);
IoCManager.InjectDependencies(this);
DisableAutomaticallyButton.ToolTip = Loc.GetString("admin-ui-panic-bunker-disable-automatically-tooltip");
MinAccountAge.OnTextEntered += args => SendMinAccountAge(args.Text);
MinAccountAge.OnFocusExit += args => SendMinAccountAge(args.Text);
_minAccountAge = MinAccountAge.Text;
MinOverallHours.OnTextEntered += args => SendMinOverallHours(args.Text);
MinOverallHours.OnFocusExit += args => SendMinOverallHours(args.Text);
_minOverallHours = MinOverallHours.Text;
}
private void SendMinAccountAge(string text)
{
if (string.IsNullOrWhiteSpace(text) ||
text == _minAccountAge ||
!int.TryParse(text, out var minutes))
{
return;
}
_console.ExecuteCommand($"panicbunker_min_account_age {minutes}");
}
private void SendMinOverallHours(string text)
{
if (string.IsNullOrWhiteSpace(text) ||
text == _minOverallHours ||
!int.TryParse(text, out var hours))
{
return;
}
_console.ExecuteCommand($"panicbunker_min_overall_hours {hours}");
}
public void UpdateStatus(PanicBunkerStatus status)
{
EnabledButton.Pressed = status.Enabled;
EnabledButton.Text = Loc.GetString(status.Enabled
? "admin-ui-panic-bunker-enabled"
: "admin-ui-panic-bunker-disabled"
);
EnabledButton.ModulateSelfOverride = status.Enabled ? Color.Red : null;
DisableAutomaticallyButton.Pressed = status.DisableWithAdmins;
EnableAutomaticallyButton.Pressed = status.EnableWithoutAdmins;
CountDeadminnedButton.Pressed = status.CountDeadminnedAdmins;
ShowReasonButton.Pressed = status.ShowReason;
MinAccountAge.Text = status.MinAccountAgeHours.ToString();
_minAccountAge = MinAccountAge.Text;
MinOverallHours.Text = status.MinOverallHours.ToString();
_minOverallHours = MinOverallHours.Text;
}
}

View File

@@ -14,6 +14,9 @@ namespace Content.Client.Administration.UI.Tabs.PlayerTab
[GenerateTypedNameReferences]
public sealed partial class PlayerTab : Control
{
[Dependency] private readonly IEntityManager _entManager = default!;
[Dependency] private readonly IPlayerManager _playerMan = default!;
private const string ArrowUp = "↑";
private const string ArrowDown = "↓";
private readonly Color _altColor = Color.FromHex("#292B38");
@@ -29,7 +32,8 @@ namespace Content.Client.Administration.UI.Tabs.PlayerTab
public PlayerTab()
{
_adminSystem = EntitySystem.Get<AdminSystem>();
IoCManager.InjectDependencies(this);
_adminSystem = _entManager.System<AdminSystem>();
RobustXamlLoader.Load(this);
RefreshPlayerList(_adminSystem.PlayerList);
@@ -93,13 +97,11 @@ namespace Content.Client.Administration.UI.Tabs.PlayerTab
foreach (var child in PlayerList.Children.ToArray())
{
if (child is PlayerTabEntry)
child.Orphan();
child.Dispose();
}
_players = players;
var playerManager = IoCManager.Resolve<IPlayerManager>();
PlayerCount.Text = $"Players: {playerManager.PlayerCount}";
PlayerCount.Text = $"Players: {_playerMan.PlayerCount}";
var sortedPlayers = new List<PlayerInfo>(players);
sortedPlayers.Sort(Compare);
@@ -118,9 +120,11 @@ namespace Content.Client.Administration.UI.Tabs.PlayerTab
player.StartingJob,
player.Antag ? "YES" : "NO",
new StyleBoxFlat(useAltColor ? _altColor : _defaultColor),
player.Connected);
entry.PlayerUid = player.EntityUid;
player.Connected,
player.PlaytimeString);
entry.PlayerEntity = player.NetEntity;
entry.OnPressed += args => OnEntryPressed?.Invoke(args);
entry.ToolTip = Loc.GetString("player-tab-entry-tooltip");
PlayerList.AddChild(entry);
useAltColor ^= true;
@@ -146,6 +150,7 @@ namespace Content.Client.Administration.UI.Tabs.PlayerTab
Header.Character => Compare(x.CharacterName, y.CharacterName),
Header.Job => Compare(x.StartingJob, y.StartingJob),
Header.Antagonist => x.Antag.CompareTo(y.Antag),
Header.Playtime => TimeSpan.Compare(x.OverallPlaytime ?? default, y.OverallPlaytime ?? default),
_ => 1
};
}

View File

@@ -24,5 +24,9 @@
SizeFlagsStretchRatio="2"
HorizontalExpand="True"
ClipText="True"/>
<Label Name="OverallPlaytimeLabel"
SizeFlagsStretchRatio="2"
HorizontalExpand="True"
ClipText="True"/>
</BoxContainer>
</ContainerButton>

View File

@@ -8,9 +8,9 @@ namespace Content.Client.Administration.UI.Tabs.PlayerTab;
[GenerateTypedNameReferences]
public sealed partial class PlayerTabEntry : ContainerButton
{
public EntityUid? PlayerUid;
public NetEntity? PlayerEntity;
public PlayerTabEntry(string username, string character, string identity, string job, string antagonist, StyleBox styleBox, bool connected)
public PlayerTabEntry(string username, string character, string identity, string job, string antagonist, StyleBox styleBox, bool connected, string overallPlaytime)
{
RobustXamlLoader.Load(this);
@@ -23,5 +23,6 @@ public sealed partial class PlayerTabEntry : ContainerButton
CharacterLabel.Text += $" [{identity}]";
AntagonistLabel.Text = antagonist;
BackgroundColorPanel.PanelOverride = styleBox;
OverallPlaytimeLabel.Text = overallPlaytime;
}
}

View File

@@ -32,5 +32,11 @@
ClipText="True"
Text="{Loc player-tab-antagonist}"
MouseFilter="Pass"/>
<Label Name="PlaytimeLabel"
SizeFlagsStretchRatio="2"
HorizontalExpand="True"
ClipText="True"
Text="{Loc player-tab-playtime}"
MouseFilter="Pass"/>
</BoxContainer>
</ContainerButton>

View File

@@ -19,6 +19,7 @@ public sealed partial class PlayerTabHeader : ContainerButton
CharacterLabel.OnKeyBindDown += CharacterClicked;
JobLabel.OnKeyBindDown += JobClicked;
AntagonistLabel.OnKeyBindDown += AntagonistClicked;
PlaytimeLabel.OnKeyBindDown += PlaytimeClicked;
}
public Label GetHeader(Header header)
@@ -29,6 +30,7 @@ public sealed partial class PlayerTabHeader : ContainerButton
Header.Character => CharacterLabel,
Header.Job => JobLabel,
Header.Antagonist => AntagonistLabel,
Header.Playtime => PlaytimeLabel,
_ => throw new ArgumentOutOfRangeException(nameof(header), header, null)
};
}
@@ -39,6 +41,7 @@ public sealed partial class PlayerTabHeader : ContainerButton
CharacterLabel.Text = Loc.GetString("player-tab-character");
JobLabel.Text = Loc.GetString("player-tab-job");
AntagonistLabel.Text = Loc.GetString("player-tab-antagonist");
PlaytimeLabel.Text = Loc.GetString("player-tab-playtime");
}
private void HeaderClicked(GUIBoundKeyEventArgs args, Header header)
@@ -72,16 +75,22 @@ public sealed partial class PlayerTabHeader : ContainerButton
HeaderClicked(args, Header.Antagonist);
}
private void PlaytimeClicked(GUIBoundKeyEventArgs args)
{
HeaderClicked(args, Header.Playtime);
}
protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
if (disposing)
{
UsernameLabel.OnKeyBindDown += UsernameClicked;
CharacterLabel.OnKeyBindDown += CharacterClicked;
JobLabel.OnKeyBindDown += JobClicked;
AntagonistLabel.OnKeyBindDown += AntagonistClicked;
UsernameLabel.OnKeyBindDown -= UsernameClicked;
CharacterLabel.OnKeyBindDown -= CharacterClicked;
JobLabel.OnKeyBindDown -= JobClicked;
AntagonistLabel.OnKeyBindDown -= AntagonistClicked;
PlaytimeLabel.OnKeyBindDown -= PlaytimeClicked;
}
}
@@ -90,6 +99,7 @@ public sealed partial class PlayerTabHeader : ContainerButton
Username,
Character,
Job,
Antagonist
Antagonist,
Playtime
}
}

View File

@@ -8,6 +8,5 @@
<cc:CommandButton Command="shutdown" Text="{Loc server-shutdown}" />
<cc:CommandButton Name="SetOocButton" Command="setooc" Text="{Loc server-ooc-toggle}" ToggleMode="True" />
<cc:CommandButton Name="SetLoocButton" Command="setlooc" Text="{Loc server-looc-toggle}" ToggleMode="True" />
<cc:CommandButton Name="SetPanicbunkerButton" Command="panicbunker" Text="{Loc server-panicbunker-toggle}" ToggleMode="True" />
</GridContainer>
</Control>

View File

@@ -18,7 +18,6 @@ namespace Content.Client.Administration.UI.Tabs
_config.OnValueChanged(CCVars.OocEnabled, OocEnabledChanged, true);
_config.OnValueChanged(CCVars.LoocEnabled, LoocEnabledChanged, true);
_config.OnValueChanged(CCVars.PanicBunkerEnabled, BunkerEnabledChanged, true);
}
private void OocEnabledChanged(bool value)
@@ -31,11 +30,6 @@ namespace Content.Client.Administration.UI.Tabs
SetLoocButton.Pressed = value;
}
private void BunkerEnabledChanged(bool value)
{
SetPanicbunkerButton.Pressed = value;
}
protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
@@ -44,7 +38,6 @@ namespace Content.Client.Administration.UI.Tabs
{
_config.UnsubValueChanged(CCVars.OocEnabled, OocEnabledChanged);
_config.UnsubValueChanged(CCVars.LoocEnabled, LoocEnabledChanged);
_config.UnsubValueChanged(CCVars.PanicBunkerEnabled, BunkerEnabledChanged);
}
}
}

View File

@@ -1,10 +1,7 @@
using System.Linq;
using Content.Shared.Alert;
using Content.Shared.Mobs.Systems;
using JetBrains.Annotations;
using Robust.Client.GameObjects;
using Robust.Client.Player;
using Robust.Shared.GameStates;
using Robust.Shared.Prototypes;
namespace Content.Client.Alerts;
@@ -24,10 +21,10 @@ public sealed class ClientAlertsSystem : AlertsSystem
{
base.Initialize();
SubscribeLocalEvent<AlertsComponent, PlayerAttachedEvent>(OnPlayerAttached);
SubscribeLocalEvent<AlertsComponent, PlayerDetachedEvent>(OnPlayerDetached);
SubscribeLocalEvent<AlertsComponent, LocalPlayerAttachedEvent>(OnPlayerAttached);
SubscribeLocalEvent<AlertsComponent, LocalPlayerDetachedEvent>(OnPlayerDetached);
SubscribeLocalEvent<AlertsComponent, ComponentHandleState>(ClientAlertsHandleState);
SubscribeLocalEvent<AlertsComponent, AfterAutoHandleStateEvent>(ClientAlertsHandleState);
}
protected override void LoadPrototypes()
{
@@ -49,35 +46,29 @@ public sealed class ClientAlertsSystem : AlertsSystem
}
}
protected override void AfterShowAlert(AlertsComponent alertsComponent)
protected override void AfterShowAlert(Entity<AlertsComponent> alerts)
{
if (_playerManager.LocalPlayer?.ControlledEntity != alerts.Owner)
return;
SyncAlerts?.Invoke(this, alerts.Comp.Alerts);
}
protected override void AfterClearAlert(Entity<AlertsComponent> alertsComponent)
{
if (_playerManager.LocalPlayer?.ControlledEntity != alertsComponent.Owner)
return;
SyncAlerts?.Invoke(this, alertsComponent.Alerts);
SyncAlerts?.Invoke(this, alertsComponent.Comp.Alerts);
}
protected override void AfterClearAlert(AlertsComponent alertsComponent)
private void ClientAlertsHandleState(EntityUid uid, AlertsComponent component, ref AfterAutoHandleStateEvent args)
{
if (_playerManager.LocalPlayer?.ControlledEntity != alertsComponent.Owner)
return;
SyncAlerts?.Invoke(this, alertsComponent.Alerts);
}
private void ClientAlertsHandleState(EntityUid uid, AlertsComponent component, ref ComponentHandleState args)
{
var componentAlerts = (args.Current as AlertsComponentState)?.Alerts;
if (componentAlerts == null)
return;
component.Alerts = new Dictionary<AlertKey, AlertState>(componentAlerts);
if (_playerManager.LocalPlayer?.ControlledEntity == uid)
SyncAlerts?.Invoke(this, componentAlerts);
SyncAlerts?.Invoke(this, component.Alerts);
}
private void OnPlayerAttached(EntityUid uid, AlertsComponent component, PlayerAttachedEvent args)
private void OnPlayerAttached(EntityUid uid, AlertsComponent component, LocalPlayerAttachedEvent args)
{
if (_playerManager.LocalPlayer?.ControlledEntity != uid)
return;
@@ -95,7 +86,7 @@ public sealed class ClientAlertsSystem : AlertsSystem
ClearAlerts?.Invoke(this, EventArgs.Empty);
}
private void OnPlayerDetached(EntityUid uid, AlertsComponent component, PlayerDetachedEvent args)
private void OnPlayerDetached(EntityUid uid, AlertsComponent component, LocalPlayerDetachedEvent args)
{
ClearAlerts?.Invoke(this, EventArgs.Empty);
}

View File

@@ -1,7 +1,7 @@
<DefaultWindow xmlns="https://spacestation14.io"
<DefaultWindow xmlns="https://spacestation14.io"
Title="{Loc 'ame-window-title'}"
MinSize="250 250">
<BoxContainer Orientation="Vertical">
<GridContainer Columns="2">
<BoxContainer Orientation="Horizontal">
<Label Text="{Loc 'ame-window-engine-status-label'}" />
<Label Text=" " />
@@ -42,5 +42,19 @@
<Label Text=" " />
<Label Name="CoreCount" Text="0" />
</BoxContainer>
</BoxContainer>
<BoxContainer></BoxContainer>
<BoxContainer Orientation="Horizontal">
<Label Text="{Loc 'ame-window-power-currentsupply-label'}" />
<Label Text=" " />
<Label Name="CurrentPowerSupply" Text="0" />
<Label Text=" kW" />
</BoxContainer>
<BoxContainer></BoxContainer>
<BoxContainer Orientation="Horizontal">
<Label Text="{Loc 'ame-window-power-targetsupply-label'}" />
<Label Text=" " />
<Label Name="TargetedPowerSupply" Text="0" />
<Label Text=" kW" />
</BoxContainer>
</GridContainer>
</DefaultWindow>

View File

@@ -64,6 +64,9 @@ namespace Content.Client.Ame.UI
CoreCount.Text = $"{castState.CoreCount}";
InjectionAmount.Text = $"{castState.InjectionAmount}";
// format power statistics to pretty numbers
CurrentPowerSupply.Text = $"{castState.CurrentPowerSupply.ToString("N1")}";
TargetedPowerSupply.Text = $"{castState.TargetedPowerSupply.ToString("N1")}";
}
}
}

View File

@@ -0,0 +1,11 @@
namespace Content.Client.Animations;
/// <summary>
/// Applied to client-side clone entities to animate them approaching the player that
/// picked up the original entity.
/// </summary>
[RegisterComponent]
[Access(typeof(EntityPickupAnimationSystem))]
public sealed partial class EntityPickupAnimationComponent : Component
{
}

View File

@@ -0,0 +1,87 @@
using System.Numerics;
using Robust.Client.Animations;
using Robust.Client.GameObjects;
using Robust.Shared.Animations;
using Robust.Shared.Map;
using Robust.Shared.Spawners;
using static Robust.Client.Animations.AnimationTrackProperty;
namespace Content.Client.Animations;
/// <summary>
/// System that handles animating an entity that a player has picked up.
/// </summary>
public sealed class EntityPickupAnimationSystem : EntitySystem
{
[Dependency] private readonly AnimationPlayerSystem _animations = default!;
[Dependency] private readonly MetaDataSystem _metaData = default!;
[Dependency] private readonly TransformSystem _transform = default!;
public override void Initialize()
{
base.Initialize();
SubscribeLocalEvent<EntityPickupAnimationComponent, AnimationCompletedEvent>(OnEntityPickupAnimationCompleted);
}
private void OnEntityPickupAnimationCompleted(EntityUid uid, EntityPickupAnimationComponent component, AnimationCompletedEvent args)
{
Del(uid);
}
/// <summary>
/// Animates a clone of an entity moving from one point to another before
/// being deleted.
/// Used when the player picks up an entity.
/// </summary>
public void AnimateEntityPickup(EntityUid uid, EntityCoordinates initial, Vector2 final, Angle initialAngle)
{
if (Deleted(uid) || !initial.IsValid(EntityManager))
return;
var metadata = MetaData(uid);
if (IsPaused(uid, metadata))
return;
var animatableClone = Spawn("clientsideclone", initial);
EnsureComp<EntityPickupAnimationComponent>(animatableClone);
var val = metadata.EntityName;
_metaData.SetEntityName(animatableClone, val);
if (!TryComp(uid, out SpriteComponent? sprite0))
{
Log.Error("Entity ({0}) couldn't be animated for pickup since it doesn't have a {1}!", metadata.EntityName, nameof(SpriteComponent));
return;
}
var sprite = Comp<SpriteComponent>(animatableClone);
sprite.CopyFrom(sprite0);
sprite.Visible = true;
var animations = Comp<AnimationPlayerComponent>(animatableClone);
var despawn = EnsureComp<TimedDespawnComponent>(animatableClone);
despawn.Lifetime = 0.25f;
_transform.SetLocalRotationNoLerp(animatableClone, initialAngle);
_animations.Play(animatableClone, animations, new Animation
{
Length = TimeSpan.FromMilliseconds(125),
AnimationTracks =
{
new AnimationTrackComponentProperty
{
ComponentType = typeof(TransformComponent),
Property = nameof(TransformComponent.LocalPosition),
InterpolationMode = AnimationInterpolationMode.Linear,
KeyFrames =
{
new KeyFrame(initial.Position, 0),
new KeyFrame(final, 0.125f)
}
},
}
}, "fancy_pickup_anim");
}
}

View File

@@ -1,66 +0,0 @@
using System.Numerics;
using Content.Shared.Spawners.Components;
using Robust.Client.Animations;
using Robust.Client.GameObjects;
using Robust.Shared.Animations;
using Robust.Shared.Map;
namespace Content.Client.Animations
{
public static class ReusableAnimations
{
public static void AnimateEntityPickup(EntityUid entity, EntityCoordinates initialPosition, Vector2 finalPosition, Angle initialAngle, IEntityManager? entMan = null)
{
IoCManager.Resolve(ref entMan);
if (entMan.Deleted(entity) || !initialPosition.IsValid(entMan))
return;
var metadata = entMan.GetComponent<MetaDataComponent>(entity);
if (entMan.IsPaused(entity, metadata))
return;
var animatableClone = entMan.SpawnEntity("clientsideclone", initialPosition);
string val = entMan.GetComponent<MetaDataComponent>(entity).EntityName;
entMan.System<MetaDataSystem>().SetEntityName(animatableClone, val);
if (!entMan.TryGetComponent(entity, out SpriteComponent? sprite0))
{
Logger.Error("Entity ({0}) couldn't be animated for pickup since it doesn't have a {1}!", entMan.GetComponent<MetaDataComponent>(entity).EntityName, nameof(SpriteComponent));
return;
}
var sprite = entMan.GetComponent<SpriteComponent>(animatableClone);
sprite.CopyFrom(sprite0);
sprite.Visible = true;
var animations = entMan.GetComponent<AnimationPlayerComponent>(animatableClone);
animations.AnimationCompleted += (_) => {
entMan.DeleteEntity(animatableClone);
};
var despawn = entMan.EnsureComponent<TimedDespawnComponent>(animatableClone);
despawn.Lifetime = 0.25f;
entMan.System<SharedTransformSystem>().SetLocalRotationNoLerp(animatableClone, initialAngle);
animations.Play(new Animation
{
Length = TimeSpan.FromMilliseconds(125),
AnimationTracks =
{
new AnimationTrackComponentProperty
{
ComponentType = typeof(TransformComponent),
Property = nameof(TransformComponent.LocalPosition),
InterpolationMode = AnimationInterpolationMode.Linear,
KeyFrames =
{
new AnimationTrackProperty.KeyFrame(initialPosition.Position, 0),
new AnimationTrackProperty.KeyFrame(finalPosition, 0.125f)
}
},
}
}, "fancy_pickup_anim");
}
}
}

View File

@@ -0,0 +1,32 @@
using Content.Shared.Ghost;
using Content.Shared.StatusIcon;
using Content.Shared.StatusIcon.Components;
using Robust.Client.Player;
using Robust.Shared.Prototypes;
namespace Content.Client.Antag;
/// <summary>
/// Used for assigning specified icons for antags.
/// </summary>
public abstract class AntagStatusIconSystem<T> : SharedStatusIconSystem
where T : IComponent
{
[Dependency] private readonly IPrototypeManager _prototype = default!;
[Dependency] private readonly IPlayerManager _player = default!;
/// <summary>
/// Will check if the local player has the same component as the one who called it and give the status icon.
/// </summary>
/// <param name="antagStatusIcon">The status icon that your antag uses</param>
/// <param name="args">The GetStatusIcon event.</param>
protected virtual void GetStatusIcon(string antagStatusIcon, ref GetStatusIconsEvent args)
{
var ent = _player.LocalPlayer?.ControlledEntity;
if (!HasComp<T>(ent) && !HasComp<GhostComponent>(ent))
return;
args.StatusIcons.Add(_prototype.Index<StatusIconPrototype>(antagStatusIcon));
}
}

View File

@@ -12,6 +12,7 @@ using Robust.Client.ResourceManagement;
using Robust.Client.UserInterface;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.CustomControls;
using Robust.Shared.Graphics;
using Robust.Shared.IoC;
using Robust.Shared.Localization;
using Robust.Shared.Maths;

View File

@@ -0,0 +1,9 @@
using Content.Shared.Armor;
namespace Content.Client.Armor;
/// <inheritdoc/>
public sealed class ArmorSystem : SharedArmorSystem
{
}

View File

@@ -56,7 +56,7 @@ namespace Content.Client.Atmos.EntitySystems
private void HandleAtmosDebugOverlayMessage(AtmosDebugOverlayMessage message)
{
_tileData[message.GridId] = message;
_tileData[GetEntity(message.GridId)] = message;
}
private void HandleAtmosDebugOverlayDisableMessage(AtmosDebugOverlayDisableMessage ev)

View File

@@ -10,6 +10,8 @@ namespace Content.Client.Atmos.EntitySystems;
/// </summary>
public sealed class FireVisualizerSystem : VisualizerSystem<FireVisualsComponent>
{
[Dependency] private readonly PointLightSystem _lights = default!;
public override void Initialize()
{
base.Initialize();
@@ -83,11 +85,11 @@ public sealed class FireVisualizerSystem : VisualizerSystem<FireVisualsComponent
component.LightEntity ??= Spawn(null, new EntityCoordinates(uid, default));
var light = EnsureComp<PointLightComponent>(component.LightEntity.Value);
light.Color = component.LightColor;
_lights.SetColor(component.LightEntity.Value, component.LightColor, light);
// light needs a minimum radius to be visible at all, hence the + 1.5f
light.Radius = Math.Clamp(1.5f + component.LightRadiusPerStack * fireStacks, 0f, component.MaxLightRadius);
light.Energy = Math.Clamp(1 + component.LightEnergyPerStack * fireStacks, 0f, component.MaxLightEnergy);
_lights.SetRadius(component.LightEntity.Value, Math.Clamp(1.5f + component.LightRadiusPerStack * fireStacks, 0f, component.MaxLightRadius), light);
_lights.SetEnergy(component.LightEntity.Value, Math.Clamp(1 + component.LightEnergyPerStack * fireStacks, 0f, component.MaxLightEnergy), light);
// TODO flickering animation? Or just add a noise mask to the light? But that requires an engine PR.
}

View File

@@ -65,8 +65,10 @@ namespace Content.Client.Atmos.EntitySystems
private void HandleGasOverlayUpdate(GasOverlayUpdateEvent ev)
{
foreach (var (grid, removedIndicies) in ev.RemovedChunks)
foreach (var (nent, removedIndicies) in ev.RemovedChunks)
{
var grid = GetEntity(nent);
if (!TryComp(grid, out GasTileOverlayComponent? comp))
continue;
@@ -76,8 +78,10 @@ namespace Content.Client.Atmos.EntitySystems
}
}
foreach (var (grid, gridData) in ev.UpdatedChunks)
foreach (var (nent, gridData) in ev.UpdatedChunks)
{
var grid = GetEntity(nent);
if (!TryComp(grid, out GasTileOverlayComponent? comp))
continue;

View File

@@ -48,7 +48,7 @@ public sealed class AirAlarmBoundUserInterface : BoundUserInterface
{
SendMessage(new AirAlarmUpdateDeviceDataMessage(address, data));
}
private void OnDeviceDataCopied(IAtmosDeviceData data)
{
SendMessage(new AirAlarmCopyDeviceDataMessage(data));

View File

@@ -4,10 +4,8 @@ using Content.Shared.Atmos;
using Content.Shared.Atmos.EntitySystems;
using Robust.Client.Graphics;
using Robust.Shared.Enums;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
using Robust.Shared.Map;
using Robust.Shared.Maths;
using Robust.Shared.Map.Components;
namespace Content.Client.Atmos.Overlays
{
@@ -19,6 +17,7 @@ namespace Content.Client.Atmos.Overlays
[Dependency] private readonly IMapManager _mapManager = default!;
public override OverlaySpace Space => OverlaySpace.WorldSpace;
private List<Entity<MapGridComponent>> _grids = new();
internal AtmosDebugOverlay(AtmosDebugOverlaySystem system)
{
@@ -41,10 +40,19 @@ namespace Content.Client.Atmos.Overlays
// 3. "Is this going to make it harder for atmos programmers to add data that may not be chunk-friendly into the atmos debugger?"
// Nanotrasen needs YOU! to avoid premature optimization in critical debugging tools - 20kdc
foreach (var mapGrid in _mapManager.FindGridsIntersecting(mapId, worldBounds))
_grids.Clear();
_mapManager.FindGridsIntersecting(mapId, worldBounds, ref _grids, (EntityUid uid, MapGridComponent grid,
ref List<Entity<MapGridComponent>> state) =>
{
if (!_atmosDebugOverlaySystem.HasData(mapGrid.Owner) ||
!_entManager.TryGetComponent<TransformComponent>(mapGrid.Owner, out var xform))
state.Add((uid, grid));
return true;
});
foreach (var (uid, mapGrid) in _grids)
{
if (!_atmosDebugOverlaySystem.HasData(uid) ||
!_entManager.TryGetComponent<TransformComponent>(uid, out var xform))
continue;
drawHandle.SetTransform(xform.WorldMatrix);
@@ -53,7 +61,7 @@ namespace Content.Client.Atmos.Overlays
{
foreach (var tile in mapGrid.GetTilesIntersecting(worldBounds))
{
var dataMaybeNull = _atmosDebugOverlaySystem.GetData(mapGrid.Owner, tile.GridIndices);
var dataMaybeNull = _atmosDebugOverlaySystem.GetData(uid, tile.GridIndices);
if (dataMaybeNull != null)
{
var data = (SharedAtmosDebugOverlaySystem.AtmosDebugOverlayData) dataMaybeNull;
@@ -61,9 +69,10 @@ namespace Content.Client.Atmos.Overlays
{
// -- Mole Count --
float total = 0;
switch (_atmosDebugOverlaySystem.CfgMode) {
switch (_atmosDebugOverlaySystem.CfgMode)
{
case AtmosDebugOverlayMode.TotalMoles:
foreach (float f in data.Moles)
foreach (var f in data.Moles)
{
total += f;
}
@@ -75,7 +84,7 @@ namespace Content.Client.Atmos.Overlays
total = data.Temperature;
break;
}
var interp = ((total - _atmosDebugOverlaySystem.CfgBase) / _atmosDebugOverlaySystem.CfgScale);
var interp = (total - _atmosDebugOverlaySystem.CfgBase) / _atmosDebugOverlaySystem.CfgScale;
Color res;
if (_atmosDebugOverlaySystem.CfgCBM)
{

View File

@@ -8,6 +8,8 @@ using Robust.Client.GameObjects;
using Robust.Client.Graphics;
using Robust.Client.ResourceManagement;
using Robust.Shared.Enums;
using Robust.Shared.Graphics;
using Robust.Shared.Graphics.RSI;
using Robust.Shared.Map;
using Robust.Shared.Map.Components;
using Robust.Shared.Prototypes;
@@ -79,7 +81,7 @@ namespace Content.Client.Atmos.Overlays
if (!rsi.TryGetState(stateId, out var state)) continue;
_frames[i] = state.GetFrames(RSI.State.Direction.South);
_frames[i] = state.GetFrames(RsiDirection.South);
_frameDelays[i] = state.GetDelays();
_frameCounter[i] = 0;
break;
@@ -97,7 +99,7 @@ namespace Content.Client.Atmos.Overlays
if (!fire.TryGetState((i + 1).ToString(), out var state))
throw new ArgumentOutOfRangeException($"Fire RSI doesn't have state \"{i}\"!");
_fireFrames[i] = state.GetFrames(RSI.State.Direction.South);
_fireFrames[i] = state.GetFrames(RsiDirection.South);
_fireFrameDelays[i] = state.GetDelays();
_fireFrameCounter[i] = 0;
}

View File

@@ -9,6 +9,7 @@ using Robust.Client.UserInterface.CustomControls;
using Robust.Client.AutoGenerated;
using Robust.Client.UserInterface.XAML;
using static Content.Shared.Atmos.Components.GasAnalyzerComponent;
using Direction = Robust.Shared.Maths.Direction;
namespace Content.Client.Atmos.UI
{
@@ -68,7 +69,7 @@ namespace Content.Client.Atmos.UI
_ => GridIcon.OverrideDirection
};
GridIcon.SetEntity(msg.DeviceUid);
GridIcon.SetEntity(IoCManager.Resolve<IEntityManager>().GetEntity(msg.DeviceUid));
LeftPanel.RemoveAllChildren();
MiddlePanel.RemoveAllChildren();
RightPanel.RemoveAllChildren();

View File

@@ -19,7 +19,7 @@ namespace Content.Client.Atmos.UI
[ViewVariables]
private float _maxTemp = 0.0f;
[ViewVariables]
private bool _isHeater = true;

Some files were not shown because too many files have changed in this diff Show More