Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
94 commits
Select commit Hold shift + click to select a range
229c08c
Fix the Infinite Spill (#42022)
Princess-Cheeseballs Dec 23, 2025
402cc65
Change "mafioso" (singular) to "mafiosi" (plural) in the Italian acce…
Steffo99 Dec 23, 2025
503052b
Fix spreaders not re-spreading on deletion (#42016)
EmoGarbage404 Dec 23, 2025
dbda861
Change Botany Minimum Quantity For Random Chems (#41955)
ahandleman Dec 23, 2025
428df6a
Add botany equipment to marathon brig (#42028)
jessicamaybe Dec 24, 2025
ff1cba2
Automatic changelog update
PJBot Dec 24, 2025
92ee561
Update RT to v270.0.0 (#42029)
PJB3005 Dec 24, 2025
9511285
Fix NanoTask and bounty print formatting (#42030)
PJB3005 Dec 24, 2025
dd22d58
Change "pappa" (food) to "papà" (dad) in Italian accent (#42018)
Steffo99 Dec 24, 2025
7ac84d1
Fix greytide terms in Italian accent (#42020)
Steffo99 Dec 24, 2025
c6a4d3f
Clarify checkbox formatting in PR template (#42035)
B-Kirill Dec 24, 2025
9212f26
[HOTFIX] Fix MMI mind transfer (#41941)
ScarKy0 Dec 24, 2025
6f38eed
Splits temperature damage processing into its own component (#30515)
TemporalOroboros Dec 24, 2025
e197b7f
stable to master (#42038)
Princess-Cheeseballs Dec 24, 2025
cdc0c35
AddMolsToMixture atmos helper (#42033)
ArtisticRoomba Dec 24, 2025
0444987
Fixed Voice Mask and Ripley APU interaction (#42023)
TVK-04 Dec 24, 2025
9241325
Update dotnet sdk from 9 to 10 for nix devl shell. (#42041)
EchoOfNothing Dec 24, 2025
2d77e48
Add jet injectors (#40076)
SirWarock Dec 25, 2025
3ecc3cb
Automatic changelog update
PJBot Dec 25, 2025
6129fbe
make comp-repairable-repair sane (#42048)
lzk228 Dec 25, 2025
8fab0cc
Remove reverted shuttle event change from the changelog (#42065)
Errant-4 Dec 25, 2025
2f0d347
Fixed Xeno air alarms warning/danger sprites not showing (#41590)
TheFlyingSentry Dec 25, 2025
2182c7b
Automatic changelog update
PJBot Dec 25, 2025
4ff7411
Voice mask effects are toggleable and hide your accent (#41965)
alexalexmax Dec 26, 2025
caebc10
Automatic changelog update
PJBot Dec 26, 2025
8b33f47
Fix Kitchen Spike Paralysis by removing an unused subscription. (#42…
Princess-Cheeseballs Dec 26, 2025
2aa29de
Energy guns' fire mode text formating fix (#42103)
GeneralGaws Dec 26, 2025
abeeb91
ERT Overhaul 3/3: Loadouts (#38481)
Nox38 Dec 26, 2025
339b287
Automatic changelog update
PJBot Dec 26, 2025
8313a4e
Atmospherics/Temperature HeatContainers (#39997)
ArtisticRoomba Dec 27, 2025
589b187
Lowered Xenoborgs MinPlayers From 40 To 30 (#42111)
SonarZeBat Dec 27, 2025
1b30476
Automatic changelog update
PJBot Dec 27, 2025
cd8d5a6
Cleanup warnings: CS0414, CS0618 (#42068)
B-Kirill Dec 27, 2025
ee2f1da
Merge IFF controls into one control. Make syndicate IFF turned off by…
EchoOfNothing Dec 27, 2025
e1da70e
Automatic changelog update
PJBot Dec 27, 2025
cf25961
update communicator kit description for voice mask implanter (#42115)
leahcat Dec 27, 2025
662d2ee
ReagentGrinder Comp and API to shared (#41956)
ScarKy0 Dec 27, 2025
6506c77
Update Credits (#42127)
github-actions[bot] Dec 28, 2025
01e583f
Fix broken vending machine UI behavior (#42110)
B-Kirill Dec 28, 2025
e8dab47
Automatic changelog update
PJBot Dec 28, 2025
45fa411
Add crayon box to Big Bite meals (#42077)
SnappingOpossum Dec 28, 2025
129c565
Automatic changelog update
PJBot Dec 28, 2025
645c249
optimise shuttle collision entity throwing (#40984)
Ilya246 Dec 28, 2025
4cf18a2
Automatic changelog update
PJBot Dec 28, 2025
0dcb275
Add `AtmosTest` test assertion for a valid grid (#42139)
ArtisticRoomba Dec 28, 2025
077dcee
Delete MetabolismMovespeedModifierSystem (#42134)
Princess-Cheeseballs Dec 28, 2025
951f13f
Add antag control for the space ninja (#42133)
YoungThugSS14 Dec 29, 2025
131108b
Fix plasma station comms apc overloaded by default (#42144)
EchoOfNothing Dec 29, 2025
be7653c
Automatic changelog update
PJBot Dec 29, 2025
ac3a91e
Fix possible bug in my fix of IFF console. Add documentation to HideO…
EchoOfNothing Dec 29, 2025
552938c
puts Space ninja survival box contents into their bag (#42102)
PAFFhassoocks Dec 29, 2025
df7473a
Automatic changelog update
PJBot Dec 29, 2025
beb4d5f
Remove syndicate bomb restock time (#42114)
GeneralGaws Dec 29, 2025
c6c84ef
Automatic changelog update
PJBot Dec 29, 2025
fb17257
Ammonia restores Rat King Bloodlevel (#42167)
0-Anon Dec 29, 2025
56462d0
Automatic changelog update
PJBot Dec 29, 2025
d61ecd3
Align detective stamp with rest of stamps (lower by 2 pixels) (#42177)
mikeysaurus Dec 30, 2025
3cc79c2
Chemmaster Pill Source (#40121)
OnyxTheBrave Dec 30, 2025
a41101e
Automatic changelog update
PJBot Dec 30, 2025
0b1e8a4
Status Effects Toolshed (#41670)
Princess-Cheeseballs Dec 30, 2025
41234b7
Move borg module remove button to the left side (#42119)
jessicamaybe Dec 30, 2025
cdf6461
Automatic changelog update
PJBot Dec 30, 2025
dc9d4ac
Fix warnings (#42175)
Crotalus Dec 30, 2025
360e43b
(Fix) Make paper extinguishable with fire extinguisher (#42142)
TheFotY Dec 31, 2025
8514405
Automatic changelog update
PJBot Dec 31, 2025
97a75f4
Damageable Cleanup + Bugfix (#42076)
Princess-Cheeseballs Dec 31, 2025
2c5b67f
Ninjas now get a custom bag! (#42112)
YoungThugSS14 Dec 31, 2025
4eab48f
Automatic changelog update
PJBot Dec 31, 2025
1801f47
Fix broken FTL references (#42181)
kontakt Dec 31, 2025
540f4e4
Automatic changelog update
PJBot Dec 31, 2025
e9932ec
Happy 2026 (#42186)
pheenty Dec 31, 2025
24005e3
Jet Injector Tweaks and Cleanup. (#42158)
Princess-Cheeseballs Jan 1, 2026
67da176
Automatic changelog update
PJBot Jan 1, 2026
6e55a7b
Make some HeatContainerHelpers methods byref (#42197)
ArtisticRoomba Jan 1, 2026
445d1b6
Fix RCDDeconstructableComponent filename (#42180)
CrazyPhantom779 Jan 1, 2026
4920c9e
Update (MOST) instances of `EntityUid, Component` in GunSystem to `En…
mqole Jan 1, 2026
74d482c
Revert "Exo - Exomas Version (revertable)" (#42203)
Emisse Jan 1, 2026
6de41e8
Revert "Christmas-ifed Packed Station!" (#42202)
Emisse Jan 1, 2026
4f1a111
Update RT to 270.1.0 (#42198)
PJB3005 Jan 1, 2026
e1b790e
Make xenoborg thrusters anti-easy-sabotagge (#42201)
Samuka-C Jan 1, 2026
e5d8800
Automatic changelog update
PJBot Jan 1, 2026
4b9ef47
Snowball fixes (#42124)
Spessmann Jan 2, 2026
732db19
Automatic changelog update
PJBot Jan 2, 2026
c796eb3
Guard against div/0 for HeatContainerHelpers (#42213)
ArtisticRoomba Jan 2, 2026
9754944
expanded FillLevelSpriteTest test and fixed found issues (#34165)
Ian321 Jan 3, 2026
856ad11
Automatic changelog update
PJBot Jan 3, 2026
d366c67
Fix style classes used on monotone labels (#41969)
eoineoineoin Jan 3, 2026
bdb7102
Intercom resprite (#41962)
K-Dynamic Jan 3, 2026
bdbc148
Automatic changelog update
PJBot Jan 3, 2026
fc99582
Ironsands Structures (#39793)
Aearo-Deepwater Jan 3, 2026
269bd56
Automatic changelog update
PJBot Jan 3, 2026
da4a488
Melee weapons animations upgrade (#41425)
TheShuEd Jan 3, 2026
4d19496
Automatic changelog update
PJBot Jan 3, 2026
d7219bd
Update Credits (#42228)
github-actions[bot] Jan 4, 2026
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
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
Small fixes/refactors are exempt. Media may be used in SS14 progress reports with credit. -->

## Requirements
<!-- Confirm the following by placing an X in the brackets [X]: -->
<!-- Confirm the following by placing an X in the brackets without spaces inside (for example: [X] ): -->
- [ ] I have read and am following the [Pull Request and Changelog Guidelines](https://docs.spacestation14.com/en/general-development/codebase-info/pull-request-guidelines.html).
- [ ] I have added media to this PR or it does not require an in-game showcase.
<!-- You should understand that not following the above may get your PR closed at maintainer’s discretion -->
Expand Down
4 changes: 4 additions & 0 deletions Content.Client/Chemistry/UI/ChemMasterBoundUserInterface.cs
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,10 @@ protected override void Open()
(uint) _window.BottleDosage.Value, _window.LabelLine));
_window.BufferSortButton.OnPressed += _ => SendMessage(
new ChemMasterSortingTypeCycleMessage());
_window.OutputBufferDraw.OnPressed += _ => SendMessage(
new ChemMasterOutputDrawSourceMessage(ChemMasterDrawSource.Internal));
_window.OutputBeakerDraw.OnPressed += _ => SendMessage(
new ChemMasterOutputDrawSourceMessage(ChemMasterDrawSource.External));

for (uint i = 0; i < _window.PillTypeButtons.Length; i++)
{
Expand Down
9 changes: 6 additions & 3 deletions Content.Client/Chemistry/UI/ChemMasterWindow.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -79,10 +79,13 @@

<!-- Packaging -->
<BoxContainer Orientation="Horizontal">
<Label Text="{Loc 'chem-master-window-packaging-text'}" />
<Label Text="{Loc 'chem-master-output-source'}" StyleClasses="LabelSecondaryColor" Margin="0 0 5 0"/>
<Button MinSize="80 0" Name="OutputBufferDraw" Access="Public" Text="{Loc 'chem-master-output-buffer-draw'}" ToggleMode="True" StyleClasses="OpenRight" />
<Button MinSize="80 0" Name="OutputBeakerDraw" Access="Public" Text="{Loc 'chem-master-output-beaker-draw'}" ToggleMode="True" StyleClasses="OpenLeft" />
<Control HorizontalExpand="True"/>
<Label Text="{Loc 'chem-master-window-buffer-label'}" />
<Label Name="BufferCurrentVolume" StyleClasses="LabelWeak" />
<!-- Output Draw Source -->
<Label Name="DrawSource"/>
<Label Name="BufferCurrentVolume" StyleClasses="LabelSecondaryColor" />
</BoxContainer>

<!-- Wrap the packaging info-->
Expand Down
49 changes: 41 additions & 8 deletions Content.Client/Chemistry/UI/ChemMasterWindow.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,17 @@ public void UpdateState(BoundUserInterfaceState state)
// Ensure the Panel Info is updated, including UI elements for Buffer Volume, Output Container and so on
UpdatePanelInfo(castState);

BufferCurrentVolume.Text = $" {castState.BufferCurrentVolume?.Int() ?? 0}u";
switch (castState.DrawSource)
{
case ChemMasterDrawSource.Internal:
SetBufferText(castState.BufferCurrentVolume, "chem-master-output-buffer-draw");
break;
case ChemMasterDrawSource.External:
SetBufferText(castState.InputContainerInfo?.CurrentVolume, "chem-master-output-beaker-draw");
break;
default:
throw new($"Chemmaster {castState.OutputContainerInfo} draw source is not set");
}

InputEjectButton.Disabled = castState.InputContainerInfo is null;
OutputEjectButton.Disabled = castState.OutputContainerInfo is null;
Expand All @@ -168,9 +178,14 @@ private void UpdateDosageFields(ChemMasterBoundUserInterfaceState castState)
var holdsReagents = output?.Reagents != null;
var pillNumberMax = holdsReagents ? 0 : remainingCapacity;
var bottleAmountMax = holdsReagents ? remainingCapacity : 0;
var bufferVolume = castState.BufferCurrentVolume?.Int() ?? 0;
var outputVolume = castState.DrawSource switch
{
ChemMasterDrawSource.Internal => castState.BufferCurrentVolume?.Int() ?? 0,
ChemMasterDrawSource.External => castState.InputContainerInfo?.CurrentVolume.Int() ?? 0,
_ => 0,
};

PillDosage.Value = (int)Math.Min(bufferVolume, castState.PillDosageLimit);
PillDosage.Value = (int)Math.Min(outputVolume, castState.PillDosageLimit);

PillTypeButtons[castState.SelectedPillType].Pressed = true;

Expand All @@ -186,25 +201,35 @@ private void UpdateDosageFields(ChemMasterBoundUserInterfaceState castState)
// Avoid division by zero
if (PillDosage.Value > 0)
{
PillNumber.Value = Math.Min(bufferVolume / PillDosage.Value, pillNumberMax);
PillNumber.Value = Math.Min(outputVolume / PillDosage.Value, pillNumberMax);
}
else
{
PillNumber.Value = 0;
}

BottleDosage.Value = Math.Min(bottleAmountMax, bufferVolume);
BottleDosage.Value = Math.Min(bottleAmountMax, outputVolume);
}
/// <summary>
/// Generate a product label based on reagents in the buffer.
/// Generate a product label based on reagents in the buffer or beaker.
/// </summary>
/// <param name="state">State data sent by the server.</param>
private string GenerateLabel(ChemMasterBoundUserInterfaceState state)
{
if (state.BufferCurrentVolume == 0)
if (
state.BufferCurrentVolume == 0 && state.DrawSource == ChemMasterDrawSource.Internal ||
state.InputContainerInfo?.CurrentVolume == 0 && state.DrawSource == ChemMasterDrawSource.External ||
state.InputContainerInfo?.Reagents == null
)
return "";

var reagent = state.BufferReagents.OrderBy(r => r.Quantity).First().Reagent;
var reagent = (state.DrawSource switch
{
ChemMasterDrawSource.Internal => state.BufferReagents,
ChemMasterDrawSource.External => state.InputContainerInfo.Reagents ?? [],
_ => throw new($"Chemmaster {state.OutputContainerInfo} draw source is not set"),
}).MinBy(r => r.Quantity)
.Reagent;
_prototypeManager.TryIndex(reagent.Prototype, out ReagentPrototype? proto);
return proto?.LocalizedName ?? "";
}
Expand Down Expand Up @@ -233,6 +258,8 @@ private void UpdatePanelInfo(ChemMasterBoundUserInterfaceState state)
_ => Loc.GetString("chem-master-window-sort-type-none")
};

OutputBufferDraw.Pressed = state.DrawSource == ChemMasterDrawSource.Internal;
OutputBeakerDraw.Pressed = state.DrawSource == ChemMasterDrawSource.External;

if (!state.BufferReagents.Any())
{
Expand Down Expand Up @@ -414,6 +441,12 @@ public string LabelLine
get => LabelLineEdit.Text;
set => LabelLineEdit.Text = value;
}

private void SetBufferText(FixedPoint2? volume, string text)
{
BufferCurrentVolume.Text = $" {volume ?? FixedPoint2.Zero}u";
DrawSource.Text = Loc.GetString(text);
}
}

public sealed class ReagentButton : Button
Expand Down
2 changes: 0 additions & 2 deletions Content.Client/CombatMode/CombatModeIndicatorsOverlay.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,8 @@
using Robust.Client.GameObjects;
using Robust.Client.Graphics;
using Robust.Client.Input;
using Robust.Client.Serialization;
using Robust.Client.UserInterface;
using Robust.Shared.Enums;
using Robust.Shared.Graphics;
using Robust.Shared.Utility;

namespace Content.Client.CombatMode;
Expand Down
6 changes: 5 additions & 1 deletion Content.Client/Construction/UI/ConstructionMenuPresenter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,10 @@ internal sealed class ConstructionMenuPresenter : IDisposable
[Dependency] private readonly IUserInterfaceManager _uiManager = default!;
[Dependency] private readonly IPlayerManager _playerManager = default!;
[Dependency] private readonly IClientPreferencesManager _preferencesManager = default!;
[Dependency] private readonly ILogManager _logManager = default!;

private readonly SpriteSystem _spriteSystem;
private readonly ISawmill _sawmill;

private readonly IConstructionMenuView _constructionView;
private readonly EntityWhitelistSystem _whitelistSystem;
Expand Down Expand Up @@ -90,6 +93,7 @@ public ConstructionMenuPresenter()
_constructionView = new ConstructionMenu();
_whitelistSystem = _entManager.System<EntityWhitelistSystem>();
_spriteSystem = _entManager.System<SpriteSystem>();
_sawmill = _logManager.GetSawmill("construction.ui");

// This is required so that if we load after the system is initialized, we can bind to it immediately
if (_systemManager.TryGetEntitySystem<ConstructionSystem>(out var constructionSystem))
Expand Down Expand Up @@ -284,7 +288,7 @@ private void PopulateGrid(GridContainer recipesGrid,

if (!_constructionSystem!.TryGetRecipePrototype(recipe.ID, out var targetProtoId))
{
Logger.Error("Cannot find the target prototype in the recipe cache with the id \"{0}\" of {1}.",
_sawmill.Error("Cannot find the target prototype in the recipe cache with the id \"{0}\" of {1}.",
recipe.ID,
nameof(ConstructionPrototype));
continue;
Expand Down
8 changes: 8 additions & 0 deletions Content.Client/Kitchen/EntitySystems/ReagentGrinderSystem.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
using Content.Shared.Kitchen.EntitySystems;
using JetBrains.Annotations;

namespace Content.Client.Kitchen.EntitySystems;

[UsedImplicitly]
public sealed class ReagentGrinderSystem : SharedReagentGrinderSystem;

8 changes: 6 additions & 2 deletions Content.Client/Launcher/LauncherConnecting.cs
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,10 @@ public sealed class LauncherConnecting : Robust.Client.State.State
[Dependency] private readonly IPrototypeManager _prototypeManager = default!;
[Dependency] private readonly IConfigurationManager _cfg = default!;
[Dependency] private readonly IClipboardManager _clipboard = default!;
[Dependency] private readonly ILogManager _logManager = default!;

private LauncherConnectingGui? _control;
private ISawmill _sawmill = default!;

private Page _currentPage;
private string? _connectFailReason;
Expand Down Expand Up @@ -61,6 +63,8 @@ protected override void Startup()
{
_control = new LauncherConnectingGui(this, _random, _prototypeManager, _cfg, _clipboard);

_sawmill = _logManager.GetSawmill("launcher-ui");

_userInterfaceManager.StateRoot.AddChild(_control);

_clientNetManager.ConnectFailed += OnConnectFailed;
Expand Down Expand Up @@ -115,12 +119,12 @@ public bool Redial()
}
else
{
Logger.InfoS("launcher-ui", $"Redial not possible, no Ss14Address");
_sawmill.Info($"Redial not possible, no Ss14Address");
}
}
catch (Exception ex)
{
Logger.ErrorS("launcher-ui", $"Redial exception: {ex}");
_sawmill.Error($"Redial exception: {ex}");
}
return false;
}
Expand Down
9 changes: 0 additions & 9 deletions Content.Client/Shuttles/BUI/IFFConsoleBoundUserInterface.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ protected override void Open()

_window = this.CreateWindowCenteredLeft<IFFConsoleWindow>();
_window.ShowIFF += SendIFFMessage;
_window.ShowVessel += SendVesselMessage;
}

protected override void UpdateState(BoundUserInterfaceState state)
Expand All @@ -44,14 +43,6 @@ private void SendIFFMessage(bool obj)
});
}

private void SendVesselMessage(bool obj)
{
SendMessage(new IFFShowVesselMessage()
{
Show = obj,
});
}

protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
Expand Down
6 changes: 0 additions & 6 deletions Content.Client/Shuttles/UI/IFFConsoleWindow.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,6 @@
<Button Name="ShowIFFOnButton" Text="{Loc 'iff-console-on'}" StyleClasses="OpenRight" />
<Button Name="ShowIFFOffButton" Text="{Loc 'iff-console-off'}" StyleClasses="OpenLeft" />
</BoxContainer>

<Label Name="ShowVesselLabel" Text="{Loc 'iff-console-show-vessel-label'}" HorizontalExpand="True" StyleClasses="highlight" />
<BoxContainer Orientation="Horizontal" MinWidth="120">
<Button Name="ShowVesselOnButton" Text="{Loc 'iff-console-on'}" StyleClasses="OpenRight" />
<Button Name="ShowVesselOffButton" Text="{Loc 'iff-console-off'}" StyleClasses="OpenLeft" />
</BoxContainer>
</GridContainer>
</BoxContainer>
</controls:FancyWindow>
36 changes: 2 additions & 34 deletions Content.Client/Shuttles/UI/IFFConsoleWindow.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,7 @@ public sealed partial class IFFConsoleWindow : FancyWindow,
IComputerWindow<IFFConsoleBoundUserInterfaceState>
{
private readonly ButtonGroup _showIFFButtonGroup = new();
private readonly ButtonGroup _showVesselButtonGroup = new();
public event Action<bool>? ShowIFF;
public event Action<bool>? ShowVessel;

public IFFConsoleWindow()
{
Expand All @@ -24,31 +22,21 @@ public IFFConsoleWindow()
ShowIFFOnButton.Group = _showIFFButtonGroup;
ShowIFFOnButton.OnPressed += args => ShowIFFPressed(true);
ShowIFFOffButton.OnPressed += args => ShowIFFPressed(false);

ShowVesselOffButton.Group = _showVesselButtonGroup;
ShowVesselOnButton.Group = _showVesselButtonGroup;
ShowVesselOnButton.OnPressed += args => ShowVesselPressed(true);
ShowVesselOffButton.OnPressed += args => ShowVesselPressed(false);
}

private void ShowIFFPressed(bool pressed)
{
ShowIFF?.Invoke(pressed);
}

private void ShowVesselPressed(bool pressed)
{
ShowVessel?.Invoke(pressed);
}

public void UpdateState(IFFConsoleBoundUserInterfaceState state)
{
if ((state.AllowedFlags & IFFFlags.HideLabel) != 0x0)
if ((state.AllowedFlags & IFFFlags.HideLabel) != 0x0 || (state.AllowedFlags & IFFFlags.Hide) != 0x0)
{
ShowIFFOffButton.Disabled = false;
ShowIFFOnButton.Disabled = false;

if ((state.Flags & IFFFlags.HideLabel) != 0x0)
if ((state.Flags & IFFFlags.HideLabel) != 0x0 || (state.Flags & IFFFlags.Hide) != 0x0)
{
ShowIFFOffButton.Pressed = true;
}
Expand All @@ -62,25 +50,5 @@ public void UpdateState(IFFConsoleBoundUserInterfaceState state)
ShowIFFOffButton.Disabled = true;
ShowIFFOnButton.Disabled = true;
}

if ((state.AllowedFlags & IFFFlags.Hide) != 0x0)
{
ShowVesselOffButton.Disabled = false;
ShowVesselOnButton.Disabled = false;

if ((state.Flags & IFFFlags.Hide) != 0x0)
{
ShowVesselOffButton.Pressed = true;
}
else
{
ShowVesselOnButton.Pressed = true;
}
}
else
{
ShowVesselOffButton.Disabled = true;
ShowVesselOnButton.Disabled = true;
}
}
}
2 changes: 1 addition & 1 deletion Content.Client/Silicons/Borgs/BorgModuleControl.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
StyleClasses="PanelLight"
Margin="5 5 5 0">
<BoxContainer Orientation="Horizontal" HorizontalExpand="True" Margin="5 5 0 5">
<TextureButton Name="RemoveButton" VerticalAlignment="Top" HorizontalAlignment="Left" Scale="0.5 0.5"/>
<SpriteView Name="ModuleView" Margin="0 0 5 0"/>
<BoxContainer RectClipContent="True" HorizontalExpand="True">
<Label Name="ModuleName" HorizontalExpand="True" HorizontalAlignment="Center"/>
</BoxContainer>
<TextureButton Name="RemoveButton" VerticalAlignment="Top" HorizontalAlignment="Right" Scale="0.5 0.5"/>
</BoxContainer>
</PanelContainer>
4 changes: 2 additions & 2 deletions Content.Client/Stylesheets/Sheetlets/LabelSheetlet.cs
Original file line number Diff line number Diff line change
Expand Up @@ -69,10 +69,10 @@ public override StyleRule[] GetRules(PalettedStylesheet sheet, object config)
.Class(StyleClass.LabelMonospaceText)
.Prop(Label.StylePropertyFont, robotoMonoBold11),
E<Label>()
.Class(StyleClass.LabelMonospaceHeading)
.Class(StyleClass.LabelMonospaceSubHeading)
.Prop(Label.StylePropertyFont, robotoMonoBold12),
E<Label>()
.Class(StyleClass.LabelMonospaceSubHeading)
.Class(StyleClass.LabelMonospaceHeading)
.Prop(Label.StylePropertyFont, robotoMonoBold14),
];
}
Expand Down
4 changes: 2 additions & 2 deletions Content.Client/Stylesheets/StyleClass.cs
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,8 @@ public static class StyleClass
public const string LabelKeyText = "LabelKeyText";
public const string LabelWeak = "LabelWeak"; // replaces `LabelSecondaryColor`
public const string LabelMonospaceText = "ConsoleText";
public const string LabelMonospaceHeading = "ConsoleText";
public const string LabelMonospaceSubHeading = "ConsoleText";
public const string LabelMonospaceHeading = "ConsoleHeading";
public const string LabelMonospaceSubHeading = "ConsoleSubHeading";

public const string BackgroundPanel = "BackgroundPanel"; // replaces `AngleRect`
public const string BackgroundPanelOpenLeft = "BackgroundPanelOpenLeft"; // replaces `BackgroundOpenLeft`
Expand Down
14 changes: 13 additions & 1 deletion Content.Client/VoiceMask/VoiceMaskBoundUserInterface.cs
Original file line number Diff line number Diff line change
Expand Up @@ -26,21 +26,33 @@ protected override void Open()

_window.OnNameChange += OnNameSelected;
_window.OnVerbChange += verb => SendMessage(new VoiceMaskChangeVerbMessage(verb));
_window.OnToggle += OnToggle;
_window.OnAccentToggle += OnAccentToggle;
}

private void OnNameSelected(string name)
{
SendMessage(new VoiceMaskChangeNameMessage(name));
}

private void OnToggle()
{
SendMessage(new VoiceMaskToggleMessage());
}

private void OnAccentToggle()
{
SendMessage(new VoiceMaskAccentToggleMessage());
}

protected override void UpdateState(BoundUserInterfaceState state)
{
if (state is not VoiceMaskBuiState cast || _window == null)
{
return;
}

_window.UpdateState(cast.Name, cast.Verb);
_window.UpdateState(cast.Name, cast.Verb, cast.Active, cast.AccentHide);
}

protected override void Dispose(bool disposing)
Expand Down
Loading
Loading