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

upstream merge 12/01/25 #2709

Merged
merged 86 commits into from
Jan 16, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
86 commits
Select commit Hold shift + click to select a range
2d45bb8
Corrected all ghost role names to title case. (#34155)
Alpaccalypse Jan 1, 2025
31e3a3f
Renamed "Irish Car Bomb" drink to "Irish Slammer" (#34107)
Alpaccalypse Jan 2, 2025
bde90cc
Automatic changelog update
PJBot Jan 2, 2025
cd3d35b
Bugfix for the AI player's eye getting stuck when their broadcast is …
chromiumboy Jan 2, 2025
600da77
Make JPEG a PNG (#34176)
Aeshus Jan 2, 2025
cfd53c4
Removed Undesirable Ion Storm Verbs (#34175)
Aeshus Jan 2, 2025
8165b3e
added basic admin logs for PDA notekeeper notes (#34118)
DylanWhittingham Jan 2, 2025
a31f82f
Automatic changelog update
PJBot Jan 2, 2025
cd08942
Sprites defined for all non-generic computer boards. Added new syndic…
Alpaccalypse Jan 2, 2025
c8a77a1
Added pricegun sound (#34119)
DylanWhittingham Jan 2, 2025
dd555f2
Automatic changelog update
PJBot Jan 2, 2025
ab60e55
Separate Tables n' Counters (#32673)
ps3moira Jan 2, 2025
5a51573
Automatic changelog update
PJBot Jan 2, 2025
7992a69
Add Chameleon PDA (#30514)
SlamBamActionman Jan 2, 2025
e2d5936
Automatic changelog update
PJBot Jan 2, 2025
ed40e80
Add some ion storm actions to replace removed ones (#34180)
FairlySadPanda Jan 2, 2025
7303437
Automatic changelog update
PJBot Jan 2, 2025
0524813
update and clean up deltav pdas
Jan 12, 2025
341bda0
Automatic changelog update
PJBot Jan 4, 2025
3a8d59a
Automatic changelog update
PJBot Jan 4, 2025
174d8ce
Fix rainbow lizard plushie inhands (#34128)
ArtisticRoomba Jan 5, 2025
916c78c
wielding refactor/fixes (#32188)
deltanedas Jan 5, 2025
7f13086
Automatic changelog update
PJBot Jan 5, 2025
bf062d8
Lobby chat width and custom lobby titles (#33783)
Errant-4 Jan 5, 2025
17604f4
Automatic changelog update
PJBot Jan 5, 2025
e841e6e
Adds bullet collision to station lights (#34070)
SpaceRox1244 Jan 5, 2025
3f1f95f
Automatic changelog update
PJBot Jan 5, 2025
5ebd355
Make station anchor hitbox less insufferable (#34217)
ArtisticRoomba Jan 6, 2025
420631c
Automatic changelog update
PJBot Jan 6, 2025
9d5661d
Remove kessler and zombeteors gamemodes from the secret pool (#34051)
ArtisticRoomba Jan 7, 2025
59ec6c3
use deltav secret weights prototype
Jan 12, 2025
af3e2c3
Automatic changelog update
PJBot Jan 7, 2025
1f18739
Added distinct ad and bye chatter to Dr. Gibb vending (#34182)
Alpaccalypse Jan 7, 2025
f347fc9
Special reagents now appear in the guidebook (#34265)
Alpaccalypse Jan 7, 2025
400a84c
Automatic changelog update
PJBot Jan 7, 2025
6204172
Fix portable scrubber appearing powered on spawn (#34274)
Tayrtahn Jan 7, 2025
37e9113
[HOTFIX] Fix chameleon PDAs renaming IDs (#34249)
SlamBamActionman Jan 7, 2025
ecb82e7
Update vessel_warning.ogg (#34263)
Pangogie Jan 8, 2025
4e12779
Add bleating accent to goats (#34273)
Tayrtahn Jan 8, 2025
4fd69bf
Automatic changelog update
PJBot Jan 8, 2025
ba4b522
Happy New Year (#34288)
Piras314 Jan 8, 2025
6dc5075
Fix empty lines in adminwho with stealthmins. (#34122)
c4llv07e Jan 8, 2025
2a919c4
Automatic changelog update
PJBot Jan 8, 2025
f2016aa
Automatic changelog update
PJBot Jan 9, 2025
a25f51f
Automatic changelog update
PJBot Jan 9, 2025
c5e441c
Drink titles and soda vendor consistency (#34178)
Alpaccalypse Jan 9, 2025
fb79cc9
Automatic changelog update
PJBot Jan 9, 2025
dc2fc54
Fix access configurator debug assert (#34330)
ScarKy0 Jan 10, 2025
5080dff
Renamed water melon juice to watermelon juice (#34341)
Alpaccalypse Jan 10, 2025
8544328
Fix battery charging stopping just short of being full (#34028)
Errant-4 Jan 10, 2025
20415a6
Add copy threshold button to air alarms (#34346)
southbridge-fur Jan 10, 2025
e32ea12
Automatic changelog update
PJBot Jan 10, 2025
6545836
Replace some sound PlayEntity with PlayPvs (#34317)
ElectroJr Jan 10, 2025
3b3b7b2
Fixed Forensic Gloves to be Security Contraband (#34193)
Coolsurf6 Jan 10, 2025
e34fd3e
Automatic changelog update
PJBot Jan 10, 2025
7a2da8a
add large instruments to the cargo request computer (#34240)
TeenSarlacc Jan 10, 2025
b9b1d26
Automatic changelog update
PJBot Jan 10, 2025
64d8245
Fix crayon losing durability on stamped paper (#34202)
themias Jan 10, 2025
b039dca
Automatic changelog update
PJBot Jan 10, 2025
d74d3fb
Adds a border to Oppenhopper poster (#34219)
Spessmann Jan 10, 2025
76e28dc
Trim trailing newlines from examine messages (#33381)
SpaceManiac Jan 10, 2025
8e8bc36
Add a popup message when ghost Boo action does nothing (#34369)
Tayrtahn Jan 10, 2025
64a1391
fix ghost_component.ftl locale grammar (#34372)
ArtisticRoomba Jan 11, 2025
cf1c941
Let ghosts sometimes make certain devices say creepy things (#34368)
Tayrtahn Jan 11, 2025
a45d6fa
Automatic changelog update
PJBot Jan 11, 2025
47ee7c9
Add directional escape pod sign (#34367)
minus1over12 Jan 11, 2025
0b1e1b8
Make indestructible tiles not breakable by explosions (#34339)
poklj Jan 11, 2025
6fdb777
Automatic changelog update
PJBot Jan 11, 2025
a5c0b60
Arachnid stomach organ yaml fix (#34298)
0x6273 Jan 11, 2025
ebb7f89
Automatic changelog update
PJBot Jan 11, 2025
6d89d79
Bended radiator (#34251)
justdie12 Jan 11, 2025
88b2c0d
Automatic changelog update
PJBot Jan 11, 2025
87e570c
Remove Entity<T> data-fields (#34083)
ElectroJr Jan 11, 2025
58496b9
Update submodule, .NET 9 (#34320)
PJB3005 Jan 11, 2025
cc4a697
Hotfix the randomly occurring DeleteAllThenGhost test failures (#33582)
Errant-4 Nov 26, 2024
e7cd9bc
Role Types (#33420)
Errant-4 Jan 11, 2025
7bf15d4
Automatic changelog update
PJBot Jan 11, 2025
f19ccc2
appraisal tool sound
Jan 12, 2025
8f9e62e
remove FastAccessors from deep frier
Jan 12, 2025
22ad62d
:trollface:
Jan 12, 2025
ad05ba0
untroll footprint
Jan 12, 2025
111724d
other fix
Jan 12, 2025
fa50ae5
merge master
Jan 14, 2025
6ec871e
:trollface:
Jan 14, 2025
c541d7b
:trollface:
Jan 15, 2025
d19a1c1
Update RT to v239.0.1 (#34454)
PJB3005 Jan 15, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build-docfx.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
- name: Setup .NET Core
uses: actions/[email protected]
with:
dotnet-version: 8.0.x
dotnet-version: 9.0.x

- name: Install dependencies
run: dotnet restore
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build-map-renderer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:
- name: Setup .NET Core
uses: actions/[email protected]
with:
dotnet-version: 8.0.x
dotnet-version: 9.0.x

- name: Install dependencies
run: dotnet restore
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build-test-debug.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:
- name: Setup .NET Core
uses: actions/[email protected]
with:
dotnet-version: 8.0.x
dotnet-version: 9.0.x

- name: Install dependencies
run: dotnet restore
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
- name: Setup .NET Core
uses: actions/[email protected]
with:
dotnet-version: 8.0.x
dotnet-version: 9.0.x

- name: Get Engine Tag
run: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test-packaging.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ jobs:
- name: Setup .NET Core
uses: actions/[email protected]
with:
dotnet-version: 8.0.x
dotnet-version: 9.0.x

- name: Install dependencies
run: dotnet restore
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/yaml-linter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
- name: Setup .NET Core
uses: actions/[email protected]
with:
dotnet-version: 8.0.x
dotnet-version: 9.0.x
- name: Install dependencies
run: dotnet restore
- name: Build
Expand Down
36 changes: 30 additions & 6 deletions Content.Client/Administration/AdminNameOverlay.cs
Original file line number Diff line number Diff line change
@@ -1,25 +1,38 @@
using System.Linq;
using System.Numerics;
using Content.Client.Administration.Systems;
using Content.Shared.CCVar;
using Content.Shared.Mind;
using Robust.Client.Graphics;
using Robust.Client.ResourceManagement;
using Robust.Client.UserInterface;
using Robust.Shared;
using Robust.Shared.Enums;
using Robust.Shared.Configuration;
using Robust.Shared.Enums;
using Robust.Shared.Prototypes;

namespace Content.Client.Administration;

internal sealed class AdminNameOverlay : Overlay
{
[Dependency] private readonly IConfigurationManager _config = default!;

private readonly AdminSystem _system;
private readonly IEntityManager _entityManager;
private readonly IEyeManager _eyeManager;
private readonly EntityLookupSystem _entityLookup;
private readonly IUserInterfaceManager _userInterfaceManager;
private readonly Font _font;

//TODO make this adjustable via GUI
private readonly ProtoId<RoleTypePrototype>[] _filter =
["SoloAntagonist", "TeamAntagonist", "SiliconAntagonist", "FreeAgent"];
private readonly string _antagLabelClassic = Loc.GetString("admin-overlay-antag-classic");
private readonly Color _antagColorClassic = Color.OrangeRed;

public AdminNameOverlay(AdminSystem system, IEntityManager entityManager, IEyeManager eyeManager, IResourceCache resourceCache, EntityLookupSystem entityLookup, IUserInterfaceManager userInterfaceManager)
{
IoCManager.InjectDependencies(this);

_system = system;
_entityManager = entityManager;
_eyeManager = eyeManager;
Expand All @@ -35,6 +48,9 @@ protected override void Draw(in OverlayDrawArgs args)
{
var viewport = args.WorldAABB;

//TODO make this adjustable via GUI
var classic = _config.GetCVar(CCVars.AdminOverlayClassic);

foreach (var playerInfo in _system.PlayerList)
{
var entity = _entityManager.GetEntity(playerInfo.NetEntity);
Expand Down Expand Up @@ -64,12 +80,20 @@ protected override void Draw(in OverlayDrawArgs args)
var screenCoordinates = _eyeManager.WorldToScreen(aabb.Center +
new Angle(-_eyeManager.CurrentEye.Rotation).RotateVec(
aabb.TopRight - aabb.Center)) + new Vector2(1f, 7f);
if (playerInfo.Antag)

if (classic && playerInfo.Antag)
{
args.ScreenHandle.DrawString(_font, screenCoordinates + (lineoffset * 2), "ANTAG", uiScale, Color.OrangeRed);
;
args.ScreenHandle.DrawString(_font, screenCoordinates + (lineoffset * 2), _antagLabelClassic, uiScale, _antagColorClassic);
}
args.ScreenHandle.DrawString(_font, screenCoordinates+lineoffset, playerInfo.Username, uiScale, playerInfo.Connected ? Color.Yellow : Color.White);
else if (!classic && _filter.Contains(playerInfo.RoleProto.ID))
{
var label = Loc.GetString(playerInfo.RoleProto.Name).ToUpper();
var color = playerInfo.RoleProto.Color;

args.ScreenHandle.DrawString(_font, screenCoordinates + (lineoffset * 2), label, uiScale, color);
}

args.ScreenHandle.DrawString(_font, screenCoordinates + lineoffset, playerInfo.Username, uiScale, playerInfo.Connected ? Color.Yellow : Color.White);
args.ScreenHandle.DrawString(_font, screenCoordinates, playerInfo.CharacterName, uiScale, playerInfo.Connected ? Color.Aquamarine : Color.White);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -197,6 +197,7 @@ private int Compare(PlayerInfo x, PlayerInfo y)
Header.Character => Compare(x.CharacterName, y.CharacterName),
Header.Job => Compare(x.StartingJob, y.StartingJob),
Header.Antagonist => x.Antag.CompareTo(y.Antag),
Header.RoleType => Compare(x.RoleProto.Name , y.RoleProto.Name),
Header.Playtime => TimeSpan.Compare(x.OverallPlaytime ?? default, y.OverallPlaytime ?? default),
_ => 1
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,11 @@
HorizontalExpand="True"
ClipText="True"/>
<customControls:VSeparator/>
<Label Name="RoleTypeLabel"
SizeFlagsStretchRatio="2"
HorizontalExpand="True"
ClipText="True"/>
<customControls:VSeparator/>
<Label Name="OverallPlaytimeLabel"
SizeFlagsStretchRatio="1"
HorizontalExpand="True"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ public PlayerTabEntry(PlayerInfo player, StyleBoxFlat styleBoxFlat)
if (player.IdentityName != player.CharacterName)
CharacterLabel.Text += $" [{player.IdentityName}]";
AntagonistLabel.Text = Loc.GetString(player.Antag ? "player-tab-is-antag-yes" : "player-tab-is-antag-no");
RoleTypeLabel.Text = Loc.GetString(player.RoleProto.Name);
RoleTypeLabel.FontColorOverride = player.RoleProto.Color;
BackgroundColorPanel.PanelOverride = styleBoxFlat;
OverallPlaytimeLabel.Text = player.PlaytimeString;
PlayerEntity = player.NetEntity;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,13 @@
Text="{Loc player-tab-antagonist}"
MouseFilter="Pass"/>
<cc:VSeparator/>
<Label Name="RoleTypeLabel"
SizeFlagsStretchRatio="2"
HorizontalExpand="True"
ClipText="True"
Text="{Loc player-tab-roletype}"
MouseFilter="Pass"/>
<cc:VSeparator/>
<Label Name="PlaytimeLabel"
SizeFlagsStretchRatio="1"
HorizontalExpand="True"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ public PlayerTabHeader()
CharacterLabel.OnKeyBindDown += CharacterClicked;
JobLabel.OnKeyBindDown += JobClicked;
AntagonistLabel.OnKeyBindDown += AntagonistClicked;
RoleTypeLabel.OnKeyBindDown += RoleTypeClicked;
PlaytimeLabel.OnKeyBindDown += PlaytimeClicked;
}

Expand All @@ -30,6 +31,7 @@ public Label GetHeader(Header header)
Header.Character => CharacterLabel,
Header.Job => JobLabel,
Header.Antagonist => AntagonistLabel,
Header.RoleType => RoleTypeLabel,
Header.Playtime => PlaytimeLabel,
_ => throw new ArgumentOutOfRangeException(nameof(header), header, null)
};
Expand All @@ -41,6 +43,7 @@ public void ResetHeaderText()
CharacterLabel.Text = Loc.GetString("player-tab-character");
JobLabel.Text = Loc.GetString("player-tab-job");
AntagonistLabel.Text = Loc.GetString("player-tab-antagonist");
RoleTypeLabel.Text = Loc.GetString("player-tab-roletype");
PlaytimeLabel.Text = Loc.GetString("player-tab-playtime");
}

Expand Down Expand Up @@ -75,6 +78,11 @@ private void AntagonistClicked(GUIBoundKeyEventArgs args)
HeaderClicked(args, Header.Antagonist);
}

private void RoleTypeClicked(GUIBoundKeyEventArgs args)
{
HeaderClicked(args, Header.RoleType);
}

private void PlaytimeClicked(GUIBoundKeyEventArgs args)
{
HeaderClicked(args, Header.Playtime);
Expand All @@ -90,6 +98,7 @@ protected override void Dispose(bool disposing)
CharacterLabel.OnKeyBindDown -= CharacterClicked;
JobLabel.OnKeyBindDown -= JobClicked;
AntagonistLabel.OnKeyBindDown -= AntagonistClicked;
RoleTypeLabel.OnKeyBindDown -= RoleTypeClicked;
PlaytimeLabel.OnKeyBindDown -= PlaytimeClicked;
}
}
Expand All @@ -100,6 +109,7 @@ public enum Header
Character,
Job,
Antagonist,
RoleType,
Playtime
}
}
9 changes: 5 additions & 4 deletions Content.Client/Atmos/Monitor/UI/AirAlarmWindow.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -130,8 +130,8 @@ public void UpdateDeviceData(string addr, IAtmosDeviceData device)
if (!_pumps.TryGetValue(addr, out var pumpControl))
{
var control= new PumpControl(pump, addr);
control.PumpDataChanged += AtmosDeviceDataChanged!.Invoke;
control.PumpDataCopied += AtmosDeviceDataCopied!.Invoke;
control.PumpDataChanged += AtmosDeviceDataChanged;
control.PumpDataCopied += AtmosDeviceDataCopied;
_pumps.Add(addr, control);
CVentContainer.AddChild(control);
}
Expand All @@ -145,8 +145,8 @@ public void UpdateDeviceData(string addr, IAtmosDeviceData device)
if (!_scrubbers.TryGetValue(addr, out var scrubberControl))
{
var control = new ScrubberControl(scrubber, addr);
control.ScrubberDataChanged += AtmosDeviceDataChanged!.Invoke;
control.ScrubberDataCopied += AtmosDeviceDataCopied!.Invoke;
control.ScrubberDataChanged += AtmosDeviceDataChanged;
control.ScrubberDataCopied += AtmosDeviceDataCopied;
_scrubbers.Add(addr, control);
CScrubberContainer.AddChild(control);
}
Expand All @@ -161,6 +161,7 @@ public void UpdateDeviceData(string addr, IAtmosDeviceData device)
{
var control = new SensorInfo(sensor, addr);
control.OnThresholdUpdate += AtmosAlarmThresholdChanged;
control.SensorDataCopied += AtmosDeviceDataCopied;
_sensors.Add(addr, control);
CSensorContainer.AddChild(control);
}
Expand Down
8 changes: 4 additions & 4 deletions Content.Client/Atmos/Monitor/UI/Widgets/PumpControl.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -83,10 +83,10 @@ public PumpControl(GasVentPumpData data, string address)
PumpDataChanged?.Invoke(_address, _data);
};

_copySettings.OnPressed += _ =>
{
PumpDataCopied?.Invoke(_data);
};
_copySettings.OnPressed += _ =>
{
PumpDataCopied?.Invoke(_data);
};
}

public void ChangeData(GasVentPumpData data)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,10 +72,10 @@ public ScrubberControl(GasVentScrubberData data, string address)
ScrubberDataChanged?.Invoke(_address, _data);
};

_copySettings.OnPressed += _ =>
{
ScrubberDataCopied?.Invoke(_data);
};
_copySettings.OnPressed += _ =>
{
ScrubberDataCopied?.Invoke(_data);
};

foreach (var value in Enum.GetValues<Gas>())
{
Expand Down
3 changes: 3 additions & 0 deletions Content.Client/Atmos/Monitor/UI/Widgets/SensorInfo.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@
<CollapsibleHeading Name="SensorAddress" />
<CollapsibleBody Margin="20 2 2 2">
<BoxContainer Orientation="Vertical" HorizontalExpand="True">
<BoxContainer Orientation="Horizontal" Margin ="0 0 0 2">
<Button Name="CCopySettings" Text="{Loc 'air-alarm-ui-thresholds-copy'}" ToolTip="{Loc 'air-alarm-ui-thresholds-copy-tooltip'}" />
</BoxContainer>
<BoxContainer Orientation="Vertical" Margin="0 0 2 0" HorizontalExpand="True">
<RichTextLabel Name="AlarmStateLabel" />
<RichTextLabel Name="PressureLabel" />
Expand Down
13 changes: 10 additions & 3 deletions Content.Client/Atmos/Monitor/UI/Widgets/SensorInfo.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,14 @@ namespace Content.Client.Atmos.Monitor.UI.Widgets;
public sealed partial class SensorInfo : BoxContainer
{
public Action<string, AtmosMonitorThresholdType, AtmosAlarmThreshold, Gas?>? OnThresholdUpdate;
public event Action<AtmosSensorData>? SensorDataCopied;
private string _address;

private ThresholdControl _pressureThreshold;
private ThresholdControl _temperatureThreshold;
private Dictionary<Gas, ThresholdControl> _gasThresholds = new();
private Dictionary<Gas, RichTextLabel> _gasLabels = new();
private Button _copySettings => CCopySettings;

public SensorInfo(AtmosSensorData data, string address)
{
Expand Down Expand Up @@ -56,7 +58,7 @@ public SensorInfo(AtmosSensorData data, string address)
gasThresholdControl.Margin = new Thickness(20, 2, 2, 2);
gasThresholdControl.ThresholdDataChanged += (type, alarmThreshold, arg3) =>
{
OnThresholdUpdate!(_address, type, alarmThreshold, arg3);
OnThresholdUpdate?.Invoke(_address, type, alarmThreshold, arg3);
};

_gasThresholds.Add(gas, gasThresholdControl);
Expand All @@ -72,12 +74,17 @@ public SensorInfo(AtmosSensorData data, string address)

_pressureThreshold.ThresholdDataChanged += (type, threshold, arg3) =>
{
OnThresholdUpdate!(_address, type, threshold, arg3);
OnThresholdUpdate?.Invoke(_address, type, threshold, arg3);
};

_temperatureThreshold.ThresholdDataChanged += (type, threshold, arg3) =>
{
OnThresholdUpdate!(_address, type, threshold, arg3);
OnThresholdUpdate?.Invoke(_address, type, threshold, arg3);
};

_copySettings.OnPressed += _ =>
{
SensorDataCopied?.Invoke(data);
};
}

Expand Down
5 changes: 3 additions & 2 deletions Content.Client/Cargo/Systems/ClientPriceGunSystem.cs
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
using Content.Shared.Cargo.Components;
using Content.Shared.Timing;
using Content.Shared.Cargo.Systems;

Expand All @@ -10,9 +11,9 @@ public sealed class ClientPriceGunSystem : SharedPriceGunSystem
{
[Dependency] private readonly UseDelaySystem _useDelay = default!;

protected override bool GetPriceOrBounty(EntityUid priceGunUid, EntityUid target, EntityUid user)
protected override bool GetPriceOrBounty(Entity<PriceGunComponent> entity, EntityUid target, EntityUid user)
{
if (!TryComp(priceGunUid, out UseDelayComponent? useDelay) || _useDelay.IsDelayed((priceGunUid, useDelay)))
if (!TryComp(entity, out UseDelayComponent? useDelay) || _useDelay.IsDelayed((entity, useDelay)))
return false;

// It feels worse if the cooldown is predicted but the popup isn't! So only do the cooldown reset on the server.
Expand Down
10 changes: 10 additions & 0 deletions Content.Client/Clothing/Systems/ChameleonClothingSystem.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using System.Linq;
using Content.Client.PDA;
using Content.Shared.Clothing.Components;
using Content.Shared.Clothing.EntitySystems;
using Content.Shared.Inventory;
Expand Down Expand Up @@ -51,6 +52,15 @@ protected override void UpdateSprite(EntityUid uid, EntityPrototype proto)
{
sprite.CopyFrom(otherSprite);
}

// Edgecase for PDAs to include visuals when UI is open
if (TryComp(uid, out PdaBorderColorComponent? borderColor)
&& proto.TryGetComponent(out PdaBorderColorComponent? otherBorderColor, _factory))
{
borderColor.BorderColor = otherBorderColor.BorderColor;
borderColor.AccentHColor = otherBorderColor.AccentHColor;
borderColor.AccentVColor = otherBorderColor.AccentVColor;
}
}

/// <summary>
Expand Down
Loading
Loading