@@ -0,0 +1,45 @@
|
||||
using System;
|
||||
using Robust.Client.Animations;
|
||||
using Robust.Client.GameObjects;
|
||||
using Robust.Client.GameObjects.Components.Animations;
|
||||
using Robust.Shared.Animations;
|
||||
using Robust.Shared.GameObjects;
|
||||
using Robust.Shared.Maths;
|
||||
|
||||
namespace Content.Client.GameObjects.Components
|
||||
{
|
||||
[RegisterComponent]
|
||||
public class EmergencyLightComponent : Component
|
||||
{
|
||||
public override string Name => "EmergencyLight";
|
||||
|
||||
protected override void Startup()
|
||||
{
|
||||
base.Startup();
|
||||
|
||||
var animation = new Animation
|
||||
{
|
||||
Length = TimeSpan.FromSeconds(4),
|
||||
AnimationTracks =
|
||||
{
|
||||
new AnimationTrackComponentProperty
|
||||
{
|
||||
ComponentType = typeof(PointLightComponent),
|
||||
InterpolationMode = AnimationInterpolationMode.Linear,
|
||||
Property = nameof(PointLightComponent.Rotation),
|
||||
KeyFrames =
|
||||
{
|
||||
new AnimationTrackProperty.KeyFrame(Angle.Zero, 0),
|
||||
new AnimationTrackProperty.KeyFrame(Angle.FromDegrees(1080), 4)
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
var playerComponent = Owner.EnsureComponent<AnimationPlayerComponent>();
|
||||
playerComponent.Play(animation, "emergency");
|
||||
|
||||
playerComponent.AnimationCompleted += s => playerComponent.Play(animation, s);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
using Content.Shared.GameObjects.Components.Storage;
|
||||
using Robust.Client.GameObjects;
|
||||
using Robust.Client.Interfaces.GameObjects.Components;
|
||||
using Robust.Shared.Interfaces.GameObjects;
|
||||
using Robust.Shared.Utility;
|
||||
using YamlDotNet.RepresentationModel;
|
||||
|
||||
@@ -8,6 +9,7 @@ namespace Content.Client.GameObjects.Components.Storage
|
||||
{
|
||||
public sealed class StorageVisualizer2D : AppearanceVisualizer
|
||||
{
|
||||
private string _stateBase;
|
||||
private string _stateOpen;
|
||||
private string _stateClosed;
|
||||
|
||||
@@ -15,7 +17,12 @@ namespace Content.Client.GameObjects.Components.Storage
|
||||
{
|
||||
base.LoadData(node);
|
||||
|
||||
if (node.TryGetNode("state_open", out var child))
|
||||
if (node.TryGetNode("state", out var child))
|
||||
{
|
||||
_stateBase = child.AsString();
|
||||
}
|
||||
|
||||
if (node.TryGetNode("state_open", out child))
|
||||
{
|
||||
_stateOpen = child.AsString();
|
||||
}
|
||||
@@ -26,6 +33,19 @@ namespace Content.Client.GameObjects.Components.Storage
|
||||
}
|
||||
}
|
||||
|
||||
public override void InitializeEntity(IEntity entity)
|
||||
{
|
||||
if (!entity.TryGetComponent(out ISpriteComponent sprite))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (_stateBase != null)
|
||||
{
|
||||
sprite.LayerSetState(0, _stateBase);
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnChangeData(AppearanceComponent component)
|
||||
{
|
||||
base.OnChangeData(component);
|
||||
@@ -36,7 +56,9 @@ namespace Content.Client.GameObjects.Components.Storage
|
||||
}
|
||||
|
||||
component.TryGetData(StorageVisuals.Open, out bool open);
|
||||
sprite.LayerSetState(StorageVisualLayers.Door, open ? _stateOpen : _stateClosed);
|
||||
sprite.LayerSetState(StorageVisualLayers.Door, open
|
||||
? _stateOpen ?? $"{_stateBase}_open"
|
||||
: _stateClosed ?? $"{_stateBase}_door");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
30181
Resources/Maps/saltern.yml
Normal file
@@ -2285,7 +2285,7 @@ entities:
|
||||
rot: -1.5707963267949 rad
|
||||
type: Transform
|
||||
- uid: 287
|
||||
type: LockerScience
|
||||
type: WardrobeScience
|
||||
components:
|
||||
- parent: 0
|
||||
pos: 13.5,21.5
|
||||
@@ -7265,7 +7265,7 @@ entities:
|
||||
pos: 12.5,17.5
|
||||
type: Transform
|
||||
- uid: 952
|
||||
type: LockerScience
|
||||
type: WardrobeScience
|
||||
components:
|
||||
- parent: 0
|
||||
pos: 12.5,21.5
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
- type: entity
|
||||
id: LockerBooze
|
||||
parent: LockerSecureBase
|
||||
name: "booze storage"
|
||||
components:
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: StorageVisualizer2D
|
||||
state: cabinet
|
||||
|
||||
- type: Icon
|
||||
state: cabinet_door
|
||||
@@ -0,0 +1,13 @@
|
||||
# QM
|
||||
- type: entity
|
||||
id: LockerQuarterMaster
|
||||
parent: LockerSecureBase
|
||||
name: "quatermaster's locker"
|
||||
components:
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: StorageVisualizer2D
|
||||
state: qm
|
||||
|
||||
- type: Icon
|
||||
state: qm_door
|
||||
@@ -0,0 +1,27 @@
|
||||
# Captain
|
||||
- type: entity
|
||||
id: LockerCaptain
|
||||
parent: LockerSecureBase
|
||||
name: "captain's locker"
|
||||
components:
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: StorageVisualizer2D
|
||||
state: cap
|
||||
|
||||
- type: Icon
|
||||
state: cap_door
|
||||
|
||||
# HoP
|
||||
- type: entity
|
||||
id: LockerHeadOfPersonnel
|
||||
parent: LockerSecureBase
|
||||
name: "head of personnel's locker"
|
||||
components:
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: StorageVisualizer2D
|
||||
state: hop
|
||||
|
||||
- type: Icon
|
||||
state: hop_door
|
||||
@@ -0,0 +1,71 @@
|
||||
# CE
|
||||
- type: entity
|
||||
id: LockerChiefEngineer
|
||||
parent: LockerSecureBase
|
||||
name: "chief engineer's locker"
|
||||
components:
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: StorageVisualizer2D
|
||||
state: ce
|
||||
|
||||
- type: Icon
|
||||
state: ce_door
|
||||
|
||||
# Electrical supplies
|
||||
- type: entity
|
||||
id: LockerElectricalSupplies
|
||||
parent: LockerSecureBase
|
||||
name: "electrical supplies locker"
|
||||
components:
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: StorageVisualizer2D
|
||||
state: eng
|
||||
state_closed: eng_elec_door
|
||||
|
||||
- type: Icon
|
||||
state: eng_elec_door
|
||||
|
||||
# Welding supplies
|
||||
- type: entity
|
||||
id: LockerWeldingSupplies
|
||||
parent: LockerSecureBase
|
||||
name: "welding supplies locker"
|
||||
components:
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: StorageVisualizer2D
|
||||
state: eng
|
||||
state_closed: eng_weld_door
|
||||
|
||||
- type: Icon
|
||||
state: eng_weld_door
|
||||
|
||||
# Atmos tech
|
||||
- type: entity
|
||||
id: LockerAtmospherics
|
||||
parent: LockerSecureBase
|
||||
name: "atmospheric technician's locker"
|
||||
components:
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: StorageVisualizer2D
|
||||
state: atmos
|
||||
|
||||
- type: Icon
|
||||
state: atmos_door
|
||||
|
||||
# Engineer
|
||||
- type: entity
|
||||
id: LockerEngineer
|
||||
parent: LockerSecureBase
|
||||
name: "engineer's locker"
|
||||
components:
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: StorageVisualizer2D
|
||||
state: eng_secure
|
||||
|
||||
- type: Icon
|
||||
state: eng_secure_door
|
||||
@@ -0,0 +1,12 @@
|
||||
- type: entity
|
||||
id: LockerFreezer
|
||||
parent: LockerSecureBase
|
||||
name: "freezer"
|
||||
components:
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: StorageVisualizer2D
|
||||
state: freezer
|
||||
|
||||
- type: Icon
|
||||
state: freezer_door
|
||||
@@ -0,0 +1,12 @@
|
||||
- type: entity
|
||||
id: LockerBotanist
|
||||
parent: LockerSecureBase
|
||||
name: "botanist's locker"
|
||||
components:
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: StorageVisualizer2D
|
||||
state: hydro
|
||||
|
||||
- type: Icon
|
||||
state: hydro_door
|
||||
@@ -0,0 +1,57 @@
|
||||
# Medicine
|
||||
- type: entity
|
||||
id: LockerMedicine
|
||||
parent: LockerSecureBase
|
||||
name: "medicine locker"
|
||||
description: "Filled to the brim with medical junk."
|
||||
components:
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: StorageVisualizer2D
|
||||
state: med
|
||||
|
||||
- type: Icon
|
||||
state: med_door
|
||||
|
||||
# Medical doctor
|
||||
- type: entity
|
||||
id: LockerMedical
|
||||
parent: LockerSecureBase
|
||||
name: "medical doctor's locker"
|
||||
components:
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: StorageVisualizer2D
|
||||
state: med_secure
|
||||
|
||||
- type: Icon
|
||||
state: med_secure_door
|
||||
|
||||
# Chemical
|
||||
- type: entity
|
||||
id: LockerChemistry
|
||||
parent: LockerSecureBase
|
||||
name: "chemical closet"
|
||||
components:
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: StorageVisualizer2D
|
||||
state: med
|
||||
state_closed: chemical_door
|
||||
|
||||
- type: Icon
|
||||
state: chemical_door
|
||||
|
||||
# CMO
|
||||
- type: entity
|
||||
id: LockerChiefMedicalOfficer
|
||||
parent: LockerSecureBase
|
||||
name: "chief medical officer's locker"
|
||||
components:
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: StorageVisualizer2D
|
||||
state: cmo
|
||||
|
||||
- type: Icon
|
||||
state: cmo_door
|
||||
@@ -0,0 +1,12 @@
|
||||
- type: entity
|
||||
id: LockerResearchDirector
|
||||
parent: LockerSecureBase
|
||||
name: "research director's locker"
|
||||
components:
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: StorageVisualizer2D
|
||||
state: rd
|
||||
|
||||
- type: Icon
|
||||
state: rd_door
|
||||
@@ -0,0 +1,41 @@
|
||||
# HoS
|
||||
- type: entity
|
||||
id: LockerHeadOfSecurity
|
||||
parent: LockerSecureBase
|
||||
name: "head of security's locker"
|
||||
components:
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: StorageVisualizer2D
|
||||
state: hos
|
||||
|
||||
- type: Icon
|
||||
state: hos_door
|
||||
|
||||
# Warden
|
||||
- type: entity
|
||||
id: LockerWarden
|
||||
parent: LockerSecureBase
|
||||
name: "warden's locker"
|
||||
components:
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: StorageVisualizer2D
|
||||
state: warden
|
||||
|
||||
- type: Icon
|
||||
state: warden_door
|
||||
|
||||
# Security Officer
|
||||
- type: entity
|
||||
id: LockerSecurity
|
||||
parent: LockerSecureBase
|
||||
name: "security officer's locker"
|
||||
components:
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: StorageVisualizer2D
|
||||
state: sec
|
||||
|
||||
- type: Icon
|
||||
state: sec_door
|
||||
@@ -0,0 +1,5 @@
|
||||
- type: entity
|
||||
id: LockerSecureBase
|
||||
parent: LockerGeneric
|
||||
abstract: true
|
||||
# TODO: Access components and such.
|
||||
@@ -0,0 +1,118 @@
|
||||
# Formal
|
||||
- type: entity
|
||||
id: LockerFormal
|
||||
parent: WardrobeBlack
|
||||
name: "formal closet"
|
||||
description: "It's a storage unit for formal clothing."
|
||||
|
||||
# Chef
|
||||
- type: entity
|
||||
id: LockerChef
|
||||
parent: WardrobeBlack
|
||||
name: "chef's closet"
|
||||
description: "It's a storage unit for foodservice garments and mouse traps."
|
||||
|
||||
# Janitor
|
||||
- type: entity
|
||||
id: LockerJanitor
|
||||
parent: WardrobeMixed
|
||||
name: "custodial closet"
|
||||
description: "It's a storage unit for janitorial clothes and gear."
|
||||
|
||||
# Legal
|
||||
- type: entity
|
||||
id: LockerLegal
|
||||
parent: WardrobeBlue
|
||||
name: "legal closet"
|
||||
description: "It's a storage unit for courtroom apparel and items."
|
||||
|
||||
# Chapel
|
||||
- type: entity
|
||||
id: WardrobeChapel
|
||||
parent: WardrobeBlack
|
||||
name: "chaplain's wardrobe"
|
||||
description: "It's a storage unit for Nanotrasen-approved religious attire."
|
||||
|
||||
# Security wardrobe
|
||||
- type: entity
|
||||
id: WardrobeSecurity
|
||||
parent: WardrobeBase
|
||||
name: "security wardrobe"
|
||||
components:
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: StorageVisualizer2D
|
||||
state: generic
|
||||
state_closed: red_door
|
||||
|
||||
- type: Icon
|
||||
state: red_door
|
||||
|
||||
# Cargo wardrobe
|
||||
- type: entity
|
||||
id: WardrobeCargo
|
||||
parent: WardrobePrison
|
||||
name: "cargo wardrobe"
|
||||
|
||||
# Atmospherics wardrobe
|
||||
- type: entity
|
||||
id: WardrobeAtmospherics
|
||||
parent: WardrobeBase
|
||||
name: "atmospherics wardrobe"
|
||||
components:
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: StorageVisualizer2D
|
||||
state: generic
|
||||
state_closed: atmos_wardrobe_door
|
||||
|
||||
- type: Icon
|
||||
state: atmos_door
|
||||
|
||||
# Engineering wardrobe
|
||||
- type: entity
|
||||
id: WardrobeEngineering
|
||||
parent: WardrobeYellow
|
||||
name: "engineering wardrobe"
|
||||
|
||||
# Medical doctor wardrobe
|
||||
- type: entity
|
||||
id: WardrobeMedicalDoctor
|
||||
parent: WardrobeWhite
|
||||
name: "medical doctor's wardrobe"
|
||||
|
||||
# Robotics wardrobe
|
||||
- type: entity
|
||||
id: WardrobeRobotics
|
||||
parent: WardrobeBlack
|
||||
name: "robotics wardrobe"
|
||||
|
||||
# Chemistry wardrobe
|
||||
- type: entity
|
||||
id: WardrobeChemistry
|
||||
parent: WardrobeWhite
|
||||
name: "chemistry wardrobe"
|
||||
|
||||
# Genetics wardrobe
|
||||
- type: entity
|
||||
id: WardrobeGenetics
|
||||
parent: WardrobeWhite
|
||||
name: "genetics wardrobe"
|
||||
|
||||
# Virology wardrobe
|
||||
- type: entity
|
||||
id: WardrobeVirology
|
||||
parent: WardrobeWhite
|
||||
name: "virology wardrobe"
|
||||
|
||||
# Science wardrobe
|
||||
- type: entity
|
||||
id: WardrobeScience
|
||||
parent: WardrobeWhite
|
||||
name: "science wardrobe"
|
||||
|
||||
# Botanist wardrobe
|
||||
- type: entity
|
||||
id: WardrobeBotanist
|
||||
parent: WardrobeGreen
|
||||
name: "botanist wardrobe"
|
||||
@@ -0,0 +1,53 @@
|
||||
# Base level 3 bio hazard closet
|
||||
- type: entity
|
||||
id: LockerL3
|
||||
parent: LockerGeneric
|
||||
name: "level 3 biohazard gear closet"
|
||||
description: "It's a storage unit for level 3 biohazard gear."
|
||||
components:
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: StorageVisualizer2D
|
||||
state: bio
|
||||
|
||||
- type: Icon
|
||||
state: bio_door
|
||||
|
||||
# Virology variant
|
||||
- type: entity
|
||||
id: LockerL3Virology
|
||||
parent: LockerL3
|
||||
components:
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: StorageVisualizer2D
|
||||
state: bio_viro
|
||||
|
||||
- type: Icon
|
||||
state: bio_viro_door
|
||||
|
||||
# Security variant
|
||||
- type: entity
|
||||
id: LockerL3Security
|
||||
parent: LockerL3
|
||||
components:
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: StorageVisualizer2D
|
||||
state: bio_sec
|
||||
|
||||
- type: Icon
|
||||
state: bio_sec_door
|
||||
|
||||
# Janitor variant
|
||||
- type: entity
|
||||
id: LockerL3Janitor
|
||||
parent: LockerL3
|
||||
components:
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: StorageVisualizer2D
|
||||
state: bio_jan
|
||||
|
||||
- type: Icon
|
||||
state: bio_jan_door
|
||||
@@ -0,0 +1,22 @@
|
||||
# Base syndicate closet
|
||||
- type: entity
|
||||
id: LockerSyndicateBase
|
||||
name: armory closet
|
||||
parent: LockerGeneric
|
||||
abstract: true
|
||||
components:
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: StorageVisualizer2D
|
||||
state: syndicate
|
||||
|
||||
- type: Icon
|
||||
state: syndicate_door
|
||||
|
||||
# Personal syndicate closet
|
||||
- type: entity
|
||||
id: LockerSyndicatePersonal
|
||||
parent: LockerSyndicateBase
|
||||
description: "It's a personal storage unit for operative gear."
|
||||
|
||||
|
||||
@@ -0,0 +1,85 @@
|
||||
# Tool closet
|
||||
- type: entity
|
||||
id: LockerTool
|
||||
name: tool closet
|
||||
parent: LockerGeneric
|
||||
description: "It's a storage unit for tools."
|
||||
components:
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: StorageVisualizer2D
|
||||
state: eng
|
||||
state_closed: eng_tool_door
|
||||
- type: Icon
|
||||
state: eng_tool_door
|
||||
|
||||
# Filled tool closet
|
||||
- type: entity
|
||||
id: LockerToolFilled
|
||||
suffix: Filled
|
||||
parent: LockerTool
|
||||
components:
|
||||
- type: ToolLockerFill
|
||||
|
||||
# Radiation suit closet
|
||||
- type: entity
|
||||
id: LockerRadiationSuit
|
||||
name: radiation suit closet
|
||||
parent: LockerGeneric
|
||||
description: "It's a storage unit for rad-protective suits."
|
||||
components:
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: StorageVisualizer2D
|
||||
state: eng
|
||||
state_closed: eng_rad_door
|
||||
|
||||
- type: Icon
|
||||
state: eng_rad_door
|
||||
|
||||
# Emergency closet
|
||||
- type: entity
|
||||
id: LockerEmergency
|
||||
name: emergency closet
|
||||
parent: LockerGeneric
|
||||
description: "It's a storage unit for emergency breath masks and O2 tanks."
|
||||
components:
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: StorageVisualizer2D
|
||||
state: emergency
|
||||
|
||||
- type: Icon
|
||||
state: emergency_door
|
||||
|
||||
|
||||
# Fire safety closet
|
||||
- type: entity
|
||||
id: LockerFire
|
||||
name: fire-safety closet
|
||||
parent: LockerGeneric
|
||||
description: "It's a storage unit for fire-fighting supplies."
|
||||
components:
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: StorageVisualizer2D
|
||||
state: fire
|
||||
|
||||
- type: Icon
|
||||
state: fire_door
|
||||
|
||||
|
||||
# EOD closet
|
||||
- type: entity
|
||||
id: LockerBomb
|
||||
name: EOD closet
|
||||
parent: LockerGeneric
|
||||
description: "It's a storage unit for explosion-protective suits."
|
||||
components:
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: StorageVisualizer2D
|
||||
state: bomb
|
||||
|
||||
- type: Icon
|
||||
state: bomb_door
|
||||
@@ -0,0 +1,155 @@
|
||||
- type: entity
|
||||
id: WardrobeBase
|
||||
parent: LockerGeneric
|
||||
abstract: true
|
||||
description: "It's a storage unit for standard-issue Nanotrasen attire."
|
||||
|
||||
# Blue wardrobe
|
||||
- type: entity
|
||||
id: WardrobeBlue
|
||||
parent: WardrobeBase
|
||||
name: blue wardrobe
|
||||
components:
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: StorageVisualizer2D
|
||||
state: generic
|
||||
state_closed: blue_door
|
||||
|
||||
- type: Icon
|
||||
state: blue_door
|
||||
|
||||
|
||||
# Pink wardrobe
|
||||
- type: entity
|
||||
id: WardrobePink
|
||||
parent: WardrobeBase
|
||||
name: pink wardrobe
|
||||
components:
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: StorageVisualizer2D
|
||||
state: generic
|
||||
state_closed: pink_door
|
||||
|
||||
- type: Icon
|
||||
state: pink_door
|
||||
|
||||
|
||||
# Black wardrobe
|
||||
- type: entity
|
||||
id: WardrobeBlack
|
||||
parent: WardrobeBase
|
||||
name: black wardrobe
|
||||
components:
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: StorageVisualizer2D
|
||||
state: generic
|
||||
state_closed: black_door
|
||||
|
||||
- type: Icon
|
||||
state: black_door
|
||||
|
||||
|
||||
# Green wardrobe
|
||||
- type: entity
|
||||
id: WardrobeGreen
|
||||
parent: WardrobeBase
|
||||
name: green wardrobe
|
||||
components:
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: StorageVisualizer2D
|
||||
state: generic
|
||||
state_closed: green_door
|
||||
|
||||
- type: Icon
|
||||
state: green_door
|
||||
|
||||
|
||||
# Prison wardrobe
|
||||
- type: entity
|
||||
id: WardrobePrison
|
||||
parent: WardrobeBase
|
||||
name: prison wardrobe
|
||||
components:
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: StorageVisualizer2D
|
||||
state: generic
|
||||
state_closed: orange_door
|
||||
|
||||
- type: Icon
|
||||
state: orange_door
|
||||
|
||||
|
||||
# Yellow wardrobe
|
||||
- type: entity
|
||||
id: WardrobeYellow
|
||||
parent: WardrobeBase
|
||||
name: yellow wardrobe
|
||||
components:
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: StorageVisualizer2D
|
||||
state: generic
|
||||
state_closed: yellow_door
|
||||
|
||||
- type: Icon
|
||||
state: yellow_door
|
||||
|
||||
|
||||
# White wardrobe
|
||||
- type: entity
|
||||
id: WardrobeWhite
|
||||
parent: WardrobeBase
|
||||
name: white wardrobe
|
||||
components:
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: StorageVisualizer2D
|
||||
state: generic
|
||||
state_closed: white_door
|
||||
|
||||
- type: Icon
|
||||
state: white_door
|
||||
|
||||
|
||||
# Pajama wardrobe
|
||||
- type: entity
|
||||
id: WardrobePajama
|
||||
parent: WardrobeWhite
|
||||
name: pajama wardrobe
|
||||
|
||||
|
||||
# Grey wardrobe
|
||||
- type: entity
|
||||
id: WardrobeGrey
|
||||
parent: WardrobeBase
|
||||
name: grey wardrobe
|
||||
components:
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: StorageVisualizer2D
|
||||
state: generic
|
||||
state_closed: grey_door
|
||||
|
||||
- type: Icon
|
||||
state: grey_door
|
||||
|
||||
|
||||
# Mixed wardrobe
|
||||
- type: entity
|
||||
id: WardrobeMixed
|
||||
parent: WardrobeBase
|
||||
name: mixed wardrobe
|
||||
components:
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: StorageVisualizer2D
|
||||
state: generic
|
||||
state_closed: mixed_door
|
||||
|
||||
- type: Icon
|
||||
state: mixed_door
|
||||
@@ -1,6 +1,6 @@
|
||||
- type: entity
|
||||
id: LockerGeneric
|
||||
name: Locker
|
||||
name: closet
|
||||
description: A standard-issue Nanotrasen storage unit.
|
||||
components:
|
||||
- type: Sprite
|
||||
@@ -1,150 +0,0 @@
|
||||
- type: entity
|
||||
id: LockerTool
|
||||
name: Tool Locker
|
||||
parent: LockerGeneric
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Buildings/closet.rsi
|
||||
layers:
|
||||
- state: eng
|
||||
- state: eng_tool_door
|
||||
map: ["enum.StorageVisualLayers.Door"]
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: StorageVisualizer2D
|
||||
state_open: eng_open
|
||||
state_closed: eng_tool_door
|
||||
- type: Icon
|
||||
state: eng_tool_door
|
||||
|
||||
- type: entity
|
||||
id: LockerToolFilled
|
||||
name: Tool Locker
|
||||
suffix: Filled
|
||||
parent: LockerTool
|
||||
components:
|
||||
- type: ToolLockerFill
|
||||
|
||||
- type: entity
|
||||
id: LockerElectricalSupplies
|
||||
name: Electrical Supplies Locker
|
||||
parent: LockerGeneric
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Buildings/closet.rsi
|
||||
layers:
|
||||
- state: eng
|
||||
- state: eng_elec_door
|
||||
map: ["enum.StorageVisualLayers.Door"]
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: StorageVisualizer2D
|
||||
state_open: eng_open
|
||||
state_closed: eng_elec_door
|
||||
- type: Icon
|
||||
state: eng_elec_door
|
||||
|
||||
- type: entity
|
||||
id: LockerWeldingSupplies
|
||||
name: Welding Supplies Locker
|
||||
parent: LockerGeneric
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Buildings/closet.rsi
|
||||
layers:
|
||||
- state: eng
|
||||
- state: eng_weld_door
|
||||
map: ["enum.StorageVisualLayers.Door"]
|
||||
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: StorageVisualizer2D
|
||||
state_open: eng_open
|
||||
state_closed: eng_weld_door
|
||||
|
||||
- type: Icon
|
||||
state: eng_weld_door
|
||||
|
||||
- type: entity
|
||||
id: LockerRadiationSuit
|
||||
name: Radiation Suit Locker
|
||||
parent: LockerGeneric
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Buildings/closet.rsi
|
||||
layers:
|
||||
- state: eng
|
||||
- state: eng_rad_door
|
||||
map: ["enum.StorageVisualLayers.Door"]
|
||||
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: StorageVisualizer2D
|
||||
state_open: eng_open
|
||||
state_closed: eng_rad_door
|
||||
|
||||
- type: Icon
|
||||
state: eng_rad_door
|
||||
|
||||
- type: entity
|
||||
id: LockerMedical
|
||||
name: Medical Locker
|
||||
parent: LockerGeneric
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Buildings/closet.rsi
|
||||
layers:
|
||||
- state: med
|
||||
- state: med_door
|
||||
map: ["enum.StorageVisualLayers.Door"]
|
||||
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: StorageVisualizer2D
|
||||
state_open: med_open
|
||||
state_closed: med_door
|
||||
|
||||
- type: Icon
|
||||
state: med_door
|
||||
|
||||
- type: entity
|
||||
id: LockerChemistry
|
||||
name: Chemistry Locker
|
||||
parent: LockerGeneric
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Buildings/closet.rsi
|
||||
layers:
|
||||
- state: med
|
||||
- state: chemical_door
|
||||
map: ["enum.StorageVisualLayers.Door"]
|
||||
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: StorageVisualizer2D
|
||||
state_open: med_open
|
||||
state_closed: chemical_door
|
||||
|
||||
- type: Icon
|
||||
state: chemical_door
|
||||
|
||||
- type: entity
|
||||
id: LockerScience
|
||||
name: Science Locker
|
||||
parent: LockerGeneric
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Buildings/closet.rsi
|
||||
layers:
|
||||
- state: science
|
||||
- state: science_door
|
||||
map: ["enum.StorageVisualLayers.Door"]
|
||||
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: StorageVisualizer2D
|
||||
state_open: science_open
|
||||
state_closed: science_door
|
||||
|
||||
- type: Icon
|
||||
state: science_door
|
||||
17
Resources/Prototypes/Entities/Buildings/emergency_light.yml
Normal file
@@ -0,0 +1,17 @@
|
||||
- type: entity
|
||||
id: EmergencyLight
|
||||
name: "Emergency Light"
|
||||
parent: WallLight
|
||||
components:
|
||||
- type: PointLight
|
||||
radius: 10
|
||||
energy: 5
|
||||
offset: "0.5, 0"
|
||||
color: "#FF4020"
|
||||
mask: /Textures/emergency_mask.png
|
||||
|
||||
#- type: EmergencyLight
|
||||
|
||||
placement:
|
||||
snap:
|
||||
- Wallmount
|
||||
BIN
Resources/Textures/Buildings/closet.rsi/abductor.png
Normal file
|
After Width: | Height: | Size: 300 B |
BIN
Resources/Textures/Buildings/closet.rsi/abductor_door.png
Normal file
|
After Width: | Height: | Size: 204 B |
BIN
Resources/Textures/Buildings/closet.rsi/abductor_open.png
Normal file
|
After Width: | Height: | Size: 193 B |
BIN
Resources/Textures/Buildings/closet.rsi/agentbox.png
Normal file
|
After Width: | Height: | Size: 356 B |
BIN
Resources/Textures/Buildings/closet.rsi/alien.png
Normal file
|
After Width: | Height: | Size: 210 B |
BIN
Resources/Textures/Buildings/closet.rsi/alien_door.png
Normal file
|
After Width: | Height: | Size: 207 B |
BIN
Resources/Textures/Buildings/closet.rsi/alien_open.png
Normal file
|
After Width: | Height: | Size: 213 B |
BIN
Resources/Textures/Buildings/closet.rsi/armory.png
Normal file
|
After Width: | Height: | Size: 241 B |
BIN
Resources/Textures/Buildings/closet.rsi/armory_door.png
Normal file
|
After Width: | Height: | Size: 275 B |
BIN
Resources/Textures/Buildings/closet.rsi/armory_open.png
Normal file
|
After Width: | Height: | Size: 204 B |
BIN
Resources/Textures/Buildings/closet.rsi/atmos.png
Normal file
|
After Width: | Height: | Size: 223 B |
BIN
Resources/Textures/Buildings/closet.rsi/atmos_door.png
Normal file
|
After Width: | Height: | Size: 226 B |
BIN
Resources/Textures/Buildings/closet.rsi/atmos_open.png
Normal file
|
After Width: | Height: | Size: 197 B |
BIN
Resources/Textures/Buildings/closet.rsi/atmos_wardrobe_door.png
Normal file
|
After Width: | Height: | Size: 237 B |
BIN
Resources/Textures/Buildings/closet.rsi/bio.png
Normal file
|
After Width: | Height: | Size: 215 B |
BIN
Resources/Textures/Buildings/closet.rsi/bio_door.png
Normal file
|
After Width: | Height: | Size: 255 B |
BIN
Resources/Textures/Buildings/closet.rsi/bio_jan.png
Normal file
|
After Width: | Height: | Size: 215 B |
BIN
Resources/Textures/Buildings/closet.rsi/bio_jan_door.png
Normal file
|
After Width: | Height: | Size: 269 B |
BIN
Resources/Textures/Buildings/closet.rsi/bio_jan_open.png
Normal file
|
After Width: | Height: | Size: 202 B |
BIN
Resources/Textures/Buildings/closet.rsi/bio_open.png
Normal file
|
After Width: | Height: | Size: 167 B |
BIN
Resources/Textures/Buildings/closet.rsi/bio_sec.png
Normal file
|
After Width: | Height: | Size: 214 B |
BIN
Resources/Textures/Buildings/closet.rsi/bio_sec_door.png
Normal file
|
After Width: | Height: | Size: 282 B |
BIN
Resources/Textures/Buildings/closet.rsi/bio_sec_open.png
Normal file
|
After Width: | Height: | Size: 208 B |
BIN
Resources/Textures/Buildings/closet.rsi/bio_viro.png
Normal file
|
After Width: | Height: | Size: 220 B |
BIN
Resources/Textures/Buildings/closet.rsi/bio_viro_door.png
Normal file
|
After Width: | Height: | Size: 267 B |
BIN
Resources/Textures/Buildings/closet.rsi/bio_viro_open.png
Normal file
|
After Width: | Height: | Size: 192 B |
BIN
Resources/Textures/Buildings/closet.rsi/black_door.png
Normal file
|
After Width: | Height: | Size: 241 B |
BIN
Resources/Textures/Buildings/closet.rsi/blue_door.png
Normal file
|
After Width: | Height: | Size: 240 B |
BIN
Resources/Textures/Buildings/closet.rsi/bomb.png
Normal file
|
After Width: | Height: | Size: 228 B |
BIN
Resources/Textures/Buildings/closet.rsi/bomb_door.png
Normal file
|
After Width: | Height: | Size: 214 B |
BIN
Resources/Textures/Buildings/closet.rsi/bomb_open.png
Normal file
|
After Width: | Height: | Size: 192 B |
BIN
Resources/Textures/Buildings/closet.rsi/cabinet.png
Normal file
|
After Width: | Height: | Size: 297 B |
BIN
Resources/Textures/Buildings/closet.rsi/cabinet_door.png
Normal file
|
After Width: | Height: | Size: 182 B |
BIN
Resources/Textures/Buildings/closet.rsi/cabinet_open.png
Normal file
|
After Width: | Height: | Size: 235 B |
BIN
Resources/Textures/Buildings/closet.rsi/cap.png
Normal file
|
After Width: | Height: | Size: 213 B |
BIN
Resources/Textures/Buildings/closet.rsi/cap_door.png
Normal file
|
After Width: | Height: | Size: 228 B |
BIN
Resources/Textures/Buildings/closet.rsi/cap_open.png
Normal file
|
After Width: | Height: | Size: 203 B |
BIN
Resources/Textures/Buildings/closet.rsi/cardboard.png
Normal file
|
After Width: | Height: | Size: 344 B |
BIN
Resources/Textures/Buildings/closet.rsi/cardboard_open.png
Normal file
|
After Width: | Height: | Size: 205 B |
BIN
Resources/Textures/Buildings/closet.rsi/cardboard_special.png
Normal file
|
After Width: | Height: | Size: 135 B |
BIN
Resources/Textures/Buildings/closet.rsi/cargo.png
Normal file
|
After Width: | Height: | Size: 216 B |
BIN
Resources/Textures/Buildings/closet.rsi/cargo_door.png
Normal file
|
After Width: | Height: | Size: 226 B |
BIN
Resources/Textures/Buildings/closet.rsi/cargo_open.png
Normal file
|
After Width: | Height: | Size: 201 B |
BIN
Resources/Textures/Buildings/closet.rsi/ce.png
Normal file
|
After Width: | Height: | Size: 218 B |
BIN
Resources/Textures/Buildings/closet.rsi/ce_door.png
Normal file
|
After Width: | Height: | Size: 233 B |
BIN
Resources/Textures/Buildings/closet.rsi/ce_open.png
Normal file
|
After Width: | Height: | Size: 197 B |
|
Before Width: | Height: | Size: 395 B After Width: | Height: | Size: 216 B |
BIN
Resources/Textures/Buildings/closet.rsi/cmo.png
Normal file
|
After Width: | Height: | Size: 239 B |
BIN
Resources/Textures/Buildings/closet.rsi/cmo_door.png
Normal file
|
After Width: | Height: | Size: 224 B |
BIN
Resources/Textures/Buildings/closet.rsi/cmo_open.png
Normal file
|
After Width: | Height: | Size: 212 B |
BIN
Resources/Textures/Buildings/closet.rsi/cursed.png
Normal file
|
After Width: | Height: | Size: 876 B |
BIN
Resources/Textures/Buildings/closet.rsi/cursed_door.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
Resources/Textures/Buildings/closet.rsi/cursed_open.png
Normal file
|
After Width: | Height: | Size: 233 B |
BIN
Resources/Textures/Buildings/closet.rsi/cursed_whole.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
Resources/Textures/Buildings/closet.rsi/decursed.png
Normal file
|
After Width: | Height: | Size: 520 B |
BIN
Resources/Textures/Buildings/closet.rsi/decursed_door.png
Normal file
|
After Width: | Height: | Size: 442 B |
BIN
Resources/Textures/Buildings/closet.rsi/decursed_open.png
Normal file
|
After Width: | Height: | Size: 229 B |
BIN
Resources/Textures/Buildings/closet.rsi/ecase.png
Normal file
|
After Width: | Height: | Size: 295 B |
BIN
Resources/Textures/Buildings/closet.rsi/ecase_door.png
Normal file
|
After Width: | Height: | Size: 148 B |
BIN
Resources/Textures/Buildings/closet.rsi/ecase_open.png
Normal file
|
After Width: | Height: | Size: 154 B |
BIN
Resources/Textures/Buildings/closet.rsi/egun.png
Normal file
|
After Width: | Height: | Size: 244 B |
BIN
Resources/Textures/Buildings/closet.rsi/emergency.png
Normal file
|
After Width: | Height: | Size: 231 B |
BIN
Resources/Textures/Buildings/closet.rsi/emergency_door.png
Normal file
|
After Width: | Height: | Size: 216 B |
BIN
Resources/Textures/Buildings/closet.rsi/emergency_open.png
Normal file
|
After Width: | Height: | Size: 204 B |
|
Before Width: | Height: | Size: 178 B After Width: | Height: | Size: 226 B |
|
Before Width: | Height: | Size: 203 B After Width: | Height: | Size: 245 B |
|
Before Width: | Height: | Size: 158 B After Width: | Height: | Size: 183 B |
|
Before Width: | Height: | Size: 215 B After Width: | Height: | Size: 341 B |
BIN
Resources/Textures/Buildings/closet.rsi/eng_secure.png
Normal file
|
After Width: | Height: | Size: 235 B |
BIN
Resources/Textures/Buildings/closet.rsi/eng_secure_door.png
Normal file
|
After Width: | Height: | Size: 226 B |
BIN
Resources/Textures/Buildings/closet.rsi/eng_secure_open.png
Normal file
|
After Width: | Height: | Size: 198 B |
|
Before Width: | Height: | Size: 208 B After Width: | Height: | Size: 231 B |
|
Before Width: | Height: | Size: 205 B After Width: | Height: | Size: 352 B |
BIN
Resources/Textures/Buildings/closet.rsi/fire.png
Normal file
|
After Width: | Height: | Size: 234 B |
BIN
Resources/Textures/Buildings/closet.rsi/fire_door.png
Normal file
|
After Width: | Height: | Size: 230 B |
BIN
Resources/Textures/Buildings/closet.rsi/fire_open.png
Normal file
|
After Width: | Height: | Size: 182 B |
BIN
Resources/Textures/Buildings/closet.rsi/freezer.png
Normal file
|
After Width: | Height: | Size: 263 B |