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.##}")));
|
||||
_alarmState.SetMarkup(Loc.GetString("air-alarm-ui-window-alarm-state",
|
||||
("color", ColorForAlarm(state.AlarmType)),
|
||||
("state", $"{state.AlarmType}")));
|
||||
("state", state.AlarmType)));
|
||||
UpdateModeSelector(state.Mode);
|
||||
UpdateAutoMode(state.AutoMode);
|
||||
foreach (var (addr, dev) in state.DeviceData)
|
||||
|
||||
@@ -27,11 +27,11 @@ public sealed partial class SensorInfo : BoxContainer
|
||||
|
||||
_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",
|
||||
("color", AirAlarmWindow.ColorForAlarm(data.AlarmState)),
|
||||
("state", $"{data.AlarmState}")));
|
||||
("state", data.AlarmState)));
|
||||
PressureLabel.SetMarkup(Loc.GetString("air-alarm-ui-window-pressure-indicator",
|
||||
("color", AirAlarmWindow.ColorForThreshold(data.Pressure, data.PressureThreshold)),
|
||||
("pressure", $"{data.Pressure:0.##}")));
|
||||
@@ -90,11 +90,11 @@ public sealed partial class SensorInfo : BoxContainer
|
||||
|
||||
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",
|
||||
("color", AirAlarmWindow.ColorForAlarm(data.AlarmState)),
|
||||
("state", $"{data.AlarmState}")));
|
||||
("state", data.AlarmState)));
|
||||
|
||||
PressureLabel.SetMarkup(Loc.GetString("air-alarm-ui-window-pressure-indicator",
|
||||
("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
|
||||
if (_animation.HasRunningAnimation(animationComp, animationKey))
|
||||
{
|
||||
_animation.Stop(animationComp, animationKey);
|
||||
_animation.Stop((uid, animationComp), animationKey);
|
||||
}
|
||||
|
||||
var animation = new Animation
|
||||
|
||||
@@ -42,21 +42,9 @@ namespace Content.Server.Access.Systems
|
||||
access.Tags.UnionWith(targetAccess.Tags);
|
||||
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);
|
||||
if (addedLength > 0)
|
||||
Dirty(uid, access);
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
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.IdentityManagement;
|
||||
using Content.Shared.Inventory;
|
||||
using Content.Shared.Popups;
|
||||
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);
|
||||
}
|
||||
|
||||
@@ -13,6 +13,7 @@ using Robust.Shared.Serialization.Manager;
|
||||
using System.Numerics;
|
||||
using Robust.Shared.Audio;
|
||||
using Robust.Shared.Audio.Systems;
|
||||
using Robust.Shared.GameStates;
|
||||
using Robust.Shared.Utility;
|
||||
|
||||
namespace Content.Server.Dragon;
|
||||
@@ -33,11 +34,20 @@ public sealed class DragonRiftSystem : EntitySystem
|
||||
{
|
||||
base.Initialize();
|
||||
|
||||
SubscribeLocalEvent<DragonRiftComponent, ComponentGetState>(OnGetState);
|
||||
SubscribeLocalEvent<DragonRiftComponent, ExaminedEvent>(OnExamined);
|
||||
SubscribeLocalEvent<DragonRiftComponent, AnchorStateChangedEvent>(OnAnchorChange);
|
||||
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)
|
||||
{
|
||||
base.Update(frameTime);
|
||||
|
||||
@@ -59,7 +59,7 @@ public sealed class MagicMirrorSystem : SharedMagicMirrorSystem
|
||||
_popup.PopupEntity(
|
||||
component.Target == message.Actor
|
||||
? 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,
|
||||
PopupType.Medium);
|
||||
@@ -95,7 +95,7 @@ public sealed class MagicMirrorSystem : SharedMagicMirrorSystem
|
||||
}
|
||||
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;
|
||||
@@ -175,7 +175,7 @@ public sealed class MagicMirrorSystem : SharedMagicMirrorSystem
|
||||
}
|
||||
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;
|
||||
@@ -253,7 +253,7 @@ public sealed class MagicMirrorSystem : SharedMagicMirrorSystem
|
||||
}
|
||||
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;
|
||||
@@ -331,7 +331,7 @@ public sealed class MagicMirrorSystem : SharedMagicMirrorSystem
|
||||
}
|
||||
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;
|
||||
|
||||
@@ -85,11 +85,11 @@ public sealed class MindSystem : SharedMindSystem
|
||||
{
|
||||
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;
|
||||
}
|
||||
|
||||
DebugTools.Assert(_players.GetPlayerData(user).ContentData()?.Mind == null);
|
||||
DebugTools.Assert(!_players.TryGetPlayerData(user, out var pData) || pData.ContentData()?.Mind == null);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -86,7 +86,7 @@ public sealed partial class MoveToOperator : HTNOperator, IHtnConditionalShutdow
|
||||
return (false, null);
|
||||
|
||||
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);
|
||||
}
|
||||
@@ -155,8 +155,8 @@ public sealed partial class MoveToOperator : HTNOperator, IHtnConditionalShutdow
|
||||
{
|
||||
if (blackboard.TryGetValue<EntityCoordinates>(NPCBlackboard.OwnerCoordinates, out var coordinates, _entManager))
|
||||
{
|
||||
var mapCoords = coordinates.ToMap(_entManager, _transform);
|
||||
_steering.PrunePath(uid, mapCoords, targetCoordinates.ToMapPos(_entManager, _transform) - mapCoords.Position, result.Path);
|
||||
var mapCoords = _transform.ToMapCoordinates(coordinates);
|
||||
_steering.PrunePath(uid, mapCoords, _transform.ToMapCoordinates(targetCoordinates).Position - mapCoords.Position, result.Path);
|
||||
}
|
||||
|
||||
comp.CurrentPath = new Queue<PathPoly>(result.Path);
|
||||
|
||||
@@ -2,10 +2,6 @@ using System.Diagnostics.CodeAnalysis;
|
||||
using System.Numerics;
|
||||
using System.Threading;
|
||||
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.Physics;
|
||||
using Robust.Shared.Collections;
|
||||
@@ -281,7 +277,7 @@ public sealed partial class PathfindingSystem
|
||||
var gridUid = ev.Component.GridUid;
|
||||
var oldGridUid = ev.OldPosition.EntityId == ev.NewPosition.EntityId
|
||||
? gridUid
|
||||
: ev.OldPosition.GetGridUid(EntityManager);
|
||||
: _transform.GetGrid((ev.Entity.Owner, ev.Component));
|
||||
|
||||
if (oldGridUid != null && oldGridUid != gridUid)
|
||||
{
|
||||
@@ -395,7 +391,7 @@ public sealed partial class PathfindingSystem
|
||||
|
||||
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));
|
||||
}
|
||||
|
||||
|
||||
@@ -461,7 +461,7 @@ public sealed partial class NPCSteeringSystem : SharedNPCSteeringSystem
|
||||
return;
|
||||
}
|
||||
|
||||
var targetPos = steering.Coordinates.ToMap(EntityManager, _transform);
|
||||
var targetPos = _transform.ToMapCoordinates(steering.Coordinates);
|
||||
var ourPos = _transform.GetMapCoordinates(uid, xform: xform);
|
||||
|
||||
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 ActionBlockerSystem _actionBlocker = default!;
|
||||
[Dependency] private readonly SharedInteractionSystem _interaction = default!;
|
||||
[Dependency] private readonly SharedTransformSystem _transform = default!;
|
||||
|
||||
public override void Initialize()
|
||||
{
|
||||
@@ -112,7 +113,7 @@ namespace Content.Server.Rotatable
|
||||
var entity = EntityManager.SpawnEntity(component.MirrorEntity, oldTransform.Coordinates);
|
||||
var newTransform = EntityManager.GetComponent<TransformComponent>(entity);
|
||||
newTransform.LocalRotation = oldTransform.LocalRotation;
|
||||
newTransform.Anchored = false;
|
||||
_transform.Unanchor(entity, newTransform);
|
||||
EntityManager.DeleteEntity(uid);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,25 +1,4 @@
|
||||
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
|
||||
changes:
|
||||
- message: It's no longer possible to drag an item out of a container's UI to drop
|
||||
@@ -3900,3 +3879,24 @@
|
||||
id: 8121
|
||||
time: '2025-04-01T16:43:19.0000000+00:00'
|
||||
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-1 = Gained one new access from {THE($card)}.
|
||||
agent-id-new = Gained {$number} new accesses from {THE($card)}.
|
||||
agent-id-new = { $number ->
|
||||
[0] Didn't gain any 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-job = Job:
|
||||
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-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-indicator = Pressure: [color={$color}]{$pressure} kPa[/color]
|
||||
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-alarm-state = [color={$color}]{$state}[/color]
|
||||
air-alarm-ui-window-alarm-state-indicator = Status: [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}]{-air-alarm-state-name(state:$state)}[/color]
|
||||
|
||||
air-alarm-ui-window-tab-vents = Vents
|
||||
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-color-self = You're changing your hair color.
|
||||
|
||||
magic-mirror-add-slot-target = Hair is being added to you by {$user}.
|
||||
magic-mirror-remove-slot-target = Your hair is being cut off by {$user}.
|
||||
magic-mirror-change-slot-target = Your hairstyle is being changed by {$user}.
|
||||
magic-mirror-change-color-target = Your hair color is being changed 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 {THE($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 {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-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-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-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-other-point-at-tile = {CAPITALIZE(THE($otherName))} points at the {$tileName}.
|
||||
|
||||
@@ -1,74 +1,79 @@
|
||||
- type: entity
|
||||
id: LockerMedicineFilled
|
||||
suffix: Filled
|
||||
parent: LockerMedicine
|
||||
components:
|
||||
- type: StorageFill
|
||||
contents:
|
||||
- id: BoxSyringe
|
||||
- id: ChemistryBottleEpinephrine
|
||||
amount: 1
|
||||
- id: Brutepack
|
||||
amount: 2
|
||||
- id: Ointment
|
||||
amount: 2
|
||||
- id: Bloodpack
|
||||
amount: 2
|
||||
- id: Gauze
|
||||
- type: entityTable
|
||||
id: LockerFillMedicine
|
||||
table: !type:AllSelector
|
||||
children:
|
||||
- id: BoxSyringe
|
||||
- id: ChemistryBottleEpinephrine
|
||||
- id: Brutepack
|
||||
amount: !type:ConstantNumberSelector
|
||||
value: 2
|
||||
- id: Ointment
|
||||
amount: !type:ConstantNumberSelector
|
||||
value: 2
|
||||
- id: Bloodpack
|
||||
amount: !type:ConstantNumberSelector
|
||||
value: 2
|
||||
- id: Gauze
|
||||
|
||||
- type: entity
|
||||
parent: LockerMedicine
|
||||
id: LockerMedicineFilled
|
||||
suffix: Filled
|
||||
components:
|
||||
- type: EntityTableContainerFill
|
||||
containers:
|
||||
entity_storage: !type:NestedSelector
|
||||
tableId: LockerFillMedicine
|
||||
|
||||
- type: entity
|
||||
parent: LockerWallMedical
|
||||
id: LockerWallMedicalFilled
|
||||
name: medicine wall locker
|
||||
suffix: Filled
|
||||
parent: LockerWallMedical
|
||||
components:
|
||||
- type: StorageFill
|
||||
contents:
|
||||
- id: BoxSyringe
|
||||
- id: ChemistryBottleEpinephrine
|
||||
amount: 1
|
||||
- id: Brutepack
|
||||
amount: 2
|
||||
- id: Ointment
|
||||
amount: 2
|
||||
- id: Bloodpack
|
||||
amount: 2
|
||||
- id: Gauze
|
||||
- type: EntityTableContainerFill
|
||||
containers:
|
||||
entity_storage: !type:NestedSelector
|
||||
tableId: LockerFillMedicine
|
||||
|
||||
- type: entityTable
|
||||
id: LockerFillMedicalDoctor
|
||||
table: !type:AllSelector
|
||||
children:
|
||||
- id: HandheldHealthAnalyzer
|
||||
prob: 0.6
|
||||
- id: ClothingHeadMirror
|
||||
prob: 0.1
|
||||
- id: ClothingHandsGlovesLatex
|
||||
- id: ClothingHeadsetMedical
|
||||
- id: ClothingEyesHudMedical
|
||||
- !type:GroupSelector
|
||||
children:
|
||||
- id: ClothingHeadHatSurgcapGreen
|
||||
weight: 0.1
|
||||
- id: ClothingHeadHatSurgcapPurple
|
||||
weight: 0.05
|
||||
- id: ClothingHeadHatSurgcapBlue
|
||||
weight: 0.90
|
||||
- !type:GroupSelector
|
||||
children:
|
||||
- id: UniformScrubsColorBlue
|
||||
weight: 0.5
|
||||
- id: UniformScrubsColorGreen
|
||||
weight: 0.1
|
||||
- id: UniformScrubsColorPurple
|
||||
weight: 0.05
|
||||
- id: ClothingMaskSterile
|
||||
|
||||
- type: entity
|
||||
parent: LockerMedical
|
||||
id: LockerMedicalFilled
|
||||
suffix: Filled
|
||||
parent: LockerMedical
|
||||
components:
|
||||
- type: StorageFill
|
||||
contents:
|
||||
- id: HandheldHealthAnalyzer
|
||||
prob: 0.6
|
||||
- id: ClothingHeadMirror
|
||||
prob: 0.1
|
||||
- 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: EntityTableContainerFill
|
||||
containers:
|
||||
entity_storage: !type:NestedSelector
|
||||
tableId: LockerFillMedicalDoctor
|
||||
|
||||
- type: entity
|
||||
parent: LockerWallMedical
|
||||
@@ -76,72 +81,64 @@
|
||||
name: medical doctor's wall locker
|
||||
suffix: Filled
|
||||
components:
|
||||
- type: StorageFill
|
||||
contents:
|
||||
- id: HandheldHealthAnalyzer
|
||||
prob: 0.6
|
||||
- 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: EntityTableContainerFill
|
||||
containers:
|
||||
entity_storage: !type:NestedSelector
|
||||
tableId: LockerFillMedicalDoctor
|
||||
|
||||
- type: entityTable
|
||||
id: LockerFillChemistry
|
||||
table: !type:AllSelector
|
||||
children:
|
||||
- id: BoxSyringe
|
||||
- id: BoxBeaker
|
||||
- id: BoxBeaker
|
||||
prob: 0.3
|
||||
- id: BoxPillCanister
|
||||
- id: BoxBottle
|
||||
- id: BoxVial
|
||||
- id: PlasmaChemistryVial
|
||||
- id: ChemBag
|
||||
- id: ClothingHandsGlovesLatex
|
||||
- id: ClothingHeadsetMedical
|
||||
- id: ClothingMaskSterile
|
||||
- id: HandLabeler
|
||||
prob: 0.5
|
||||
|
||||
- type: entity
|
||||
parent: LockerChemistry
|
||||
id: LockerChemistryFilled
|
||||
suffix: Filled
|
||||
parent: LockerChemistry
|
||||
components:
|
||||
- type: StorageFill
|
||||
contents:
|
||||
- id: BoxSyringe
|
||||
- id: BoxBeaker
|
||||
- id: BoxBeaker
|
||||
prob: 0.3
|
||||
- id: BoxPillCanister
|
||||
- id: BoxBottle
|
||||
- id: BoxVial
|
||||
- id: PlasmaChemistryVial
|
||||
- id: ChemBag
|
||||
- id: ClothingHandsGlovesLatex
|
||||
- id: ClothingHeadsetMedical
|
||||
- id: ClothingMaskSterile
|
||||
- id: HandLabeler
|
||||
prob: 0.5
|
||||
- type: EntityTableContainerFill
|
||||
containers:
|
||||
entity_storage: !type:NestedSelector
|
||||
tableId: LockerFillChemistry
|
||||
|
||||
- type: entityTable
|
||||
id: LockerFillParamedic
|
||||
table: !type:AllSelector
|
||||
children:
|
||||
- id: ClothingOuterHardsuitVoidParamed
|
||||
- id: ClothingOuterCoatParamedicWB
|
||||
- id: ClothingHeadHatParamedicsoft
|
||||
- id: ClothingOuterWinterPara
|
||||
- id: ClothingUniformJumpsuitParamedic
|
||||
- id: ClothingUniformJumpskirtParamedic
|
||||
- id: ClothingEyesHudMedical
|
||||
- id: ClothingHandsGlovesLatex
|
||||
- id: ClothingHeadsetMedical
|
||||
- id: ClothingMaskSterile
|
||||
- id: HandheldGPSBasic
|
||||
- id: MedkitFilled
|
||||
prob: 0.3
|
||||
|
||||
- type: entity
|
||||
parent: LockerParamedic
|
||||
id: LockerParamedicFilled
|
||||
suffix: Filled
|
||||
parent: LockerParamedic
|
||||
components:
|
||||
- type: StorageFill
|
||||
contents:
|
||||
- id: ClothingOuterHardsuitVoidParamed
|
||||
- id: ClothingOuterCoatParamedicWB
|
||||
- id: ClothingHeadHatParamedicsoft
|
||||
- id: ClothingOuterWinterPara
|
||||
- id: ClothingUniformJumpsuitParamedic
|
||||
- id: ClothingUniformJumpskirtParamedic
|
||||
- id: ClothingEyesHudMedical
|
||||
- id: ClothingHandsGlovesLatex
|
||||
- id: ClothingHeadsetMedical
|
||||
- id: ClothingMaskSterile
|
||||
- id: HandheldGPSBasic
|
||||
- id: MedkitFilled
|
||||
prob: 0.3
|
||||
- type: EntityTableContainerFill
|
||||
containers:
|
||||
entity_storage: !type:NestedSelector
|
||||
tableId: LockerFillParamedic
|
||||
|
||||
@@ -187,12 +187,12 @@
|
||||
- HeadTop
|
||||
- HeadSide
|
||||
|
||||
#Templar Helmet
|
||||
#Knight Helmet
|
||||
- type: entity
|
||||
parent: ClothingHeadBase
|
||||
id: ClothingHeadHelmetTemplar
|
||||
name: templar helmet
|
||||
description: DEUS VULT!
|
||||
name: knight helmet
|
||||
description: Decorative helmet fashioned to resemble the knights of old.
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Clothing/Head/Helmets/templar.rsi
|
||||
|
||||
@@ -67,4 +67,5 @@
|
||||
- FoodBurgerCrazy
|
||||
- FoodPizzaArnoldSlice
|
||||
- FoodPizzaUraniumSlice
|
||||
- FoodPizzaWorldpeasSlice
|
||||
rareChance: 0.05
|
||||
|
||||
@@ -681,3 +681,55 @@
|
||||
Quantity: 0.8
|
||||
- ReagentId: Fiber
|
||||
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
|
||||
prob: 0.10
|
||||
orGroup: Pizza
|
||||
- id: FoodPizzaWorldpeas
|
||||
prob: 0.05
|
||||
orGroup: Pizza
|
||||
- id: KnifePlastic
|
||||
|
||||
- type: entity
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
parent: BaseItem
|
||||
name: light replacer
|
||||
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:
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Janitorial/light_replacer.rsi
|
||||
|
||||
@@ -2,25 +2,25 @@
|
||||
- type: rcd
|
||||
id: Invalid # Hidden prototype - do not add to RCDs
|
||||
mode: Invalid
|
||||
|
||||
|
||||
- type: rcd
|
||||
id: Deconstruct
|
||||
name: rcd-component-deconstruct
|
||||
category: Main
|
||||
category: WallsAndFlooring
|
||||
sprite: /Textures/Interface/Radial/RCD/deconstruct.png
|
||||
mode: Deconstruct
|
||||
prototype: EffectRCDDeconstructPreview
|
||||
rotation: Camera
|
||||
|
||||
- type: rcd
|
||||
id: DeconstructLattice # Hidden prototype - do not add to RCDs
|
||||
id: DeconstructLattice # Hidden prototype - do not add to RCDs
|
||||
name: rcd-component-deconstruct
|
||||
mode: Deconstruct
|
||||
cost: 2
|
||||
delay: 0
|
||||
rotation: Camera
|
||||
fx: EffectRCDConstruct0
|
||||
|
||||
|
||||
- type: rcd
|
||||
id: DeconstructTile # Hidden prototype - do not add to RCDs
|
||||
name: rcd-component-deconstruct
|
||||
@@ -30,7 +30,7 @@
|
||||
rotation: Camera
|
||||
fx: EffectRCDDeconstruct4
|
||||
|
||||
# Flooring
|
||||
# Flooring
|
||||
- type: rcd
|
||||
id: Plating
|
||||
name: rcd-component-plating
|
||||
@@ -44,7 +44,7 @@
|
||||
rules:
|
||||
- CanBuildOnEmptyTile
|
||||
fx: EffectRCDConstruct1
|
||||
|
||||
|
||||
- type: rcd
|
||||
id: FloorSteel
|
||||
name: rcd-component-floor-steel
|
||||
@@ -80,7 +80,7 @@
|
||||
category: WallsAndFlooring
|
||||
sprite: /Textures/Interface/Radial/RCD/solid_wall.png
|
||||
mode: ConstructObject
|
||||
prototype: WallSolid
|
||||
prototype: WallSolid
|
||||
cost: 4
|
||||
delay: 2
|
||||
collisionMask: FullTileMask
|
||||
@@ -113,7 +113,7 @@
|
||||
- IsWindow
|
||||
rotation: Fixed
|
||||
fx: EffectRCDConstruct2
|
||||
|
||||
|
||||
- type: rcd
|
||||
id: WindowDirectional
|
||||
category: WindowsAndGrilles
|
||||
@@ -128,7 +128,7 @@
|
||||
- IsWindow
|
||||
rotation: User
|
||||
fx: EffectRCDConstruct1
|
||||
|
||||
|
||||
- type: rcd
|
||||
id: ReinforcedWindow
|
||||
category: WindowsAndGrilles
|
||||
@@ -142,7 +142,7 @@
|
||||
- IsWindow
|
||||
rotation: User
|
||||
fx: EffectRCDConstruct3
|
||||
|
||||
|
||||
- type: rcd
|
||||
id: WindowReinforcedDirectional
|
||||
category: WindowsAndGrilles
|
||||
@@ -170,7 +170,7 @@
|
||||
collisionMask: FullTileMask
|
||||
rotation: Camera
|
||||
fx: EffectRCDConstruct4
|
||||
|
||||
|
||||
- type: rcd
|
||||
id: AirlockGlass
|
||||
category: Airlocks
|
||||
@@ -182,7 +182,7 @@
|
||||
collisionMask: FullTileMask
|
||||
rotation: Camera
|
||||
fx: EffectRCDConstruct4
|
||||
|
||||
|
||||
- type: rcd
|
||||
id: Firelock
|
||||
category: Airlocks
|
||||
@@ -208,7 +208,7 @@
|
||||
collisionBounds: "-0.23,-0.49,0.23,-0.36"
|
||||
rotation: User
|
||||
fx: EffectRCDConstruct1
|
||||
|
||||
|
||||
- type: rcd
|
||||
id: BulbLight
|
||||
category: Lighting
|
||||
@@ -235,7 +235,7 @@
|
||||
- MustBuildOnSubfloor
|
||||
rotation: Fixed
|
||||
fx: EffectRCDConstruct0
|
||||
|
||||
|
||||
- type: rcd
|
||||
id: MVCable
|
||||
category: Electrical
|
||||
@@ -248,7 +248,7 @@
|
||||
- MustBuildOnSubfloor
|
||||
rotation: Fixed
|
||||
fx: EffectRCDConstruct0
|
||||
|
||||
|
||||
- type: rcd
|
||||
id: HVCable
|
||||
category: Electrical
|
||||
@@ -261,7 +261,7 @@
|
||||
- MustBuildOnSubfloor
|
||||
rotation: Fixed
|
||||
fx: EffectRCDConstruct0
|
||||
|
||||
|
||||
- type: rcd
|
||||
id: CableTerminal
|
||||
category: Electrical
|
||||
|
||||
@@ -718,6 +718,15 @@
|
||||
FoodDoughCottonFlat: 1
|
||||
CottonBol: 4
|
||||
|
||||
- type: microwaveMealRecipe
|
||||
id: RecipeWorldpeasPizza
|
||||
name: world peazza recipe
|
||||
result: FoodPizzaWorldpeas
|
||||
time: 30
|
||||
solids:
|
||||
FoodDoughFlat: 1
|
||||
FoodWorldPeas: 3
|
||||
|
||||
#Italian
|
||||
- type: microwaveMealRecipe
|
||||
id: RecipeBoiledSpaghetti
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"version": 1,
|
||||
"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": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
@@ -149,6 +149,12 @@
|
||||
},
|
||||
{
|
||||
"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