Skip to content

Commit

Permalink
Merge 07/08 (Nyanotrasen#258)
Browse files Browse the repository at this point in the history
* Fix radio localisation (#9283)

* Log kitchen spikings (#9284)

Easier to find.

* Don't play empty gun sounds (#9286)

* 1 more radio loc (#9287)

Woops

* Make large explosions use approximate lookups (#9296)

* Update lighthouse.yml (#9300)

* Add action to pull down mask (#9015)

* Add action to pull down mask

* Update based on review comments

* fix access

* cleanup

* Update based on review comments

* revert change to ToggleableClothingSystem

* switch to unequip

* Specify the unequip is for togglemaskevent only

* fix issue of activating mask in hands with something else in mask slot

* Update based on review comments

* switch to dependency for ActionSystem for consistency

* whoops other instance too

* review changes

* Automatic changelog update

* Automatic changelog update

* Automatic changelog update

* Automatic changelog update

* Automatic changelog update

* Automatic changelog update

* Automatic changelog update

* Automatic changelog update

* Automatic changelog update

* Automatic changelog update

* Automatic changelog update

* Automatic changelog update

* Automatic changelog update

* Automatic changelog update

* Automatic changelog update

* Automatic changelog update

* Automatic changelog update

* Automatic changelog update

* Automatic changelog update

* Automatic changelog update

* Automatic changelog update

* Automatic changelog update

* Automatic changelog update

* Automatic changelog update

* Automatic changelog update

* Automatic changelog update

* Automatic changelog update

* Automatic changelog update

* Automatic changelog update

* Automatic changelog update

* Automatic changelog update

* Automatic changelog update

* Automatic changelog update

* Automatic changelog update

* Automatic changelog update

* Automatic changelog update

* Automatic changelog update

* Automatic changelog update

* Automatic changelog update

* Automatic changelog update

* Automatic changelog update

* Automatic changelog update

* Update submodule (#9305)

* Fireaxe Structure Damage (#9289)

* Entities with hands still respect "needsHands: false" for Puller (#9266)

* Makes the Pointless tab not pointless (#9310)

* Add exception tolerance to explosion processing (#9309)

* Automatic changelog update

* Split QoL Update (#9303)

* Automatic changelog update

* Minor rules tweaks/clarifications (#9304)

* Automatic changelog update

* Gimps the restart vote. (#9327)

* Disables the restart vote when admins are online.

* Gimps the restart vote so it requires 85% agreement.

* address rebiew

* Automatic changelog update

* Fix another explosion error (#9325)

* Update CargoShuttleComponent.cs (#9333)

* Automatic changelog update

* Lower shuttle time + recall turning point (#9328)

* Automatic changelog update

* Stomach YAML tweaks (short-term satiety) (#9326)

* Automatic changelog update

* Implements panic bunkering. (#9315)

* Implements panic bunkering.
Helps with raid management, esp with unknown accounts.

* adds an enable/disable command.

* Another mobster accent fix (#9335)

* Adds new "Pharmacy" Lobby Art by Solbusaur (#9339)

* Adds new lobby art, license, etc

* Fix background to be the correct image.

Co-authored-by: moonheart08 <[email protected]>

* Automatic changelog update

* Detective (#9301)

* Automatic changelog update

* Add tag to let entity not fire guns (#9293)

* Prevent round end test from leaking (#9342)

* Add Different Styles for Instruments (#9250)

* Automatic changelog update

* Feet update (#9344)

* Footstep sounds update

* adjustments I thought of

* Automatic changelog update

* Detective minor bug fixes 2 lines (#9347)

* Update identification_cards.yml

* Update detective.yml

* ic ic ic

* yurgh

* Some footstep tweaks (#9355)

* Lower footstep volume slightly

* more tweaks

* Saltern Update 3.8 (#9351)

* Atlas Update 1.5 (#9346)

* Marathon Update 2.2 (#9349)

* fix variantize (#9348)

* Bagel Update 14 (#9345)

* Adds detective spawner to Delta (#9356)

* See-Through Shuttle Wall (#9306)

* Automatic changelog update

* Fix vomit mopping (#9358)

* Freezer fixatmos entity (#9314)

* Automatic changelog update

* Miasma outbreaks give every mob the same disease (#9232)

* Added missing drawdepth "WallTops" to directional windows. (#9308)

* Disarms now deselect after a usage. (#9290)

* Automatic changelog update

* Make Dragons Pettable (#9367)

* Automatic changelog update

* Lighthouse Update (#9368)

* Add files via upload

* Add files via upload

* Automatic changelog update

* Extends cutting delay for cables from .25 to .50 (#9366)

* Automatic changelog update

* Rotting fixes (#9338)

* Automatic changelog update

* Makes Xenos Insulated and Immune to diseases (#9369)

* Automatic changelog update

* Ammends changelog of #9366 (#9370)

* Remove xeno accent (#9311)

* Automatic changelog update

* Add and replace alert sounds (#9360)

* Automatic changelog update

* Update submodule to 0.28.2.1 (#9371)

* Syndie Radio for Ghosts (#9375)

* ERT cleanup (#9376)

* Intrinsic radio fixes (#9378)

* Inherent radio fixes

* rename

* Automatic changelog update

* barratry update (#9389)

* Allow adminnotes to use username (#9388)

No I'm not going to the ban panel to find someone's GUID.

* Reduce shuttle transit time (#9397)

* Automatic changelog update

* Adds new disease! Tongue Twister. Also new scrambled accent. (#9393)

* Automatic changelog update

* Fix station announcements (#9380)

* Fix station announcements

Doesn't just get what's on the grid. Also made it generic so other systems can use a station filter.

* bumped

* a

* Broadcast salvage over supply instead (#9381)

* Broadcast salvage over supply instead

* prototypes

* a

* Automatic changelog update

* Event Music & Nuke Countdown Song (#8597)

Co-authored-by: ike709 <[email protected]>
Co-authored-by: metalgearsloth <[email protected]>

* Automatic changelog update

* Blocking and Shields (#8584)

* Blocking

* Fixes Bodytype bug

* Blocking Damage Modifier

* Storing bodytype

* Consolidates Stop Blocking code

* Consolidates more methods

* Some cleanup, hitbox fix

* Shield Textures

* Passive blocking modifier check

* Localization, popups, and more cleanup

* Small cleanup

* Relay event

* Fixes a shutdown bug, adds specific containers and sets

* Popups and sounds

* Fixes typo

* Removes whitespace, adds comment

* Some requested changes

* Remove Shared

* Audio fix

* More changes

* More requested changes

* Properly remove on shutdown

* Adds riot shields to seclathes

* SecTech Riot shield

* Constant variable

* Relay transfer to user blocking system

* More destruction behavior

* Adds a shape field

* Riot shield cleanup

* More requested changes.

* Prevents blocking attempt where a user cannot be anchored

* Listen for anchor change

* Unused using cleanup

* More shields.

* Buckler

* Construction

* Linter fix

* Automatic changelog update

* Add BreakOnDistance to DoAfterEventArgs (#8902)

Co-authored-by: metalgearsloth <[email protected]>

* Automatic changelog update

* Telescreens and big flat screen TV (#8842)

* first pass wall tv

* telescreen first pass

* adds flat screen television

* removed duplicate assets

* code changes and construction graph start

* Update lv stack to apc

* completed graphs and fixed bb sizes

* Proto update

Co-authored-by: metalgearsloth <[email protected]>

* Automatic changelog update

* removes metal walls, adds rusted walls (#8416)

* removes metal walls, adds rusted walls

* removes 2 metal walls in bagel

* remove metal walls from pillar

* Remove icon from rust wall

* Made welding work

* removes old prototype

* Automatic changelog update

* Fixes tongue twister disease message, also adds it to the outbreak event (#9400)

* Make shuttle launch use ID card entity name (#9405)

* Automatic changelog update

* window (#9399)

* Cargo Shuttle Shuttle Windows (#9401)

* Refactors the AtmosphereSystem public-facing API to allow for multiple atmos backends. (#8134)

* Refactors the entirety of the AtmosphereSystem public-facing API to allow for multiple atmos backends.

* actually compiles

* Remove commented out code

* funny bracket

* Move archived moles, temperature from GasMixture to TileAtmosphere.

* WIP customizable map default mixture
still VERY buggy

* broken mess
aaaaaaaaaaaaa

* Fix lattice, etc not being considered space

* visualization for "IsSpace"

* help

* Update Content.Client/Atmos/Overlays/AtmosDebugOverlay.cs

Co-authored-by: Moony <[email protected]>

* Holy SHIT it compiles AGAIN

* Fix AtmosDeviceSystem crash at shutdown

* Fix immutable tiles on map blueprints not being fixed by fixgridatmos/revalidate.

* Use space instead of gasmixture immutable for heat capacity calculations

* Remove all LINDA-specific code from GasMixture, move it to TileAtmosphere/AtmosphereSystem instead.

* Fix roundstart tiles not processing

* Update Content.Server/Atmos/Commands/SetTemperatureCommand.cs

Co-authored-by: metalgearsloth <[email protected]>

* Update Content.Server/Atmos/EntitySystems/AtmosphereSystem.API.cs

Changed Files tab is so large I can't commit both suggestions at once mfw

Co-authored-by: metalgearsloth <[email protected]>

Co-authored-by: Moony <[email protected]>
Co-authored-by: metalgearsloth <[email protected]>

* reeee (#9385)

* Humans can now have their ID cards examined (#9415)

Co-authored-by: ike709 <[email protected]>

* Automatic changelog update

* Bloodstreams now have their own drawing behavior (#8920)

* Automatic changelog update

* Fix collisions passing firestacks between mobs (#9324)

* Automatic changelog update

* Experimental nukie changes (#9428)

* Automatic changelog update

* Makes the nuke keypad play a nonatonic scale (#9431)

* Add files via upload (#9413)

* Automatic changelog update

* Bandaid NSS Pillar (#9436)

* Fix remote piloting rotation (#9439)

* Automatic changelog update

* Fixes Waystation's cargo dock. (#9420)

* add tongue twister to the miasma pool (#9423)

* Sec external access (#9412)

* Security officer external access

* Update warden.yml

* Update head_of_security.yml

* Fixes entity spawner icons (#9411)

* fixes asteroid icon / parent and adds suffix

* fixes asteroid icon / parent and adds suffix

* fix rust wall icon

* fix table icon

* fix counter icons

* makes base grenade abstract

* fixes rat stomach sprite error

* really fixed rat stomachs

* Automatic changelog update

* Make destructible test more reliable (#9425)

* Fix salvage gibbing (#9426)

* Fix salvage gib attempt 2 (#9444)

* Fix invisible held sprites for capgun (#9390)

* Fix capgun YAML for held sprites and touch up in-hand sprites

* Remove capgun size to inherit BaseItem size 5

* Automatic changelog update

* Make the extra bright lantern actually flash you. (#9387)

* lantern goes STUN STUN

* fix an awkward extra spacebar

* fixing the lantern as emogarbage suggested

* buffs the usage amount

ngl, 15 might be a bit over the top, but it is several times larger than a normal flash so it somewhat makes sense.

* fixed encoding

* Automatic changelog update

* ass (#9446)

* ass (#9445)

* Tiny fans for freezers/shuttles (#9451)

* department tech 1984 (#9449)

* Automatic changelog update

* Fix intrinsic UI keys (#9437)

struct moment

* Fix hunger/thirst 'Dead' thresholds (#9453)

* Automatic changelog update

* Zombie Mode [New Game Mode] (#8501)

Co-authored-by: Kara <[email protected]>
Co-authored-by: metalgearsloth <[email protected]>

* Convert rat king to use a ghost role spawner (#9459)

* Convert rat king to use a ghost role spawner

* fix literally unplayable spelling mistake

* Automatic changelog update

* Adds sell prices to fuel & water tanks (#9466)

Co-authored-by: ike709 <[email protected]>

* Automatic changelog update

* Add UI window for loadbp (#9441)

* Add UI window for loadbp

* Perms disabled

* Also teleport button

* wraparound fix

* Review

* Update game_presets.yml (#9471)

* "Fix" aghost mass scanner (#9438)

* Damage masks (#9402)

* Automatic changelog update

* Stamina damage (#9230)

* Automatic changelog update

* Fix delay roundend (#9481)

* Allow aghosts to pilot (#9482)

* Make nukie arm sounds entity based (#9484)

* Fix loadbp window maps (#9485)

* Reduce disabler stam damage (#9483)

* Update submodule (#9486)

* highlights (#9332)

Co-authored-by: and_a <and_a@DESKTOP-RJENGIR>

* Magboots ECS and Cleanup (#9245)

Co-authored-by: metalgearsloth <[email protected]>

* Marathon Update 2.3 (#9490)

* Bagel Shells and Disabler (#9491)

* Saltern Disablers (#9492)

* Atlas Disablers (#9493)

* Update hardsuits.yml (#9494)

* Makes storage insertion failure more explicit (#9465)

* Automatic changelog update

* Disablers on Delta (#9509)

* Disablers on Waystation (#9510)

* Convert piped atmos entity visualizers (#9200)

* Make explosive armor multiplicative and not additive (#9498)

* Automatic changelog update

* Fix stunbaton stun sounds (#9511)

* Add deletion checks to verb execution (#9507)

* Fix pipe net null error (#9508)

* Make ghost role names default to entity name (#9478)

* Play tap.ogg when no damage is being done (#9489)

* Automatic changelog update

* Splitstation Update 06 July 2022 (#9495)

* Pillar Update (#9504)

* Light Lighthouse Update (#9503)

* Automatic changelog update

* Prevent erroneous materials from being placed in lathes. (#9454)

Co-authored-by: metalgearsloth <[email protected]>

* Automatic changelog update

* Disable ambience default again (#9442)

* Emergency light goodies (#9352)

Co-authored-by: Jacob Tong <[email protected]>

* Automatic changelog update

* Fix Practice Shotgun Shells (#9516)

* Automatic changelog update

* Satiety tweaks (#9519)

* Satiety tweaks

* actually lets do this

* Automatic changelog update

* Separate jetpack movement speed modifier (#9363)

* Content changes required for recursive deletion changes (#9316)

* Automatic changelog update

* Textures to make lamps mappable to East/West. (#9414)

Co-authored-by: Jeff <[email protected]>

* Pizza box 1984 (#9521)

* Pizza box 1984

* todo

* Automatic changelog update

* Probably fix ghost overlays (#9529)

* Fix & speed up explosion lookup (#9526)

* Speed up explosion lookup

* Ah. Fuck.

* Disease Stages But Epic (#9043)

Co-authored-by: metalgearsloth <[email protected]>
Co-authored-by: metalgearsloth <[email protected]>

* Automatic changelog update

* Adds station filter for alert level change sound (#9533)

* FixVacuum does not replace tile air if there are no adjacent tiles. (#9535)

* Fix adjacent tile atmosphere creation using the wrong coordinates. (#9539)

* Automatic changelog update

* Make wieldable use entity position (#9538)

* sprite fix (#9542)

* Automatic changelog update

* Woops

* Nu saltern

* tweaks

* ok nvm still crashing

Co-authored-by: metalgearsloth <[email protected]>
Co-authored-by: Leon Friedrich <[email protected]>
Co-authored-by: ZeroDayDaemon <[email protected]>
Co-authored-by: themias <[email protected]>
Co-authored-by: PJBot <[email protected]>
Co-authored-by: Emisse <[email protected]>
Co-authored-by: Ablankmann <[email protected]>
Co-authored-by: Peptide90 <[email protected]>
Co-authored-by: Kara <[email protected]>
Co-authored-by: Moony <[email protected]>
Co-authored-by: EmoGarbage404 <[email protected]>
Co-authored-by: hubismal <[email protected]>
Co-authored-by: wrexbe <[email protected]>
Co-authored-by: TimrodDX <[email protected]>
Co-authored-by: BismarckShuffle <[email protected]>
Co-authored-by: AJCM-git <[email protected]>
Co-authored-by: Aerocrux <[email protected]>
Co-authored-by: OldDanceJacket <[email protected]>
Co-authored-by: Júlio César Ueti <[email protected]>
Co-authored-by: T-Stalker <[email protected]>
Co-authored-by: Pancake <[email protected]>
Co-authored-by: Jessica M <[email protected]>
Co-authored-by: ike709 <[email protected]>
Co-authored-by: ike709 <[email protected]>
Co-authored-by: metalgearsloth <[email protected]>
Co-authored-by: keronshb <[email protected]>
Co-authored-by: Vera Aguilera Puerto <[email protected]>
Co-authored-by: Delete69 <[email protected]>
Co-authored-by: ninruB <[email protected]>
Co-authored-by: TaralGit <[email protected]>
Co-authored-by: and_a <and_a@DESKTOP-RJENGIR>
Co-authored-by: TekuNut <[email protected]>
Co-authored-by: Jacob Tong <[email protected]>
Co-authored-by: ChilbroBaggins <[email protected]>
Co-authored-by: Jeff <[email protected]>
Co-authored-by: Flipp Syder <[email protected]>
  • Loading branch information
Show file tree
Hide file tree
Showing 793 changed files with 14,975 additions and 10,763 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
<Button Name="SpawnTilesButton" Text="{Loc 'sandbox-window-spawn-tiles-button'}" />
<Button Name="SpawnDecalsButton" Text="{Loc 'sandbox-window-spawn-decals-button'}" />
<Button Name="LoadGamePrototypeButton" Text="{Loc 'load-game-prototype'}"/>
<cc:UICommandButton Name="LoadBlueprintsButton" Command="loadbp" Text="{Loc 'load-blueprints'}" WindowType="{x:Type abt:LoadBlueprintsWindow}"/>
<cc:CommandButton Command="deleteewc Singularity" Name="DeleteSingulos" Text="{Loc 'delete-singularities'}"/>
<cc:UICommandButton Command="events" Text="{Loc 'open-station-events'}" WindowType="{x:Type abt:StationEventsWindow}" />
</GridContainer>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
using System.IO;
using Content.Client.Administration.Managers;
using Content.Client.Decals.UI;
using Content.Client.Sandbox;
using Content.Shared.Administration;
using Robust.Client.AutoGenerated;
using Robust.Client.UserInterface;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.XAML;
using Robust.Shared.Prototypes;

namespace Content.Client.Administration.UI.Tabs.AdminbusTab
{
Expand All @@ -18,16 +16,20 @@ public AdminbusTab()
{
RobustXamlLoader.Load(this);
IoCManager.InjectDependencies(this);

var adminManager = IoCManager.Resolve<IClientAdminManager>();

// For the SpawnEntitiesButton and SpawnTilesButton we need to do the press manually
// TODO: This will probably need some command check at some point
SpawnEntitiesButton.OnPressed += SpawnEntitiesButtonOnOnPressed;
SpawnEntitiesButton.OnPressed += SpawnEntitiesButtonOnPressed;
SpawnTilesButton.OnPressed += SpawnTilesButtonOnOnPressed;
SpawnDecalsButton.OnPressed += SpawnDecalsButtonOnPressed;
LoadGamePrototypeButton.OnPressed += LoadGamePrototypeButtonOnOnPressed;
LoadGamePrototypeButton.Visible = IoCManager.Resolve<IClientAdminManager>().HasFlag(AdminFlags.Query);
LoadGamePrototypeButton.OnPressed += LoadGamePrototypeButtonOnPressed;
LoadGamePrototypeButton.Disabled = !adminManager.HasFlag(AdminFlags.Query);
LoadBlueprintsButton.Disabled = !adminManager.HasFlag(AdminFlags.Mapping);
}

private async void LoadGamePrototypeButtonOnOnPressed(BaseButton.ButtonEventArgs obj)
private async void LoadGamePrototypeButtonOnPressed(BaseButton.ButtonEventArgs obj)
{
var dialogManager = IoCManager.Resolve<IFileDialogManager>();
var loadManager = IoCManager.Resolve<IGamePrototypeLoadManager>();
Expand All @@ -42,7 +44,7 @@ private async void LoadGamePrototypeButtonOnOnPressed(BaseButton.ButtonEventArgs
loadManager.SendGamePrototype(proto);
}

private void SpawnEntitiesButtonOnOnPressed(BaseButton.ButtonEventArgs obj)
private void SpawnEntitiesButtonOnPressed(BaseButton.ButtonEventArgs obj)
{
EntitySystem.Get<SandboxSystem>().ToggleEntitySpawnWindow();
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
<DefaultWindow
xmlns="https://spacestation14.io" Title="{Loc Load Blueprint}">
<BoxContainer Orientation="Vertical">
<BoxContainer Orientation="Horizontal">
<Label Text="{Loc Map}" MinSize="100 0" />
<Control MinSize="50 0" />
<OptionButton Name="MapOptions" MinSize="100 0" HorizontalExpand="True" />
</BoxContainer>
<BoxContainer Orientation="Horizontal">
<Label Text="{Loc Path}" MinSize="100 0" />
<Control MinSize="50 0" />
<OptionButton Name="MapPath" MinSize="200 0" HorizontalExpand="True" />
</BoxContainer>
<BoxContainer Orientation="Horizontal">
<Label Text="{Loc X}" MinSize="100 0" />
<Control MinSize="50 0" />
<SpinBox Name="XCoordinate" MinSize="100 0" HorizontalExpand="True" />
</BoxContainer>
<BoxContainer Orientation="Horizontal">
<Label Text="{Loc Y}" MinSize="100 0" />
<Control MinSize="50 0" />
<SpinBox Name="YCoordinate" MinSize="100 0" HorizontalExpand="True" />
</BoxContainer>
<BoxContainer Orientation="Horizontal">
<Label Text="{Loc Rotation}" MinSize="100 0" />
<Control MinSize="50 0" />
<SpinBox Name="RotationSpin" MinSize="100 0" HorizontalExpand="True" />
</BoxContainer>
<Button Name="SubmitButton" Text="{Loc Load Blueprint}" />
<Button Name="TeleportButton" Text="{Loc Teleport to}" />
<Button Name="ResetButton" Text="{Loc Reset to default}"></Button>
</BoxContainer>
</DefaultWindow>
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
using JetBrains.Annotations;
using Robust.Client.AutoGenerated;
using Robust.Client.Console;
using Robust.Client.Player;
using Robust.Client.ResourceManagement;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.CustomControls;
using Robust.Client.UserInterface.XAML;
using Robust.Shared.ContentPack;
using Robust.Shared.Map;
using Robust.Shared.Utility;

namespace Content.Client.Administration.UI.Tabs.AdminbusTab
{
[GenerateTypedNameReferences]
[UsedImplicitly]
public sealed partial class LoadBlueprintsWindow : DefaultWindow
{
private Dictionary<int, string> _pathIndices = new();

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

protected override void EnteredTree()
{
var mapManager = IoCManager.Resolve<IMapManager>();
var provider = IoCManager.Resolve<IResourceCache>();

foreach (var mapId in mapManager.GetAllMapIds())
{
MapOptions.AddItem(mapId.ToString(), (int) mapId);
}

var pathIndex = 0;

foreach (var path in provider.ContentFindFiles(new ResourcePath("/Maps/")))
{
var strPath = path.ToString();

if (strPath.StartsWith("/Maps/Salvage/") || strPath.StartsWith("/Maps/Test/")) continue;

MapPath.AddItem(strPath[6..], pathIndex);
_pathIndices[pathIndex] = strPath;
pathIndex++;
}

Reset();

MapOptions.OnItemSelected += OnOptionSelect;
MapPath.OnItemSelected += OnPathSelect;
RotationSpin.ValueChanged += OnRotate;
SubmitButton.OnPressed += OnSubmitButtonPressed;
TeleportButton.OnPressed += OnTeleportButtonPressed;
ResetButton.OnPressed += OnResetButtonPressed;
}

private void Reset()
{
var entManager = IoCManager.Resolve<IEntityManager>();
var playerManager = IoCManager.Resolve<IPlayerManager>();
var player = playerManager.LocalPlayer?.ControlledEntity;

var currentMap = MapId.Nullspace;
var position = Vector2.Zero;
var rotation = Angle.Zero;

if (entManager.TryGetComponent<TransformComponent>(player, out var xform))
{
currentMap = xform.MapID;
position = xform.WorldPosition;

if (entManager.TryGetComponent<TransformComponent>(xform.GridUid, out var gridXform))
{
rotation = gridXform.WorldRotation;
}
else
{
// MapId moment
rotation = xform.WorldRotation - xform.LocalRotation;
}
}

if (currentMap != MapId.Nullspace)
MapOptions.Select((int) currentMap);

XCoordinate.Value = (int) position.X;
YCoordinate.Value = (int) position.Y;

RotationSpin.OverrideValue(Wraparound((int) rotation.Degrees));
}

private void OnResetButtonPressed(BaseButton.ButtonEventArgs obj)
{
Reset();
}

private void OnRotate(object? sender, ValueChangedEventArgs e)
{
var newValue = Wraparound(e.Value);

if (e.Value == newValue) return;

RotationSpin.OverrideValue(newValue);
}

private int Wraparound(int value)
{
var newValue = (value % 360);
if (newValue < 0)
newValue += 360;

return newValue;
}

private void OnPathSelect(OptionButton.ItemSelectedEventArgs obj)
{
MapPath.SelectId(obj.Id);
}

private void OnOptionSelect(OptionButton.ItemSelectedEventArgs obj)
{
MapOptions.SelectId(obj.Id);
}

private void OnTeleportButtonPressed(BaseButton.ButtonEventArgs obj)
{
IoCManager.Resolve<IClientConsoleHost>().ExecuteCommand(
$"tp {XCoordinate.Value} {YCoordinate.Value} {MapOptions.SelectedId}");
}

private void OnSubmitButtonPressed(BaseButton.ButtonEventArgs obj)
{
IoCManager.Resolve<IClientConsoleHost>().ExecuteCommand(
$"loadbp {MapOptions.SelectedId} \"{_pathIndices[MapPath.SelectedId]}\" {XCoordinate.Value} {YCoordinate.Value} {RotationSpin.Value}");
}
}
}
8 changes: 8 additions & 0 deletions Content.Client/Atmos/Components/PipeColorVisualsComponent.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
using Robust.Shared.GameObjects;

namespace Content.Client.Atmos.Components;

[RegisterComponent]
public class PipeColorVisualsComponent : Component
{
}
24 changes: 24 additions & 0 deletions Content.Client/Atmos/EntitySystems/PipeColorVisualizerSystem.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
using Content.Client.Atmos.Components;
using Robust.Client.GameObjects;
using Content.Shared.Atmos.Piping;

namespace Content.Client.Atmos.EntitySystems;

public sealed class PipeColorVisualizerSystem : VisualizerSystem<PipeColorVisualsComponent>
{
protected override void OnAppearanceChange(EntityUid uid, PipeColorVisualsComponent component, ref AppearanceChangeEvent args)
{
if(TryComp<SpriteComponent>(uid, out var sprite)
&& args.Component.TryGetData<Color>(PipeColorVisuals.Color, out var color))
{
// T-ray scanner / sub floor runs after this visualizer. Lets not bulldoze transparency.
var layer = sprite[PipeVisualLayers.Pipe];
layer.Color = color.WithAlpha(layer.Color.A);
}
}
}

public enum PipeVisualLayers : byte
{
Pipe,
}
19 changes: 15 additions & 4 deletions Content.Client/Atmos/Overlays/AtmosDebugOverlay.cs
Original file line number Diff line number Diff line change
Expand Up @@ -141,16 +141,27 @@ void DrawPressureDirection(
DrawPressureDirection(drawHandle, data.LastPressureDirection, tile, Color.LightGray);
}

var tilePos = new Vector2(tile.X, tile.Y);

// -- Excited Groups --
if (data.InExcitedGroup)
if (data.InExcitedGroup != 0)
{
var tilePos = new Vector2(tile.X, tile.Y);
var basisA = tilePos;
var basisB = tilePos + new Vector2(1.0f, 1.0f);
var basisC = tilePos + new Vector2(0.0f, 1.0f);
var basisD = tilePos + new Vector2(1.0f, 0.0f);
drawHandle.DrawLine(basisA, basisB, Color.Cyan);
drawHandle.DrawLine(basisC, basisD, Color.Cyan);
var color = Color.White // Use first three nibbles for an unique color... Good enough?
.WithRed( data.InExcitedGroup & 0x000F)
.WithGreen((data.InExcitedGroup & 0x00F0) >>4)
.WithBlue( (data.InExcitedGroup & 0x0F00) >>8);
drawHandle.DrawLine(basisA, basisB, color);
drawHandle.DrawLine(basisC, basisD, color);
}

// -- Space Tiles --
if (data.IsSpace)
{
drawHandle.DrawCircle(tilePos + Vector2.One/2, 0.125f, Color.Orange);
}
}
}
Expand Down
32 changes: 0 additions & 32 deletions Content.Client/Atmos/Visualizers/EnabledAtmosDeviceVisualizer.cs

This file was deleted.

18 changes: 0 additions & 18 deletions Content.Client/Atmos/Visualizers/GasFilterVisualizer.cs

This file was deleted.

18 changes: 0 additions & 18 deletions Content.Client/Atmos/Visualizers/GasValveVisualizer.cs

This file was deleted.

18 changes: 0 additions & 18 deletions Content.Client/Atmos/Visualizers/OutletInjectorVisualizer.cs

This file was deleted.

Loading

0 comments on commit 066e08d

Please sign in to comment.