Merge branch 'master' into meta-remove-wizard-robes
This commit is contained in:
@@ -103,7 +103,7 @@ public sealed partial class AirAlarmWindow : FancyWindow
|
|||||||
_temperature.SetMarkup(Loc.GetString("air-alarm-ui-window-temperature", ("tempC", $"{TemperatureHelpers.KelvinToCelsius(state.TemperatureAverage):0.#}"), ("temperature", $"{state.TemperatureAverage:0.##}")));
|
_temperature.SetMarkup(Loc.GetString("air-alarm-ui-window-temperature", ("tempC", $"{TemperatureHelpers.KelvinToCelsius(state.TemperatureAverage):0.#}"), ("temperature", $"{state.TemperatureAverage:0.##}")));
|
||||||
_alarmState.SetMarkup(Loc.GetString("air-alarm-ui-window-alarm-state",
|
_alarmState.SetMarkup(Loc.GetString("air-alarm-ui-window-alarm-state",
|
||||||
("color", ColorForAlarm(state.AlarmType)),
|
("color", ColorForAlarm(state.AlarmType)),
|
||||||
("state", $"{state.AlarmType}")));
|
("state", state.AlarmType)));
|
||||||
UpdateModeSelector(state.Mode);
|
UpdateModeSelector(state.Mode);
|
||||||
UpdateAutoMode(state.AutoMode);
|
UpdateAutoMode(state.AutoMode);
|
||||||
foreach (var (addr, dev) in state.DeviceData)
|
foreach (var (addr, dev) in state.DeviceData)
|
||||||
|
|||||||
@@ -27,11 +27,11 @@ public sealed partial class SensorInfo : BoxContainer
|
|||||||
|
|
||||||
_address = address;
|
_address = address;
|
||||||
|
|
||||||
SensorAddress.Title = $"{address} : {data.AlarmState}";
|
SensorAddress.Title = Loc.GetString("air-alarm-ui-window-listing-title", ("address", _address), ("state", data.AlarmState));
|
||||||
|
|
||||||
AlarmStateLabel.SetMarkup(Loc.GetString("air-alarm-ui-window-alarm-state-indicator",
|
AlarmStateLabel.SetMarkup(Loc.GetString("air-alarm-ui-window-alarm-state-indicator",
|
||||||
("color", AirAlarmWindow.ColorForAlarm(data.AlarmState)),
|
("color", AirAlarmWindow.ColorForAlarm(data.AlarmState)),
|
||||||
("state", $"{data.AlarmState}")));
|
("state", data.AlarmState)));
|
||||||
PressureLabel.SetMarkup(Loc.GetString("air-alarm-ui-window-pressure-indicator",
|
PressureLabel.SetMarkup(Loc.GetString("air-alarm-ui-window-pressure-indicator",
|
||||||
("color", AirAlarmWindow.ColorForThreshold(data.Pressure, data.PressureThreshold)),
|
("color", AirAlarmWindow.ColorForThreshold(data.Pressure, data.PressureThreshold)),
|
||||||
("pressure", $"{data.Pressure:0.##}")));
|
("pressure", $"{data.Pressure:0.##}")));
|
||||||
@@ -90,11 +90,11 @@ public sealed partial class SensorInfo : BoxContainer
|
|||||||
|
|
||||||
public void ChangeData(AtmosSensorData data)
|
public void ChangeData(AtmosSensorData data)
|
||||||
{
|
{
|
||||||
SensorAddress.Title = $"{_address} : {data.AlarmState}";
|
SensorAddress.Title = Loc.GetString("air-alarm-ui-window-listing-title", ("address", _address), ("state", data.AlarmState));
|
||||||
|
|
||||||
AlarmStateLabel.SetMarkup(Loc.GetString("air-alarm-ui-window-alarm-state-indicator",
|
AlarmStateLabel.SetMarkup(Loc.GetString("air-alarm-ui-window-alarm-state-indicator",
|
||||||
("color", AirAlarmWindow.ColorForAlarm(data.AlarmState)),
|
("color", AirAlarmWindow.ColorForAlarm(data.AlarmState)),
|
||||||
("state", $"{data.AlarmState}")));
|
("state", data.AlarmState)));
|
||||||
|
|
||||||
PressureLabel.SetMarkup(Loc.GetString("air-alarm-ui-window-pressure-indicator",
|
PressureLabel.SetMarkup(Loc.GetString("air-alarm-ui-window-pressure-indicator",
|
||||||
("color", AirAlarmWindow.ColorForThreshold(data.Pressure, data.PressureThreshold)),
|
("color", AirAlarmWindow.ColorForThreshold(data.Pressure, data.PressureThreshold)),
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ public sealed class RotationVisualizerSystem : SharedRotationVisualsSystem
|
|||||||
// Stop the current rotate animation and then start a new one
|
// Stop the current rotate animation and then start a new one
|
||||||
if (_animation.HasRunningAnimation(animationComp, animationKey))
|
if (_animation.HasRunningAnimation(animationComp, animationKey))
|
||||||
{
|
{
|
||||||
_animation.Stop(animationComp, animationKey);
|
_animation.Stop((uid, animationComp), animationKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
var animation = new Animation
|
var animation = new Animation
|
||||||
|
|||||||
@@ -42,21 +42,9 @@ namespace Content.Server.Access.Systems
|
|||||||
access.Tags.UnionWith(targetAccess.Tags);
|
access.Tags.UnionWith(targetAccess.Tags);
|
||||||
var addedLength = access.Tags.Count - beforeLength;
|
var addedLength = access.Tags.Count - beforeLength;
|
||||||
|
|
||||||
if (addedLength == 0)
|
|
||||||
{
|
|
||||||
_popupSystem.PopupEntity(Loc.GetString("agent-id-no-new", ("card", args.Target)), args.Target.Value, args.User);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
Dirty(uid, access);
|
|
||||||
|
|
||||||
if (addedLength == 1)
|
|
||||||
{
|
|
||||||
_popupSystem.PopupEntity(Loc.GetString("agent-id-new-1", ("card", args.Target)), args.Target.Value, args.User);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
_popupSystem.PopupEntity(Loc.GetString("agent-id-new", ("number", addedLength), ("card", args.Target)), args.Target.Value, args.User);
|
_popupSystem.PopupEntity(Loc.GetString("agent-id-new", ("number", addedLength), ("card", args.Target)), args.Target.Value, args.User);
|
||||||
|
if (addedLength > 0)
|
||||||
|
Dirty(uid, access);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void AfterUIOpen(EntityUid uid, AgentIDCardComponent component, AfterActivatableUIOpenEvent args)
|
private void AfterUIOpen(EntityUid uid, AgentIDCardComponent component, AfterActivatableUIOpenEvent args)
|
||||||
|
|||||||
@@ -43,5 +43,13 @@ namespace Content.Server.Administration.Commands
|
|||||||
|
|
||||||
_entities.System<MindSystem>().ControlMob(player.UserId, target.Value);
|
_entities.System<MindSystem>().ControlMob(player.UserId, target.Value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public CompletionResult GetCompletion(IConsoleShell shell, string[] args)
|
||||||
|
{
|
||||||
|
if (args.Length != 1)
|
||||||
|
return CompletionResult.Empty;
|
||||||
|
|
||||||
|
return CompletionResult.FromOptions(CompletionHelper.NetEntities(args[0], entManager: _entities));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
using Content.Shared.Body.Components;
|
using Content.Shared.Body.Components;
|
||||||
|
using Content.Shared.IdentityManagement;
|
||||||
using Content.Shared.Inventory;
|
using Content.Shared.Inventory;
|
||||||
using Content.Shared.Popups;
|
using Content.Shared.Popups;
|
||||||
using JetBrains.Annotations;
|
using JetBrains.Annotations;
|
||||||
@@ -25,7 +26,8 @@ public sealed partial class BurnBodyBehavior : IThresholdBehavior
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
sharedPopupSystem.PopupCoordinates(Loc.GetString("bodyburn-text-others", ("name", bodyId)), transformSystem.GetMoverCoordinates(bodyId), PopupType.LargeCaution);
|
var bodyIdentity = Identity.Entity(bodyId, system.EntityManager);
|
||||||
|
sharedPopupSystem.PopupCoordinates(Loc.GetString("bodyburn-text-others", ("name", bodyIdentity)), transformSystem.GetMoverCoordinates(bodyId), PopupType.LargeCaution);
|
||||||
|
|
||||||
system.EntityManager.QueueDeleteEntity(bodyId);
|
system.EntityManager.QueueDeleteEntity(bodyId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ using Robust.Shared.Serialization.Manager;
|
|||||||
using System.Numerics;
|
using System.Numerics;
|
||||||
using Robust.Shared.Audio;
|
using Robust.Shared.Audio;
|
||||||
using Robust.Shared.Audio.Systems;
|
using Robust.Shared.Audio.Systems;
|
||||||
|
using Robust.Shared.GameStates;
|
||||||
using Robust.Shared.Utility;
|
using Robust.Shared.Utility;
|
||||||
|
|
||||||
namespace Content.Server.Dragon;
|
namespace Content.Server.Dragon;
|
||||||
@@ -33,11 +34,20 @@ public sealed class DragonRiftSystem : EntitySystem
|
|||||||
{
|
{
|
||||||
base.Initialize();
|
base.Initialize();
|
||||||
|
|
||||||
|
SubscribeLocalEvent<DragonRiftComponent, ComponentGetState>(OnGetState);
|
||||||
SubscribeLocalEvent<DragonRiftComponent, ExaminedEvent>(OnExamined);
|
SubscribeLocalEvent<DragonRiftComponent, ExaminedEvent>(OnExamined);
|
||||||
SubscribeLocalEvent<DragonRiftComponent, AnchorStateChangedEvent>(OnAnchorChange);
|
SubscribeLocalEvent<DragonRiftComponent, AnchorStateChangedEvent>(OnAnchorChange);
|
||||||
SubscribeLocalEvent<DragonRiftComponent, ComponentShutdown>(OnShutdown);
|
SubscribeLocalEvent<DragonRiftComponent, ComponentShutdown>(OnShutdown);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void OnGetState(Entity<DragonRiftComponent> ent, ref ComponentGetState args)
|
||||||
|
{
|
||||||
|
args.State = new DragonRiftComponentState
|
||||||
|
{
|
||||||
|
State = ent.Comp.State,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
public override void Update(float frameTime)
|
public override void Update(float frameTime)
|
||||||
{
|
{
|
||||||
base.Update(frameTime);
|
base.Update(frameTime);
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ public sealed class MagicMirrorSystem : SharedMagicMirrorSystem
|
|||||||
_popup.PopupEntity(
|
_popup.PopupEntity(
|
||||||
component.Target == message.Actor
|
component.Target == message.Actor
|
||||||
? Loc.GetString("magic-mirror-blocked-by-hat-self")
|
? Loc.GetString("magic-mirror-blocked-by-hat-self")
|
||||||
: Loc.GetString("magic-mirror-blocked-by-hat-self-target"),
|
: Loc.GetString("magic-mirror-blocked-by-hat-self-target", ("target", Identity.Entity(message.Actor, EntityManager))),
|
||||||
message.Actor,
|
message.Actor,
|
||||||
message.Actor,
|
message.Actor,
|
||||||
PopupType.Medium);
|
PopupType.Medium);
|
||||||
@@ -95,7 +95,7 @@ public sealed class MagicMirrorSystem : SharedMagicMirrorSystem
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_popup.PopupEntity(Loc.GetString("magic-mirror-change-slot-target", ("user", Identity.Name(message.Actor, EntityManager))), component.Target.Value, component.Target.Value, PopupType.Medium);
|
_popup.PopupEntity(Loc.GetString("magic-mirror-change-slot-target", ("user", Identity.Entity(message.Actor, EntityManager))), component.Target.Value, component.Target.Value, PopupType.Medium);
|
||||||
}
|
}
|
||||||
|
|
||||||
component.DoAfter = doAfterId;
|
component.DoAfter = doAfterId;
|
||||||
@@ -175,7 +175,7 @@ public sealed class MagicMirrorSystem : SharedMagicMirrorSystem
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_popup.PopupEntity(Loc.GetString("magic-mirror-change-color-target", ("user", Identity.Name(message.Actor, EntityManager))), component.Target.Value, component.Target.Value, PopupType.Medium);
|
_popup.PopupEntity(Loc.GetString("magic-mirror-change-color-target", ("user", Identity.Entity(message.Actor, EntityManager))), component.Target.Value, component.Target.Value, PopupType.Medium);
|
||||||
}
|
}
|
||||||
|
|
||||||
component.DoAfter = doAfterId;
|
component.DoAfter = doAfterId;
|
||||||
@@ -253,7 +253,7 @@ public sealed class MagicMirrorSystem : SharedMagicMirrorSystem
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_popup.PopupEntity(Loc.GetString("magic-mirror-remove-slot-target", ("user", Identity.Name(message.Actor, EntityManager))), component.Target.Value, component.Target.Value, PopupType.Medium);
|
_popup.PopupEntity(Loc.GetString("magic-mirror-remove-slot-target", ("user", Identity.Entity(message.Actor, EntityManager))), component.Target.Value, component.Target.Value, PopupType.Medium);
|
||||||
}
|
}
|
||||||
|
|
||||||
component.DoAfter = doAfterId;
|
component.DoAfter = doAfterId;
|
||||||
@@ -331,7 +331,7 @@ public sealed class MagicMirrorSystem : SharedMagicMirrorSystem
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_popup.PopupEntity(Loc.GetString("magic-mirror-add-slot-target", ("user", Identity.Name(message.Actor, EntityManager))), component.Target.Value, component.Target.Value, PopupType.Medium);
|
_popup.PopupEntity(Loc.GetString("magic-mirror-add-slot-target", ("user", Identity.Entity(message.Actor, EntityManager))), component.Target.Value, component.Target.Value, PopupType.Medium);
|
||||||
}
|
}
|
||||||
|
|
||||||
component.DoAfter = doAfterId;
|
component.DoAfter = doAfterId;
|
||||||
|
|||||||
@@ -85,11 +85,11 @@ public sealed class MindSystem : SharedMindSystem
|
|||||||
{
|
{
|
||||||
if (base.TryGetMind(user, out mindId, out mind))
|
if (base.TryGetMind(user, out mindId, out mind))
|
||||||
{
|
{
|
||||||
DebugTools.Assert(_players.GetPlayerData(user).ContentData() is not { } data || data.Mind == mindId);
|
DebugTools.Assert(!_players.TryGetPlayerData(user, out var playerData) || playerData.ContentData() is not { } data || data.Mind == mindId);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
DebugTools.Assert(_players.GetPlayerData(user).ContentData()?.Mind == null);
|
DebugTools.Assert(!_players.TryGetPlayerData(user, out var pData) || pData.ContentData()?.Mind == null);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -86,7 +86,7 @@ public sealed partial class MoveToOperator : HTNOperator, IHtnConditionalShutdow
|
|||||||
return (false, null);
|
return (false, null);
|
||||||
|
|
||||||
if (!_entManager.TryGetComponent<MapGridComponent>(xform.GridUid, out var ownerGrid) ||
|
if (!_entManager.TryGetComponent<MapGridComponent>(xform.GridUid, out var ownerGrid) ||
|
||||||
!_entManager.TryGetComponent<MapGridComponent>(targetCoordinates.GetGridUid(_entManager), out var targetGrid))
|
!_entManager.TryGetComponent<MapGridComponent>(_transform.GetGrid(targetCoordinates), out var targetGrid))
|
||||||
{
|
{
|
||||||
return (false, null);
|
return (false, null);
|
||||||
}
|
}
|
||||||
@@ -155,8 +155,8 @@ public sealed partial class MoveToOperator : HTNOperator, IHtnConditionalShutdow
|
|||||||
{
|
{
|
||||||
if (blackboard.TryGetValue<EntityCoordinates>(NPCBlackboard.OwnerCoordinates, out var coordinates, _entManager))
|
if (blackboard.TryGetValue<EntityCoordinates>(NPCBlackboard.OwnerCoordinates, out var coordinates, _entManager))
|
||||||
{
|
{
|
||||||
var mapCoords = coordinates.ToMap(_entManager, _transform);
|
var mapCoords = _transform.ToMapCoordinates(coordinates);
|
||||||
_steering.PrunePath(uid, mapCoords, targetCoordinates.ToMapPos(_entManager, _transform) - mapCoords.Position, result.Path);
|
_steering.PrunePath(uid, mapCoords, _transform.ToMapCoordinates(targetCoordinates).Position - mapCoords.Position, result.Path);
|
||||||
}
|
}
|
||||||
|
|
||||||
comp.CurrentPath = new Queue<PathPoly>(result.Path);
|
comp.CurrentPath = new Queue<PathPoly>(result.Path);
|
||||||
|
|||||||
@@ -2,10 +2,6 @@ using System.Diagnostics.CodeAnalysis;
|
|||||||
using System.Numerics;
|
using System.Numerics;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using Content.Server.Destructible;
|
|
||||||
using Content.Shared.Access.Components;
|
|
||||||
using Content.Shared.Climbing.Components;
|
|
||||||
using Content.Shared.Doors.Components;
|
|
||||||
using Content.Shared.NPC;
|
using Content.Shared.NPC;
|
||||||
using Content.Shared.Physics;
|
using Content.Shared.Physics;
|
||||||
using Robust.Shared.Collections;
|
using Robust.Shared.Collections;
|
||||||
@@ -281,7 +277,7 @@ public sealed partial class PathfindingSystem
|
|||||||
var gridUid = ev.Component.GridUid;
|
var gridUid = ev.Component.GridUid;
|
||||||
var oldGridUid = ev.OldPosition.EntityId == ev.NewPosition.EntityId
|
var oldGridUid = ev.OldPosition.EntityId == ev.NewPosition.EntityId
|
||||||
? gridUid
|
? gridUid
|
||||||
: ev.OldPosition.GetGridUid(EntityManager);
|
: _transform.GetGrid((ev.Entity.Owner, ev.Component));
|
||||||
|
|
||||||
if (oldGridUid != null && oldGridUid != gridUid)
|
if (oldGridUid != null && oldGridUid != gridUid)
|
||||||
{
|
{
|
||||||
@@ -395,7 +391,7 @@ public sealed partial class PathfindingSystem
|
|||||||
|
|
||||||
private Vector2i GetOrigin(EntityCoordinates coordinates, EntityUid gridUid)
|
private Vector2i GetOrigin(EntityCoordinates coordinates, EntityUid gridUid)
|
||||||
{
|
{
|
||||||
var localPos = Vector2.Transform(coordinates.ToMapPos(EntityManager, _transform), _transform.GetInvWorldMatrix(gridUid));
|
var localPos = Vector2.Transform(_transform.ToMapCoordinates(coordinates).Position, _transform.GetInvWorldMatrix(gridUid));
|
||||||
return new Vector2i((int) Math.Floor(localPos.X / ChunkSize), (int) Math.Floor(localPos.Y / ChunkSize));
|
return new Vector2i((int) Math.Floor(localPos.X / ChunkSize), (int) Math.Floor(localPos.Y / ChunkSize));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -461,7 +461,7 @@ public sealed partial class NPCSteeringSystem : SharedNPCSteeringSystem
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var targetPos = steering.Coordinates.ToMap(EntityManager, _transform);
|
var targetPos = _transform.ToMapCoordinates(steering.Coordinates);
|
||||||
var ourPos = _transform.GetMapCoordinates(uid, xform: xform);
|
var ourPos = _transform.GetMapCoordinates(uid, xform: xform);
|
||||||
|
|
||||||
PrunePath(uid, ourPos, targetPos.Position - ourPos.Position, result.Path);
|
PrunePath(uid, ourPos, targetPos.Position - ourPos.Position, result.Path);
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ namespace Content.Server.Rotatable
|
|||||||
[Dependency] private readonly PopupSystem _popup = default!;
|
[Dependency] private readonly PopupSystem _popup = default!;
|
||||||
[Dependency] private readonly ActionBlockerSystem _actionBlocker = default!;
|
[Dependency] private readonly ActionBlockerSystem _actionBlocker = default!;
|
||||||
[Dependency] private readonly SharedInteractionSystem _interaction = default!;
|
[Dependency] private readonly SharedInteractionSystem _interaction = default!;
|
||||||
|
[Dependency] private readonly SharedTransformSystem _transform = default!;
|
||||||
|
|
||||||
public override void Initialize()
|
public override void Initialize()
|
||||||
{
|
{
|
||||||
@@ -112,7 +113,7 @@ namespace Content.Server.Rotatable
|
|||||||
var entity = EntityManager.SpawnEntity(component.MirrorEntity, oldTransform.Coordinates);
|
var entity = EntityManager.SpawnEntity(component.MirrorEntity, oldTransform.Coordinates);
|
||||||
var newTransform = EntityManager.GetComponent<TransformComponent>(entity);
|
var newTransform = EntityManager.GetComponent<TransformComponent>(entity);
|
||||||
newTransform.LocalRotation = oldTransform.LocalRotation;
|
newTransform.LocalRotation = oldTransform.LocalRotation;
|
||||||
newTransform.Anchored = false;
|
_transform.Unanchor(entity, newTransform);
|
||||||
EntityManager.DeleteEntity(uid);
|
EntityManager.DeleteEntity(uid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,25 +1,4 @@
|
|||||||
Entries:
|
Entries:
|
||||||
- author: ScarKy0
|
|
||||||
changes:
|
|
||||||
- message: Secret doors no longer tell you if they're welded shut on examine.
|
|
||||||
type: Tweak
|
|
||||||
id: 7622
|
|
||||||
time: '2024-11-19T05:07:02.0000000+00:00'
|
|
||||||
url: https://github.com/space-wizards/space-station-14/pull/33365
|
|
||||||
- author: ArZarLordOfMango
|
|
||||||
changes:
|
|
||||||
- message: Most toggleable clothing must now be equipped to toggle their actions.
|
|
||||||
type: Fix
|
|
||||||
id: 7623
|
|
||||||
time: '2024-11-19T20:31:38.0000000+00:00'
|
|
||||||
url: https://github.com/space-wizards/space-station-14/pull/32826
|
|
||||||
- author: Plykiya
|
|
||||||
changes:
|
|
||||||
- message: The SWAT crate from cargo now requires armory access to open.
|
|
||||||
type: Fix
|
|
||||||
id: 7624
|
|
||||||
time: '2024-11-20T00:57:01.0000000+00:00'
|
|
||||||
url: https://github.com/space-wizards/space-station-14/pull/33415
|
|
||||||
- author: SlamBamActionman
|
- author: SlamBamActionman
|
||||||
changes:
|
changes:
|
||||||
- message: It's no longer possible to drag an item out of a container's UI to drop
|
- message: It's no longer possible to drag an item out of a container's UI to drop
|
||||||
@@ -3900,3 +3879,24 @@
|
|||||||
id: 8121
|
id: 8121
|
||||||
time: '2025-04-01T16:43:19.0000000+00:00'
|
time: '2025-04-01T16:43:19.0000000+00:00'
|
||||||
url: https://github.com/space-wizards/space-station-14/pull/36241
|
url: https://github.com/space-wizards/space-station-14/pull/36241
|
||||||
|
- author: MisterImp
|
||||||
|
changes:
|
||||||
|
- message: A new recipe has been added for pizza made with world peas, world peazza.
|
||||||
|
type: Add
|
||||||
|
id: 8122
|
||||||
|
time: '2025-04-01T23:26:53.0000000+00:00'
|
||||||
|
url: https://github.com/space-wizards/space-station-14/pull/35191
|
||||||
|
- author: Fildrance
|
||||||
|
changes:
|
||||||
|
- message: fixed missing deconstruct on RCD
|
||||||
|
type: Fix
|
||||||
|
id: 8123
|
||||||
|
time: '2025-04-02T16:11:35.0000000+00:00'
|
||||||
|
url: https://github.com/space-wizards/space-station-14/pull/36255
|
||||||
|
- author: qwerltaz
|
||||||
|
changes:
|
||||||
|
- message: Dragon rifts now shine a different color depending on charge progress.
|
||||||
|
type: Add
|
||||||
|
id: 8124
|
||||||
|
time: '2025-04-02T18:37:35.0000000+00:00'
|
||||||
|
url: https://github.com/space-wizards/space-station-14/pull/36216
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
agent-id-no-new = Didn't gain any new accesses from {THE($card)}.
|
agent-id-new = { $number ->
|
||||||
agent-id-new-1 = Gained one new access from {THE($card)}.
|
[0] Didn't gain any new accesses from {THE($card)}.
|
||||||
agent-id-new = Gained {$number} new accesses from {THE($card)}.
|
[one] Gained one new access from {THE($card)}.
|
||||||
|
*[other] Gained {$number} new accesses from {THE($card)}.
|
||||||
|
}
|
||||||
|
|
||||||
agent-id-card-current-name = Name:
|
agent-id-card-current-name = Name:
|
||||||
agent-id-card-current-job = Job:
|
agent-id-card-current-job = Job:
|
||||||
agent-id-card-job-icon-label = Job icon:
|
agent-id-card-job-icon-label = Job icon:
|
||||||
|
|||||||
@@ -15,12 +15,21 @@ air-alarm-ui-window-resync-devices-label = Resync
|
|||||||
air-alarm-ui-window-mode-label = Mode
|
air-alarm-ui-window-mode-label = Mode
|
||||||
air-alarm-ui-window-auto-mode-label = Auto mode
|
air-alarm-ui-window-auto-mode-label = Auto mode
|
||||||
|
|
||||||
|
-air-alarm-state-name = { $state ->
|
||||||
|
[normal] Normal
|
||||||
|
[warning] Warning
|
||||||
|
[danger] Danger
|
||||||
|
[emagged] Emagged
|
||||||
|
*[invalid] Invalid
|
||||||
|
}
|
||||||
|
|
||||||
|
air-alarm-ui-window-listing-title = {$address} : {-air-alarm-state-name(state:$state)}
|
||||||
air-alarm-ui-window-pressure = {$pressure} kPa
|
air-alarm-ui-window-pressure = {$pressure} kPa
|
||||||
air-alarm-ui-window-pressure-indicator = Pressure: [color={$color}]{$pressure} kPa[/color]
|
air-alarm-ui-window-pressure-indicator = Pressure: [color={$color}]{$pressure} kPa[/color]
|
||||||
air-alarm-ui-window-temperature = {$tempC} C ({$temperature} K)
|
air-alarm-ui-window-temperature = {$tempC} C ({$temperature} K)
|
||||||
air-alarm-ui-window-temperature-indicator = Temperature: [color={$color}]{$tempC} C ({$temperature} K)[/color]
|
air-alarm-ui-window-temperature-indicator = Temperature: [color={$color}]{$tempC} C ({$temperature} K)[/color]
|
||||||
air-alarm-ui-window-alarm-state = [color={$color}]{$state}[/color]
|
air-alarm-ui-window-alarm-state = [color={$color}]{-air-alarm-state-name(state:$state)}[/color]
|
||||||
air-alarm-ui-window-alarm-state-indicator = Status: [color={$color}]{$state}[/color]
|
air-alarm-ui-window-alarm-state-indicator = Status: [color={$color}]{-air-alarm-state-name(state:$state)}[/color]
|
||||||
|
|
||||||
air-alarm-ui-window-tab-vents = Vents
|
air-alarm-ui-window-tab-vents = Vents
|
||||||
air-alarm-ui-window-tab-scrubbers = Scrubbers
|
air-alarm-ui-window-tab-scrubbers = Scrubbers
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
bodyburn-text-others = {$name} burns to ash!
|
bodyburn-text-others = {CAPITALIZE(THE($name))} burns to ash!
|
||||||
|
|||||||
@@ -6,10 +6,10 @@ magic-mirror-remove-slot-self = You're removing some of your hair.
|
|||||||
magic-mirror-change-slot-self = You're changing your hairstyle.
|
magic-mirror-change-slot-self = You're changing your hairstyle.
|
||||||
magic-mirror-change-color-self = You're changing your hair color.
|
magic-mirror-change-color-self = You're changing your hair color.
|
||||||
|
|
||||||
magic-mirror-add-slot-target = Hair is being added to you by {$user}.
|
magic-mirror-add-slot-target = Hair is being added to you by {THE($user)}.
|
||||||
magic-mirror-remove-slot-target = Your hair is being cut off by {$user}.
|
magic-mirror-remove-slot-target = Your hair is being cut off by {THE($user)}.
|
||||||
magic-mirror-change-slot-target = Your hairstyle is being changed by {$user}.
|
magic-mirror-change-slot-target = Your hairstyle is being changed by {THE($user)}.
|
||||||
magic-mirror-change-color-target = Your hair color is being changed by {$user}.
|
magic-mirror-change-color-target = Your hair color is being changed by {THE($user)}.
|
||||||
|
|
||||||
magic-mirror-blocked-by-hat-self = You need to take off your hat before changing your hair.
|
magic-mirror-blocked-by-hat-self = You need to take off your hat before changing your hair.
|
||||||
magic-mirror-blocked-by-hat-self-target = You try to change their hair but their clothes gets in the way.
|
magic-mirror-blocked-by-hat-self-target = You try to change {POSS-ADJ($target)} hair but {POSS-ADJ($target)} clothes get in the way.
|
||||||
|
|||||||
@@ -5,6 +5,6 @@ pointing-system-point-at-self = You point at yourself.
|
|||||||
pointing-system-point-at-other = You point at {THE($other)}.
|
pointing-system-point-at-other = You point at {THE($other)}.
|
||||||
pointing-system-point-at-self-others = {CAPITALIZE(THE($otherName))} points at {REFLEXIVE($other)}.
|
pointing-system-point-at-self-others = {CAPITALIZE(THE($otherName))} points at {REFLEXIVE($other)}.
|
||||||
pointing-system-point-at-other-others = {CAPITALIZE(THE($otherName))} points at {THE($other)}.
|
pointing-system-point-at-other-others = {CAPITALIZE(THE($otherName))} points at {THE($other)}.
|
||||||
pointing-system-point-at-you-other = {$otherName} points at you.
|
pointing-system-point-at-you-other = {CAPITALIZE(THE($otherName))} points at you.
|
||||||
pointing-system-point-at-tile = You point at the {$tileName}.
|
pointing-system-point-at-tile = You point at the {$tileName}.
|
||||||
pointing-system-other-point-at-tile = {CAPITALIZE(THE($otherName))} points at the {$tileName}.
|
pointing-system-other-point-at-tile = {CAPITALIZE(THE($otherName))} points at the {$tileName}.
|
||||||
|
|||||||
@@ -1,48 +1,45 @@
|
|||||||
- type: entity
|
- type: entityTable
|
||||||
id: LockerMedicineFilled
|
id: LockerFillMedicine
|
||||||
suffix: Filled
|
table: !type:AllSelector
|
||||||
parent: LockerMedicine
|
children:
|
||||||
components:
|
|
||||||
- type: StorageFill
|
|
||||||
contents:
|
|
||||||
- id: BoxSyringe
|
- id: BoxSyringe
|
||||||
- id: ChemistryBottleEpinephrine
|
- id: ChemistryBottleEpinephrine
|
||||||
amount: 1
|
|
||||||
- id: Brutepack
|
- id: Brutepack
|
||||||
amount: 2
|
amount: !type:ConstantNumberSelector
|
||||||
|
value: 2
|
||||||
- id: Ointment
|
- id: Ointment
|
||||||
amount: 2
|
amount: !type:ConstantNumberSelector
|
||||||
|
value: 2
|
||||||
- id: Bloodpack
|
- id: Bloodpack
|
||||||
amount: 2
|
amount: !type:ConstantNumberSelector
|
||||||
|
value: 2
|
||||||
- id: Gauze
|
- id: Gauze
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
|
parent: LockerMedicine
|
||||||
|
id: LockerMedicineFilled
|
||||||
|
suffix: Filled
|
||||||
|
components:
|
||||||
|
- type: EntityTableContainerFill
|
||||||
|
containers:
|
||||||
|
entity_storage: !type:NestedSelector
|
||||||
|
tableId: LockerFillMedicine
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
parent: LockerWallMedical
|
||||||
id: LockerWallMedicalFilled
|
id: LockerWallMedicalFilled
|
||||||
name: medicine wall locker
|
name: medicine wall locker
|
||||||
suffix: Filled
|
suffix: Filled
|
||||||
parent: LockerWallMedical
|
|
||||||
components:
|
components:
|
||||||
- type: StorageFill
|
- type: EntityTableContainerFill
|
||||||
contents:
|
containers:
|
||||||
- id: BoxSyringe
|
entity_storage: !type:NestedSelector
|
||||||
- id: ChemistryBottleEpinephrine
|
tableId: LockerFillMedicine
|
||||||
amount: 1
|
|
||||||
- id: Brutepack
|
|
||||||
amount: 2
|
|
||||||
- id: Ointment
|
|
||||||
amount: 2
|
|
||||||
- id: Bloodpack
|
|
||||||
amount: 2
|
|
||||||
- id: Gauze
|
|
||||||
|
|
||||||
|
- type: entityTable
|
||||||
- type: entity
|
id: LockerFillMedicalDoctor
|
||||||
id: LockerMedicalFilled
|
table: !type:AllSelector
|
||||||
suffix: Filled
|
children:
|
||||||
parent: LockerMedical
|
|
||||||
components:
|
|
||||||
- type: StorageFill
|
|
||||||
contents:
|
|
||||||
- id: HandheldHealthAnalyzer
|
- id: HandheldHealthAnalyzer
|
||||||
prob: 0.6
|
prob: 0.6
|
||||||
- id: ClothingHeadMirror
|
- id: ClothingHeadMirror
|
||||||
@@ -50,66 +47,49 @@
|
|||||||
- id: ClothingHandsGlovesLatex
|
- id: ClothingHandsGlovesLatex
|
||||||
- id: ClothingHeadsetMedical
|
- id: ClothingHeadsetMedical
|
||||||
- id: ClothingEyesHudMedical
|
- id: ClothingEyesHudMedical
|
||||||
|
- !type:GroupSelector
|
||||||
|
children:
|
||||||
- id: ClothingHeadHatSurgcapGreen
|
- id: ClothingHeadHatSurgcapGreen
|
||||||
prob: 0.1
|
weight: 0.1
|
||||||
orGroup: Surgcaps
|
|
||||||
- id: ClothingHeadHatSurgcapPurple
|
- id: ClothingHeadHatSurgcapPurple
|
||||||
prob: 0.05
|
weight: 0.05
|
||||||
orGroup: Surgcaps
|
|
||||||
- id: ClothingHeadHatSurgcapBlue
|
- id: ClothingHeadHatSurgcapBlue
|
||||||
prob: 0.90
|
weight: 0.90
|
||||||
orGroup: Surgcaps
|
- !type:GroupSelector
|
||||||
|
children:
|
||||||
- id: UniformScrubsColorBlue
|
- id: UniformScrubsColorBlue
|
||||||
prob: 0.5
|
weight: 0.5
|
||||||
orGroup: Surgshrubs
|
|
||||||
- id: UniformScrubsColorGreen
|
- id: UniformScrubsColorGreen
|
||||||
prob: 0.1
|
weight: 0.1
|
||||||
orGroup: Surgshrubs
|
|
||||||
- id: UniformScrubsColorPurple
|
- id: UniformScrubsColorPurple
|
||||||
prob: 0.05
|
weight: 0.05
|
||||||
orGroup: Surgshrubs
|
|
||||||
- id: ClothingMaskSterile
|
- id: ClothingMaskSterile
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
parent: LockerMedical
|
||||||
|
id: LockerMedicalFilled
|
||||||
|
suffix: Filled
|
||||||
|
components:
|
||||||
|
- type: EntityTableContainerFill
|
||||||
|
containers:
|
||||||
|
entity_storage: !type:NestedSelector
|
||||||
|
tableId: LockerFillMedicalDoctor
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: LockerWallMedical
|
parent: LockerWallMedical
|
||||||
id: LockerWallMedicalDoctorFilled
|
id: LockerWallMedicalDoctorFilled
|
||||||
name: medical doctor's wall locker
|
name: medical doctor's wall locker
|
||||||
suffix: Filled
|
suffix: Filled
|
||||||
components:
|
components:
|
||||||
- type: StorageFill
|
- type: EntityTableContainerFill
|
||||||
contents:
|
containers:
|
||||||
- id: HandheldHealthAnalyzer
|
entity_storage: !type:NestedSelector
|
||||||
prob: 0.6
|
tableId: LockerFillMedicalDoctor
|
||||||
- id: ClothingHandsGlovesLatex
|
|
||||||
- id: ClothingHeadsetMedical
|
|
||||||
- id: ClothingEyesHudMedical
|
|
||||||
- id: ClothingHeadHatSurgcapGreen
|
|
||||||
prob: 0.1
|
|
||||||
orGroup: Surgcaps
|
|
||||||
- id: ClothingHeadHatSurgcapPurple
|
|
||||||
prob: 0.05
|
|
||||||
orGroup: Surgcaps
|
|
||||||
- id: ClothingHeadHatSurgcapBlue
|
|
||||||
prob: 0.90
|
|
||||||
orGroup: Surgcaps
|
|
||||||
- id: UniformScrubsColorBlue
|
|
||||||
prob: 0.5
|
|
||||||
orGroup: Surgshrubs
|
|
||||||
- id: UniformScrubsColorGreen
|
|
||||||
prob: 0.1
|
|
||||||
orGroup: Surgshrubs
|
|
||||||
- id: UniformScrubsColorPurple
|
|
||||||
prob: 0.05
|
|
||||||
orGroup: Surgshrubs
|
|
||||||
- id: ClothingMaskSterile
|
|
||||||
|
|
||||||
- type: entity
|
- type: entityTable
|
||||||
id: LockerChemistryFilled
|
id: LockerFillChemistry
|
||||||
suffix: Filled
|
table: !type:AllSelector
|
||||||
parent: LockerChemistry
|
children:
|
||||||
components:
|
|
||||||
- type: StorageFill
|
|
||||||
contents:
|
|
||||||
- id: BoxSyringe
|
- id: BoxSyringe
|
||||||
- id: BoxBeaker
|
- id: BoxBeaker
|
||||||
- id: BoxBeaker
|
- id: BoxBeaker
|
||||||
@@ -126,12 +106,19 @@
|
|||||||
prob: 0.5
|
prob: 0.5
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
id: LockerParamedicFilled
|
parent: LockerChemistry
|
||||||
|
id: LockerChemistryFilled
|
||||||
suffix: Filled
|
suffix: Filled
|
||||||
parent: LockerParamedic
|
|
||||||
components:
|
components:
|
||||||
- type: StorageFill
|
- type: EntityTableContainerFill
|
||||||
contents:
|
containers:
|
||||||
|
entity_storage: !type:NestedSelector
|
||||||
|
tableId: LockerFillChemistry
|
||||||
|
|
||||||
|
- type: entityTable
|
||||||
|
id: LockerFillParamedic
|
||||||
|
table: !type:AllSelector
|
||||||
|
children:
|
||||||
- id: ClothingOuterHardsuitVoidParamed
|
- id: ClothingOuterHardsuitVoidParamed
|
||||||
- id: ClothingOuterCoatParamedicWB
|
- id: ClothingOuterCoatParamedicWB
|
||||||
- id: ClothingHeadHatParamedicsoft
|
- id: ClothingHeadHatParamedicsoft
|
||||||
@@ -145,3 +132,13 @@
|
|||||||
- id: HandheldGPSBasic
|
- id: HandheldGPSBasic
|
||||||
- id: MedkitFilled
|
- id: MedkitFilled
|
||||||
prob: 0.3
|
prob: 0.3
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
parent: LockerParamedic
|
||||||
|
id: LockerParamedicFilled
|
||||||
|
suffix: Filled
|
||||||
|
components:
|
||||||
|
- type: EntityTableContainerFill
|
||||||
|
containers:
|
||||||
|
entity_storage: !type:NestedSelector
|
||||||
|
tableId: LockerFillParamedic
|
||||||
|
|||||||
@@ -187,12 +187,12 @@
|
|||||||
- HeadTop
|
- HeadTop
|
||||||
- HeadSide
|
- HeadSide
|
||||||
|
|
||||||
#Templar Helmet
|
#Knight Helmet
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: ClothingHeadBase
|
parent: ClothingHeadBase
|
||||||
id: ClothingHeadHelmetTemplar
|
id: ClothingHeadHelmetTemplar
|
||||||
name: templar helmet
|
name: knight helmet
|
||||||
description: DEUS VULT!
|
description: Decorative helmet fashioned to resemble the knights of old.
|
||||||
components:
|
components:
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
sprite: Clothing/Head/Helmets/templar.rsi
|
sprite: Clothing/Head/Helmets/templar.rsi
|
||||||
|
|||||||
@@ -67,4 +67,5 @@
|
|||||||
- FoodBurgerCrazy
|
- FoodBurgerCrazy
|
||||||
- FoodPizzaArnoldSlice
|
- FoodPizzaArnoldSlice
|
||||||
- FoodPizzaUraniumSlice
|
- FoodPizzaUraniumSlice
|
||||||
|
- FoodPizzaWorldpeasSlice
|
||||||
rareChance: 0.05
|
rareChance: 0.05
|
||||||
|
|||||||
@@ -681,3 +681,55 @@
|
|||||||
Quantity: 0.8
|
Quantity: 0.8
|
||||||
- ReagentId: Fiber
|
- ReagentId: Fiber
|
||||||
Quantity: 1.5
|
Quantity: 1.5
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
name: world peazza
|
||||||
|
parent: FoodPizzaBase
|
||||||
|
id: FoodPizzaWorldpeas
|
||||||
|
description: Modern diplomacy in the shape of a disc.
|
||||||
|
components:
|
||||||
|
- type: FlavorProfile
|
||||||
|
flavors:
|
||||||
|
- bread
|
||||||
|
- numbingtranquility
|
||||||
|
- type: Sprite
|
||||||
|
layers:
|
||||||
|
- state: worldpeas
|
||||||
|
- type: SliceableFood
|
||||||
|
slice: FoodPizzaWorldpeasSlice
|
||||||
|
- type: SolutionContainerManager
|
||||||
|
solutions:
|
||||||
|
food:
|
||||||
|
maxVol: 45
|
||||||
|
reagents:
|
||||||
|
- ReagentId: Nutriment
|
||||||
|
Quantity: 20
|
||||||
|
- ReagentId: Happiness
|
||||||
|
Quantity: 12
|
||||||
|
- ReagentId: Pax
|
||||||
|
Quantity: 8
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
name: slice of world peazza
|
||||||
|
parent: FoodPizzaSliceBase
|
||||||
|
id: FoodPizzaWorldpeasSlice
|
||||||
|
description: Dividing the world up is a small price to pay for harmony.
|
||||||
|
components:
|
||||||
|
- type: FlavorProfile
|
||||||
|
flavors:
|
||||||
|
- bread
|
||||||
|
- numbingtranquility
|
||||||
|
- type: Sprite
|
||||||
|
layers:
|
||||||
|
- state: worldpeas-slice
|
||||||
|
- type: SolutionContainerManager
|
||||||
|
solutions:
|
||||||
|
food:
|
||||||
|
maxVol: 10
|
||||||
|
reagents:
|
||||||
|
- ReagentId: Nutriment
|
||||||
|
Quantity: 3.5
|
||||||
|
- ReagentId: Happiness
|
||||||
|
Quantity: 2
|
||||||
|
- ReagentId: Pax
|
||||||
|
Quantity: 1.5
|
||||||
|
|||||||
@@ -273,6 +273,9 @@
|
|||||||
- id: FoodPizzaCotton
|
- id: FoodPizzaCotton
|
||||||
prob: 0.10
|
prob: 0.10
|
||||||
orGroup: Pizza
|
orGroup: Pizza
|
||||||
|
- id: FoodPizzaWorldpeas
|
||||||
|
prob: 0.05
|
||||||
|
orGroup: Pizza
|
||||||
- id: KnifePlastic
|
- id: KnifePlastic
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
parent: BaseItem
|
parent: BaseItem
|
||||||
name: light replacer
|
name: light replacer
|
||||||
id: LightReplacer
|
id: LightReplacer
|
||||||
description: An item which uses magnets to easily replace broken lights. Refill By adding more lights into the replacer.
|
description: An item which uses magnets to easily replace broken lights. Refill by adding more lights into the replacer.
|
||||||
components:
|
components:
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
sprite: Objects/Specific/Janitorial/light_replacer.rsi
|
sprite: Objects/Specific/Janitorial/light_replacer.rsi
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
- type: rcd
|
- type: rcd
|
||||||
id: Deconstruct
|
id: Deconstruct
|
||||||
name: rcd-component-deconstruct
|
name: rcd-component-deconstruct
|
||||||
category: Main
|
category: WallsAndFlooring
|
||||||
sprite: /Textures/Interface/Radial/RCD/deconstruct.png
|
sprite: /Textures/Interface/Radial/RCD/deconstruct.png
|
||||||
mode: Deconstruct
|
mode: Deconstruct
|
||||||
prototype: EffectRCDDeconstructPreview
|
prototype: EffectRCDDeconstructPreview
|
||||||
|
|||||||
@@ -718,6 +718,15 @@
|
|||||||
FoodDoughCottonFlat: 1
|
FoodDoughCottonFlat: 1
|
||||||
CottonBol: 4
|
CottonBol: 4
|
||||||
|
|
||||||
|
- type: microwaveMealRecipe
|
||||||
|
id: RecipeWorldpeasPizza
|
||||||
|
name: world peazza recipe
|
||||||
|
result: FoodPizzaWorldpeas
|
||||||
|
time: 30
|
||||||
|
solids:
|
||||||
|
FoodDoughFlat: 1
|
||||||
|
FoodWorldPeas: 3
|
||||||
|
|
||||||
#Italian
|
#Italian
|
||||||
- type: microwaveMealRecipe
|
- type: microwaveMealRecipe
|
||||||
id: RecipeBoiledSpaghetti
|
id: RecipeBoiledSpaghetti
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"version": 1,
|
"version": 1,
|
||||||
"license": "CC-BY-SA-3.0",
|
"license": "CC-BY-SA-3.0",
|
||||||
"copyright": "Taken from tgstation and modified by Swept at https://github.com/tgstation/tgstation/commit/40d75cc340c63582fb66ce15bf75a36115f6bdaa, Spicy Rock Pizza modified from margherita pizza by mkanke, cotton made by mlexf (discord 1143460554963427380)",
|
"copyright": "Taken from tgstation and modified by Swept at https://github.com/tgstation/tgstation/commit/40d75cc340c63582fb66ce15bf75a36115f6bdaa, Spicy Rock Pizza modified from margherita pizza by mkanke, cotton made by mlexf (discord 1143460554963427380), world peazza modified from margherita by MisterImp (GitHub)",
|
||||||
"size": {
|
"size": {
|
||||||
"x": 32,
|
"x": 32,
|
||||||
"y": 32
|
"y": 32
|
||||||
@@ -149,6 +149,12 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "uranium-slice"
|
"name": "uranium-slice"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "worldpeas"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "worldpeas-slice"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 284 B |
Binary file not shown.
|
After Width: | Height: | Size: 422 B |
Reference in New Issue
Block a user