Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
337 commits
Select commit Hold shift + click to select a range
cfe5153
Health analyzer UI unit correction (#26903)
TsjipTsjip Apr 12, 2024
0f61875
Fix the stripping menu being openable without StrippingComponent (#26…
DrSmugleaf Apr 12, 2024
6a6a1f6
Fixed magboot activation distance (#26912)
osjarw Apr 13, 2024
3d60115
Automatic changelog update
PJBot Apr 13, 2024
f3eea44
Uncooked animal proteins is safe for animal stomachs only (#26906)
VasilisThePikachu Apr 13, 2024
0a5513e
Automatic changelog update
PJBot Apr 13, 2024
c253b15
Fix incorrect "Cycled" and "Bolted" popups when (un)wielding a gun (#…
DrSmugleaf Apr 13, 2024
b11f3a1
Fix guns that spawn without a magazine looking like they have one (#2…
DrSmugleaf Apr 13, 2024
9c7b440
Fixes polymorph cooldowns (#26914)
keronshb Apr 13, 2024
10ea9e3
Automatic changelog update
PJBot Apr 13, 2024
add7038
Removed Salv Borg Crusher Dagger (#26865)
FungiFellow Apr 13, 2024
cc1f1ed
Fix pulling a new entity when already pulling an entity (#26499)
ShadowCommander Apr 13, 2024
b4bb1c1
Replace SetDamage call with TryChangeDamage in ImmovableRodSystem.cs …
TsjipTsjip Apr 13, 2024
e22aafa
Automatic changelog update
PJBot Apr 13, 2024
886f6aa
Fix for the salvage ice labs map. (#26928)
Boaz1111 Apr 13, 2024
c0341d1
Automatic changelog update
PJBot Apr 13, 2024
f8f0b39
Fix cryostorage identifying unknown characters as captain (#26927)
Tayrtahn Apr 14, 2024
54de02e
Automatic changelog update
PJBot Apr 14, 2024
42795f8
Fixed Honkbot/jonkbot honking like crazy, gave honkbot/jonkbot standa…
superjj18 Apr 14, 2024
b793912
Automatic changelog update
PJBot Apr 14, 2024
490568b
Bug fix: Force cancellation of RCD constructions if the construction …
chromiumboy Apr 14, 2024
55e1c39
Fix standart -> standard and dressfilled test fail (#26942)
metalgearsloth Apr 14, 2024
5d097e8
Add Ability to stop sound when MobState is Dead (#26905)
GreaseMonk Apr 14, 2024
613b633
Automatic changelog update
PJBot Apr 14, 2024
99ab8ce
Fix rockets and lasers looking like they have nothing loaded (#26933)
DrSmugleaf Apr 14, 2024
707836d
Automatic changelog update
PJBot Apr 14, 2024
b8e2163
You can now see paper on crates (with color!) (#26834)
Vermidia Apr 14, 2024
0d5762c
Make UtensilSystem and SharpSystem not run AfterInteract if it has al…
DrSmugleaf Apr 14, 2024
ed201ed
Automatic changelog update
PJBot Apr 14, 2024
7095f3e
Add two-message overload to PopupPredicted (#26907)
Tayrtahn Apr 14, 2024
e71d526
Update submodule to 218.0.0 (#26945)
metalgearsloth Apr 14, 2024
e779283
Autism pins! (#25597)
Terraspark4941 Apr 14, 2024
1a0d9ef
Automatic changelog update
PJBot Apr 14, 2024
8e8a4cf
Fix database round start date issues (#26838)
PJB3005 Apr 14, 2024
f7e4c84
Fix options menu crashing in replays (#26911)
metalgearsloth Apr 14, 2024
ea1ac18
Greyscale color clothing (#26943)
Flareguy Apr 14, 2024
a671794
Automatic changelog update
PJBot Apr 14, 2024
89b6933
WT550 Buffs + Burst Mode for WT550 & C-20R (#26886)
BramvanZijp Apr 14, 2024
5085729
Automatic changelog update
PJBot Apr 14, 2024
0c902ce
make holoparasites actually holographic (#26862)
Dutch-VanDerLinde Apr 14, 2024
8759c90
Automatic changelog update
PJBot Apr 14, 2024
d50d5e6
Add character sheets to board game crate (#26926)
Tyzemol Apr 14, 2024
1bc78a5
Automatic changelog update
PJBot Apr 14, 2024
4c7c6f2
Game server admin API (#26880)
PJB3005 Apr 14, 2024
0e5eaa1
Wield recoil components (#26915)
Froffy025 Apr 14, 2024
c690e55
Clown shoes make you waddle, as God intended (#26338)
FairlySadPanda Apr 14, 2024
6d03b82
Automatic changelog update
PJBot Apr 14, 2024
9d48c01
Use round time instead of server time for criminal history (#26949)
ilyamikcoder Apr 14, 2024
2e94a34
Selective cherrypick: Rotate and Offset station CCVar nuke (#26175)
TheShuEd Apr 14, 2024
a78216d
Fixed cybersun pen attacking noise (#26951)
beck-thompson Apr 14, 2024
98d86fd
Automatic changelog update
PJBot Apr 14, 2024
56399f2
Fix rubber hammer being unshaded (#26956)
lzk228 Apr 14, 2024
2c25d46
Make lockers can be deconstructed only when unlocked now (#26961)
TokenStyle Apr 14, 2024
cb44045
Automatic changelog update
PJBot Apr 14, 2024
0a25422
nerf incendiary grenade (#26959)
deltanedas Apr 15, 2024
cdb83aa
meatWall incorrect node fixed (#26966)
HolySSSS Apr 15, 2024
694afca
Fix StepTrigger blacklist not working (#26968)
pissdemon Apr 15, 2024
3199b14
Automatic changelog update
PJBot Apr 15, 2024
8d48570
SS14-26950 Fix Waddling During Improper States (#26965)
FairlySadPanda Apr 15, 2024
1815b08
Mobs burn to ashes on excessive heat damage (#26971)
QuietlyWhisper Apr 15, 2024
6408dbf
Fix dragon slowdown on damage (#26975)
MilenVolf Apr 15, 2024
78fcfdc
Automatic changelog update
PJBot Apr 15, 2024
4b4f218
Fix some TryGetMind overrides relying on player data (#26992)
ElectroJr Apr 16, 2024
0d8a432
Give names to solution & identity entities (#26993)
ElectroJr Apr 16, 2024
0023240
Add QM maintenance airlock (#26982)
IamVelcroboy Apr 16, 2024
5624fda
Update submodule to 218.1.0 (#26997)
metalgearsloth Apr 16, 2024
d78303f
Reduce clown snore volume (#27012)
tosatur Apr 16, 2024
bb77576
Automatic changelog update
PJBot Apr 16, 2024
2f7814a
Add changelog for loadouts (#27020)
VasilisThePikachu Apr 16, 2024
43795ad
Automatic changelog update
PJBot Apr 16, 2024
dca422a
Automatic changelog update
PJBot Apr 16, 2024
2563eb6
Re-add IAdminRemarksCommon to DB model for SS14.Admin (#27028)
PJB3005 Apr 16, 2024
fd13022
Automatic changelog update
PJBot Apr 17, 2024
624872e
Automatic changelog update
PJBot Apr 17, 2024
40e2fe5
Automatic changelog update
PJBot Apr 17, 2024
1e99ee6
Automatic changelog update
PJBot Apr 17, 2024
c38e61a
Update submodule to 218.2.0 (#27041)
metalgearsloth Apr 17, 2024
cc5d741
Added Jukebox (#26736)
metalgearsloth Apr 17, 2024
5ee2c22
Automatic changelog update
PJBot Apr 17, 2024
a18e874
Mobs auto state handlers (#26957)
CheesePlated Apr 17, 2024
eae7320
Fix capitalization for pirates and rats (#26644)
Vermidia Apr 17, 2024
581ef38
Automatic changelog update
PJBot Apr 17, 2024
056400b
Fix character preview not updating on character change (#27043)
metalgearsloth Apr 17, 2024
522329f
Automatic changelog update
PJBot Apr 17, 2024
2791aa4
Fixed gloved weapons being able to attack when not equipped. (#26762)
beck-thompson Apr 17, 2024
602850f
Automatic changelog update
PJBot Apr 17, 2024
f96de48
Make cargo pallets smoothing with eachother (#27049)
lzk228 Apr 17, 2024
a2e1dc8
Show volume on the gas analyzer (#25720)
slarticodefast Apr 17, 2024
765ce40
Automatic changelog update
PJBot Apr 17, 2024
4fd4375
Navmap rework (#26713)
chromiumboy Apr 17, 2024
c597aec
prop hunt ss14 (real) (#26691)
deltanedas Apr 17, 2024
f79bbea
Automatic changelog update
PJBot Apr 17, 2024
dd832a5
Automatic changelog update
PJBot Apr 17, 2024
ff88c95
Standardize HoS/Warden winter coats, add unarmored variants for print…
Krunklehorn Apr 18, 2024
2a379aa
Chances of triggering effects (#27056)
TheShuEd Apr 18, 2024
eeb779b
Automatic changelog update
PJBot Apr 18, 2024
c2f4986
cargo console radio messages on approving (#27038)
icekot8 Apr 18, 2024
fbab49b
Automatic changelog update
PJBot Apr 18, 2024
e699da0
Low-Key Zombie Rebalance (#27060)
BellwetherLogic Apr 18, 2024
7977d89
Automatic changelog update
PJBot Apr 18, 2024
31adcfd
Partially reverts the remote signaller resprite (#27073)
Flareguy Apr 18, 2024
b748f36
fix soap popup (#27054)
MisterMecky Apr 18, 2024
76264b1
Automatic changelog update
PJBot Apr 18, 2024
fcb36b7
Reduces the captain's sabre reflect chance to 10% (#26969)
deepdarkdepths Apr 18, 2024
fe63742
Automatic changelog update
PJBot Apr 18, 2024
7943028
Add ability to shake fizzy drinks so they spray in peoples' faces (#2…
Tayrtahn Apr 18, 2024
e3196bd
Automatic changelog update
PJBot Apr 18, 2024
b6a54af
Automatic changelog update
PJBot Apr 18, 2024
542d4dc
Rebalance: From Insuzine recipe removed Benzene (#26829)
TokenStyle Apr 18, 2024
07ece1f
Nukie Medivisor REAL (#26218)
Golinth Apr 18, 2024
ade6e60
Remove ClothingEyesHudSyndicateMed in favor of ClothingEyesHudSyndica…
Axionyxx Apr 21, 2024
09aa554
Automatic changelog update
PJBot Apr 18, 2024
02567b4
Refactor status icons take 2, cyborgs don't see criminal status (#26207)
Krunklehorn Apr 18, 2024
3eb63ad
Automatic changelog update
PJBot Apr 18, 2024
a0eaba4
Add recipe of beverage jug (#25681)
ArZarLordOfMango Apr 18, 2024
206a571
Automatic changelog update
PJBot Apr 18, 2024
b0d1ffa
Cleanup in HumanoidCharacterAppearance (#26974)
Errant-4 Apr 18, 2024
3fcc866
lighthouse proto update (#1103)
deltanedas Apr 21, 2024
73e4780
Revert "Fix character preview not updating on character change (#27043)"
Axionyxx Apr 21, 2024
c62c7a6
Update submodule to 219.0.0 (#27077)
metalgearsloth Apr 18, 2024
717a2e1
Content changes for MapManager/System refactor (#26994)
ElectroJr Apr 18, 2024
e9c674b
Fix merg conflict (#27080)
metalgearsloth Apr 18, 2024
0df6858
Chatfactor: Chat Repository, Admin Commands, Chat Created Events (#26…
FairlySadPanda Apr 18, 2024
9c59f11
Flash buff (#25730)
EmoGarbage404 Apr 18, 2024
8c614d1
Fixing the cryogenic section of the guidebook (#26803)
Detintinto Apr 18, 2024
e0b5c41
Emergency Lights now changes color depending on alert level and wheth…
superjj18 Apr 18, 2024
c772a08
Fix pirate radio event
Axionyxx Apr 21, 2024
62f3cc1
Adds plasma windoors for Armory, Sec, Command, and Atmos (#26149)
IamVelcroboy Apr 18, 2024
01f769c
Automatic changelog update
PJBot Apr 18, 2024
e02299e
Chemists now start with chemical analysis goggles (#27047)
Dutch-VanDerLinde Apr 18, 2024
05970c9
Automatic changelog update
PJBot Apr 18, 2024
0016a29
Killer tomatoes (#26053)
TheShuEd Apr 18, 2024
feec309
Automatic changelog update
PJBot Apr 18, 2024
61cea36
Selective cherry-pick: Component of planet initialization on the map …
TheShuEd Apr 18, 2024
29c3b2d
Automatic changelog update
PJBot Apr 18, 2024
848da59
Revert #26994 and #27077 (#27090)
VasilisThePikachu Apr 18, 2024
d161701
Nerfs the Experimental Research Hardsuit's size (#27094)
Flareguy Apr 18, 2024
84667d6
Automatic changelog update
PJBot Apr 18, 2024
bc457c9
fix RD hardsuit description (#27094) (#27095)
QuietlyWhisper Apr 18, 2024
732caad
Changes to frills axolotl (#27104)
lzk228 Apr 18, 2024
ad51ca5
Automatic changelog update
PJBot Apr 18, 2024
3e719db
Raise difficulty class of RD hardsuit objective (#27103)
QuietlyWhisper Apr 18, 2024
e786fc4
Automatic changelog update
PJBot Apr 18, 2024
a0be071
Made glass more opaque (#26948)
iztokbajcar Apr 18, 2024
cfa4fe2
Automatic changelog update
PJBot Apr 18, 2024
a2b5b0c
Fix fixgridatmos command (#27113)
ElectroJr Apr 19, 2024
5acb97a
Fix storage fill giving no reason for failing (#27122)
DrSmugleaf Apr 19, 2024
ccd3357
Hide some map related logs from clients (#27127)
ElectroJr Apr 19, 2024
ced22ce
Make station components use StationPostInitEvent (#27126)
ElectroJr Apr 19, 2024
0d5d469
Fix Mindshield positioning (#27120)
Golinth Apr 19, 2024
e2cc715
"make thief" admin action: fix missing icon (#27119)
pissdemon Apr 19, 2024
62d4d57
Fix lizard snouts disappearing when wearing masks (#25716)
SlamBamActionman Apr 19, 2024
21a7272
add dirty calls to mask system (#27128)
deltanedas Apr 19, 2024
256ff37
Automatic changelog update
PJBot Apr 19, 2024
829d2f0
Stunprod rework (#25922)
shampunj Apr 19, 2024
08b4be2
webedit ops (#27131)
deltanedas Apr 19, 2024
cf271dc
Automatic changelog update
PJBot Apr 19, 2024
e2d3ab4
Make YAML Linter validate server/client-only components (#26809)
Tayrtahn Apr 19, 2024
0d88c37
add fuel costs back to finishing welding (#27030)
EmoGarbage404 Apr 19, 2024
ebd61a4
Automatic changelog update
PJBot Apr 19, 2024
c6e4408
Reduced Pneumatic Cannon inventory space by 75%, removed cannon black…
superjj18 Apr 19, 2024
cea1311
Automatic changelog update
PJBot Apr 19, 2024
1be4815
Add new jukebox song. (#27074)
Sadie-silly Apr 19, 2024
f1d5406
Automatic changelog update
PJBot Apr 19, 2024
df3d2bb
Automatic changelog update
PJBot Apr 19, 2024
107fc0f
Disable Communication Console Announcement Button for Too Long Messag…
dffdff2423 Apr 20, 2024
7385600
Automatic changelog update
PJBot Apr 20, 2024
9371518
Wallmount substations can once again be created (#27138)
osjarw Apr 20, 2024
b3fdf62
Automatic changelog update
PJBot Apr 20, 2024
8bd58f6
More storage tweaks (#25970)
metalgearsloth Apr 20, 2024
38a4bee
chili/chilly peppers sprite alignment fix & minor refactorization (#2…
Gyrandola Apr 20, 2024
8e1a171
Automatic changelog update
PJBot Apr 20, 2024
d8c03d8
Fix emergency shuttle initialization
ElectroJr Apr 19, 2024
e10718f
Update EmergencyShuttleSystem.cs
ElectroJr Apr 19, 2024
35ce186
Automatic changelog update
PJBot Apr 20, 2024
cf13c9a
Adds non randomized rod velocity (#27123)
keronshb Apr 20, 2024
91abf47
Optimise immovable rod mapinit (#27149)
metalgearsloth Apr 20, 2024
1d00da8
make filled inventory slots blank (#27150)
EmoGarbage404 Apr 20, 2024
89316bf
fix cryopod volume (#27148)
slarticodefast Apr 20, 2024
e8946c8
Automatic changelog update
PJBot Apr 20, 2024
3d31cb5
Fixed debug assert while getting network state in ClothingSystem (#27…
Tayrtahn Apr 20, 2024
817b4b0
Add evac shuttle test. (#27152)
ElectroJr Apr 20, 2024
6b77998
Floor trap (#26314)
Nimfar11 Apr 20, 2024
5788d0b
Guidebook update for the Space Ninja (#26650)
UBlueberry Apr 20, 2024
f18154f
Automatic changelog update
PJBot Apr 20, 2024
21208c9
You can bless more containers with a bible (#26526)
Vermidia Apr 20, 2024
d26608e
Automatic changelog update
PJBot Apr 20, 2024
de6e2a4
Glass shards damage (#26783)
SoulFN Apr 20, 2024
d5aa552
Automatic changelog update
PJBot Apr 20, 2024
695acc3
Fix crates masks (#27137)
MilenVolf Apr 20, 2024
f0f4103
Move storage binds and slot click handling to shared (#27135)
DrSmugleaf Apr 20, 2024
49b04a8
Automatic changelog update
PJBot Apr 20, 2024
00aafb2
Windoors now contain proper electronics (#27133)
MilenVolf Apr 20, 2024
7797b5b
Automatic changelog update
PJBot Apr 20, 2024
8d38025
Admin log shuttle gibbing + Make shuttle gibbing and immovable rods d…
pissdemon Apr 20, 2024
13af11e
Adds the option to fit the viewport to vertical screenspace (#27061)
deathride58 Apr 20, 2024
35b00b6
Automatic changelog update
PJBot Apr 20, 2024
c30f6b9
Make remaining IPrototypes partial (#27157)
DrSmugleaf Apr 20, 2024
be81d76
disable rehydration prediction (#27166)
deltanedas Apr 20, 2024
ada6f1e
Corrected misleading protections in jumpsuit/skirt descriptions (#27160)
K-Dynamic Apr 20, 2024
5b64262
fix burning to ash not working on all mobs (#27158)
QuietlyWhisper Apr 20, 2024
1b1b370
Automatic changelog update
PJBot Apr 20, 2024
aafca1e
Make banpanel defaults use cvars (#27168)
nikthechampiongr Apr 20, 2024
1860e28
Automatic changelog update
PJBot Apr 20, 2024
1b3a400
Fix for inventory and belt not opening (#27179)
Plykiya Apr 20, 2024
d2ce6da
belts get their equip sound (#27174)
Dutch-VanDerLinde Apr 20, 2024
d8f5f52
Updatte engine to v219.1.0
ElectroJr Apr 20, 2024
1ed79af
Un-revert #26994
ElectroJr Apr 20, 2024
b54e68b
Make material arbitrage test more verbose (#27180)
Tayrtahn Apr 20, 2024
291a03f
Possible fix for evac shuttle test failures (#27175)
Tayrtahn Apr 20, 2024
98153e0
Make material arbitrage test ignore price of contained entities (#27182)
Tayrtahn Apr 20, 2024
0924633
Try fix random shuttle test failures (#27186)
ElectroJr Apr 20, 2024
5599f9b
Automatic changelog update
PJBot Apr 21, 2024
42a4d86
Two-Tone lizard snouts (#27143)
KittenColony Apr 21, 2024
d998937
Automatic changelog update
PJBot Apr 21, 2024
8bb3448
Update engine to v219.1.1 (#27201)
ElectroJr Apr 21, 2024
024d32f
Automatic changelog update
PJBot Apr 21, 2024
9af9e5a
Update engine to v219.1.2 (#27206)
ElectroJr Apr 21, 2024
3aa81db
Fix ghost prayer interaction (#27199)
Mirino97 Apr 21, 2024
43d8344
Automatic changelog update
PJBot Apr 21, 2024
176e9b0
THE RETURN OF ITEM STATUS (#22986)
PJB3005 Apr 21, 2024
8c0bc92
Automatic changelog update
PJBot Apr 21, 2024
3718953
Buff welding supplies closet (#27212)
PJB3005 Apr 21, 2024
ab2d762
Add clothing equipped/unequipped events (#27155)
Tayrtahn Apr 21, 2024
e53967f
Removed CC and recall reference in pallet descriptions (#27209)
K-Dynamic Apr 21, 2024
4edf577
SS14-26480 Roll Traversal Distorter into regular Artifact Analyzers (…
FairlySadPanda Apr 21, 2024
0a11a57
Automatic changelog update
PJBot Apr 21, 2024
ac641f7
Fixed grammar when drinking empty drink (#27218)
beck-thompson Apr 21, 2024
7905d64
1984 killer tomatos
Axionyxx Apr 21, 2024
4c22b16
Replace evac test map
Axionyxx Apr 22, 2024
3e5fbf3
Prototype issues
Axionyxx Apr 22, 2024
6679835
initial commit (#1117)
rosieposieeee Apr 22, 2024
b0c57c9
Various yaml fixes hopefully
Axionyxx Apr 22, 2024
7422c86
Update DV windoors
BurningRash Apr 22, 2024
51ae934
Merge pull request #1119 from NullWanderer/2024/04/21-merge
Axionyxx Apr 22, 2024
3ff3643
remove bad openables from upstream merge (#1121)
deltanedas Apr 22, 2024
934933a
Automatic changelog update
DeltaV-Bot Apr 22, 2024
a27c9fd
Update DV file note (#1123)
IamVelcroboy Apr 22, 2024
f03b773
lighthouse update (#1120)
deltanedas Apr 22, 2024
3d57b7d
Merge branch 'master-delta-v' into upstream-deltav
Apr 23, 2024
6210677
Fixes, glowes and ClothingHeadHatFlowerWreath replaced with ClothingH…
Apr 23, 2024
63b78a6
Update engine to V219.1.3 (#1126)
Axionyxx Apr 23, 2024
e3e7652
Reduce inventory of unlocked Booze-O-Mats (#1127)
IamVelcroboy Apr 23, 2024
7dc8ac2
Automatic changelog update
DeltaV-Bot Apr 23, 2024
bb04a96
lighthouse jukebox and n2 (#1132)
deltanedas Apr 24, 2024
b43f033
Map Edits (#1131)
IamVelcroboy Apr 24, 2024
84a6f1c
pebble patch (#1133)
UnicornOnLSD Apr 24, 2024
c57859e
Subpatch 14 (Shuttle changes, jukeboxes, n2 lockers) (#1134)
rosieposieeee Apr 25, 2024
68a7c15
Merge branch 'main' into upstream-deltav
Apr 25, 2024
7de0f40
Merge branch 'master-delta-v' into upstream-deltav
Apr 25, 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
  •  
  •  
  •  
91 changes: 52 additions & 39 deletions Content.Client/Access/AccessOverlay.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,73 +9,86 @@ namespace Content.Client.Access;

public sealed class AccessOverlay : Overlay
{
private const string TextFontPath = "/Fonts/NotoSans/NotoSans-Regular.ttf";
private const int TextFontSize = 12;

private readonly IEntityManager _entityManager;
private readonly EntityLookupSystem _lookup;
private readonly SharedTransformSystem _xform;
private readonly SharedTransformSystem _transformSystem;
private readonly Font _font;

public override OverlaySpace Space => OverlaySpace.ScreenSpace;

public AccessOverlay(IEntityManager entManager, IResourceCache cache, EntityLookupSystem lookup, SharedTransformSystem xform)
public AccessOverlay(IEntityManager entityManager, IResourceCache resourceCache, SharedTransformSystem transformSystem)
{
_entityManager = entManager;
_lookup = lookup;
_xform = xform;

_font = cache.GetFont("/Fonts/NotoSans/NotoSans-Regular.ttf", 12);
_entityManager = entityManager;
_transformSystem = transformSystem;
_font = resourceCache.GetFont(TextFontPath, TextFontSize);
}

protected override void Draw(in OverlayDrawArgs args)
{
if (args.ViewportControl == null)
return;

var readerQuery = _entityManager.GetEntityQuery<AccessReaderComponent>();
var xformQuery = _entityManager.GetEntityQuery<TransformComponent>();

foreach (var ent in _lookup.GetEntitiesIntersecting(args.MapId, args.WorldAABB,
LookupFlags.Static | LookupFlags.Approximate))
var textBuffer = new StringBuilder();
var query = _entityManager.EntityQueryEnumerator<AccessReaderComponent, TransformComponent>();
while (query.MoveNext(out var uid, out var accessReader, out var transform))
{
if (!readerQuery.TryGetComponent(ent, out var reader) ||
!xformQuery.TryGetComponent(ent, out var xform))
textBuffer.Clear();

var entityName = _entityManager.ToPrettyString(uid);
textBuffer.AppendLine(entityName.Prototype);
textBuffer.Append("UID: ");
textBuffer.Append(entityName.Uid.Id);
textBuffer.Append(", NUID: ");
textBuffer.Append(entityName.Nuid.Id);
textBuffer.AppendLine();

if (!accessReader.Enabled)
{
textBuffer.AppendLine("-Disabled");
continue;
}

var text = new StringBuilder();
var index = 0;
var a = $"{_entityManager.ToPrettyString(ent)}";
text.Append(a);

foreach (var list in reader.AccessLists)
if (accessReader.AccessLists.Count > 0)
{
a = $"Tag {index}";
text.AppendLine(a);

foreach (var entry in list)
var groupNumber = 0;
foreach (var accessList in accessReader.AccessLists)
{
a = $"- {entry}";
text.AppendLine(a);
groupNumber++;
foreach (var entry in accessList)
{
textBuffer.Append("+Set ");
textBuffer.Append(groupNumber);
textBuffer.Append(": ");
textBuffer.Append(entry.Id);
textBuffer.AppendLine();
}
}

index++;
}

string textStr;

if (text.Length >= 2)
else
{
textStr = text.ToString();
textStr = textStr[..^2];
textBuffer.AppendLine("+Unrestricted");
}
else

foreach (var key in accessReader.AccessKeys)
{
textStr = "";
textBuffer.Append("+Key ");
textBuffer.Append(key.OriginStation);
textBuffer.Append(": ");
textBuffer.Append(key.Id);
textBuffer.AppendLine();
}

var screenPos = args.ViewportControl.WorldToScreen(_xform.GetWorldPosition(xform));
foreach (var tag in accessReader.DenyTags)
{
textBuffer.Append("-Tag ");
textBuffer.AppendLine(tag.Id);
}

args.ScreenHandle.DrawString(_font, screenPos, textStr, Color.Gold);
var accessInfoText = textBuffer.ToString();
var screenPos = args.ViewportControl.WorldToScreen(_transformSystem.GetWorldPosition(transform));
args.ScreenHandle.DrawString(_font, screenPos, accessInfoText, Color.Gold);
}
}
}
15 changes: 11 additions & 4 deletions Content.Client/Access/Commands/ShowAccessReadersCommand.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,16 @@ namespace Content.Client.Access.Commands;
public sealed class ShowAccessReadersCommand : IConsoleCommand
{
public string Command => "showaccessreaders";
public string Description => "Shows all access readers in the viewport";
public string Help => $"{Command}";

public string Description => "Toggles showing access reader permissions on the map";
public string Help => """
Overlay Info:
-Disabled | The access reader is disabled
+Unrestricted | The access reader has no restrictions
+Set [Index]: [Tag Name]| A tag in an access set (accessor needs all tags in the set to be allowed by the set)
+Key [StationUid]: [StationRecordKeyId] | A StationRecordKey that is allowed
-Tag [Tag Name] | A tag that is not allowed (takes priority over other allows)
""";
public void Execute(IConsoleShell shell, string argStr, string[] args)
{
var collection = IoCManager.Instance;
Expand All @@ -26,10 +34,9 @@ public void Execute(IConsoleShell shell, string argStr, string[] args)

var entManager = collection.Resolve<IEntityManager>();
var cache = collection.Resolve<IResourceCache>();
var lookup = entManager.System<EntityLookupSystem>();
var xform = entManager.System<SharedTransformSystem>();

overlay.AddOverlay(new AccessOverlay(entManager, cache, lookup, xform));
overlay.AddOverlay(new AccessOverlay(entManager, cache, xform));
shell.WriteLine($"Set access reader debug overlay to true");
}
}
7 changes: 5 additions & 2 deletions Content.Client/Administration/Managers/ClientAdminManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -126,12 +126,15 @@ void IPostInjectInit.PostInject()

public AdminData? GetAdminData(EntityUid uid, bool includeDeAdmin = false)
{
return uid == _player.LocalEntity ? _adminData : null;
if (uid == _player.LocalEntity && (_adminData?.Active ?? includeDeAdmin))
return _adminData;

return null;
}

public AdminData? GetAdminData(ICommonSession session, bool includeDeAdmin = false)
{
if (_player.LocalUser == session.UserId)
if (_player.LocalUser == session.UserId && (_adminData?.Active ?? includeDeAdmin))
return _adminData;

return null;
Expand Down
73 changes: 73 additions & 0 deletions Content.Client/Administration/UI/BanPanel/BanPanel.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
using System.Net.Sockets;
using Content.Client.Administration.UI.CustomControls;
using Content.Shared.Administration;
using Content.Shared.CCVar;
using Content.Shared.Database;
using Content.Shared.Roles;
using Robust.Client.AutoGenerated;
Expand All @@ -11,6 +12,7 @@
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.CustomControls;
using Robust.Client.UserInterface.XAML;
using Robust.Shared.Configuration;
using Robust.Shared.Prototypes;
using Robust.Shared.Timing;
using Robust.Shared.Utility;
Expand All @@ -32,8 +34,11 @@ public sealed partial class BanPanel : DefaultWindow
// This is less efficient than just holding a reference to the root control and enumerating children, but you
// have to know how the controls are nested, which makes the code more complicated.
private readonly List<CheckBox> _roleCheckboxes = new();
private readonly ISawmill _banpanelSawmill;

[Dependency] private readonly IGameTiming _gameTiming = default!;
[Dependency] private readonly IConfigurationManager _cfg = default!;
[Dependency] private readonly ILogManager _logManager = default!;

private enum TabNumbers
{
Expand Down Expand Up @@ -65,6 +70,7 @@ public BanPanel()
{
RobustXamlLoader.Load(this);
IoCManager.InjectDependencies(this);
_banpanelSawmill = _logManager.GetSawmill("admin.banpanel");
PlayerList.OnSelectionChanged += OnPlayerSelectionChanged;
PlayerNameLine.OnFocusExit += _ => OnPlayerNameChanged();
PlayerCheckbox.OnPressed += _ =>
Expand Down Expand Up @@ -104,6 +110,11 @@ public BanPanel()
};
SubmitButton.OnPressed += SubmitButtonOnOnPressed;

IpCheckbox.Pressed = _cfg.GetCVar(CCVars.ServerBanIpBanDefault);
HwidCheckbox.Pressed = _cfg.GetCVar(CCVars.ServerBanHwidBanDefault);
LastConnCheckbox.Pressed = _cfg.GetCVar(CCVars.ServerBanUseLastDetails);
EraseCheckbox.Pressed = _cfg.GetCVar(CCVars.ServerBanErasePlayer);

SeverityOption.AddItem(Loc.GetString("admin-note-editor-severity-none"), (int) NoteSeverity.None);
SeverityOption.AddItem(Loc.GetString("admin-note-editor-severity-low"), (int) NoteSeverity.Minor);
SeverityOption.AddItem(Loc.GetString("admin-note-editor-severity-medium"), (int) NoteSeverity.Medium);
Expand Down Expand Up @@ -175,6 +186,39 @@ private void CreateRoleGroup(string roleName, IEnumerable<string> roleList, Colo
c.Pressed = args.Pressed;
}
}

if (args.Pressed)
{
if (!Enum.TryParse(_cfg.GetCVar(CCVars.DepartmentBanDefaultSeverity), true, out NoteSeverity newSeverity))
{
_banpanelSawmill
.Warning("Departmental role ban severity could not be parsed from config!");
return;
}
SeverityOption.SelectId((int) newSeverity);
}
else
{
foreach (var childContainer in RolesContainer.Children)
{
if (childContainer is Container)
{
foreach (var child in childContainer.Children)
{
if (child is CheckBox { Pressed: true })
return;
}
}
}

if (!Enum.TryParse(_cfg.GetCVar(CCVars.RoleBanDefaultSeverity), true, out NoteSeverity newSeverity))
{
_banpanelSawmill
.Warning("Role ban severity could not be parsed from config!");
return;
}
SeverityOption.SelectId((int) newSeverity);
}
};
outerContainer.AddChild(innerContainer);
foreach (var role in roleList)
Expand Down Expand Up @@ -353,6 +397,35 @@ private void OnTypeChanged()
{
TypeOption.ModulateSelfOverride = null;
Tabs.SetTabVisible((int) TabNumbers.Roles, TypeOption.SelectedId == (int) Types.Role);
NoteSeverity? newSeverity = null;
switch (TypeOption.SelectedId)
{
case (int)Types.Server:
if (Enum.TryParse(_cfg.GetCVar(CCVars.ServerBanDefaultSeverity), true, out NoteSeverity serverSeverity))
newSeverity = serverSeverity;
else
{
_banpanelSawmill
.Warning("Server ban severity could not be parsed from config!");
}

break;
case (int) Types.Role:

if (Enum.TryParse(_cfg.GetCVar(CCVars.RoleBanDefaultSeverity), true, out NoteSeverity roleSeverity))
{
newSeverity = roleSeverity;
}
else
{
_banpanelSawmill
.Warning("Role ban severity could not be parsed from config!");
}
break;
}

if (newSeverity != null)
SeverityOption.SelectId((int) newSeverity.Value);
}

private void UpdateSubmitEnabled()
Expand Down
20 changes: 20 additions & 0 deletions Content.Client/Atmos/UI/GasAnalyzerWindow.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,26 @@ private void GenerateGasDisplay(GasMixEntry gasMix, Control parent)
parent.AddChild(panel);
panel.AddChild(dataContainer);

// Volume label
var volBox = new BoxContainer { Orientation = BoxContainer.LayoutOrientation.Horizontal };

volBox.AddChild(new Label
{
Text = Loc.GetString("gas-analyzer-window-volume-text")
});
volBox.AddChild(new Control
{
MinSize = new Vector2(10, 0),
HorizontalExpand = true
});
volBox.AddChild(new Label
{
Text = Loc.GetString("gas-analyzer-window-volume-val-text", ("volume", $"{gasMix.Volume:0.##}")),
Align = Label.AlignMode.Right,
HorizontalExpand = true
});
dataContainer.AddChild(volBox);

// Pressure label
var presBox = new BoxContainer { Orientation = BoxContainer.LayoutOrientation.Horizontal };

Expand Down
Loading