Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pomegranate & Bombegranate #26407

Closed
wants to merge 277 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
277 commits
Select commit Hold shift + click to select a range
b2c5ae9
nerf rad artifacts (#26422)
EmoGarbage404 Mar 25, 2024
964c6d5
Code cleanup: Purge obsoleted SharedPhysicsSystem methods (#26287)
Tayrtahn Mar 25, 2024
55ad9c7
Cleaner Grenade (#25444)
BombasterDS Mar 25, 2024
3f92410
Automatic changelog update
PJBot Mar 25, 2024
b60f61c
Wearable Harmonicas (#26261)
ImWeax Mar 25, 2024
aec1d6a
Automatic changelog update
PJBot Mar 25, 2024
94e4755
Fix mailing units turning into disposal units while recharging. (#26383)
nikthechampiongr Mar 25, 2024
66bb3fc
Automatic changelog update
PJBot Mar 25, 2024
a0cc87c
Church Bells (#26030)
SphiraI Mar 25, 2024
bd58954
Re-resprites labcoats (#26425)
Flareguy Mar 25, 2024
bf98a6a
SS14-17313 Chatfactor: Chat Censorship Systems (#25908)
FairlySadPanda Mar 25, 2024
771390b
Make all implants unable to be implanted more than once (#26250)
Simyon264 Mar 26, 2024
327a6e9
Automatic changelog update
PJBot Mar 26, 2024
3b9c5d4
Nerf ninja research stealing (#26421)
EmoGarbage404 Mar 26, 2024
d636be9
Automatic changelog update
PJBot Mar 26, 2024
47fe7d3
Reduces size of smaller cartons and fix size discrepancies with empty…
IamVelcroboy Mar 26, 2024
4b28603
Make chest rig purchasable in uplink (#26427)
Dutch-VanDerLinde Mar 26, 2024
51a02c9
Automatic changelog update
PJBot Mar 26, 2024
fdb4a61
Fix atmos NaN error (#26441)
ElectroJr Mar 26, 2024
00f95c6
Automatic changelog update
PJBot Mar 26, 2024
29e62ff
better sprites
drteaspoon420 Mar 26, 2024
55b146a
Curtains fix (#26447)
Futuristic-OK Mar 26, 2024
b0f4a9b
Update submodule (#26451)
PJB3005 Mar 26, 2024
bf7fb53
Update submodule (#26454)
PJB3005 Mar 26, 2024
4630e94
Minor cleanup of cuffablesystem (#26434)
nikthechampiongr Mar 26, 2024
21583f9
Automatic changelog update
PJBot Mar 26, 2024
ebddef7
Objects such as lighters/welders are now able to be dropped in dispos…
Huxellberger Mar 26, 2024
f90b97a
Update submodule to 216.0.0 (#26467)
metalgearsloth Mar 27, 2024
fbea150
Revert "Give cap door remote his access" (#26465)
metalgearsloth Mar 27, 2024
cb8f145
Fix GhostRoleComponent performing randomization on ComponentInit (#26…
ElectroJr Mar 27, 2024
9594afa
Remove Rubber Rounds, Give Security Disablers (#26470)
Nairodian Mar 27, 2024
bd27727
Automatic changelog update
PJBot Mar 27, 2024
3e786f5
Removed Box of Hugs and Donk Pockets from Bounties (#26481)
Ghagliiarghii Mar 27, 2024
ba7d2dc
Automatic changelog update
PJBot Mar 27, 2024
2e9deae
Artifact node IDs are now only 3 digits long (#26482)
Vermidia Mar 27, 2024
527c2c4
Automatic changelog update
PJBot Mar 27, 2024
37b8d78
Body code cleanup (#24946)
0x6273 Mar 28, 2024
92a4443
Add stacktrace to action error logs (#26486)
ElectroJr Mar 28, 2024
bf7c1d6
Late Join Menu Properly Retains Position On New Player Joins (#26483)
Huxellberger Mar 28, 2024
29fb3ca
Automatic changelog update
PJBot Mar 28, 2024
77e029d
Remove atmos method events (#26402)
ElectroJr Mar 28, 2024
8a6879b
Misc ItemToggleSystem changes (#26489)
ElectroJr Mar 28, 2024
4d9a79d
Allow cargo bounties to be sold off-station (#26469)
blueDev2 Mar 28, 2024
7d90175
Automatic changelog update
PJBot Mar 28, 2024
578f7e4
Remove broadcast cooldown (#26492)
superjj18 Mar 28, 2024
887cd42
Add DoorBumpOpener to space dragon (#26490)
Simyon264 Mar 28, 2024
b064985
Automatic changelog update
PJBot Mar 28, 2024
766192f
Use nav beacon locations for announcements (#26437)
EmoGarbage404 Mar 28, 2024
a071bc5
Automatic changelog update
PJBot Mar 28, 2024
b1ba6b5
Arcade machine improvements (#24200)
Tayrtahn Mar 28, 2024
65fa3ae
Automatic changelog update
PJBot Mar 28, 2024
6863a7c
biggest gridinv update OF ALL TIME (#25834)
deltanedas Mar 28, 2024
d576f5c
dynamic alert sprites (#25452)
EmoGarbage404 Mar 28, 2024
df7f2a1
Automatic changelog update
PJBot Mar 28, 2024
d13da28
voicemask can select speech verb (#25768)
deltanedas Mar 28, 2024
29f34d8
Automatic changelog update
PJBot Mar 28, 2024
794a447
Separate "thank you" messages from general ads (#25867)
Tayrtahn Mar 28, 2024
bbe08c0
Fix master (#26501)
metalgearsloth Mar 28, 2024
192f092
Sentien artifact ghost role locale (#26509)
lapatison Mar 28, 2024
7759d40
Fix arcade goodbye message implementation (#26514)
Tayrtahn Mar 28, 2024
df631ff
Fix Incorrect stealth messages appearing on readmin. (#26511)
nikthechampiongr Mar 28, 2024
aba1619
Go back to constant electrocution damage based on voltage (#26455)
EmoGarbage404 Mar 28, 2024
daff655
Automatic changelog update
PJBot Mar 28, 2024
66e8e05
more melee weapon sound fixes (#26520)
Dutch-VanDerLinde Mar 29, 2024
8537e27
Foldable ushanka (#26519)
ValentFingerov Mar 29, 2024
cfc0ecb
[BugFix] Persist Job Restrictions When New User Late Joins (#26498)
Huxellberger Mar 29, 2024
653d53d
Automatic changelog update
PJBot Mar 29, 2024
69a15ad
Send what seleted for secret to admin chat (#26500)
lzk228 Mar 29, 2024
cdfa7c3
Automatic changelog update
PJBot Mar 29, 2024
59e46aa
Reduced Warning Count By 130 For Full Rebuilds (#26518)
Huxellberger Mar 29, 2024
52ca0c2
Automatic changelog update
PJBot Mar 29, 2024
a25801b
Update audioparams (#26387)
metalgearsloth Mar 29, 2024
f008732
Update submodule to 217.0.0 (#26524)
metalgearsloth Mar 29, 2024
b041637
Chemically-created Crystal Shards (#26269)
wafehling Mar 29, 2024
d830922
Automatic changelog update
PJBot Mar 29, 2024
cdfee5a
Transform cleanups (#25963)
metalgearsloth Mar 29, 2024
a606909
Add auto modes to reagent grinder (#26290)
Crotalus Mar 29, 2024
12a384f
Automatic changelog update
PJBot Mar 29, 2024
06b14f3
Change Polymorph Actions to use Polymorph Proto Id (#26419)
keronshb Mar 29, 2024
19caf1d
Increases minimum player requirement for nuclear operatives. (#26474)
Adrian16199 Mar 29, 2024
4cd2fbd
Add prediction to Spill Container verb, add dummy TrySpill methods to…
Tayrtahn Mar 29, 2024
28d05fe
Fix disposals test (#26535)
metalgearsloth Mar 29, 2024
355d00a
combine same-tile explosions in the same tick (#25664)
deltanedas Mar 29, 2024
3a3652a
Automatic changelog update
PJBot Mar 29, 2024
985c4b4
Fix empty atmos deserialization (#26540)
ElectroJr Mar 29, 2024
649af48
Increase Ion Storm Weights (#26539)
Mephisto72 Mar 30, 2024
86a24db
Automatic changelog update
PJBot Mar 30, 2024
2e9c8f6
Fix guardian damage transfer (#26541)
arimah Mar 30, 2024
72c6a14
Automatic changelog update
PJBot Mar 30, 2024
3b79145
Refactor FTL time tracking code to fix a UI bug (#26538)
PJB3005 Mar 30, 2024
d215419
Revert "Fix scram implant's teleportation out of containers" (#25030)
metalgearsloth Mar 30, 2024
bb5ca72
Split GasTileOverlaySystem update over two ticks (#26542)
ElectroJr Mar 30, 2024
6ef592d
Industrial Reagent Grinder (#25020)
Boaz1111 Mar 30, 2024
ac12982
Automatic changelog update
PJBot Mar 30, 2024
52db14a
Zippable coats (#26494)
SonicHDC Mar 30, 2024
fc4389f
Fix itemslots swapping (#25634)
metalgearsloth Mar 30, 2024
3af54a2
Automatic changelog update
PJBot Mar 30, 2024
3975389
Stop items that are being pulled from spinning (#26504)
Zealith-Gamer Mar 30, 2024
3fc02ed
Automatic changelog update
PJBot Mar 30, 2024
f192d79
Hyposprays Draw from Jugs (#25544)
Plykiya Mar 30, 2024
431c3ad
Rebalance amatoxin so it is a slower killer (#25830)
UltimateJester Mar 30, 2024
2996257
Automatic changelog update
PJBot Mar 30, 2024
aa96bae
Automatic changelog update
PJBot Mar 30, 2024
888a3bd
Atmos device performance improvements (#26493)
ElectroJr Mar 30, 2024
9ddfe38
Adjust syndicate hardbomb damage (#26548)
liltenhead Mar 30, 2024
0f6c7c9
Automatic changelog update
PJBot Mar 30, 2024
97b390d
up stimulants (no sleep) (#25886)
takemysoult Mar 30, 2024
1e51feb
Automatic changelog update
PJBot Mar 30, 2024
1ffa5c2
Make BaseMedicalPDA abstract (#26567)
lzk228 Mar 30, 2024
7638252
Fix GasMixers/Filters not working (#26568)
Plykiya Mar 30, 2024
c9e1944
Industrial Reagent Grinder Hotfix (#26571)
Boaz1111 Mar 30, 2024
b8363cd
Give stores the ability to check for owner only (#26573)
keronshb Mar 30, 2024
a23ff52
Fix round start crash (causing instant restart) (#26579)
wrexbe Mar 30, 2024
69cacf6
Update engine to v217.1.0 (#26588)
ElectroJr Mar 31, 2024
0edd0a7
Fix initial infected icon hiding (#26585)
wrexbe Mar 31, 2024
7130d1c
Fix Meta evac shuttle name (#26587)
wrexbe Mar 31, 2024
8676aad
Make timer ignore client predict setting (#26554)
wrexbe Mar 31, 2024
175f820
Make advertise system survive no map inits (#26553)
wrexbe Mar 31, 2024
602d30c
Update Credits (#26589)
github-actions[bot] Mar 31, 2024
e7af28d
Fix fox spawn on reach (#26584)
wrexbe Mar 31, 2024
1f3f1d7
Removes SCAF armor (#26566)
Flareguy Mar 31, 2024
7a4a0bc
Update Patrons.yml (#26578)
DrSmugleaf Mar 31, 2024
c1b5576
Automatic changelog update
PJBot Mar 31, 2024
87a56b2
Make aghost command work on other players using optional argument (#2…
Simyon264 Mar 31, 2024
ef8b16a
Automatic changelog update
PJBot Mar 31, 2024
daaa7c6
Add new component to Make sound on interact (#26523)
blueDev2 Mar 31, 2024
b38547d
Increase syndi duffelbag storage (#26565)
lzk228 Mar 31, 2024
9d1d5de
Automatic changelog update
PJBot Mar 31, 2024
48e5c3c
Adds construction/decon graphs for plastic flaps (#26341)
IamVelcroboy Mar 31, 2024
950a644
Automatic changelog update
PJBot Mar 31, 2024
a98d0cf
Makes secglasses roundstart (#26487)
Flareguy Mar 31, 2024
80c4d3e
Automatic changelog update
PJBot Mar 31, 2024
5f063d2
Toilet Upgrade (needs review) (#22133)
brainfood1183 Mar 31, 2024
ce71cde
Automatic changelog update
PJBot Mar 31, 2024
de62ec2
Uplink store interface searchable with a searchbar. (#24287)
DrMelon Mar 31, 2024
4d2aa1a
Automatic changelog update
PJBot Mar 31, 2024
02273ca
Improved RCDs (#22799)
chromiumboy Mar 31, 2024
93bda6f
Automatic changelog update
PJBot Mar 31, 2024
32bd663
Update submodule to 217.2.0 (#26592)
metalgearsloth Mar 31, 2024
6b7427e
Southern accent (#26543)
UBlueberry Mar 31, 2024
1b94e01
Prevent storing liquids in equipped buckets (#24412)
Tayrtahn Mar 31, 2024
1ad5091
Automatic changelog update
PJBot Mar 31, 2024
4e618e9
Fix 'Hypopen shouldn't display solution examine text' (#26453)
drteaspoon420 Mar 31, 2024
213c075
Automatic changelog update
PJBot Mar 31, 2024
c91ed96
Revert Paint (#26593)
metalgearsloth Mar 31, 2024
90a880a
Fix: Prevent single-use hyposprays from getting the toggle draw verb …
Plykiya Mar 31, 2024
ae8a68b
MeleeHitSoundSystem (#25005)
Bixkitts Mar 31, 2024
f5e5b6b
Remove physics comp from VendingMachineWallmount (#25632)
IamVelcroboy Mar 31, 2024
d505269
Remake hairflowers (#25475)
lzk228 Mar 31, 2024
7c7ff5a
Automatic changelog update
PJBot Mar 31, 2024
d71062a
Injector UI shows TransferAmount change, Spilling liquid changes Inje…
Plykiya Mar 31, 2024
d512bc1
Update submodule to 217.2.1 (#26599)
metalgearsloth Mar 31, 2024
1b69762
disallow unanchoring or opening panels on locked emitters/APEs (#26600)
EmoGarbage404 Mar 31, 2024
d1ad6d9
Automatic changelog update
PJBot Mar 31, 2024
8337493
Fix grave digging sound indefinitely playing if dug by aghost. (#26420)
nikthechampiongr Mar 31, 2024
ad438a7
Make the buttons on the map ui not squished (#26604)
wrexbe Mar 31, 2024
55c77af
Combine flower crown and wreath (#26605)
lzk228 Mar 31, 2024
241b153
Automatic changelog update
PJBot Mar 31, 2024
2a1903d
Add AP damage to throwing knives (#26380)
UbaserB Mar 31, 2024
7f2e6cc
Automatic changelog update
PJBot Mar 31, 2024
5eff7f1
cancelable brig timers (#26557)
graevy Mar 31, 2024
7e950ea
Fix orientation of roller skate sprites (#26627)
eoineoineoin Mar 31, 2024
3adf6c1
Automatic changelog update
PJBot Mar 31, 2024
d2bee7e
Fix GastTileOverlay sending redundant data (#26623)
ElectroJr Mar 31, 2024
6d15111
Auto DeAdmin sooner (#26551)
wrexbe Mar 31, 2024
0602e64
Add briefcase to curadrobe and lawdrobe, and some briefcases cleanup …
lzk228 Mar 31, 2024
c62e90a
Automatic changelog update
PJBot Mar 31, 2024
9b08c2c
Fix some text overflow bugs in HUD (#26615)
eoineoineoin Apr 1, 2024
652de4d
Adds two milk cartons to the BoozeOMat (#26635)
RiceMar1244 Apr 1, 2024
e53bfed
Automatic changelog update
PJBot Apr 1, 2024
ce6b6fd
made the hover text less vague (sorry) (#26630)
UBlueberry Apr 1, 2024
adaaf0f
blacklisted throwing knifes from pneumatic cannon (#26628)
Zealith-Gamer Apr 1, 2024
29c81bc
Fix radio jammer not blocking suit sensors. (#26632)
nikthechampiongr Apr 1, 2024
311ad83
Fix dirt decals in reach not being cleanable (#26636)
hamurlik Apr 1, 2024
1d2bf51
Automatic changelog update
PJBot Apr 1, 2024
c4f383c
Replace drill_hit.ogg and drill_use.ogg with better sounds (#26622)
pissdemon Apr 1, 2024
5bb0179
Gave Blast door access permissions (#26606)
Zealith-Gamer Apr 1, 2024
29d7b73
Gives all wheeled objects low friction (#26601)
Flareguy Apr 1, 2024
d8d4fee
Automatic changelog update
PJBot Apr 1, 2024
d0d1276
Combine solution injection systems; Fix embeddable injectors (#26268)
Tayrtahn Apr 1, 2024
246155b
Automatic changelog update
PJBot Apr 1, 2024
b7a6fb9
Add ValueList import (#26640)
metalgearsloth Apr 1, 2024
83766b5
Change assault borg modules texture (#26502)
SoulFN Apr 1, 2024
8c5e236
Automatic changelog update
PJBot Apr 1, 2024
cf7567d
Add Cyborg Emote Sounds (#26594)
Keer-Sar Apr 1, 2024
cc35f16
Automatic changelog update
PJBot Apr 1, 2024
bed9e9a
Coordinates Disks & Shuttle FTL Travel (#23240)
SlamBamActionman Apr 1, 2024
72bdcac
Automatic changelog update
PJBot Apr 1, 2024
64bb8db
Add door electronics access configuration menu (#17778)
c4llv07e Apr 1, 2024
d9b6e9f
Automatic changelog update
PJBot Apr 1, 2024
1db178b
scoopable ash and foam, solution transfer prediction (#25832)
deltanedas Apr 1, 2024
2ffd616
Replace the teleportation logic on the SCRAM implant! (#26429)
nikthechampiongr Apr 1, 2024
5613c3d
Refactored AdvertiseComponent (#26598)
wrexbe Apr 1, 2024
ea3e98e
Bartender "Essentials" (#25367)
musicmanvr Apr 1, 2024
16e3aed
Automatic changelog update
PJBot Apr 1, 2024
da69b0a
Add ERT Chaplain (#25956)
IProduceWidgets Apr 1, 2024
085a71e
Changes in chemicals page in guidebook (#25831)
f0x-n3rd Apr 1, 2024
de8b788
Automatic changelog update
PJBot Apr 1, 2024
a4ec01d
Anomalies behaviours (#24683)
TheShuEd Apr 1, 2024
5e15abc
Automatic changelog update
PJBot Apr 1, 2024
a05f952
Fix clipping/overlap in lathe machine UIs (#26646)
eoineoineoin Apr 1, 2024
bc31c19
Added chat window transparency slider to options (#24990)
Sk1tch Apr 1, 2024
eace237
Automatic changelog update
PJBot Apr 1, 2024
7464d82
Infinity books (#25840)
TheShuEd Apr 1, 2024
144798b
Automatic changelog update
PJBot Apr 1, 2024
4b0f47c
Resprite ambuzol plus pills (#26651)
osjarw Apr 2, 2024
a4d4609
Automatic changelog update
PJBot Apr 2, 2024
5d31335
Fixed air injector visuals (#26654)
osjarw Apr 2, 2024
307a1c5
Make cyborgs hands explosion proof. (#26515)
Simyon264 Apr 2, 2024
c937496
Automatic changelog update
PJBot Apr 2, 2024
bd5031f
Automatic changelog update
PJBot Apr 2, 2024
025107f
Make typing indicator shaded (#26678)
lzk228 Apr 3, 2024
c5fe41c
Automatic changelog update
PJBot Apr 3, 2024
74c45da
Validate wire layout prototypes and remove invalid WiresComponents (#…
Tayrtahn Apr 3, 2024
c87ba22
Increase time inbetween anomaly pulses (#26677)
EmoGarbage404 Apr 3, 2024
e6a0904
Automatic changelog update
PJBot Apr 3, 2024
5aadb17
Fix for items dropped being rotated to world north (#26662)
Plykiya Apr 3, 2024
70ec12f
Automatic changelog update
PJBot Apr 3, 2024
6b84a04
fix double interaction popup (#26684)
lunarcomets Apr 3, 2024
b909c25
disable foam scooping (#26686)
deltanedas Apr 3, 2024
35134fc
Automatic changelog update
PJBot Apr 3, 2024
cc99bbe
Little disk printer sprite tweaks (#26711)
lzk228 Apr 4, 2024
d797ee7
fixed white_box.png (#26714)
ThatOneGoblin25 Apr 4, 2024
9c50ac3
New lobby art: TerminalStation (#26505)
Terraspark4941 Apr 4, 2024
ab3e46a
Automatic changelog update
PJBot Apr 4, 2024
36fefb9
Unidentified corpses respect gender pronouns (#26715)
Brandon-Huu Apr 4, 2024
b709e24
Things that can't go in disposals now don't "Miss" (#26716)
beck-thompson Apr 4, 2024
1e43980
Clean up YAML issues in animals.yml (#26696)
Tayrtahn Apr 4, 2024
170e13b
fix health analyzer crash (#26700)
deltanedas Apr 4, 2024
705f029
Automatic changelog update
PJBot Apr 4, 2024
a1a1219
Make the station start with random broken wiring (#26695)
Tayrtahn Apr 4, 2024
70959e7
Fix turned off thrusters consume power (#26690)
lzk228 Apr 4, 2024
f69f395
Mail Unit Fix (whitelist) (#26688)
brainfood1183 Apr 4, 2024
d8af6a0
Automatic changelog update
PJBot Apr 4, 2024
7ced9d4
OOC Patron Color Toggle (#26653)
Aexxie Apr 4, 2024
b331228
Automatic changelog update
PJBot Apr 4, 2024
fb0e8ad
Fix random clothing slots being able to hide character's nose and hai…
DinoWattz Apr 4, 2024
827cd0f
Automatic changelog update
PJBot Apr 4, 2024
d9c1130
Make Zombie, Initial Infected fix (#26665)
wrexbe Apr 4, 2024
f5d9d3c
Suit Sensors No Longer Use a Hardcoded 'Total Health' (#26658)
Pspritechologist Apr 4, 2024
d4982ba
Stop mop buckets from spilling when you push them (#26706)
VasilisThePikachu Apr 4, 2024
8dc5334
Automatic changelog update
PJBot Apr 4, 2024
8cd0cce
Robotists technology icon fix (#26723)
GeneralGaws Apr 4, 2024
030da9c
Pomegranate & Grenade Fruit
drteaspoon420 Mar 24, 2024
9645eb7
Update cargo_vending.yml
drteaspoon420 Mar 24, 2024
0edb118
Update produce.yml
drteaspoon420 Mar 24, 2024
a90a11c
renamed grenade fruit to bombegranate
drteaspoon420 Mar 25, 2024
ace90e2
better sprites
drteaspoon420 Mar 26, 2024
87a7b1b
Update grenade.yml
drteaspoon420 Apr 15, 2024
768bbfe
Merge branch 'grenade-fruit' of https://github.com/drteaspoon420/spac…
drteaspoon420 Apr 15, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
15 changes: 15 additions & 0 deletions .github/workflows/check-crlf.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: CRLF Check

on:
pull_request:
types: [ opened, reopened, synchronize, ready_for_review ]

jobs:
build:
name: CRLF Check
if: github.event.pull_request.draft == false
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3.6.0
- name: Check for CRLF
run: Tools/check_crlf.py
2 changes: 1 addition & 1 deletion .github/workflows/close-master-pr.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Close PR's on master
name: Close PRs on master

on:
pull_request_target:
Expand Down
4 changes: 4 additions & 0 deletions Content.Client/Access/UI/AccessLevelControl.xaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<GridContainer xmlns="https://spacestation14.io"
Columns="5"
HorizontalAlignment="Center">
</GridContainer>
52 changes: 52 additions & 0 deletions Content.Client/Access/UI/AccessLevelControl.xaml.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
using System.Linq;
using Robust.Client.AutoGenerated;
using Robust.Client.UserInterface;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.XAML;
using Robust.Shared.Prototypes;
using Content.Shared.Access;
using Content.Shared.Access.Systems;

namespace Content.Client.Access.UI;

[GenerateTypedNameReferences]
public sealed partial class AccessLevelControl : GridContainer
{
public readonly Dictionary<ProtoId<AccessLevelPrototype>, Button> ButtonsList = new();

public AccessLevelControl()
{
RobustXamlLoader.Load(this);
}

public void Populate(List<ProtoId<AccessLevelPrototype>> accessLevels, IPrototypeManager prototypeManager)
{
foreach (var access in accessLevels)
{
if (!prototypeManager.TryIndex(access, out var accessLevel))
{
Logger.Error($"Unable to find accesslevel for {access}");
continue;
}

var newButton = new Button
{
Text = accessLevel.GetAccessLevelName(),
ToggleMode = true,
};
AddChild(newButton);
ButtonsList.Add(accessLevel.ID, newButton);
}
}

public void UpdateState(
List<ProtoId<AccessLevelPrototype>> pressedList,
List<ProtoId<AccessLevelPrototype>>? enabledList = null)
{
foreach (var (accessName, button) in ButtonsList)
{
button.Pressed = pressedList.Contains(accessName);
button.Disabled = !(enabledList?.Contains(accessName) ?? true);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ protected override void UpdateState(BoundUserInterfaceState state)
_window?.UpdateState(castState);
}

public void SubmitData(List<string> newAccessList)
public void SubmitData(List<ProtoId<AccessLevelPrototype>> newAccessList)
{
SendMessage(new WriteToTargetAccessReaderIdMessage(newAccessList));
}
Expand Down
17 changes: 4 additions & 13 deletions Content.Client/Access/UI/AccessOverriderWindow.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ public sealed partial class AccessOverriderWindow : DefaultWindow
[Dependency] private readonly ILogManager _logManager = default!;
[Dependency] private readonly IPrototypeManager _prototypeManager = default!;

private readonly ISawmill _logMill = default!;
private readonly AccessOverriderBoundUserInterface _owner;
private readonly Dictionary<string, Button> _accessButtons = new();

Expand All @@ -25,21 +24,21 @@ public AccessOverriderWindow(AccessOverriderBoundUserInterface owner, IPrototype
{
RobustXamlLoader.Load(this);
IoCManager.InjectDependencies(this);
_logMill = _logManager.GetSawmill(SharedAccessOverriderSystem.Sawmill);
var logMill = _logManager.GetSawmill(SharedAccessOverriderSystem.Sawmill);

_owner = owner;

foreach (var access in accessLevels)
{
if (!prototypeManager.TryIndex(access, out var accessLevel))
{
_logMill.Error($"Unable to find accesslevel for {access}");
logMill.Error($"Unable to find accesslevel for {access}");
continue;
}

var newButton = new Button
{
Text = GetAccessLevelName(accessLevel),
Text = accessLevel.GetAccessLevelName(),
ToggleMode = true,
};

Expand All @@ -49,14 +48,6 @@ public AccessOverriderWindow(AccessOverriderBoundUserInterface owner, IPrototype
}
}

private static string GetAccessLevelName(AccessLevelPrototype prototype)
{
if (prototype.Name is { } name)
return Loc.GetString(name);

return prototype.ID;
}

public void UpdateState(AccessOverriderBoundUserInterfaceState state)
{
PrivilegedIdLabel.Text = state.PrivilegedIdName;
Expand Down Expand Up @@ -105,7 +96,7 @@ private void SubmitData()
_owner.SubmitData(

// Iterate over the buttons dictionary, filter by `Pressed`, only get key from the key/value pair
_accessButtons.Where(x => x.Value.Pressed).Select(x => x.Key).ToList());
_accessButtons.Where(x => x.Value.Pressed).Select(x => new ProtoId<AccessLevelPrototype>(x.Key)).ToList());
}
}
}
4 changes: 2 additions & 2 deletions Content.Client/Access/UI/IdCardConsoleBoundUserInterface.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
using Content.Shared.Access;
using Content.Shared.Access.Components;
using Content.Shared.Access;
using Content.Shared.Access.Systems;
using Content.Shared.Containers.ItemSlots;
using Content.Shared.CrewManifest;
Expand Down Expand Up @@ -28,7 +29,6 @@ protected override void Open()
if (EntMan.TryGetComponent<IdCardConsoleComponent>(Owner, out var idCard))
{
accessLevels = idCard.AccessLevels;
accessLevels.Sort();
}
else
{
Expand Down Expand Up @@ -65,7 +65,7 @@ protected override void UpdateState(BoundUserInterfaceState state)
_window?.UpdateState(castState);
}

public void SubmitData(string newFullName, string newJobTitle, List<string> newAccessList, string newJobPrototype)
public void SubmitData(string newFullName, string newJobTitle, List<ProtoId<AccessLevelPrototype>> newAccessList, string newJobPrototype)
{
if (newFullName.Length > MaxFullNameLength)
newFullName = newFullName[..MaxFullNameLength];
Expand Down
6 changes: 1 addition & 5 deletions Content.Client/Access/UI/IdCardConsoleWindow.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,6 @@
<Label Text="{Loc 'id-card-console-window-job-selection-label'}" />
<OptionButton Name="JobPresetOptionButton" />
</GridContainer>
<GridContainer Name="AccessLevelGrid" Columns="5" HorizontalAlignment="Center">

<!-- Access level buttons are added here by the C# code -->

</GridContainer>
<Control Name="AccessLevelControlContainer" />
</BoxContainer>
</DefaultWindow>
51 changes: 14 additions & 37 deletions Content.Client/Access/UI/IdCardConsoleWindow.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ public sealed partial class IdCardConsoleWindow : DefaultWindow

private readonly IdCardConsoleBoundUserInterface _owner;

private readonly Dictionary<string, Button> _accessButtons = new();
private AccessLevelControl _accessButtons = new();
private readonly List<string> _jobPrototypeIds = new();

private string? _lastFullName;
Expand Down Expand Up @@ -66,36 +66,18 @@ public IdCardConsoleWindow(IdCardConsoleBoundUserInterface owner, IPrototypeMana

JobPresetOptionButton.OnItemSelected += SelectJobPreset;

foreach (var access in accessLevels)
{
if (!prototypeManager.TryIndex<AccessLevelPrototype>(access, out var accessLevel))
{
_logMill.Error($"Unable to find accesslevel for {access}");
continue;
}
_accessButtons.Populate(accessLevels, prototypeManager);
AccessLevelControlContainer.AddChild(_accessButtons);

var newButton = new Button
{
Text = GetAccessLevelName(accessLevel),
ToggleMode = true,
};
AccessLevelGrid.AddChild(newButton);
_accessButtons.Add(accessLevel.ID, newButton);
newButton.OnPressed += _ => SubmitData();
foreach (var (id, button) in _accessButtons.ButtonsList)
{
button.OnPressed += _ => SubmitData();
}
}

private static string GetAccessLevelName(AccessLevelPrototype prototype)
{
if (prototype.Name is { } name)
return Loc.GetString(name);

return prototype.ID;
}

private void ClearAllAccess()
{
foreach (var button in _accessButtons.Values)
foreach (var button in _accessButtons.ButtonsList.Values)
{
if (button.Pressed)
{
Expand All @@ -119,7 +101,7 @@ private void SelectJobPreset(OptionButton.ItemSelectedEventArgs args)
// this is a sussy way to do this
foreach (var access in job.Access)
{
if (_accessButtons.TryGetValue(access, out var button) && !button.Disabled)
if (_accessButtons.ButtonsList.TryGetValue(access, out var button) && !button.Disabled)
{
button.Pressed = true;
}
Expand All @@ -134,7 +116,7 @@ private void SelectJobPreset(OptionButton.ItemSelectedEventArgs args)

foreach (var access in groupPrototype.Tags)
{
if (_accessButtons.TryGetValue(access, out var button) && !button.Disabled)
if (_accessButtons.ButtonsList.TryGetValue(access, out var button) && !button.Disabled)
{
button.Pressed = true;
}
Expand Down Expand Up @@ -184,15 +166,10 @@ public void UpdateState(IdCardConsoleBoundUserInterfaceState state)

JobPresetOptionButton.Disabled = !interfaceEnabled;

foreach (var (accessName, button) in _accessButtons)
{
button.Disabled = !interfaceEnabled;
if (interfaceEnabled)
{
button.Pressed = state.TargetIdAccessList?.Contains(accessName) ?? false;
button.Disabled = (!state.AllowedModifyAccessList?.Contains(accessName)) ?? true;
}
}
_accessButtons.UpdateState(state.TargetIdAccessList?.ToList() ??
new List<ProtoId<AccessLevelPrototype>>(),
state.AllowedModifyAccessList?.ToList() ??
new List<ProtoId<AccessLevelPrototype>>());

var jobIndex = _jobPrototypeIds.IndexOf(state.TargetIdJobPrototype);
if (jobIndex >= 0)
Expand All @@ -215,7 +192,7 @@ private void SubmitData()
FullNameLineEdit.Text,
JobTitleLineEdit.Text,
// Iterate over the buttons dictionary, filter by `Pressed`, only get key from the key/value pair
_accessButtons.Where(x => x.Value.Pressed).Select(x => x.Key).ToList(),
_accessButtons.ButtonsList.Where(x => x.Value.Pressed).Select(x => x.Key).ToList(),
jobProtoDirty ? _jobPrototypeIds[JobPresetOptionButton.SelectedId] : string.Empty);
}
}
Expand Down
2 changes: 0 additions & 2 deletions Content.Client/Alerts/ClientAlertsSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
using Robust.Client.Player;
using Robust.Shared.Player;
using Robust.Shared.Prototypes;
using Robust.Shared.Timing;

namespace Content.Client.Alerts;

Expand All @@ -13,7 +12,6 @@ public sealed class ClientAlertsSystem : AlertsSystem
{
public AlertOrderPrototype? AlertOrder { get; set; }

[Dependency] private readonly IGameTiming _timing = default!;
[Dependency] private readonly IPlayerManager _playerManager = default!;
[Dependency] private readonly IPrototypeManager _prototypeManager = default!;

Expand Down
21 changes: 21 additions & 0 deletions Content.Client/Alerts/UpdateAlertSpriteEvent.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
using Content.Shared.Alert;
using Robust.Client.GameObjects;

namespace Content.Client.Alerts;

/// <summary>
/// Event raised on an entity with alerts in order to allow it to update visuals for the alert sprite entity.
/// </summary>
[ByRefEvent]
public record struct UpdateAlertSpriteEvent
{
public Entity<SpriteComponent> SpriteViewEnt;

public AlertPrototype Alert;

public UpdateAlertSpriteEvent(Entity<SpriteComponent> spriteViewEnt, AlertPrototype alert)
{
SpriteViewEnt = spriteViewEnt;
Alert = alert;
}
}
6 changes: 3 additions & 3 deletions Content.Client/Anomaly/Ui/AnomalyScannerMenu.xaml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<controls:FancyWindow
<controls:FancyWindow
xmlns="https://spacestation14.io"
xmlns:controls="clr-namespace:Content.Client.UserInterface.Controls"
Title="{Loc 'anomaly-scanner-ui-title'}"
MinSize="350 260"
SetSize="350 260">
MinSize="350 400"
SetSize="350 400">
<BoxContainer Orientation="Vertical" VerticalExpand="True" Margin="10 0 10 10">
<RichTextLabel Name="TextDisplay"></RichTextLabel>
</BoxContainer>
Expand Down
1 change: 0 additions & 1 deletion Content.Client/Audio/AmbientSoundSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,6 @@ protected override void QueueUpdate(EntityUid uid, AmbientSoundComponent ambienc
private static AudioParams _params = AudioParams.Default
.WithVariation(0.01f)
.WithLoop(true)
.WithAttenuation(Attenuation.LinearDistance)
.WithMaxDistance(7f);

/// <summary>
Expand Down
4 changes: 2 additions & 2 deletions Content.Client/Audio/ContentAudioSystem.LobbyMusic.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ public sealed partial class ContentAudioSystem
[Dependency] private readonly IStateManager _stateManager = default!;
[Dependency] private readonly IResourceCache _resourceCache = default!;

private readonly AudioParams _lobbySoundtrackParams = new(-5f, 1, "Master", 0, 0, 0, false, 0f);
private readonly AudioParams _roundEndSoundEffectParams = new(-5f, 1, "Master", 0, 0, 0, false, 0f);
private readonly AudioParams _lobbySoundtrackParams = new(-5f, 1, 0, 0, 0, false, 0f);
private readonly AudioParams _roundEndSoundEffectParams = new(-5f, 1, 0, 0, 0, false, 0f);

/// <summary>
/// EntityUid of lobby restart sound component.
Expand Down
16 changes: 0 additions & 16 deletions Content.Client/Chemistry/Components/HyposprayComponent.cs

This file was deleted.

15 changes: 15 additions & 0 deletions Content.Client/Chemistry/EntitySystems/HypospraySystem.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
using Content.Client.Chemistry.UI;
using Content.Client.Items;
using Content.Shared.Chemistry.Components;
using Content.Shared.Chemistry.EntitySystems;

namespace Content.Client.Chemistry.EntitySystems;

public sealed class HypospraySystem : SharedHypospraySystem
{
public override void Initialize()
{
base.Initialize();
Subs.ItemStatus<HyposprayComponent>(ent => new HyposprayStatusControl(ent, _solutionContainers));
}
}
Loading
Loading