diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 85545ac8a70d..37c1df8dfba3 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,5 +1,5 @@ # hasn't specified or all -* @sleepyyapril @VMSolidus @Remuchi +* @sleepyyapril @Remuchi /.* @DEATHB4DEFEAT *.sln @DEATHB4DEFEAT @@ -95,3 +95,13 @@ /Content.*/ProjectileSystem @angelofallars /Content.*/ThrownItem @angelofallars /Content.*/ThrowEvent @angelofallars + +# Nyano Systems +/Content.*/Weapons @VMSolidus +/Content.*/Abilities/Psionics @VMSolidus +/Content.*/Psionics @VMSolidus +/Content.*/Contests @VMSolidus +/Content.*/Carrying @VMSolidus + +# Physics Stuff +/Content.*/Atmos @VMSolidus diff --git a/Content.Client/Chemistry/UI/ChemMasterBoundUserInterface.cs b/Content.Client/Chemistry/UI/ChemMasterBoundUserInterface.cs index 57bd34ed064d..ff4bd0b71087 100644 --- a/Content.Client/Chemistry/UI/ChemMasterBoundUserInterface.cs +++ b/Content.Client/Chemistry/UI/ChemMasterBoundUserInterface.cs @@ -30,8 +30,6 @@ protected override void Open() // Setup static button actions. _window.InputEjectButton.OnPressed += _ => SendMessage( new ItemSlotButtonPressedEvent(SharedChemMaster.InputSlotName)); - _window.OutputEjectButton.OnPressed += _ => SendMessage( - new ItemSlotButtonPressedEvent(SharedChemMaster.OutputSlotName)); _window.BufferTransferButton.OnPressed += _ => SendMessage( new ChemMasterSetModeMessage(ChemMasterMode.Transfer)); _window.BufferDiscardButton.OnPressed += _ => SendMessage( @@ -49,11 +47,9 @@ protected override void Open() _window.PillTypeButtons[i].OnPressed += _ => SendMessage(new ChemMasterSetPillTypeMessage(pillType)); } - _window.OnReagentButtonPressed += (_, button, amount) => SendMessage(new ChemMasterReagentAmountButtonMessage(button.Id, amount, button.IsBuffer)); + _window.OnReagentButtonPressed += (_, button, amount, isOutput) => SendMessage(new ChemMasterReagentAmountButtonMessage(button.Id, amount, button.IsBuffer, isOutput)); _window.OnSortMethodChanged += sortMethod => SendMessage(new ChemMasterSortMethodUpdated(sortMethod)); _window.OnTransferAmountChanged += amount => SendMessage(new ChemMasterTransferringAmountUpdated(amount)); - - } /// diff --git a/Content.Client/Chemistry/UI/ChemMasterWindow.xaml b/Content.Client/Chemistry/UI/ChemMasterWindow.xaml index 94e7a0e84bec..99dee5873588 100644 --- a/Content.Client/Chemistry/UI/ChemMasterWindow.xaml +++ b/Content.Client/Chemistry/UI/ChemMasterWindow.xaml @@ -2,136 +2,147 @@ xmlns:controls="clr-namespace:Content.Client.UserInterface.Controls" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:gfx="clr-namespace:Robust.Client.Graphics;assembly=Robust.Client" - MinSize="500 770" + MinSize="800 00" Title="{Loc 'chem-master-bound-user-interface-title'}"> - - - - - [DataField] - public bool TakingDamage = false; + public bool TakingDamage; [DataField] public ProtoId HotAlert = "Hot"; diff --git a/Content.Server/Temperature/Systems/TemperatureSystem.cs b/Content.Server/Temperature/Systems/TemperatureSystem.cs index ee13cb96a5e3..be6dc782408c 100644 --- a/Content.Server/Temperature/Systems/TemperatureSystem.cs +++ b/Content.Server/Temperature/Systems/TemperatureSystem.cs @@ -208,11 +208,18 @@ private void ServerAlert(EntityUid uid, AlertsComponent status, OnTemperatureCha if (args.CurrentTemperature <= idealTemp) { + // If there's no risk to being cold there's no reason to show a Cold alert + if (!temperature.ColdDamage.AnyPositive()) + return; + type = temperature.ColdAlert; threshold = temperature.ColdDamageThreshold; } else { + if (!temperature.HeatDamage.AnyPositive()) + return; + type = temperature.HotAlert; threshold = temperature.HeatDamageThreshold; } @@ -414,17 +421,3 @@ private void RecalculateAndApplyParentThresholds(EntityUid uid, return (newHeatThreshold, newColdThreshold); } } - -public sealed class OnTemperatureChangeEvent : EntityEventArgs -{ - public float CurrentTemperature { get; } - public float LastTemperature { get; } - public float TemperatureDelta { get; } - - public OnTemperatureChangeEvent(float current, float last, float delta) - { - CurrentTemperature = current; - LastTemperature = last; - TemperatureDelta = delta; - } -} diff --git a/Content.Server/Thief/Systems/ThiefUndeterminedBackpackSystem.cs b/Content.Server/Thief/Systems/ThiefUndeterminedBackpackSystem.cs index 133876bd751f..8ff49b4d10f4 100644 --- a/Content.Server/Thief/Systems/ThiefUndeterminedBackpackSystem.cs +++ b/Content.Server/Thief/Systems/ThiefUndeterminedBackpackSystem.cs @@ -1,8 +1,12 @@ using Content.Server.Thief.Components; +using Content.Shared.Customization.Systems; +using Content.Shared.Humanoid; +using Content.Shared.Roles; using Content.Shared.Item; using Content.Shared.Thief; using Robust.Server.GameObjects; using Robust.Server.Audio; +using Robust.Shared.Configuration; using Robust.Shared.Prototypes; namespace Content.Server.Thief.Systems; @@ -15,8 +19,10 @@ public sealed class ThiefUndeterminedBackpackSystem : EntitySystem { [Dependency] private readonly AudioSystem _audio = default!; [Dependency] private readonly IPrototypeManager _proto = default!; + [Dependency] private readonly IConfigurationManager _config = default!; [Dependency] private readonly SharedTransformSystem _transform = default!; [Dependency] private readonly UserInterfaceSystem _ui = default!; + [Dependency] private readonly CharacterRequirementsSystem _characterRequirements = default!; private const int MaxSelectedSets = 2; public override void Initialize() @@ -30,7 +36,7 @@ public override void Initialize() private void OnUIOpened(Entity backpack, ref BoundUIOpenedEvent args) { - UpdateUI(backpack.Owner, backpack.Comp); + UpdateUI(backpack.Owner, args.Actor, backpack.Comp); } private void OnApprove(Entity backpack, ref ThiefBackpackApproveMessage args) @@ -57,10 +63,10 @@ private void OnChangeSet(Entity backpack, re if (!backpack.Comp.SelectedSets.Remove(args.SetNumber)) backpack.Comp.SelectedSets.Add(args.SetNumber); - UpdateUI(backpack.Owner, backpack.Comp); + UpdateUI(backpack.Owner, args.Actor, backpack.Comp); } - private void UpdateUI(EntityUid uid, ThiefUndeterminedBackpackComponent? component = null) + private void UpdateUI(EntityUid uid, EntityUid user, ThiefUndeterminedBackpackComponent? component = null) { if (!Resolve(uid, ref component)) return; @@ -70,6 +76,15 @@ private void UpdateUI(EntityUid uid, ThiefUndeterminedBackpackComponent? compone for (int i = 0; i < component.PossibleSets.Count; i++) { var set = _proto.Index(component.PossibleSets[i]); + + if (set.Requirements.Count != 0 && + TryComp(user, out var appearance) && + appearance.LastProfileLoaded != null && + !_characterRequirements.CheckRequirementsValid( + set.Requirements, new JobPrototype() /* not gonna bother with jobs */, + appearance.LastProfileLoaded, new(), false, set, EntityManager, _proto, _config, out _)) + continue; + var selected = component.SelectedSets.Contains(i); var info = new ThiefBackpackSetInfo( set.Name, diff --git a/Content.Server/Traits/TraitSystem.Functions.cs b/Content.Server/Traits/TraitSystem.Functions.cs index 8306105b936d..deb3102d4ba6 100644 --- a/Content.Server/Traits/TraitSystem.Functions.cs +++ b/Content.Server/Traits/TraitSystem.Functions.cs @@ -673,5 +673,7 @@ public override void OnPlayerSpawn(EntityUid uid, if (AttackRateModifier != null) melee.AttackRate *= AttackRateModifier.Value; + + entityManager.Dirty(uid, melee); } } diff --git a/Content.Server/_DV/Abilities/Chitinid/BlockInjectionComponent.cs b/Content.Server/_DV/Abilities/Chitinid/BlockInjectionComponent.cs new file mode 100644 index 000000000000..8ba332ce765f --- /dev/null +++ b/Content.Server/_DV/Abilities/Chitinid/BlockInjectionComponent.cs @@ -0,0 +1,9 @@ +namespace Content.Server.Abilities.Chitinid; + + +[RegisterComponent] +public sealed partial class BlockInjectionComponent : Component +{ + [DataField] + public string BlockReason { get; set; } = string.Empty; +} diff --git a/Content.Server/_DV/Abilities/Chitinid/ChitinidComponent.cs b/Content.Server/_DV/Abilities/Chitinid/ChitinidComponent.cs new file mode 100644 index 000000000000..871d10a7c275 --- /dev/null +++ b/Content.Server/_DV/Abilities/Chitinid/ChitinidComponent.cs @@ -0,0 +1,41 @@ +using Content.Shared.Damage; +using Content.Shared.Damage.Prototypes; +using Content.Shared.FixedPoint; +using Robust.Shared.Prototypes; +using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; + +namespace Content.Server.Abilities.Chitinid; + +[RegisterComponent] +public sealed partial class ChitinidComponent : Component +{ + [DataField] + public EntProtoId ChitzitePrototype = "Chitzite"; + + [DataField] + public EntProtoId ChitziteActionId = "ActionChitzite"; + + [DataField] + public EntityUid? ChitziteAction; + + [DataField] + public FixedPoint2 AmountAbsorbed = 0f; + + [DataField] + public DamageSpecifier Healing = new() + { + DamageDict = new() + { + { "Radiation", -0.5 }, + } + }; + + [DataField] + public FixedPoint2 MaximumAbsorbed = 30f; + + [DataField] + public TimeSpan UpdateInterval = TimeSpan.FromSeconds(1); + + [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] + public TimeSpan NextUpdate; +} diff --git a/Content.Server/_DV/Abilities/Chitinid/ChitinidSystem.cs b/Content.Server/_DV/Abilities/Chitinid/ChitinidSystem.cs new file mode 100644 index 000000000000..34d8244d5c9b --- /dev/null +++ b/Content.Server/_DV/Abilities/Chitinid/ChitinidSystem.cs @@ -0,0 +1,97 @@ +using Content.Server.Nutrition.Components; +using Content.Shared.Actions; +using Content.Shared.Actions.Events; +using Content.Shared.Audio; +using Content.Shared.Damage; +using Content.Shared.IdentityManagement; +using Content.Shared.Inventory; +using Content.Shared.Mobs.Systems; +using Content.Shared.Popups; +using Robust.Shared.Audio.Systems; +using Robust.Shared.Prototypes; +using Robust.Shared.Timing; + +namespace Content.Server.Abilities.Chitinid; + +public sealed partial class ChitinidSystem : EntitySystem +{ + [Dependency] private readonly SharedActionsSystem _actions = default!; + [Dependency] private readonly SharedAudioSystem _audio = default!; + [Dependency] private readonly IPrototypeManager _proto = default!; + [Dependency] private readonly SharedPopupSystem _popup = default!; + [Dependency] private readonly InventorySystem _inventory = default!; + [Dependency] private readonly IGameTiming _timing = default!; + [Dependency] private readonly DamageableSystem _damageable = default!; + [Dependency] private readonly MobStateSystem _mobState = default!; + + public override void Initialize() + { + SubscribeLocalEvent(OnChitzite); + SubscribeLocalEvent(OnMapInit); + } + + public override void Update(float frameTime) + { + base.Update(frameTime); + var query = EntityQueryEnumerator(); + while (query.MoveNext(out var uid, out var chitinid, out var damageable)) + { + if (_timing.CurTime < chitinid.NextUpdate) + continue; + + chitinid.NextUpdate += chitinid.UpdateInterval; + + if (chitinid.AmountAbsorbed >= chitinid.MaximumAbsorbed || _mobState.IsDead(uid)) + continue; + + if (_damageable.TryChangeDamage(uid, chitinid.Healing, damageable: damageable) is {} delta) + { + chitinid.AmountAbsorbed += -delta.GetTotal().Float(); + if (chitinid.ChitziteAction != null && chitinid.AmountAbsorbed >= chitinid.MaximumAbsorbed) + { + _actions.SetCharges(chitinid.ChitziteAction, 1); // You get the charge back and that's it. Tough. + _actions.SetEnabled(chitinid.ChitziteAction, true); + } + } + } + + var entQuery = EntityQueryEnumerator(); + while (entQuery.MoveNext(out var ent, out var chitzite, out var chitinid)) + { + if (_timing.CurTime < chitzite.NextCough) + continue; + + Spawn(chitinid.ChitzitePrototype, Transform(ent).Coordinates); + chitinid.AmountAbsorbed = 0f; + RemCompDeferred(ent, chitzite); + } + } + + private void OnMapInit(Entity ent, ref MapInitEvent args) + { + if (ent.Comp.ChitziteAction != null) + return; + + ent.Comp.NextUpdate = _timing.CurTime + ent.Comp.UpdateInterval; + + _actions.AddAction(ent, ref ent.Comp.ChitziteAction, ent.Comp.ChitziteActionId); + } + + private void OnChitzite(Entity ent, ref ChitziteActionEvent args) + { + if (_inventory.TryGetSlotEntity(ent, "mask", out var maskUid) && + TryComp(maskUid, out var blocker) && + blocker.Enabled) + { + _popup.PopupEntity(Loc.GetString("chitzite-mask", ("mask", maskUid)), ent, ent); + return; + } + + _popup.PopupEntity(Loc.GetString("chitzite-cough", ("name", Identity.Entity(ent, EntityManager))), ent); + _audio.PlayPvs("/Audio/Animals/cat_hiss.ogg", ent, AudioHelpers.WithVariation(0.15f)); + + var chitzite = EnsureComp(ent); + chitzite.NextCough = _timing.CurTime + chitzite.CoughUpTime; + args.Handled = true; + } +} diff --git a/Content.Server/_DV/Abilities/Chitinid/CoughingUpChitziteComponent.cs b/Content.Server/_DV/Abilities/Chitinid/CoughingUpChitziteComponent.cs new file mode 100644 index 000000000000..1dae46b9437a --- /dev/null +++ b/Content.Server/_DV/Abilities/Chitinid/CoughingUpChitziteComponent.cs @@ -0,0 +1,14 @@ +using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; + +namespace Content.Server.Abilities.Chitinid; + +[RegisterComponent, AutoGenerateComponentPause] +public sealed partial class CoughingUpChitziteComponent : Component +{ + [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoPausedField] + public TimeSpan NextCough; + + [DataField] + public TimeSpan CoughUpTime = TimeSpan.FromSeconds(2.15); +} diff --git a/Content.Server/_EstacaoPirata/OpenTriggeredStorageFill/OpenTriggeredStorageFillComponent.cs b/Content.Server/_EstacaoPirata/OpenTriggeredStorageFill/OpenTriggeredStorageFillComponent.cs new file mode 100644 index 000000000000..5af24b34d85e --- /dev/null +++ b/Content.Server/_EstacaoPirata/OpenTriggeredStorageFill/OpenTriggeredStorageFillComponent.cs @@ -0,0 +1,14 @@ +using Content.Shared.Storage; +using Robust.Shared.Prototypes; + +namespace Content.Server._EstacaoPirata.OpenTriggeredStorageFill; + +/// +/// This is used for storing an item prototype to be inserted into a container when the trigger is activated. This is deleted from the entity after the item is inserted. +/// +[RegisterComponent] +public sealed partial class OpenTriggeredStorageFillComponent : Component +{ + [DataField] + public List Contents = new(); +} diff --git a/Content.Server/_EstacaoPirata/OpenTriggeredStorageFill/OpenTriggeredStorageFillSystem.cs b/Content.Server/_EstacaoPirata/OpenTriggeredStorageFill/OpenTriggeredStorageFillSystem.cs new file mode 100644 index 000000000000..bb2123cc899b --- /dev/null +++ b/Content.Server/_EstacaoPirata/OpenTriggeredStorageFill/OpenTriggeredStorageFillSystem.cs @@ -0,0 +1,67 @@ +using Content.Server.Popups; +using Content.Server.Spawners.Components; +using Content.Shared.Examine; +using Content.Shared.Interaction; +using Content.Shared.Item; +using Content.Shared.Localizations; +using Content.Shared.Prototypes; +using Content.Shared.Storage; +using Content.Shared.Storage.EntitySystems; +using Robust.Shared.Prototypes; +using Robust.Shared.Utility; + +namespace Content.Server._EstacaoPirata.OpenTriggeredStorageFill; + +/// +/// This handles... +/// +public sealed class OpenTriggeredStorageFillSystem : EntitySystem +{ + + [Dependency] private readonly SharedStorageSystem _storage = default!; + [Dependency] private readonly PopupSystem _popup = default!; + [Dependency] private readonly IPrototypeManager _prototype = default!; + + /// + public override void Initialize() + { + SubscribeLocalEvent(OnOpenEvent); + SubscribeLocalEvent(OnExamineEvent); + } + + private void OnExamineEvent(EntityUid uid, OpenTriggeredStorageFillComponent component, ExaminedEvent args) + { + args.PushText(Loc.GetString("container-sealed")); + } + + //Yes, that's a copy of StorageSystem StorageFill method + private void OnOpenEvent(EntityUid uid, OpenTriggeredStorageFillComponent comp, ActivateInWorldEvent args) + { + Log.Debug($"Processing storage fill trigger for entity {ToPrettyString(uid)}"); + + var coordinates = Transform(uid).Coordinates; + + var spawnItems = EntitySpawnCollection.GetSpawns(comp.Contents); + foreach (var item in spawnItems) + { + DebugTools.Assert(!_prototype.Index(item) + .HasComponent(typeof(RandomSpawnerComponent))); + var ent = Spawn(item, coordinates); + + if (!TryComp(ent, out var itemComp)) + { + Log.Error($"Tried to fill {ToPrettyString(uid)} with non-item {item}."); + Del(ent); + continue; + } + if (!_storage.Insert(uid, ent, out var remainingEnt, out var reason, playSound: false)) + { + Log.Error($"Failed to fill {ToPrettyString(uid)} with {ToPrettyString(ent)}. Reason: {reason}"); + // Clean up the spawned entity if insertion fails + Del(ent); + } + } + _popup.PopupEntity(Loc.GetString("container-unsealed"), args.Target); + RemComp(uid, comp); + } +} diff --git a/Content.Shared/Actions/BaseActionComponent.cs b/Content.Shared/Actions/BaseActionComponent.cs index 720900b78400..481c4e80753d 100644 --- a/Content.Shared/Actions/BaseActionComponent.cs +++ b/Content.Shared/Actions/BaseActionComponent.cs @@ -1,4 +1,4 @@ -using Robust.Shared.Audio; +using Robust.Shared.Audio; using Robust.Shared.Prototypes; using Robust.Shared.Serialization; using Robust.Shared.Utility; @@ -26,6 +26,16 @@ public abstract partial class BaseActionComponent : Component /// [DataField("iconOn")] public SpriteSpecifier? IconOn; + /// + /// For actions with a cooldown, icon to show when the action is on cooldown. + /// + [DataField] public SpriteSpecifier? IconCooldown; + + /// + /// For actions with a cooldown, icon to show when the action is disabled. + /// + [DataField] public SpriteSpecifier? IconDisabled; + /// /// For toggle actions only, background to show when toggled on. /// diff --git a/Content.Shared/Actions/SharedActionsSystem.cs b/Content.Shared/Actions/SharedActionsSystem.cs index 8cede391a809..3181635e4160 100644 --- a/Content.Shared/Actions/SharedActionsSystem.cs +++ b/Content.Shared/Actions/SharedActionsSystem.cs @@ -340,6 +340,17 @@ public void ResetCharges(EntityUid? actionId) Dirty(actionId.Value, action); } + public void SetMaxCharges(EntityUid? actionId, int? maxCharges) + { + if (!TryGetActionData(actionId, out var action) || + action.MaxCharges == maxCharges) + return; + + action.MaxCharges = maxCharges; + UpdateAction(actionId, action); + Dirty(actionId.Value, action); + } + private void OnActionsGetState(EntityUid uid, ActionsComponent component, ref ComponentGetState args) { args.State = new ActionsComponentState(GetNetEntitySet(component.Actions)); diff --git a/Content.Shared/Charges/Systems/SharedChargesSystem.cs b/Content.Shared/Charges/Systems/SharedChargesSystem.cs index 7f95ef184e49..ce47fee4f46a 100644 --- a/Content.Shared/Charges/Systems/SharedChargesSystem.cs +++ b/Content.Shared/Charges/Systems/SharedChargesSystem.cs @@ -80,6 +80,23 @@ public bool TryUseCharge(Entity ent) return true; } + /// + /// Sets the charges and max charges. + /// + public void SetCharges(Entity ent, int? charges, int? maxCharges) + { + if (!Query.Resolve(ent, ref ent.Comp, false)) + return; + + if (charges != null) + ent.Comp.Charges = charges.Value; + + if (maxCharges != null) + ent.Comp.MaxCharges = maxCharges.Value; + + Dirty(ent, ent.Comp); + } + /// /// Gets the limited charges component and returns true if the number of charges remaining is less than the specified value. /// Will return false if there is no limited charges component. diff --git a/Content.Shared/Chemistry/SharedChemMaster.cs b/Content.Shared/Chemistry/SharedChemMaster.cs index b98a337204d0..c79a362a9d1e 100644 --- a/Content.Shared/Chemistry/SharedChemMaster.cs +++ b/Content.Shared/Chemistry/SharedChemMaster.cs @@ -11,6 +11,7 @@ public sealed class SharedChemMaster { public const uint PillTypes = 20; public const string BufferSolutionName = "buffer"; + public const string PillBufferSolutionName = "pillBuffer"; public const string InputSlotName = "beakerSlot"; public const string OutputSlotName = "outputSlot"; public const string PillSolutionName = "food"; @@ -46,12 +47,14 @@ public sealed class ChemMasterReagentAmountButtonMessage : BoundUserInterfaceMes public readonly ReagentId ReagentId; public readonly int Amount; public readonly bool FromBuffer; + public readonly bool IsOutput; - public ChemMasterReagentAmountButtonMessage(ReagentId reagentId, int amount, bool fromBuffer) + public ChemMasterReagentAmountButtonMessage(ReagentId reagentId, int amount, bool fromBuffer, bool isOutput) { ReagentId = reagentId; Amount = amount; FromBuffer = fromBuffer; + IsOutput = isOutput; } } @@ -101,34 +104,6 @@ public enum ChemMasterMode Discard, } - public enum ChemMasterReagentAmount - { - U1 = 1, - U5 = 5, - U10 = 10, - U15 = 15, - U20 = 20, - U25 = 25, - U30 = 30, - U45 = 45, - U50 = 50, - U75 = 75, - U90 = 90, - U100 = 100, - All, - } - - public static class ChemMasterReagentAmountToFixedPoint - { - public static FixedPoint2 GetFixedPoint(this ChemMasterReagentAmount amount) - { - if (amount == ChemMasterReagentAmount.All) - return FixedPoint2.MaxValue; - else - return FixedPoint2.New((int)amount); - } - } - /// /// Information about the capacity and contents of a container for display in the UI /// @@ -166,44 +141,44 @@ public ContainerInfo(string displayName, FixedPoint2 currentVolume, FixedPoint2 } [Serializable, NetSerializable] - public sealed class ChemMasterBoundUserInterfaceState : BoundUserInterfaceState + public sealed class ChemMasterBoundUserInterfaceState( + ChemMasterMode mode, + ContainerInfo? containerInfo, + IReadOnlyList bufferReagents, + IReadOnlyList pillBufferReagents, + FixedPoint2 bufferCurrentVolume, + FixedPoint2 pillBufferCurrentVolume, + uint selectedPillType, + uint pillDosageLimit, + bool updateLabel, + int sortMethod, + int transferringAmount) + : BoundUserInterfaceState { - public readonly ContainerInfo? InputContainerInfo; - public readonly ContainerInfo? OutputContainerInfo; + public readonly ContainerInfo? ContainerInfo = containerInfo; /// /// A list of the reagents and their amounts within the buffer, if applicable. /// - public readonly IReadOnlyList BufferReagents; + public readonly IReadOnlyList BufferReagents = bufferReagents; - public readonly ChemMasterMode Mode; + /// + /// A list of the reagents and their amounts within the buffer, if applicable. + /// + public readonly IReadOnlyList PillBufferReagents = pillBufferReagents; - public readonly FixedPoint2? BufferCurrentVolume; - public readonly uint SelectedPillType; + public readonly ChemMasterMode Mode = mode; - public readonly uint PillDosageLimit; + public readonly FixedPoint2? BufferCurrentVolume = bufferCurrentVolume; + public readonly FixedPoint2? PillBufferCurrentVolume = pillBufferCurrentVolume; + public readonly uint SelectedPillType = selectedPillType; - public readonly bool UpdateLabel; + public readonly uint PillDosageLimit = pillDosageLimit; - public readonly int SortMethod; - public readonly int TransferringAmount; + public readonly bool UpdateLabel = updateLabel; - public ChemMasterBoundUserInterfaceState( - ChemMasterMode mode, ContainerInfo? inputContainerInfo, ContainerInfo? outputContainerInfo, - IReadOnlyList bufferReagents, FixedPoint2 bufferCurrentVolume, - uint selectedPillType, uint pillDosageLimit, bool updateLabel, int sortMethod, int transferringAmount) - { - InputContainerInfo = inputContainerInfo; - OutputContainerInfo = outputContainerInfo; - BufferReagents = bufferReagents; - Mode = mode; - BufferCurrentVolume = bufferCurrentVolume; - SelectedPillType = selectedPillType; - PillDosageLimit = pillDosageLimit; - UpdateLabel = updateLabel; - SortMethod = sortMethod; - TransferringAmount = transferringAmount; - } + public readonly int SortMethod = sortMethod; + public readonly int TransferringAmount = transferringAmount; } [Serializable, NetSerializable] diff --git a/Content.Shared/Clothing/Components/HideLayerClothingComponent.cs b/Content.Shared/Clothing/Components/HideLayerClothingComponent.cs index c76214f13189..304dd2a3e847 100644 --- a/Content.Shared/Clothing/Components/HideLayerClothingComponent.cs +++ b/Content.Shared/Clothing/Components/HideLayerClothingComponent.cs @@ -16,6 +16,12 @@ public sealed partial class HideLayerClothingComponent : Component [DataField] public HashSet Slots = new(); + /// + /// The clothing layers to hide. + /// + [DataField] + public HashSet? ClothingSlots = new(); + /// /// If true, the layer will only hide when the item is in a toggled state (e.g. masks) /// diff --git a/Content.Shared/Clothing/Loadouts/Systems/SharedLoadoutSystem.cs b/Content.Shared/Clothing/Loadouts/Systems/SharedLoadoutSystem.cs index 67aabbd1ed1d..12466dcf8980 100644 --- a/Content.Shared/Clothing/Loadouts/Systems/SharedLoadoutSystem.cs +++ b/Content.Shared/Clothing/Loadouts/Systems/SharedLoadoutSystem.cs @@ -1,4 +1,5 @@ using System.Linq; +using Content.Shared.Body.Systems; using Content.Shared.Clothing.Components; using Content.Shared.Clothing.Loadouts.Prototypes; using Content.Shared.Customization.Systems; @@ -32,7 +33,8 @@ public override void Initialize() { base.Initialize(); - SubscribeLocalEvent(OnMapInit); + // Wait until the character has all their organs before we give them their loadout to activate internals + SubscribeLocalEvent(OnMapInit, after: [typeof(SharedBodySystem)]); _sawmill = _log.GetSawmill("loadouts"); } @@ -112,7 +114,7 @@ private void OnMapInit(EntityUid uid, LoadoutComponent component, MapInitEvent a } allLoadouts.Add((item, loadout, i)); - if (loadout.CustomHeirloom == true) + if (i == 0 && loadout.CustomHeirloom == true) // Only the first item can be an heirloom heirlooms.Add((item, loadout)); // Equip it diff --git a/Content.Shared/Customization/Systems/CharacterRequirementsSystem.cs b/Content.Shared/Customization/Systems/CharacterRequirementsSystem.cs index 586fc139a023..533975f7409f 100644 --- a/Content.Shared/Customization/Systems/CharacterRequirementsSystem.cs +++ b/Content.Shared/Customization/Systems/CharacterRequirementsSystem.cs @@ -92,6 +92,6 @@ public bool CanEntityWearItem(EntityUid dummy, EntityUid clothing, bool bypassAc { return _inventory.TryGetSlots(dummy, out var slots) && slots.Where(slot => !slot.SlotFlags.HasFlag(SlotFlags.POCKET)) - .Any(slot => _inventory.CanEquip(dummy, clothing, slot.Name, out _, bypassAccessCheck: bypassAccessCheck)); + .Any(slot => _inventory.CanEquip(dummy, clothing, slot.Name, out _, onSpawn: true, bypassAccessCheck: bypassAccessCheck)); } } diff --git a/Content.Shared/Effects/ColorFlashEffectEvent.cs b/Content.Shared/Effects/ColorFlashEffectEvent.cs index 06043d3c000a..0a4e2c1812d4 100644 --- a/Content.Shared/Effects/ColorFlashEffectEvent.cs +++ b/Content.Shared/Effects/ColorFlashEffectEvent.cs @@ -15,9 +15,15 @@ public sealed class ColorFlashEffectEvent : EntityEventArgs public List Entities; - public ColorFlashEffectEvent(Color color, List entities) + /// + /// The length of the flash animation. + /// + public float? AnimationLength; + + public ColorFlashEffectEvent(Color color, List entities, float? animationLength = null) { Color = color; Entities = entities; + AnimationLength = animationLength; } } diff --git a/Content.Shared/Effects/SharedColorFlashEffectSystem.cs b/Content.Shared/Effects/SharedColorFlashEffectSystem.cs index e1d5735550ee..3b5940b677c8 100644 --- a/Content.Shared/Effects/SharedColorFlashEffectSystem.cs +++ b/Content.Shared/Effects/SharedColorFlashEffectSystem.cs @@ -4,5 +4,5 @@ namespace Content.Shared.Effects; public abstract class SharedColorFlashEffectSystem : EntitySystem { - public abstract void RaiseEffect(Color color, List entities, Filter filter); + public abstract void RaiseEffect(Color color, List entities, Filter filter, float? animationLength = null); } diff --git a/Content.Shared/Humanoid/NamingSystem.Roman.cs b/Content.Shared/Humanoid/NamingSystem.Roman.cs new file mode 100644 index 000000000000..2c254fff9034 --- /dev/null +++ b/Content.Shared/Humanoid/NamingSystem.Roman.cs @@ -0,0 +1,70 @@ +using System.Text; +using Robust.Shared.Random; + +namespace Content.Shared.Humanoid; + +public sealed partial class NamingSystem : EntitySystem +{ + private static readonly Dictionary RomanMap = new() + { + { "M", 1000 }, + { "CM", 900 }, + { "D", 500 }, + { "CD", 400 }, + { "C", 100 }, + { "XC", 90 }, + { "L", 50 }, + { "XL", 40 }, + { "X", 10 }, + { "IX", 9 }, + { "V", 5 }, + { "IV", 4 }, + { "I", 1 } + }; + + // + // Generates a random Roman numeral with a length not exceeding 8 characters. + // All possible Roman numerals from 1 to 3,999 can be generated, + // but numbers from 1 to 100 have a higher chance of being rolled. + // + private string GenerateRomanNumeral() + { + (int, int) range; + while (true) + { + if (_random.Prob(0.8f)) // 80% chance for 1-100 + range = (1, 101); + else if (_random.Prob(0.6f)) // 12% chance for 101-500 + range = (101, 501); + else if (_random.Prob(0.75f)) // 6% chance for 501-1,000 + range = (501, 1001); + else // 2% chance for 1,001-3,999 + range = (1001, 4000); + + var numeral = IntToRomanNumeral(_random.Next(range.Item1, range.Item2)); + + // Reroll when the numeral length is greater than 8 to prevent lengthy Roman numerals + if (numeral.Length > 8) + continue; + + return numeral; + } + } + + // + // Converts an integer to a Roman numeral. + // + private static string IntToRomanNumeral(int number) + { + var sb = new StringBuilder(); + foreach (var (letters, equivalentNumber) in RomanMap) + { + while (number >= equivalentNumber) + { + sb.Append(letters); + number -= equivalentNumber; + } + } + return sb.ToString(); + } +} diff --git a/Content.Shared/Humanoid/NamingSystem.cs b/Content.Shared/Humanoid/NamingSystem.cs index c1e861c0d684..d27411852bfc 100644 --- a/Content.Shared/Humanoid/NamingSystem.cs +++ b/Content.Shared/Humanoid/NamingSystem.cs @@ -9,7 +9,7 @@ namespace Content.Shared.Humanoid /// /// Figure out how to name a humanoid with these extensions. /// - public sealed class NamingSystem : EntitySystem + public sealed partial class NamingSystem : EntitySystem { [Dependency] private readonly IRobustRandom _random = default!; [Dependency] private readonly IPrototypeManager _prototypeManager = default!; @@ -43,6 +43,9 @@ public string GetName(string species, Gender? gender = null) case SpeciesNaming.FirstDashLast: return Loc.GetString("namepreset-firstdashlast", ("first", GetFirstName(speciesProto, gender)), ("last", GetLastName(speciesProto))); + case SpeciesNaming.FirstRoman: + return Loc.GetString("namepreset-firstlast", + ("first", GetFirstName(speciesProto, gender)), ("last", GenerateRomanNumeral())); case SpeciesNaming.FirstLast: default: return Loc.GetString("namepreset-firstlast", diff --git a/Content.Shared/Humanoid/Prototypes/SpeciesPrototype.cs b/Content.Shared/Humanoid/Prototypes/SpeciesPrototype.cs index 36b1e2387b72..fb44c2904db5 100644 --- a/Content.Shared/Humanoid/Prototypes/SpeciesPrototype.cs +++ b/Content.Shared/Humanoid/Prototypes/SpeciesPrototype.cs @@ -192,4 +192,5 @@ public enum SpeciesNaming : byte //End of Nyano - Summary: for Oni naming TheFirstofLast, FirstDashLast, + FirstRoman, } diff --git a/Content.Shared/Inventory/InventorySystem.Equip.cs b/Content.Shared/Inventory/InventorySystem.Equip.cs index 9e45547beeda..cfcb156455b8 100644 --- a/Content.Shared/Inventory/InventorySystem.Equip.cs +++ b/Content.Shared/Inventory/InventorySystem.Equip.cs @@ -228,11 +228,11 @@ public bool CanAccess(EntityUid actor, EntityUid target, EntityUid itemUid) public bool CanEquip(EntityUid uid, EntityUid itemUid, string slot, [NotNullWhen(false)] out string? reason, SlotDefinition? slotDefinition = null, InventoryComponent? inventory = null, - ClothingComponent? clothing = null, ItemComponent? item = null, bool bypassAccessCheck = false) => - CanEquip(uid, uid, itemUid, slot, out reason, slotDefinition, inventory, clothing, item, bypassAccessCheck); + ClothingComponent? clothing = null, ItemComponent? item = null, bool onSpawn = false, bool bypassAccessCheck = false) => + CanEquip(uid, uid, itemUid, slot, out reason, slotDefinition, inventory, clothing, item, onSpawn, bypassAccessCheck); public bool CanEquip(EntityUid actor, EntityUid target, EntityUid itemUid, string slot, [NotNullWhen(false)] out string? reason, SlotDefinition? slotDefinition = null, - InventoryComponent? inventory = null, ClothingComponent? clothing = null, ItemComponent? item = null, bool bypassAccessCheck = false) + InventoryComponent? inventory = null, ClothingComponent? clothing = null, ItemComponent? item = null, bool onSpawn = false, bool bypassAccessCheck = false) { reason = "inventory-component-can-equip-cannot"; if (!Resolve(target, ref inventory, false)) @@ -278,6 +278,11 @@ public bool CanEquip(EntityUid actor, EntityUid target, EntityUid itemUid, strin return false; } + if (onSpawn && + (_whitelistSystem.IsWhitelistFail(slotDefinition.SpawnWhitelist, itemUid) || + _whitelistSystem.IsBlacklistPass(slotDefinition.SpawnBlacklist, itemUid))) + return false; + var attemptEvent = new IsEquippingAttemptEvent(actor, target, itemUid, slotDefinition); RaiseLocalEvent(target, attemptEvent, true); if (attemptEvent.Cancelled) diff --git a/Content.Shared/Inventory/InventoryTemplatePrototype.cs b/Content.Shared/Inventory/InventoryTemplatePrototype.cs index 91accec8c93e..ae1269cbd0ba 100644 --- a/Content.Shared/Inventory/InventoryTemplatePrototype.cs +++ b/Content.Shared/Inventory/InventoryTemplatePrototype.cs @@ -60,4 +60,19 @@ public sealed partial class SlotDefinition /// Entity blacklist for CanEquip checks. /// [DataField("blacklist")] public EntityWhitelist? Blacklist = null; + + /// + /// Entity whitelist for CanEquip checks, on spawn only. + /// + [DataField("spawnWhitelist")] public EntityWhitelist? SpawnWhitelist = null; + + /// + /// Entity blacklist for CanEquip checks, on spawn only. + /// + [DataField("spawnBlacklist")] public EntityWhitelist? SpawnBlacklist = null; + + /// + /// Is this slot disabled? Could be due to severing or other reasons. + /// + [DataField] public bool Disabled; } diff --git a/Content.Shared/Mind/Components/MindContainerComponent.cs b/Content.Shared/Mind/Components/MindContainerComponent.cs index 62b26cbd3535..be6ad6b125ac 100644 --- a/Content.Shared/Mind/Components/MindContainerComponent.cs +++ b/Content.Shared/Mind/Components/MindContainerComponent.cs @@ -37,6 +37,12 @@ public sealed partial class MindContainerComponent : Component [DataField("ghostOnShutdown")] [Access(typeof(SharedMindSystem), Other = AccessPermissions.ReadWriteExecute)] // FIXME Friends public bool GhostOnShutdown { get; set; } = true; + + /// + /// DeltaV: The first mind to control this mob. Will only be null if the mob never had a mind at all. + /// + [DataField, AutoNetworkedField] + public EntityUid? OriginalMind; } public abstract class MindEvent : EntityEventArgs diff --git a/Content.Shared/Roles/JobPrototype.cs b/Content.Shared/Roles/JobPrototype.cs index 5ea9da02247b..54889a3c30ee 100644 --- a/Content.Shared/Roles/JobPrototype.cs +++ b/Content.Shared/Roles/JobPrototype.cs @@ -106,6 +106,12 @@ public sealed partial class JobPrototype : IPrototype [DataField] public ProtoId? NameDataset; + /// + /// A list of requirements that when satisfied, add or replace from the base starting gear. + /// + [DataField("conditionalStartingGear")] + public List? ConditionalStartingGears { get; private set; } + /// /// Use this to spawn in as a non-humanoid (borg, test subject, etc.) /// Starting gear will be ignored. @@ -120,6 +126,9 @@ public sealed partial class JobPrototype : IPrototype [DataField("special", serverOnly: true)] public JobSpecial[] Special { get; private set; } = Array.Empty(); + [DataField("afterLoadoutSpecial", serverOnly: true)] + public JobSpecial[] AfterLoadoutSpecial { get; private set; } = []; + [DataField("access")] public IReadOnlyCollection> Access { get; private set; } = Array.Empty>(); @@ -142,6 +151,25 @@ public sealed partial class JobPrototype : IPrototype public bool ApplyTraits = true; } + /// + /// Starting gear that will only be applied upon satisfying requirements. + /// + [DataDefinition] + public sealed partial class ConditionalStartingGear + { + /// + /// The requirements to check. + /// + [DataField(required: true)] + public List Requirements; + + /// + /// The starting gear to apply, replacing the equivalent slots. + /// + [DataField(required: true)] + public ProtoId Id { get; private set; } + } + /// /// Sorts s appropriately for display in the UI, /// respecting their . diff --git a/Content.Shared/Roles/StartingGearPrototype.cs b/Content.Shared/Roles/StartingGearPrototype.cs index 61ad7940d711..fca4849467dd 100644 --- a/Content.Shared/Roles/StartingGearPrototype.cs +++ b/Content.Shared/Roles/StartingGearPrototype.cs @@ -1,3 +1,4 @@ +using Content.Shared.Customization.Systems; using Content.Shared.Preferences; using Robust.Shared.Prototypes; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.Array; @@ -8,6 +9,7 @@ namespace Content.Shared.Roles; public sealed partial class StartingGearPrototype : IPrototype, IInheritingPrototype { [DataField] + [AlwaysPushInheritance] public Dictionary Equipment = new(); /// @@ -23,14 +25,32 @@ public sealed partial class StartingGearPrototype : IPrototype, IInheritingProto public EntProtoId? Duffelbag; [DataField] + [AlwaysPushInheritance] public List Inhand = new(0); /// /// Inserts entities into the specified slot's storage (if it does have storage). /// [DataField] + [AlwaysPushInheritance] public Dictionary> Storage = new(); + /// + /// The list of starting gears that overwrite the entries on this starting gear + /// if their requirements are satisfied. + /// + [DataField("subGear")] + [AlwaysPushInheritance] + public List> SubGears = new(); + + /// + /// The requirements of this starting gear. + /// Only used if this starting gear is a sub-gear of another starting gear. + /// + [DataField] + [AlwaysPushInheritance] + public List Requirements = new(); + [ViewVariables] [IdDataField] public string ID { get; private set; } = string.Empty; @@ -41,6 +61,7 @@ public sealed partial class StartingGearPrototype : IPrototype, IInheritingProto /// [AbstractDataField] + [NeverPushInheritance] public bool Abstract { get; } public string GetGear(string slot, HumanoidCharacterProfile? profile) diff --git a/Content.Shared/SelfExtinguisher/SelfExtinguisherComponent.cs b/Content.Shared/SelfExtinguisher/SelfExtinguisherComponent.cs new file mode 100644 index 000000000000..ef60622f3269 --- /dev/null +++ b/Content.Shared/SelfExtinguisher/SelfExtinguisherComponent.cs @@ -0,0 +1,66 @@ +using Robust.Shared.Audio; +using Robust.Shared.GameStates; +using Robust.Shared.Prototypes; +using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; + +namespace Content.Shared.SelfExtinguisher; + +/// +/// When equipped, the SelfExtinguisherComponent will give an action to its wearer to self-extinguish when set on fire. +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState, AutoGenerateComponentPause] +public sealed partial class SelfExtinguisherComponent : Component +{ + /// + /// Action used to self-extinguish. + /// + [DataField, AutoNetworkedField] + public EntProtoId Action = "ActionSelfExtinguish"; + + [DataField, AutoNetworkedField] + public EntityUid? ActionEntity; + + /// + /// Cooldown before the self-extinguisher can be used again. + /// + [DataField(required: true)] + public TimeSpan Cooldown; + + /// + /// Time before the self-extinguisher can be used again. + /// + [DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), AutoNetworkedField, AutoPausedField] + public TimeSpan NextExtinguish = TimeSpan.Zero; + + /// + /// When failing self-extinguish attempts, + /// don't spam popups every frame and instead have a cooldown. + /// + [DataField] + public TimeSpan PopupCooldown = TimeSpan.FromSeconds(1); + + /// + /// Time before the next popup can be shown. + /// + [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoPausedField] + public TimeSpan? NextPopup = null; + + /// + /// If true, requires the wearer to be immune to gas ignition. + /// + [DataField] + public bool RequiresIgniteFromGasImmune = false; + + /// + /// The sound effect that plays upon an extinguish. + /// + [DataField(required: true)] + public SoundSpecifier Sound { get; private set; } = default!; + + /// + /// The sound effect that plays upon getting refilled. + /// + [DataField] + public SoundSpecifier RefillSound = new SoundPathSpecifier("/Audio/Weapons/Guns/MagIn/revolver_magin.ogg"); +} diff --git a/Content.Shared/SelfExtinguisher/SelfExtinguisherRefillComponent.cs b/Content.Shared/SelfExtinguisher/SelfExtinguisherRefillComponent.cs new file mode 100644 index 000000000000..30cea16e570b --- /dev/null +++ b/Content.Shared/SelfExtinguisher/SelfExtinguisherRefillComponent.cs @@ -0,0 +1,14 @@ +namespace Content.Shared.SelfExtinguisher; + +/// +/// Used to refill the charges of self-extinguishers. +/// +[RegisterComponent] +public sealed partial class SelfExtinguisherRefillComponent : Component +{ + // + // The amount of charges to refill. + // + [DataField(required: true)] + public int RefillAmount; +} diff --git a/Content.Shared/SelfExtinguisher/SharedSelfExtinguisherSystem.cs b/Content.Shared/SelfExtinguisher/SharedSelfExtinguisherSystem.cs new file mode 100644 index 000000000000..2aee19202aa5 --- /dev/null +++ b/Content.Shared/SelfExtinguisher/SharedSelfExtinguisherSystem.cs @@ -0,0 +1,167 @@ +using Content.Shared.Actions; +using Content.Shared.Charges.Components; +using Content.Shared.Charges.Systems; +using Content.Shared.Examine; +using Content.Shared.Interaction; +using Content.Shared.Inventory; +using Content.Shared.Popups; +using Content.Shared.Verbs; +using Robust.Shared.Audio.Systems; +using Robust.Shared.Timing; +using Robust.Shared.Utility; + +namespace Content.Shared.SelfExtinguisher; + +public abstract partial class SharedSelfExtinguisherSystem : EntitySystem +{ + [Dependency] private readonly IGameTiming _timing = default!; + [Dependency] private readonly SharedActionsSystem _actions = default!; + [Dependency] private readonly ActionContainerSystem _actionContainer = default!; + [Dependency] private readonly InventorySystem _inventory = default!; + [Dependency] private readonly SharedPopupSystem _popup = default!; + [Dependency] private readonly SharedChargesSystem _charges = default!; + [Dependency] private readonly SharedAudioSystem _audio = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnMapInit); + + SubscribeLocalEvent>>(GetRelayedVerbs); + SubscribeLocalEvent(OnGetActions); + SubscribeLocalEvent>(OnGetVerbs); + + SubscribeLocalEvent(OnInteractUsing); + + SubscribeLocalEvent(OnExamined); + } + + private void OnMapInit(EntityUid uid, SelfExtinguisherComponent component, MapInitEvent args) + { + if (!_actionContainer.EnsureAction(uid, ref component.ActionEntity, out _, component.Action)) + return; + + // The components SelfExtinguisherComponent and LimitedChargesComponent will be the source of truth + // regarding the cooldowns and charges, and the action component will just mirror any changes. + _actions.SetUseDelay(component.ActionEntity, component.Cooldown); + if (TryComp(uid, out var charges)) + { + _actions.SetCharges(component.ActionEntity, charges.Charges); + _actions.SetMaxCharges(component.ActionEntity, charges.MaxCharges); + } + } + + public void SetCharges(EntityUid uid, int? charges, int? maxCharges, SelfExtinguisherComponent? component = null) + { + if (!Resolve(uid, ref component) || + !TryComp(uid, out var chargeComp)) + return; + + _charges.SetCharges((uid, chargeComp), charges, maxCharges); + _actions.SetCharges(component.ActionEntity, chargeComp.Charges); + _actions.SetMaxCharges(component.ActionEntity, chargeComp.MaxCharges); + + _actions.SetEnabled(component.ActionEntity, chargeComp.Charges != 0); + } + + private void GetRelayedVerbs(EntityUid uid, SelfExtinguisherComponent component, InventoryRelayedEvent> args) + { + OnGetVerbs(uid, component, args.Args); + } + + private void OnGetVerbs(EntityUid uid, SelfExtinguisherComponent component, GetVerbsEvent args) + { + if (!_inventory.TryGetContainingSlot(uid, out var _)) + return; + + var verb = new EquipmentVerb() + { + Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/VerbIcons/extinguisher.svg.192dpi.png")), + Text = Loc.GetString("self-extinguisher-verb"), + EventTarget = uid, + ExecutionEventArgs = new SelfExtinguishEvent() { Performer = args.User } + }; + + args.Verbs.Add(verb); + } + + private void OnGetActions(EntityUid uid, SelfExtinguisherComponent component, GetItemActionsEvent args) + { + if (component.ActionEntity == null || args.InHands) + return; + + args.AddAction(component.ActionEntity.Value); + } + + private void OnInteractUsing(EntityUid uid, SelfExtinguisherComponent component, InteractUsingEvent args) + { + if (!TryComp(args.Used, out var refill) || + !TryComp(uid, out var charges)) + return; + + if (charges.Charges >= charges.MaxCharges) + { + if (!SetPopupCooldown((uid, component))) + return; + + _popup.PopupClient(Loc.GetString("self-extinguisher-refill-full"), args.User, args.User); + return; + } + + // Add charges + _charges.AddCharges(uid, refill.RefillAmount, charges); + _actions.SetCharges(component.ActionEntity, charges.Charges); + + // Reenable action + _actions.SetEnabled(component.ActionEntity, charges.Charges != 0); + + // Reset cooldown + _actions.ClearCooldown(component.ActionEntity); + component.NextExtinguish = TimeSpan.Zero; + + Dirty(uid, component); + + _popup.PopupClient(Loc.GetString("self-extinguisher-refill"), args.User, args.User); + _audio.PlayPredicted(component.RefillSound, uid, args.User); + + QueueDel(args.Used); + } + + private void OnExamined(EntityUid uid, SelfExtinguisherComponent component, ExaminedEvent args) + { + if (TryComp(uid, out var charges) && charges.Charges == 0) + return; + + var curTime = _timing.CurTime; + if (component.NextExtinguish > curTime) + { + args.PushMarkup(Loc.GetString("self-extinguisher-examine-cooldown-recharging", + ("cooldown", Math.Ceiling((component.NextExtinguish - curTime).TotalSeconds)))); + return; + } + + args.PushMarkup(Loc.GetString("self-extinguisher-examine-cooldown-ready")); + } + + // + // Returns: + // - true if a popup is ready to be shown. The popup cooldown is also set. + // - false if popups are still on cooldown + // + protected bool SetPopupCooldown(Entity ent, TimeSpan? curTime = null) + { + curTime ??= _timing.CurTime; + + if (curTime < ent.Comp.NextPopup) + return false; + + ent.Comp.NextPopup = curTime + ent.Comp.PopupCooldown; + return true; + } +} + +// +// Raised on an attempt to self-extinguish. +// +public sealed partial class SelfExtinguishEvent : InstantActionEvent { } diff --git a/Content.Shared/Station/SharedStationSpawningSystem.cs b/Content.Shared/Station/SharedStationSpawningSystem.cs index c433cc1d4fe8..9af87376b060 100644 --- a/Content.Shared/Station/SharedStationSpawningSystem.cs +++ b/Content.Shared/Station/SharedStationSpawningSystem.cs @@ -1,13 +1,18 @@ +using System.Diagnostics.CodeAnalysis; using System.Linq; using Content.Shared.Dataset; +using Content.Shared.Customization.Systems; using Content.Shared.Hands.Components; using Content.Shared.Hands.EntitySystems; +using Content.Shared.Humanoid; using Content.Shared.Inventory; +using Content.Shared.Preferences; using Content.Shared.Preferences.Loadouts; using Content.Shared.Roles; using Content.Shared.Storage; using Content.Shared.Storage.EntitySystems; using Robust.Shared.Collections; +using Robust.Shared.Configuration; using Robust.Shared.Prototypes; using Robust.Shared.Random; using Robust.Shared.Utility; @@ -23,6 +28,8 @@ public abstract class SharedStationSpawningSystem : EntitySystem [Dependency] private readonly SharedStorageSystem _storage = default!; [Dependency] private readonly SharedTransformSystem _xformSystem = default!; [Dependency] private readonly MetaDataSystem _metadata = default!; + [Dependency] private readonly IConfigurationManager _configurationManager = default!; + [Dependency] private readonly CharacterRequirementsSystem _characterRequirements = default!; private EntityQuery _handsQuery; private EntityQuery _inventoryQuery; @@ -78,6 +85,10 @@ public void EquipStartingGear(EntityUid entity, StartingGearPrototype? startingG if (startingGear == null) return; + if (GetProfile(entity, out var profile)) + // Equip any sub-gears of this starting gear. + startingGear = ApplySubGear(startingGear, profile); + var xform = _xformQuery.GetComponent(entity); if (InventorySystem.TryGetSlots(entity, out var slotDefinitions)) @@ -143,4 +154,108 @@ public void EquipStartingGear(EntityUid entity, StartingGearPrototype? startingG RaiseLocalEvent(entity, ref ev); } } + + public bool GetProfile(EntityUid? uid, [NotNullWhen(true)] out HumanoidCharacterProfile? profile) + { + if (!TryComp(uid, out HumanoidAppearanceComponent? appearance)) + { + profile = null; + return false; + } + + if (appearance.LastProfileLoaded is { } lastProfileLoaded) + { + profile = lastProfileLoaded; + return true; + } + + profile = HumanoidCharacterProfile.DefaultWithSpecies(appearance.Species); + return true; + } + + // + // Apply a starting gear's sub-gears to itself, returning a new starting gear prototype with + // replaced equipment. + // + public StartingGearPrototype ApplySubGear(StartingGearPrototype startingGear, HumanoidCharacterProfile profile, JobPrototype? job = null) + { + if (startingGear.SubGears.Count == 0) + return startingGear; + + // Job can be null for cases like ghost roles' starting gear which do not have a job definition. + job ??= new JobPrototype(); + + var newStartingGear = startingGear; + var foundConditionalMatch = false; + + foreach (var subGear in startingGear.SubGears) + { + if (!PrototypeManager.TryIndex(subGear.Id, out var subGearProto) || + !_characterRequirements.CheckRequirementsValid( + subGearProto.Requirements, job, profile, new Dictionary(), false, job, + EntityManager, PrototypeManager, _configurationManager, + out _)) + continue; + + // Apply the sub-gear's sub-gears if there are any + subGearProto = ApplySubGear(subGearProto, profile, job); + + if (!foundConditionalMatch) + { + foundConditionalMatch = true; + // Lazy init on making a new starting gear prototype for performance reasons. + // We can't just modify the original prototype or it will be modified for everyone. + newStartingGear = new StartingGearPrototype() + { + Equipment = startingGear.Equipment.ToDictionary(static entry => entry.Key, static entry => entry.Value), + InnerClothingSkirt = startingGear.InnerClothingSkirt, + Satchel = startingGear.Satchel, + Duffelbag = startingGear.Duffelbag, + Inhand = new List(startingGear.Inhand), + Storage = startingGear.Storage.ToDictionary( + static entry => entry.Key, + static entry => new List(entry.Value) + ), + }; + } + + // Apply the sub-gear's equipment to this starting gear + if (subGearProto.InnerClothingSkirt != null) + newStartingGear.InnerClothingSkirt = subGearProto.InnerClothingSkirt; + + if (subGearProto.Satchel != null) + newStartingGear.Satchel = subGearProto.Satchel; + + if (subGearProto.Duffelbag != null) + newStartingGear.Duffelbag = subGearProto.Duffelbag; + + foreach (var (slot, entProtoId) in subGearProto.Equipment) + { + // Don't remove items in pockets, instead put them in the backpack or hands + if (slot == "pocket1" && newStartingGear.Equipment.TryGetValue("pocket1", out var pocket1) || + slot == "pocket2" && newStartingGear.Equipment.TryGetValue("pocket2", out var pocket2)) + { + var pocketProtoId = slot == "pocket1" ? pocket1 : pocket2; + + if (string.IsNullOrEmpty(newStartingGear.GetGear("back", null))) + newStartingGear.Inhand.Add(pocketProtoId); + else + { + if (!newStartingGear.Storage.ContainsKey("back")) + newStartingGear.Storage["back"] = new(); + newStartingGear.Storage["back"].Add(pocketProtoId); + } + } + + newStartingGear.Equipment[slot] = entProtoId; + } + + newStartingGear.Inhand.AddRange(subGearProto.Inhand); + + foreach (var (slot, entProtoIds) in subGearProto.Storage) + newStartingGear.Storage[slot].AddRange(entProtoIds); + } + + return newStartingGear; + } } diff --git a/Content.Shared/Strip/Components/StripMenuHiddenComponent.cs b/Content.Shared/Strip/Components/StripMenuHiddenComponent.cs new file mode 100644 index 000000000000..d13b8bdc7a79 --- /dev/null +++ b/Content.Shared/Strip/Components/StripMenuHiddenComponent.cs @@ -0,0 +1,10 @@ +using Robust.Shared.GameStates; +using Robust.Shared.Serialization; + +namespace Content.Shared.Strip.Components; + +/// +/// An item with this component is always hidden in the strip menu, regardless of other circumstances. +/// +[RegisterComponent, NetworkedComponent] +public sealed partial class StripMenuHiddenComponent : Component; diff --git a/Content.Shared/Temperature/Components/TemperatureSpeedComponent.cs b/Content.Shared/Temperature/Components/TemperatureSpeedComponent.cs new file mode 100644 index 000000000000..74ba2a027490 --- /dev/null +++ b/Content.Shared/Temperature/Components/TemperatureSpeedComponent.cs @@ -0,0 +1,30 @@ +using Content.Shared.Temperature.Systems; +using Robust.Shared.GameStates; + +namespace Content.Shared.Temperature.Components; + +/// +/// This is used for an entity that varies in speed based on current temperature. +/// +[RegisterComponent, NetworkedComponent, Access(typeof(SharedTemperatureSystem)), AutoGenerateComponentState, AutoGenerateComponentPause] +public sealed partial class TemperatureSpeedComponent : Component +{ + /// + /// Pairs of temperature thresholds to applied slowdown values. + /// + [DataField] + public Dictionary Thresholds = new(); + + /// + /// The current speed modifier from we reached. + /// Stored and networked so that the client doesn't mispredict temperature + /// + [DataField, AutoNetworkedField] + public float? CurrentSpeedModifier; + + /// + /// The time at which the temperature slowdown is updated. + /// + [DataField, AutoNetworkedField, AutoPausedField] + public TimeSpan? NextSlowdownUpdate; +} diff --git a/Content.Shared/Temperature/Systems/SharedTemperatureSystem.cs b/Content.Shared/Temperature/Systems/SharedTemperatureSystem.cs new file mode 100644 index 000000000000..efea2df5affa --- /dev/null +++ b/Content.Shared/Temperature/Systems/SharedTemperatureSystem.cs @@ -0,0 +1,80 @@ +using System.Linq; +using Content.Shared.Movement.Components; +using Content.Shared.Movement.Systems; +using Content.Shared.Temperature.Components; +using Robust.Shared.Timing; + +namespace Content.Shared.Temperature.Systems; + +/// +/// This handles predicting temperature based speedup. +/// +public sealed class SharedTemperatureSystem : EntitySystem +{ + [Dependency] private readonly IGameTiming _timing = default!; + [Dependency] private readonly MovementSpeedModifierSystem _movementSpeedModifier = default!; + + /// + /// Band-aid for unpredicted atmos. Delays the application for a short period so that laggy clients can get the replicated temperature. + /// + private static readonly TimeSpan SlowdownApplicationDelay = TimeSpan.FromSeconds(1f); + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnTemperatureChanged); + SubscribeLocalEvent(OnRefreshMovementSpeedModifiers); + } + + private void OnTemperatureChanged(Entity ent, ref OnTemperatureChangeEvent args) + { + foreach (var (threshold, modifier) in ent.Comp.Thresholds) + { + if (args.CurrentTemperature < threshold && args.LastTemperature > threshold || + args.CurrentTemperature > threshold && args.LastTemperature < threshold) + { + ent.Comp.NextSlowdownUpdate = _timing.CurTime + SlowdownApplicationDelay; + ent.Comp.CurrentSpeedModifier = modifier; + Dirty(ent); + break; + } + } + + var maxThreshold = ent.Comp.Thresholds.Max(p => p.Key); + if (args.CurrentTemperature > maxThreshold && args.LastTemperature < maxThreshold) + { + ent.Comp.NextSlowdownUpdate = _timing.CurTime + SlowdownApplicationDelay; + ent.Comp.CurrentSpeedModifier = null; + Dirty(ent); + } + } + + private void OnRefreshMovementSpeedModifiers(Entity ent, ref RefreshMovementSpeedModifiersEvent args) + { + // Don't update speed and mispredict while we're compensating for lag. + if (ent.Comp.NextSlowdownUpdate != null || ent.Comp.CurrentSpeedModifier == null) + return; + + args.ModifySpeed(ent.Comp.CurrentSpeedModifier.Value, ent.Comp.CurrentSpeedModifier.Value); + } + + public override void Update(float frameTime) + { + base.Update(frameTime); + + var query = EntityQueryEnumerator(); + while (query.MoveNext(out var uid, out var temp, out var movement)) + { + if (temp.NextSlowdownUpdate == null) + continue; + + if (_timing.CurTime < temp.NextSlowdownUpdate) + continue; + + temp.NextSlowdownUpdate = null; + _movementSpeedModifier.RefreshMovementSpeedModifiers(uid, movement); + Dirty(uid, temp); + } + } +} diff --git a/Content.Shared/Temperature/TemperatureEvents.cs b/Content.Shared/Temperature/TemperatureEvents.cs index ac12224868f4..7a26d07e306d 100644 --- a/Content.Shared/Temperature/TemperatureEvents.cs +++ b/Content.Shared/Temperature/TemperatureEvents.cs @@ -13,3 +13,18 @@ public ModifyChangedTemperatureEvent(float temperature) TemperatureDelta = temperature; } } + +public sealed class OnTemperatureChangeEvent : EntityEventArgs +{ + public readonly float CurrentTemperature; + public readonly float LastTemperature; + public readonly float TemperatureDelta; + + public OnTemperatureChangeEvent(float current, float last, float delta) + { + CurrentTemperature = current; + LastTemperature = last; + TemperatureDelta = delta; + } +} + diff --git a/Content.Shared/Thief/Prototypes/ThiefBackpackSetPrototype.cs b/Content.Shared/Thief/Prototypes/ThiefBackpackSetPrototype.cs index 571db09ebea3..8f87633eb68d 100644 --- a/Content.Shared/Thief/Prototypes/ThiefBackpackSetPrototype.cs +++ b/Content.Shared/Thief/Prototypes/ThiefBackpackSetPrototype.cs @@ -1,3 +1,4 @@ +using Content.Shared.Customization.Systems; using Robust.Shared.Prototypes; using Robust.Shared.Utility; @@ -13,6 +14,7 @@ public sealed partial class ThiefBackpackSetPrototype : IPrototype [DataField] public string Name { get; private set; } = string.Empty; [DataField] public string Description { get; private set; } = string.Empty; [DataField] public SpriteSpecifier Sprite { get; private set; } = SpriteSpecifier.Invalid; + [DataField] public List Requirements { get; private set; } = []; [DataField] public List Content = new(); } diff --git a/Content.Shared/Weapons/Melee/SharedMeleeWeaponSystem.cs b/Content.Shared/Weapons/Melee/SharedMeleeWeaponSystem.cs index ce2228ff66b1..4e59ff32feee 100644 --- a/Content.Shared/Weapons/Melee/SharedMeleeWeaponSystem.cs +++ b/Content.Shared/Weapons/Melee/SharedMeleeWeaponSystem.cs @@ -53,16 +53,6 @@ public abstract class SharedMeleeWeaponSystem : EntitySystem private const int AttackMask = (int) (CollisionGroup.MobMask | CollisionGroup.Opaque); - /// - /// Maximum amount of targets allowed for a wide-attack. - /// - public const int MaxTargets = 5; - - /// - /// If an attack is released within this buffer it's assumed to be full damage. - /// - public const float GracePeriod = 0.05f; - public override void Initialize() { base.Initialize(); @@ -105,7 +95,7 @@ private void OnMeleeSelected(EntityUid uid, MeleeWeaponComponent component, Hand // If someone swaps to this weapon then reset its cd. var curTime = Timing.CurTime; - var minimum = curTime + TimeSpan.FromSeconds(GetAttackRate(uid, args.User, component)); + var minimum = curTime + TimeSpan.FromSeconds(attackRate); if (minimum < component.NextAttack) return; diff --git a/Content.Shared/_DV/Actions/Events/ChitziteActionEvent.cs b/Content.Shared/_DV/Actions/Events/ChitziteActionEvent.cs new file mode 100644 index 000000000000..a36bd148d611 --- /dev/null +++ b/Content.Shared/_DV/Actions/Events/ChitziteActionEvent.cs @@ -0,0 +1,3 @@ +namespace Content.Shared.Actions.Events; + +public sealed partial class ChitziteActionEvent : InstantActionEvent {} diff --git a/Content.Shared/_EstacaoPirata/Cards/Card/CardComponent.cs b/Content.Shared/_EstacaoPirata/Cards/Card/CardComponent.cs new file mode 100644 index 000000000000..6ccf7f5b216e --- /dev/null +++ b/Content.Shared/_EstacaoPirata/Cards/Card/CardComponent.cs @@ -0,0 +1,44 @@ +using Robust.Shared.GameStates; +using Robust.Shared.Serialization; +using Robust.Shared.Utility; + +namespace Content.Shared._EstacaoPirata.Cards.Card; + +/// +/// This is used for... +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class CardComponent : Component +{ + /// + /// The back of the card + /// + [DataField(readOnly: true)] + public List BackSprite = []; + + /// + /// The front of the card + /// + [DataField(readOnly: true)] + public List FrontSprite = []; + + /// + /// If it is currently flipped. This is used to update sprite and name. + /// + [DataField(readOnly: true), AutoNetworkedField] + public bool Flipped = false; + + + /// + /// The name of the card. + /// + [DataField(readOnly: true), AutoNetworkedField] + public string Name = ""; + +} + +[Serializable, NetSerializable] +public sealed class CardFlipUpdatedEvent(NetEntity card) : EntityEventArgs +{ + public NetEntity Card = card; +} diff --git a/Content.Shared/_EstacaoPirata/Cards/Card/CardSystem.cs b/Content.Shared/_EstacaoPirata/Cards/Card/CardSystem.cs new file mode 100644 index 000000000000..68766eda2a86 --- /dev/null +++ b/Content.Shared/_EstacaoPirata/Cards/Card/CardSystem.cs @@ -0,0 +1,223 @@ +using Content.Shared._EstacaoPirata.Cards.Deck; +using Content.Shared._EstacaoPirata.Cards.Hand; +using Content.Shared._EstacaoPirata.Cards.Stack; +using Content.Shared.Examine; +using Content.Shared.Hands.Components; +using Content.Shared.Hands.EntitySystems; +using Content.Shared.Interaction; +using Content.Shared.Interaction.Events; +using Content.Shared.Verbs; +using Robust.Shared.Containers; +using Robust.Shared.Network; +using Robust.Shared.Prototypes; +using Robust.Shared.Utility; + +namespace Content.Shared._EstacaoPirata.Cards.Card; + +/// +/// This handles... +/// +public sealed class CardSystem : EntitySystem +{ + [Dependency] private readonly INetManager _net = default!; + [Dependency] private readonly CardStackSystem _cardStack = default!; + [Dependency] private readonly CardDeckSystem _cardDeck = default!; + [Dependency] private readonly CardHandSystem _cardHand = default!; + [Dependency] private readonly SharedContainerSystem _container = default!; + [Dependency] private readonly SharedHandsSystem _hands = default!; + /// + public override void Initialize() + { + SubscribeLocalEvent>(AddTurnOnVerb); + SubscribeLocalEvent>(OnActivationVerb); + SubscribeLocalEvent(OnExamined); + SubscribeLocalEvent(OnUse); + SubscribeLocalEvent(OnActivate); + } + private void OnExamined(EntityUid uid, CardComponent component, ExaminedEvent args) + { + if (args.IsInDetailsRange && !component.Flipped) + { + args.PushMarkup(Loc.GetString("card-examined", ("target", Loc.GetString(component.Name)))); + } + } + + private void AddTurnOnVerb(EntityUid uid, CardComponent component, GetVerbsEvent args) + { + if (!args.CanAccess || !args.CanInteract || args.Hands == null) + return; + + args.Verbs.Add(new AlternativeVerb() + { + Act = () => FlipCard(uid, component), + Text = Loc.GetString("cards-verb-flip"), + Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/VerbIcons/flip.svg.192dpi.png")), + Priority = 1 + }); + + if (args.Using == null || args.Using == args.Target) + return; + + if (TryComp(args.Using, out var usingStack)) + { + args.Verbs.Add(new AlternativeVerb() + { + Act = () => JoinCards(args.User, args.Target, component, (EntityUid)args.Using, usingStack), + Text = Loc.GetString("card-verb-join"), + Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/VerbIcons/refresh.svg.192dpi.png")), + Priority = 2 + }); + } + else if (TryComp(args.Using, out var usingCard)) + { + var pickup = _hands.IsHolding(args.User, args.Target); + args.Verbs.Add(new AlternativeVerb() + { + Act = () => _cardHand.TrySetupHandOfCards(args.User, args.Target, component, args.Using.Value, usingCard, pickup), + Text = Loc.GetString("card-verb-join"), + Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/VerbIcons/refresh.svg.192dpi.png")), + Priority = 2 + }); + } + } + + private void OnUse(EntityUid uid, CardComponent comp, UseInHandEvent args) + { + if (args.Handled) + return; + + FlipCard(uid, comp); + args.Handled = true; + } + + /// + /// Server-Side only method to flip card. This starts CardFlipUpdatedEvent event + /// + /// + /// + private void FlipCard(EntityUid uid, CardComponent component) + { + if (_net.IsClient) + return; + component.Flipped = !component.Flipped; + Dirty(uid, component); + RaiseNetworkEvent(new CardFlipUpdatedEvent(GetNetEntity(uid))); + } + + private void JoinCards(EntityUid user, EntityUid first, CardComponent firstComp, EntityUid second, CardStackComponent secondStack) + { + if (_net.IsClient) + return; + bool pickup = _hands.IsHolding(user, first); + EntityUid cardStack; + bool? flip = null; + if (HasComp(second)) + { + cardStack = SpawnInSameParent(_cardDeck.CardDeckBaseName, first); + } + else if (HasComp(second)) + { + cardStack = SpawnInSameParent(_cardHand.CardHandBaseName, first); + if(TryComp(cardStack, out var stackHand)) + stackHand.Flipped = firstComp.Flipped; + flip = firstComp.Flipped; + } + else + return; + + if (!TryComp(cardStack, out CardStackComponent? stack)) + return; + if (!_cardStack.TryInsertCard(cardStack, first, stack)) + return; + _cardStack.TransferNLastCardFromStacks(user, secondStack.Cards.Count, second, secondStack, cardStack, stack); + if (flip != null) + _cardStack.FlipAllCards(cardStack, stack, flip); //??? + if(pickup) + _hands.TryPickupAnyHand(user, cardStack); + } + + // Frontier: tries to spawn an entity with the same parent as another given entity. + // Useful when spawning decks/hands in a backpack, for example. + private EntityUid SpawnInSameParent(EntProtoId prototype, EntityUid uid) + { + if (_container.IsEntityOrParentInContainer(uid) && + _container.TryGetOuterContainer(uid, Transform(uid), out var container)) + { + return SpawnInContainerOrDrop(prototype, container.Owner, container.ID); + } + return Spawn(prototype, Transform(uid).Coordinates); + } + + // Frontier: hacky misuse of the activation verb, but allows us a separate way to draw cards without needing additional buttons and event fiddling + private void OnActivationVerb(EntityUid uid, CardComponent component, GetVerbsEvent args) + { + if (!args.CanAccess || !args.CanInteract || args.Hands == null) + return; + + if (args.Using == args.Target) + return; + + if (HasComp(uid)) + return; + + if (args.Using == null) + { + args.Verbs.Add(new ActivationVerb() + { + Act = () => _hands.TryPickupAnyHand(args.User, args.Target), + Text = Loc.GetString("cards-verb-draw"), + Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/VerbIcons/eject.svg.192dpi.png")), + Priority = 16 + }); + } + else if (TryComp(args.Using, out var cardStack)) + { + args.Verbs.Add(new ActivationVerb() + { + Act = () => _cardStack.InsertCardOnStack(args.User, args.Using.Value, cardStack, args.Target), + Text = Loc.GetString("cards-verb-draw"), + Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/VerbIcons/eject.svg.192dpi.png")), + Priority = 16 + }); + } + else if (TryComp(args.Using, out var card)) + { + args.Verbs.Add(new ActivationVerb() + { + Act = () => _cardHand.TrySetupHandOfCards(args.User, args.Using.Value, card, args.Target, component, true), + Text = Loc.GetString("cards-verb-draw"), + Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/VerbIcons/eject.svg.192dpi.png")), + Priority = 16 + }); + } + } + // End Frontier + + private void OnActivate(EntityUid uid, CardComponent component, ActivateInWorldEvent args) + { + if (!args.Complex || args.Handled) + return; + + if (!TryComp(args.User, out var hands)) + return; + + // Card stacks are handled differently + if (HasComp(args.Target)) + return; + + var activeItem = _hands.GetActiveItem((args.User, hands)); + + if (activeItem == null) + { + _hands.TryPickupAnyHand(args.User, args.Target); + } + else if (TryComp(activeItem, out var cardStack)) + { + _cardStack.InsertCardOnStack(args.User, activeItem.Value, cardStack, args.Target); + } + else if (TryComp(activeItem, out var card)) + { + _cardHand.TrySetupHandOfCards(args.User, activeItem.Value, card, args.Target, component, true); + } + } +} diff --git a/Content.Shared/_EstacaoPirata/Cards/Deck/CardDeckComponent.cs b/Content.Shared/_EstacaoPirata/Cards/Deck/CardDeckComponent.cs new file mode 100644 index 000000000000..f695eab8d9c7 --- /dev/null +++ b/Content.Shared/_EstacaoPirata/Cards/Deck/CardDeckComponent.cs @@ -0,0 +1,28 @@ +using Robust.Shared.Audio; + +namespace Content.Shared._EstacaoPirata.Cards.Deck; + +/// +/// This is used for... +/// +[RegisterComponent] +public sealed partial class CardDeckComponent : Component +{ + [DataField] + public SoundSpecifier ShuffleSound = new SoundCollectionSpecifier("cardFan"); + + [DataField] + public SoundSpecifier PickUpSound = new SoundCollectionSpecifier("cardSlide"); + + [DataField] + public SoundSpecifier PlaceDownSound = new SoundCollectionSpecifier("cardShove"); + + [DataField] + public float YOffset = 0.02f; + + [DataField] + public float Scale = 1; + + [DataField] + public int CardLimit = 5; +} diff --git a/Content.Shared/_EstacaoPirata/Cards/Deck/CardDeckSystem.cs b/Content.Shared/_EstacaoPirata/Cards/Deck/CardDeckSystem.cs new file mode 100644 index 000000000000..dc5096c81021 --- /dev/null +++ b/Content.Shared/_EstacaoPirata/Cards/Deck/CardDeckSystem.cs @@ -0,0 +1,123 @@ +using Content.Shared._EstacaoPirata.Cards.Card; +using Content.Shared._EstacaoPirata.Cards.Stack; +using Content.Shared.Audio; +using Content.Shared.Hands.EntitySystems; +using Content.Shared.Interaction; +using Content.Shared.Item; +using Content.Shared.Popups; +using Content.Shared.Verbs; +using Robust.Shared.Audio.Systems; +using Robust.Shared.Containers; +using Robust.Shared.Network; +using Robust.Shared.Prototypes; +using Robust.Shared.Random; +using Robust.Shared.Utility; + +namespace Content.Shared._EstacaoPirata.Cards.Deck; + +/// +/// This handles card decks +/// +public sealed class CardDeckSystem : EntitySystem +{ + [Dependency] private readonly SharedHandsSystem _hands = default!; + [Dependency] private readonly SharedAudioSystem _audio = default!; + [Dependency] private readonly SharedPopupSystem _popup = default!; + [Dependency] private readonly CardStackSystem _cardStackSystem = default!; + [Dependency] private readonly IRobustRandom _random = default!; + [Dependency] private readonly INetManager _net = default!; + [Dependency] private readonly SharedContainerSystem _container = default!; + public readonly EntProtoId CardDeckBaseName = "CardDeckBase"; + + /// + public override void Initialize() + { + SubscribeLocalEvent>(AddTurnOnVerb); + } + + private void AddTurnOnVerb(EntityUid uid, CardDeckComponent component, GetVerbsEvent args) + { + if (!args.CanAccess || !args.CanInteract || args.Hands == null) + return; + + if (!TryComp(uid, out CardStackComponent? comp)) + return; + + args.Verbs.Add(new AlternativeVerb() + { + Act = () => TryShuffle(uid, component, comp), + Text = Loc.GetString("cards-verb-shuffle"), + Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/VerbIcons/die.svg.192dpi.png")), + Priority = 4 + }); + args.Verbs.Add(new AlternativeVerb() + { + Act = () => TrySplit(args.Target, component, comp, args.User), + Text = Loc.GetString("cards-verb-split"), + Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/VerbIcons/dot.svg.192dpi.png")), + Priority = 3 + }); + args.Verbs.Add(new AlternativeVerb() + { + Act = () => TryOrganize(uid, component, comp, true), + Text = Loc.GetString("cards-verb-organize-down"), + Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/VerbIcons/flip.svg.192dpi.png")), + Priority = 2 + }); + args.Verbs.Add(new AlternativeVerb() + { + Act = () => TryOrganize(uid, component, comp, false), + Text = Loc.GetString("cards-verb-organize-up"), + Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/VerbIcons/flip.svg.192dpi.png")), + Priority = 1 + }); + } + + private void TrySplit(EntityUid uid, CardDeckComponent deck, CardStackComponent stack, EntityUid user) + { + if (stack.Cards.Count <= 1) + return; + + _audio.PlayPredicted(deck.PickUpSound, Transform(uid).Coordinates, user); + + if (!_net.IsServer) + return; + + var cardDeck = SpawnInSameParent(CardDeckBaseName, uid); + + EnsureComp(cardDeck, out var deckStack); + + _cardStackSystem.TransferNLastCardFromStacks(user, stack.Cards.Count / 2, uid, stack, cardDeck, deckStack); + _hands.PickupOrDrop(user, cardDeck); + } + + private void TryShuffle(EntityUid deck, CardDeckComponent comp, CardStackComponent? stack) + { + _cardStackSystem.ShuffleCards(deck, stack); + if (_net.IsClient) + return; + + _audio.PlayPvs(comp.ShuffleSound, deck, AudioHelpers.WithVariation(0.05f, _random)); + _popup.PopupEntity(Loc.GetString("card-verb-shuffle-success", ("target", MetaData(deck).EntityName)), deck); + } + + private void TryOrganize(EntityUid deck, CardDeckComponent comp, CardStackComponent? stack, bool isFlipped) + { + if (_net.IsClient) + return; + _cardStackSystem.FlipAllCards(deck, stack, isFlipped: isFlipped); + + _audio.PlayPvs(comp.ShuffleSound, deck, AudioHelpers.WithVariation(0.05f, _random)); + _popup.PopupEntity(Loc.GetString("card-verb-organize-success", ("target", MetaData(deck).EntityName), ("facedown", isFlipped)), deck); + } + + private EntityUid SpawnInSameParent(string prototype, EntityUid uid) + { + if (_container.IsEntityOrParentInContainer(uid) && + _container.TryGetOuterContainer(uid, Transform(uid), out var container)) + { + return SpawnInContainerOrDrop(prototype, container.Owner, container.ID); + } + return Spawn(prototype, Transform(uid).Coordinates); + } +} diff --git a/Content.Shared/_EstacaoPirata/Cards/Hand/CardHandComponent.cs b/Content.Shared/_EstacaoPirata/Cards/Hand/CardHandComponent.cs new file mode 100644 index 000000000000..39e0c4ac45e7 --- /dev/null +++ b/Content.Shared/_EstacaoPirata/Cards/Hand/CardHandComponent.cs @@ -0,0 +1,38 @@ +using Robust.Shared.Serialization; + +namespace Content.Shared._EstacaoPirata.Cards.Hand; + +/// +/// This is used for... +/// +[RegisterComponent] +public sealed partial class CardHandComponent : Component +{ + [DataField] + public float Angle = 120f; + + [DataField] + public float XOffset = 0.5f; + + [DataField] + public float Scale = 1; + + [DataField] + public int CardLimit = 10; + + [DataField] + public bool Flipped = false; +} + + +[Serializable, NetSerializable] +public enum CardUiKey : byte +{ + Key +} + +[Serializable, NetSerializable] +public sealed class CardHandDrawMessage(NetEntity card) : BoundUserInterfaceMessage +{ + public NetEntity Card = card; +} diff --git a/Content.Shared/_EstacaoPirata/Cards/Hand/CardHandSystem.cs b/Content.Shared/_EstacaoPirata/Cards/Hand/CardHandSystem.cs new file mode 100644 index 000000000000..98d089dfe924 --- /dev/null +++ b/Content.Shared/_EstacaoPirata/Cards/Hand/CardHandSystem.cs @@ -0,0 +1,237 @@ +using System.Linq; +using Content.Shared._EstacaoPirata.Cards.Card; +using Content.Shared._EstacaoPirata.Cards.Deck; +using Content.Shared._EstacaoPirata.Cards.Stack; +using Content.Shared.Hands.EntitySystems; +using Content.Shared.Interaction; +using Content.Shared.Popups; +using Content.Shared.Storage.EntitySystems; +using Content.Shared.Verbs; +using Robust.Shared.Containers; +using Robust.Shared.Network; +using Robust.Shared.Player; +using Robust.Shared.Prototypes; +using Robust.Shared.Utility; + +namespace Content.Shared._EstacaoPirata.Cards.Hand; + +/// +/// This handles... +/// + +public sealed class CardHandSystem : EntitySystem +{ + [ValidatePrototypeId] + public readonly EntProtoId CardHandBaseName = "CardHandBase"; + [ValidatePrototypeId] + public readonly EntProtoId CardDeckBaseName = "CardDeckBase"; + + [Dependency] private readonly CardStackSystem _cardStack = default!; + [Dependency] private readonly SharedHandsSystem _hands = default!; + [Dependency] private readonly INetManager _net = default!; + [Dependency] private readonly SharedUserInterfaceSystem _ui = default!; + [Dependency] private readonly SharedPopupSystem _popupSystem = default!; + [Dependency] private readonly SharedContainerSystem _container = default!; + [Dependency] private readonly SharedStorageSystem _storage = default!; // Frontier + + /// + public override void Initialize() + { + SubscribeLocalEvent(OnInteractUsing); + SubscribeLocalEvent(OnCardDraw); + SubscribeLocalEvent(OnStackQuantityChange); + SubscribeLocalEvent>(OnAlternativeVerb); + } + + private void OnStackQuantityChange(EntityUid uid, CardHandComponent comp, CardStackQuantityChangeEvent args) + { + if (_net.IsClient) + return; + + if (!TryComp(uid, out CardStackComponent? stack)) + return; + + if (stack.Cards.Count < 0) + { + Log.Warning($"Invalid negative card count {stack.Cards.Count} detected in stack {ToPrettyString(uid)}"); + return; + } + + var text = args.Type switch + { + StackQuantityChangeType.Added => "cards-stackquantitychange-added", + StackQuantityChangeType.Removed => "cards-stackquantitychange-removed", + StackQuantityChangeType.Joined => "cards-stackquantitychange-joined", + StackQuantityChangeType.Split => "cards-stackquantitychange-split", + _ => "cards-stackquantitychange-unknown" + }; + + _popupSystem.PopupEntity(Loc.GetString(text, ("quantity", stack.Cards.Count)), uid); + + _cardStack.FlipAllCards(uid, stack, comp.Flipped); + } + + private void OnCardDraw(EntityUid uid, CardHandComponent comp, CardHandDrawMessage args) + { + if (!TryComp(uid, out CardStackComponent? stack)) + return; + var pickup = _hands.IsHolding(args.Actor, uid); + EntityUid? leftover = null; + var cardEnt = GetEntity(args.Card); + + if (stack.Cards.Count == 2 && pickup) + { + leftover = stack.Cards[0] != cardEnt ? stack.Cards[0] : stack.Cards[1]; + } + if (!_cardStack.TryRemoveCard(uid, cardEnt, stack)) + return; + + if (_net.IsServer) + _storage.PlayPickupAnimation(cardEnt, Transform(cardEnt).Coordinates, Transform(args.Actor).Coordinates, 0); + + _hands.TryPickupAnyHand(args.Actor, cardEnt); + if (pickup && leftover != null) + { + _hands.TryPickupAnyHand(args.Actor, leftover.Value); + } + } + + private void OpenHandMenu(EntityUid user, EntityUid hand) + { + if (!TryComp(user, out var actor)) + return; + + _ui.OpenUi(hand, CardUiKey.Key, actor.PlayerSession); + + } + + private void OnAlternativeVerb(EntityUid uid, CardHandComponent comp, GetVerbsEvent args) + { + if (!args.CanAccess || !args.CanInteract || args.Hands == null) + return; + + args.Verbs.Add(new AlternativeVerb() + { + Act = () => OpenHandMenu(args.User, uid), + Text = Loc.GetString("cards-verb-pickcard"), + Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/VerbIcons/die.svg.192dpi.png")), + Priority = 4 + }); + args.Verbs.Add(new AlternativeVerb() + { + Act = () => _cardStack.ShuffleCards(uid), + Text = Loc.GetString("cards-verb-shuffle"), + Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/VerbIcons/die.svg.192dpi.png")), + Priority = 3 + }); + args.Verbs.Add(new AlternativeVerb() + { + Act = () => FlipCards(uid, comp), + Text = Loc.GetString("cards-verb-flip"), + Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/VerbIcons/flip.svg.192dpi.png")), + Priority = 2 + }); + args.Verbs.Add(new AlternativeVerb() + { + Act = () => ConvertToDeck(args.User, uid), + Text = Loc.GetString("cards-verb-convert-to-deck"), + Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/VerbIcons/rotate_cw.svg.192dpi.png")), + Priority = 1 + }); + } + + private void OnInteractUsing(EntityUid uid, CardComponent comp, InteractUsingEvent args) + { + if (args.Handled) + return; + + if (HasComp(args.Used) || + !TryComp(args.Used, out CardComponent? usedComp)) + return; + + if (!HasComp(args.Target) && + TryComp(args.Target, out CardComponent? targetCardComp)) + { + TrySetupHandOfCards(args.User, args.Used, usedComp, args.Target, targetCardComp, true); + args.Handled = true; + } + } + + private void ConvertToDeck(EntityUid user, EntityUid hand) + { + if (_net.IsClient) + return; + + var cardDeck = SpawnInSameParent(CardDeckBaseName, hand); + bool isHoldingCards = _hands.IsHolding(user, hand); + + EnsureComp(cardDeck, out var deckStack); + if (!TryComp(hand, out CardStackComponent? handStack)) + return; + _cardStack.TryJoinStacks(cardDeck, hand, deckStack, handStack, null); + + if (isHoldingCards) + _hands.TryPickupAnyHand(user, cardDeck); + } + public void TrySetupHandOfCards(EntityUid user, EntityUid card, CardComponent comp, EntityUid target, CardComponent targetComp, bool pickup) + { + if (card == target || _net.IsClient) + return; + var cardHand = SpawnInSameParent(CardHandBaseName, card); + if (TryComp(cardHand, out var handComp)) + handComp.Flipped = targetComp.Flipped; + if (!TryComp(cardHand, out CardStackComponent? stack)) + return; + if (!_cardStack.TryInsertCard(cardHand, card, stack) || !_cardStack.TryInsertCard(cardHand, target, stack)) + return; + if (_net.IsServer) + _storage.PlayPickupAnimation(card, Transform(card).Coordinates, Transform(cardHand).Coordinates, 0); + if (pickup && !_hands.TryPickupAnyHand(user, cardHand)) + return; + _cardStack.FlipAllCards(cardHand, stack, targetComp.Flipped); + } + + public void TrySetupHandFromStack(EntityUid user, EntityUid card, CardComponent comp, EntityUid target, CardStackComponent targetComp, bool pickup) + { + if (_net.IsClient) + return; + var cardHand = SpawnInSameParent(CardHandBaseName, card); + if (TryComp(cardHand, out var handComp)) + handComp.Flipped = comp.Flipped; + if (!TryComp(cardHand, out CardStackComponent? stack)) + return; + if (!_cardStack.TryInsertCard(cardHand, card, stack)) + return; + _cardStack.TransferNLastCardFromStacks(user, 1, target, targetComp, cardHand, stack); + if (pickup && !_hands.TryPickupAnyHand(user, cardHand)) + return; + _cardStack.FlipAllCards(cardHand, stack, comp.Flipped); + } + + private void FlipCards(EntityUid hand, CardHandComponent comp) + { + comp.Flipped = !comp.Flipped; + _cardStack.FlipAllCards(hand, null, comp.Flipped); + } + + // Frontier: tries to spawn an entity with the same parent as another given entity. + // Useful when spawning decks/hands in a backpack, for example. + private EntityUid SpawnInSameParent(EntProtoId prototype, EntityUid uid) + { + if (prototype == default) + throw new ArgumentException("Cannot spawn with null prototype", nameof(prototype)); + + if (_container.IsEntityOrParentInContainer(uid) && + _container.TryGetOuterContainer(uid, Transform(uid), out var container)) + { + var entity = SpawnInContainerOrDrop(prototype, container.Owner, container.ID); + if (!Exists(entity)) + Log.Error($"Failed to spawn {prototype} in container {container.ID}"); + return entity; + } + var worldEntity = Spawn(prototype, Transform(uid).Coordinates); + if (!Exists(worldEntity)) + Log.Error($"Failed to spawn {prototype} at coordinates {Transform(uid).Coordinates}"); + return worldEntity; + } +} diff --git a/Content.Shared/_EstacaoPirata/Cards/Stack/CardStackComponent.cs b/Content.Shared/_EstacaoPirata/Cards/Stack/CardStackComponent.cs new file mode 100644 index 000000000000..3247e0752b21 --- /dev/null +++ b/Content.Shared/_EstacaoPirata/Cards/Stack/CardStackComponent.cs @@ -0,0 +1,83 @@ +using Robust.Shared.Audio; +using Robust.Shared.Containers; +using Robust.Shared.GameStates; +using Robust.Shared.Prototypes; +using Robust.Shared.Serialization; + +namespace Content.Shared._EstacaoPirata.Cards.Stack; + +/// +/// This is used for holding the prototype ids of the cards in the stack or hand. +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] + +public sealed partial class CardStackComponent : Component +{ + [DataField] + public List InitialContent = []; + + [DataField] + public SoundSpecifier ShuffleSound = new SoundCollectionSpecifier("cardFan"); + + [DataField] + public SoundSpecifier PickUpSound = new SoundCollectionSpecifier("cardSlide"); + + [DataField] + public SoundSpecifier PlaceDownSound = new SoundCollectionSpecifier("cardShove"); + + + /// + /// The containers that contain the items held in the stack + /// + [ViewVariables] + public Container ItemContainer = default!; + + /// + /// The list EntityUIds of Cards + /// + [DataField, AutoNetworkedField] + public List Cards = []; +} + +[Serializable, NetSerializable] +public sealed class CardStackInitiatedEvent(NetEntity cardStack) : EntityEventArgs +{ + public NetEntity CardStack = cardStack; +} + +/// +/// This gets Updated when new cards are added or removed from the stack +/// +[Serializable, NetSerializable] +public sealed class CardStackQuantityChangeEvent(NetEntity stack, NetEntity? card, StackQuantityChangeType type) : EntityEventArgs +{ + public NetEntity Stack = stack; + public NetEntity? Card = card; + public StackQuantityChangeType Type = type; +} + +[Serializable, NetSerializable] +public enum StackQuantityChangeType : sbyte +{ + Added, + Removed, + Joined, + Split +} + + + +[Serializable, NetSerializable] +public sealed class CardStackReorderedEvent(NetEntity stack) : EntityEventArgs +{ + public NetEntity Stack = stack; +} + +[Serializable, NetSerializable] +public sealed class CardStackFlippedEvent(NetEntity cardStack) : EntityEventArgs +{ + public NetEntity CardStack = cardStack; +} + + + diff --git a/Content.Shared/_EstacaoPirata/Cards/Stack/CardStackSystem.cs b/Content.Shared/_EstacaoPirata/Cards/Stack/CardStackSystem.cs new file mode 100644 index 000000000000..ca09056bb761 --- /dev/null +++ b/Content.Shared/_EstacaoPirata/Cards/Stack/CardStackSystem.cs @@ -0,0 +1,482 @@ +using System.Linq; +using Content.Shared._EstacaoPirata.Cards.Card; +using Content.Shared._EstacaoPirata.Cards.Deck; +using Content.Shared._EstacaoPirata.Cards.Hand; +using Content.Shared.Examine; +using Content.Shared.Hands.Components; +using Content.Shared.Hands.EntitySystems; +using Content.Shared.Interaction; +using Content.Shared.Storage.EntitySystems; +using Content.Shared.Verbs; +using Robust.Shared.Audio.Systems; +using Robust.Shared.Containers; +using Robust.Shared.Map; +using Robust.Shared.Network; +using Robust.Shared.Random; +using Robust.Shared.Utility; + +namespace Content.Shared._EstacaoPirata.Cards.Stack; + +/// +/// This handles stack of cards. +/// It is used to shuffle, flip, insert, remove, and join stacks of cards. +/// It also handles the events related to the stack of cards. +/// +public sealed class CardStackSystem : EntitySystem +{ + public const string ContainerId = "cardstack-container"; + public const int MaxCardsInStack = 212; // Frontier: four 53-card decks. + + [Dependency] private readonly SharedContainerSystem _container = default!; + [Dependency] private readonly EntityManager _entityManager = default!; + [Dependency] private readonly INetManager _net = default!; + [Dependency] private readonly SharedAudioSystem _audio = default!; + [Dependency] private readonly IRobustRandom _random = default!; + [Dependency] private readonly SharedStorageSystem _storage = default!; + [Dependency] private readonly CardHandSystem _cardHandSystem = default!; // Frontier + [Dependency] private readonly SharedHandsSystem _hands = default!; + + /// + public override void Initialize() + { + // Pretty much a rip-off of the BinSystem + SubscribeLocalEvent(OnStartup); + SubscribeLocalEvent(OnMapInit); + SubscribeLocalEvent(OnEntRemoved); + SubscribeLocalEvent>(OnAlternativeVerb); + SubscribeLocalEvent>(OnActivationVerb); + SubscribeLocalEvent(OnActivate); + SubscribeLocalEvent(OnExamine); + SubscribeLocalEvent(OnInteractUsing); + } + + public bool TryRemoveCard(EntityUid uid, EntityUid card, CardStackComponent? comp = null) + { + if (!Resolve(uid, ref comp)) + return false; + + if (!TryComp(card, out CardComponent? _)) + return false; + + _container.Remove(card, comp.ItemContainer); + comp.Cards.Remove(card); + + // If there is a final card left over, remove that card from the container and delete the stack alltogether + if (comp.Cards.Count == 1) + { + + _container.Remove(comp.Cards.First(), comp.ItemContainer); + comp.Cards.Clear(); + } + + Dirty(uid, comp); + + RaiseLocalEvent(uid, new CardStackQuantityChangeEvent(GetNetEntity(uid), GetNetEntity(card), StackQuantityChangeType.Removed)); + RaiseNetworkEvent(new CardStackQuantityChangeEvent(GetNetEntity(uid), GetNetEntity(card), StackQuantityChangeType.Removed)); + // Prevents prediction ruining things + if (_net.IsServer && comp.Cards.Count <= 0) + { + _entityManager.DeleteEntity(uid); + } + return true; + } + + public bool TryInsertCard(EntityUid uid, EntityUid card, CardStackComponent? comp = null) + { + if (!Resolve(uid, ref comp)) + return false; + + if (!TryComp(card, out CardComponent? _)) + return false; + + if (comp.Cards.Count >= MaxCardsInStack) + return false; + + _container.Insert(card, comp.ItemContainer); + comp.Cards.Add(card); + + Dirty(uid, comp); + RaiseLocalEvent(uid, new CardStackQuantityChangeEvent(GetNetEntity(uid), GetNetEntity(card), StackQuantityChangeType.Added)); + RaiseNetworkEvent(new CardStackQuantityChangeEvent(GetNetEntity(uid), GetNetEntity(card), StackQuantityChangeType.Added)); + return true; + } + + public bool ShuffleCards(EntityUid uid, CardStackComponent? comp = null) + { + if (!Resolve(uid, ref comp)) + return false; + + _random.Shuffle(comp.Cards); + + Dirty(uid, comp); + RaiseLocalEvent(uid, new CardStackReorderedEvent(GetNetEntity(uid))); + RaiseNetworkEvent(new CardStackReorderedEvent(GetNetEntity(uid))); + return true; + } + + /// + /// Server-Side only method to flip all cards within a stack. This starts CardFlipUpdatedEvent and CardStackFlippedEvent event + /// + /// + /// + /// If null, all cards will just invert direction, if it contains a value, then all cards will receive that value + /// + public bool FlipAllCards(EntityUid uid, CardStackComponent? comp = null, bool? isFlipped = null) + { + if (_net.IsClient) + return false; + if (!Resolve(uid, ref comp)) + return false; + foreach (var card in comp.Cards) + { + if (!TryComp(card, out CardComponent? cardComponent)) + continue; + + cardComponent.Flipped = isFlipped ?? !cardComponent.Flipped; + + Dirty(card, cardComponent); + RaiseNetworkEvent(new CardFlipUpdatedEvent(GetNetEntity(card))); + } + + RaiseNetworkEvent(new CardStackFlippedEvent(GetNetEntity(uid))); + return true; + } + + public bool TryJoinStacks(EntityUid firstStack, EntityUid secondStack, CardStackComponent? firstComp = null, CardStackComponent? secondComp = null, EntityUid? soundUser = null) + { + if (firstStack == secondStack) + return false; + if (!Resolve(firstStack, ref firstComp) || !Resolve(secondStack, ref secondComp)) + return false; + + bool changed = false; + var cardList = secondComp.Cards.ToList(); + EntityUid? firstCard = secondComp.Cards.Count > 0 ? cardList[0] : null; // Cache the first card transferred for animations (better to have something moving than nothing, and we destroy the other stack) + + foreach (var card in cardList) + { + if (firstComp.Cards.Count >= MaxCardsInStack) + break; + _container.Remove(card, secondComp.ItemContainer); + secondComp.Cards.Remove(card); + firstComp.Cards.Add(card); + _container.Insert(card, firstComp.ItemContainer); + changed = true; + } + if (changed) + { + if (soundUser != null) + { + _audio.PlayPredicted(firstComp.PlaceDownSound, Transform(firstStack).Coordinates, soundUser.Value); + if(_net.IsServer) + _storage.PlayPickupAnimation(firstCard!.Value, Transform(secondStack).Coordinates, Transform(firstStack).Coordinates, 0); + } + + if (_net.IsClient) + return changed; + + Dirty(firstStack, firstComp); + if (secondComp.Cards.Count <= 0) + { + _entityManager.DeleteEntity(secondStack); + } + else + { + Dirty(secondStack, secondComp); + RaiseLocalEvent(secondStack, new CardStackQuantityChangeEvent(GetNetEntity(secondStack), null, StackQuantityChangeType.Split)); + RaiseNetworkEvent(new CardStackQuantityChangeEvent(GetNetEntity(secondStack), null, StackQuantityChangeType.Split)); + } + RaiseLocalEvent(firstStack, new CardStackQuantityChangeEvent(GetNetEntity(firstStack), null, StackQuantityChangeType.Joined)); + RaiseNetworkEvent(new CardStackQuantityChangeEvent(GetNetEntity(firstStack), null, StackQuantityChangeType.Joined)); + } + + return changed; + } + + #region EventHandling + + private void OnStartup(EntityUid uid, CardStackComponent component, ComponentStartup args) + { + component.ItemContainer = _container.EnsureContainer(uid, ContainerId); + } + + private void OnMapInit(EntityUid uid, CardStackComponent comp, MapInitEvent args) + { + if (_net.IsClient) + return; + + var coordinates = Transform(uid).Coordinates; + var spawnedEntities = new List(); + foreach (var id in comp.InitialContent) + { + var ent = Spawn(id, coordinates); + spawnedEntities.Add(ent); + if (TryInsertCard(uid, ent, comp)) + continue; + Log.Error($"Entity {ToPrettyString(ent)} was unable to be initialized into stack {ToPrettyString(uid)}"); + foreach (var spawned in spawnedEntities) + _entityManager.DeleteEntity(spawned); + return; + } + RaiseNetworkEvent(new CardStackInitiatedEvent(GetNetEntity(uid))); + } + + // It seems the cards don't get removed if this event is not subscribed... strange right? thanks again bin system + private void OnEntRemoved(EntityUid uid, CardStackComponent component, EntRemovedFromContainerMessage args) + { + component.Cards.Remove(args.Entity); + } + + private void OnExamine(EntityUid uid, CardStackComponent component, ExaminedEvent args) + { + args.PushText(Loc.GetString("card-stack-examine", ("count", component.Cards.Count))); + } + + private void OnAlternativeVerb(EntityUid uid, CardStackComponent component, GetVerbsEvent args) + { + if (args.Using == args.Target) + return; + if (!TryComp(args.Target, out CardStackComponent? targetStack)) + return; + + if (TryComp(args.Using, out CardStackComponent? usingStack)) + { + args.Verbs.Add(new AlternativeVerb() + { + Text = Loc.GetString("card-verb-join"), + Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/VerbIcons/refresh.svg.192dpi.png")), + Priority = 8, + Act = () => JoinStacks(args.User, args.Target, targetStack, (EntityUid)args.Using, usingStack) + }); + } + else if (TryComp(args.Using, out CardComponent? usingCard)) // Frontier: single card interaction + { + args.Verbs.Add(new AlternativeVerb() + { + Text = Loc.GetString("card-verb-join"), + Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/VerbIcons/refresh.svg.192dpi.png")), + Priority = 8, + Act = () => InsertCardOnStack(args.User, args.Target, targetStack, (EntityUid)args.Using) + }); + } // End Frontier: single card interaction + } + + // Frontier: hacky misuse of the activation verb, but allows us a separate way to draw cards without needing additional buttons and event fiddling + private void OnActivationVerb(EntityUid uid, CardStackComponent component, GetVerbsEvent args) + { + if (!args.CanAccess || !args.CanInteract || args.Hands == null) + return; + + if (args.Using == args.Target) + return; + + if (args.Using == null) + { + args.Verbs.Add(new ActivationVerb() + { + Act = () => OnInteractHand(args.Target, component, args.User), + Text = Loc.GetString("cards-verb-draw"), + Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/VerbIcons/eject.svg.192dpi.png")), + Priority = 16 + }); + } + else if (TryComp(args.Using, out var cardStack)) + { + args.Verbs.Add(new ActivationVerb() + { + Act = () => TransferNLastCardFromStacks(args.User, 1, args.Target, component, args.Using.Value, cardStack), + Text = Loc.GetString("cards-verb-draw"), + Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/VerbIcons/eject.svg.192dpi.png")), + Priority = 16 + }); + } + else if (TryComp(args.Using, out var card)) + { + args.Verbs.Add(new ActivationVerb() + { + Act = () => _cardHandSystem.TrySetupHandFromStack(args.User, args.Using.Value, card, args.Target, component, true), + Text = Loc.GetString("cards-verb-draw"), + Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/VerbIcons/eject.svg.192dpi.png")), + Priority = 16 + }); + } + } + // End Frontier + + private void JoinStacks(EntityUid user, EntityUid first, CardStackComponent firstComp, EntityUid second, CardStackComponent secondComp) + { + TryJoinStacks(first, second, firstComp, secondComp, user); + } + + public void InsertCardOnStack(EntityUid user, EntityUid stack, CardStackComponent stackComponent, EntityUid card) + { + if (!TryInsertCard(stack, card)) + return; + + _audio.PlayPredicted(stackComponent.PlaceDownSound, Transform(stack).Coordinates, user); + if (_net.IsClient) + return; + _storage.PlayPickupAnimation(card, Transform(user).Coordinates, Transform(stack).Coordinates, 0); + } + + /// + /// This takes the last card from the first stack and inserts it into the second stack + /// + public void TransferNLastCardFromStacks(EntityUid user, int n, EntityUid first, CardStackComponent firstComp, EntityUid second, CardStackComponent secondComp) + { + if (firstComp.Cards.Count <= 0) + return; + + var cards = firstComp.Cards.TakeLast(n).ToList(); // Frontier: make a copy we don't munge during iteration + + var firstCard = cards.First(); // Cache first card for animation - enumerable changes in foreach + + bool changed = false; + foreach (var card in cards) + { + if (secondComp.Cards.Count >= MaxCardsInStack) + break; + _container.Remove(card, firstComp.ItemContainer); + firstComp.Cards.Remove(card); + secondComp.Cards.Add(card); + _container.Insert(card, secondComp.ItemContainer); + changed = true; + } + + if (changed) + { + _audio.PlayPredicted(firstComp.PlaceDownSound, Transform(second).Coordinates, user); + if (_net.IsClient) + return; + + _storage.PlayPickupAnimation(firstCard, Transform(first).Coordinates, Transform(second).Coordinates, 0); + + Dirty(second, secondComp); + if (firstComp.Cards.Count == 1) + { + var card = firstComp.Cards.First(); + _container.Remove(card, firstComp.ItemContainer); + if (_hands.IsHolding(user, first)) + { + _hands.TryDrop(user, first); + _hands.TryPickupAnyHand(user, card); + } + firstComp.Cards.Clear(); + } + if (firstComp.Cards.Count <= 0) + { + _entityManager.DeleteEntity(first); + } + else + { + Dirty(first, firstComp); + RaiseLocalEvent(first, new CardStackQuantityChangeEvent(GetNetEntity(first), null, StackQuantityChangeType.Removed)); + RaiseNetworkEvent(new CardStackQuantityChangeEvent(GetNetEntity(first), null, StackQuantityChangeType.Removed)); + } + RaiseLocalEvent(second, new CardStackQuantityChangeEvent(GetNetEntity(second), null, StackQuantityChangeType.Added)); + RaiseNetworkEvent(new CardStackQuantityChangeEvent(GetNetEntity(second), null, StackQuantityChangeType.Added)); + } + } + + private void OnInteractUsing(InteractUsingEvent args) + { + if (args.Handled) + return; + + if (args.Target == args.Used) + return; + + // This checks if the user is using an item with Stack component + if (TryComp(args.Used, out CardStackComponent? usedStack)) + { + // If the target is a card, then it will insert the card into the stack + if (TryComp(args.Target, out CardComponent? _)) + { + InsertCardOnStack(args.User, args.Used, usedStack, args.Target); + args.Handled = true; + return; + } + + // If instead, the target is a stack, then it will join the two stacks + if (!TryComp(args.Target, out CardStackComponent? targetStack)) + return; + + TransferNLastCardFromStacks(args.User, 1, args.Target, targetStack, args.Used, usedStack); + args.Handled = true; + } + + // This handles the reverse case, where the user is using a card and inserting it to a stack + else if (TryComp(args.Target, out CardStackComponent? stack)) + { + //InsertCardOnStack(args.User, args.Target, stack, args.Used); // Frontier: old version + if (TryComp(args.Used, out CardComponent? card)) + { + _cardHandSystem.TrySetupHandFromStack(args.User, args.Used, card, args.Target, stack, true); + args.Handled = true; + } + } + } + + private void OnInteractHand(EntityUid uid, CardStackComponent component, EntityUid user) + { + var pickup = _hands.IsHolding(user, uid); + if (component.Cards.Count <= 0) + return; + + if (!component.Cards.TryGetValue(component.Cards.Count - 1, out var card)) + return; + if (!component.Cards.TryGetValue(component.Cards.Count - 2, out var under)) + return; + + if (!TryRemoveCard(uid, card, component)) + return; + + _hands.TryPickupAnyHand(user, card); + if (!Exists(uid) && pickup) + _hands.TryPickupAnyHand(user, under); + + if (TryComp(uid, out var deck)) + _audio.PlayPredicted(deck.PickUpSound, Transform(card).Coordinates, user); + else + _audio.PlayPredicted(component.PickUpSound, Transform(card).Coordinates, user); + } + + private void OnActivate(EntityUid uid, CardStackComponent component, ActivateInWorldEvent args) + { + if (!args.Complex || args.Handled) + return; + + if (!TryComp(args.User, out var hands)) + { + args.Handled = true; + return; + } + + var activeItem = _hands.GetActiveItem((args.User, hands)); + + if (activeItem == null) + { + // Runs if active item is nothing + // behavior is to draw one card from this target onto active hand as a standalone card + OnInteractHand(args.Target, component, args.User); + } + else if (activeItem == args.Target) + { + // Added from a Frontier PR. Don't want to draw a card from a stack onto itself. + args.Handled = true; + return; + } + else if (TryComp(activeItem, out var cardStack)) + { + // If the active item contains a card stack, behavior is to draw from Target and place onto activeHand. + TransferNLastCardFromStacks(args.User, 1, args.Target, component, activeItem.Value, cardStack); + } + else if (TryComp(activeItem, out var card)) + { + _cardHandSystem.TrySetupHandFromStack(args.User, activeItem.Value, card, args.Target, component, true); + } + args.Handled = true; + } + + #endregion +} diff --git a/Resources/Audio/DeltaV/Voice/Chitinid/attributions.yml b/Resources/Audio/DeltaV/Voice/Chitinid/attributions.yml new file mode 100644 index 000000000000..5d6386b81d6f --- /dev/null +++ b/Resources/Audio/DeltaV/Voice/Chitinid/attributions.yml @@ -0,0 +1,9 @@ +- files: ["moth_scream.ogg"] + license: "CC-BY-SA-3.0" + copyright: "Taken from https://github.com/tgstation/tgstation/commit/31c19654e0f641166ecd80c672ea05362fd19488" + source: "https://github.com/tgstation/tgstation/commits/master/sound/voice/moth/scream_moth.ogg" + +- files: ["moth_laugh.ogg, moth_chitter.ogg, moth_squeak.ogg"] + license: "CC-BY-SA-3.0" + copyright: "Taken from https://github.com/BeeStation/BeeStation-Hornet/commit/11ba3fa04105c93dd96a63ad4afaef4b20c02d0d" + source: "https://github.com/BeeStation/BeeStation-Hornet/blob/11ba3fa04105c93dd96a63ad4afaef4b20c02d0d/sound/emotes/" diff --git a/Resources/Audio/DeltaV/Voice/Chitinid/male_cough_1.ogg b/Resources/Audio/DeltaV/Voice/Chitinid/male_cough_1.ogg new file mode 100644 index 000000000000..8ddc42024474 Binary files /dev/null and b/Resources/Audio/DeltaV/Voice/Chitinid/male_cough_1.ogg differ diff --git a/Resources/Audio/DeltaV/Voice/Chitinid/moth_chitter.ogg b/Resources/Audio/DeltaV/Voice/Chitinid/moth_chitter.ogg new file mode 100644 index 000000000000..b7240a565361 Binary files /dev/null and b/Resources/Audio/DeltaV/Voice/Chitinid/moth_chitter.ogg differ diff --git a/Resources/Audio/DeltaV/Voice/Chitinid/moth_laugh.ogg b/Resources/Audio/DeltaV/Voice/Chitinid/moth_laugh.ogg new file mode 100644 index 000000000000..d3c2865ab642 Binary files /dev/null and b/Resources/Audio/DeltaV/Voice/Chitinid/moth_laugh.ogg differ diff --git a/Resources/Audio/DeltaV/Voice/Chitinid/moth_scream.ogg b/Resources/Audio/DeltaV/Voice/Chitinid/moth_scream.ogg new file mode 100644 index 000000000000..482086fb630d Binary files /dev/null and b/Resources/Audio/DeltaV/Voice/Chitinid/moth_scream.ogg differ diff --git a/Resources/Audio/DeltaV/Voice/Chitinid/moth_squeak.ogg b/Resources/Audio/DeltaV/Voice/Chitinid/moth_squeak.ogg new file mode 100644 index 000000000000..5b77d98e5654 Binary files /dev/null and b/Resources/Audio/DeltaV/Voice/Chitinid/moth_squeak.ogg differ diff --git a/Resources/Audio/EstacaoPirata/Effects/Cards/attributions.yml b/Resources/Audio/EstacaoPirata/Effects/Cards/attributions.yml new file mode 100644 index 000000000000..879bb3bc0445 --- /dev/null +++ b/Resources/Audio/EstacaoPirata/Effects/Cards/attributions.yml @@ -0,0 +1,6 @@ +- files: [ "cardFan1.ogg", "cardFan2.ogg", "cardOpenPackage1.ogg", "cardOpenPackage2.ogg", "cardPlace1.ogg", "cardPlace2.ogg", "cardPlace3.ogg", "cardPlace4.ogg", "cardShove1.ogg", "cardShove2.ogg", "cardShove3.ogg", "cardShove4.ogg", "cardShuffle.ogg", "cardSlide1.ogg", "cardSlide2.ogg", "cardSlide3.ogg", "cardSlide4.ogg", "cardSlide5.ogg", "cardSlide6.ogg", "cardSlide7.ogg", "cardSlide8.ogg", "cardTakeOutPackage1.ogg", "cardTakeOutPackage2.ogg"] + license: "CC0-1.0" + copyright: "Kenney.nl" + source: "https://opengameart.org/content/54-casino-sound-effects-cards-dice-chips" + + diff --git a/Resources/Audio/EstacaoPirata/Effects/Cards/cardFan1.ogg b/Resources/Audio/EstacaoPirata/Effects/Cards/cardFan1.ogg new file mode 100644 index 000000000000..6d059e204b84 Binary files /dev/null and b/Resources/Audio/EstacaoPirata/Effects/Cards/cardFan1.ogg differ diff --git a/Resources/Audio/EstacaoPirata/Effects/Cards/cardFan2.ogg b/Resources/Audio/EstacaoPirata/Effects/Cards/cardFan2.ogg new file mode 100644 index 000000000000..b744067444a3 Binary files /dev/null and b/Resources/Audio/EstacaoPirata/Effects/Cards/cardFan2.ogg differ diff --git a/Resources/Audio/EstacaoPirata/Effects/Cards/cardOpenPackage1.ogg b/Resources/Audio/EstacaoPirata/Effects/Cards/cardOpenPackage1.ogg new file mode 100644 index 000000000000..9d04ade0be61 Binary files /dev/null and b/Resources/Audio/EstacaoPirata/Effects/Cards/cardOpenPackage1.ogg differ diff --git a/Resources/Audio/EstacaoPirata/Effects/Cards/cardOpenPackage2.ogg b/Resources/Audio/EstacaoPirata/Effects/Cards/cardOpenPackage2.ogg new file mode 100644 index 000000000000..32afa72eb7b2 Binary files /dev/null and b/Resources/Audio/EstacaoPirata/Effects/Cards/cardOpenPackage2.ogg differ diff --git a/Resources/Audio/EstacaoPirata/Effects/Cards/cardPlace1.ogg b/Resources/Audio/EstacaoPirata/Effects/Cards/cardPlace1.ogg new file mode 100644 index 000000000000..61d8b7170f78 Binary files /dev/null and b/Resources/Audio/EstacaoPirata/Effects/Cards/cardPlace1.ogg differ diff --git a/Resources/Audio/EstacaoPirata/Effects/Cards/cardPlace2.ogg b/Resources/Audio/EstacaoPirata/Effects/Cards/cardPlace2.ogg new file mode 100644 index 000000000000..827baa8dfd68 Binary files /dev/null and b/Resources/Audio/EstacaoPirata/Effects/Cards/cardPlace2.ogg differ diff --git a/Resources/Audio/EstacaoPirata/Effects/Cards/cardPlace3.ogg b/Resources/Audio/EstacaoPirata/Effects/Cards/cardPlace3.ogg new file mode 100644 index 000000000000..7f1b11ce4c91 Binary files /dev/null and b/Resources/Audio/EstacaoPirata/Effects/Cards/cardPlace3.ogg differ diff --git a/Resources/Audio/EstacaoPirata/Effects/Cards/cardPlace4.ogg b/Resources/Audio/EstacaoPirata/Effects/Cards/cardPlace4.ogg new file mode 100644 index 000000000000..088455b47db8 Binary files /dev/null and b/Resources/Audio/EstacaoPirata/Effects/Cards/cardPlace4.ogg differ diff --git a/Resources/Audio/EstacaoPirata/Effects/Cards/cardShove1.ogg b/Resources/Audio/EstacaoPirata/Effects/Cards/cardShove1.ogg new file mode 100644 index 000000000000..89fb73a9a55c Binary files /dev/null and b/Resources/Audio/EstacaoPirata/Effects/Cards/cardShove1.ogg differ diff --git a/Resources/Audio/EstacaoPirata/Effects/Cards/cardShove2.ogg b/Resources/Audio/EstacaoPirata/Effects/Cards/cardShove2.ogg new file mode 100644 index 000000000000..5b625d301245 Binary files /dev/null and b/Resources/Audio/EstacaoPirata/Effects/Cards/cardShove2.ogg differ diff --git a/Resources/Audio/EstacaoPirata/Effects/Cards/cardShove3.ogg b/Resources/Audio/EstacaoPirata/Effects/Cards/cardShove3.ogg new file mode 100644 index 000000000000..282d1a870eae Binary files /dev/null and b/Resources/Audio/EstacaoPirata/Effects/Cards/cardShove3.ogg differ diff --git a/Resources/Audio/EstacaoPirata/Effects/Cards/cardShove4.ogg b/Resources/Audio/EstacaoPirata/Effects/Cards/cardShove4.ogg new file mode 100644 index 000000000000..cc10d9248d57 Binary files /dev/null and b/Resources/Audio/EstacaoPirata/Effects/Cards/cardShove4.ogg differ diff --git a/Resources/Audio/EstacaoPirata/Effects/Cards/cardShuffle.ogg b/Resources/Audio/EstacaoPirata/Effects/Cards/cardShuffle.ogg new file mode 100644 index 000000000000..6b2724fe5ea1 Binary files /dev/null and b/Resources/Audio/EstacaoPirata/Effects/Cards/cardShuffle.ogg differ diff --git a/Resources/Audio/EstacaoPirata/Effects/Cards/cardSlide1.ogg b/Resources/Audio/EstacaoPirata/Effects/Cards/cardSlide1.ogg new file mode 100644 index 000000000000..9545e2448504 Binary files /dev/null and b/Resources/Audio/EstacaoPirata/Effects/Cards/cardSlide1.ogg differ diff --git a/Resources/Audio/EstacaoPirata/Effects/Cards/cardSlide2.ogg b/Resources/Audio/EstacaoPirata/Effects/Cards/cardSlide2.ogg new file mode 100644 index 000000000000..d41969c20b8f Binary files /dev/null and b/Resources/Audio/EstacaoPirata/Effects/Cards/cardSlide2.ogg differ diff --git a/Resources/Audio/EstacaoPirata/Effects/Cards/cardSlide3.ogg b/Resources/Audio/EstacaoPirata/Effects/Cards/cardSlide3.ogg new file mode 100644 index 000000000000..4e2295221761 Binary files /dev/null and b/Resources/Audio/EstacaoPirata/Effects/Cards/cardSlide3.ogg differ diff --git a/Resources/Audio/EstacaoPirata/Effects/Cards/cardSlide4.ogg b/Resources/Audio/EstacaoPirata/Effects/Cards/cardSlide4.ogg new file mode 100644 index 000000000000..47dd7e9032f0 Binary files /dev/null and b/Resources/Audio/EstacaoPirata/Effects/Cards/cardSlide4.ogg differ diff --git a/Resources/Audio/EstacaoPirata/Effects/Cards/cardSlide5.ogg b/Resources/Audio/EstacaoPirata/Effects/Cards/cardSlide5.ogg new file mode 100644 index 000000000000..281d89da0af4 Binary files /dev/null and b/Resources/Audio/EstacaoPirata/Effects/Cards/cardSlide5.ogg differ diff --git a/Resources/Audio/EstacaoPirata/Effects/Cards/cardSlide6.ogg b/Resources/Audio/EstacaoPirata/Effects/Cards/cardSlide6.ogg new file mode 100644 index 000000000000..b11d1b909276 Binary files /dev/null and b/Resources/Audio/EstacaoPirata/Effects/Cards/cardSlide6.ogg differ diff --git a/Resources/Audio/EstacaoPirata/Effects/Cards/cardSlide7.ogg b/Resources/Audio/EstacaoPirata/Effects/Cards/cardSlide7.ogg new file mode 100644 index 000000000000..700e64b893bb Binary files /dev/null and b/Resources/Audio/EstacaoPirata/Effects/Cards/cardSlide7.ogg differ diff --git a/Resources/Audio/EstacaoPirata/Effects/Cards/cardSlide8.ogg b/Resources/Audio/EstacaoPirata/Effects/Cards/cardSlide8.ogg new file mode 100644 index 000000000000..8aff3ea887bf Binary files /dev/null and b/Resources/Audio/EstacaoPirata/Effects/Cards/cardSlide8.ogg differ diff --git a/Resources/Audio/EstacaoPirata/Effects/Cards/cardTakeOutPackage1.ogg b/Resources/Audio/EstacaoPirata/Effects/Cards/cardTakeOutPackage1.ogg new file mode 100644 index 000000000000..cc90ece15846 Binary files /dev/null and b/Resources/Audio/EstacaoPirata/Effects/Cards/cardTakeOutPackage1.ogg differ diff --git a/Resources/Audio/EstacaoPirata/Effects/Cards/cardTakeOutPackage2.ogg b/Resources/Audio/EstacaoPirata/Effects/Cards/cardTakeOutPackage2.ogg new file mode 100644 index 000000000000..95755e661440 Binary files /dev/null and b/Resources/Audio/EstacaoPirata/Effects/Cards/cardTakeOutPackage2.ogg differ diff --git a/Resources/Audio/Voice/Plasmaman/attributions.yml b/Resources/Audio/Voice/Plasmaman/attributions.yml new file mode 100644 index 000000000000..c2baecc2b674 --- /dev/null +++ b/Resources/Audio/Voice/Plasmaman/attributions.yml @@ -0,0 +1,7 @@ +- files: + - plasmaman_scream_1.ogg + - plasmaman_scream_2.ogg + - plasmaman_scream_3.ogg + license: "CC-BY-SA-3.0" + copyright: "Taken from https://github.com/tgstation/tgstation/commit/436ba869ebcd0b60b63973fb7562f447ee655205 and volume reduced by Skubman" + source: "https://github.com/tgstation/tgstation" diff --git a/Resources/Audio/Voice/Plasmaman/plasmaman_scream_1.ogg b/Resources/Audio/Voice/Plasmaman/plasmaman_scream_1.ogg new file mode 100644 index 000000000000..f0687945060f Binary files /dev/null and b/Resources/Audio/Voice/Plasmaman/plasmaman_scream_1.ogg differ diff --git a/Resources/Audio/Voice/Plasmaman/plasmaman_scream_2.ogg b/Resources/Audio/Voice/Plasmaman/plasmaman_scream_2.ogg new file mode 100644 index 000000000000..e61619c02766 Binary files /dev/null and b/Resources/Audio/Voice/Plasmaman/plasmaman_scream_2.ogg differ diff --git a/Resources/Audio/Voice/Plasmaman/plasmaman_scream_3.ogg b/Resources/Audio/Voice/Plasmaman/plasmaman_scream_3.ogg new file mode 100644 index 000000000000..ac8b8ec21f32 Binary files /dev/null and b/Resources/Audio/Voice/Plasmaman/plasmaman_scream_3.ogg differ diff --git a/Resources/Audio/Weapons/attributions.yml b/Resources/Audio/Weapons/attributions.yml index 310b01b7280a..11e8199c87a1 100644 --- a/Resources/Audio/Weapons/attributions.yml +++ b/Resources/Audio/Weapons/attributions.yml @@ -82,8 +82,13 @@ license: "CC0-1.0" copyright: "Taken from ScreamStudio on freesound.org" source: "https://freesound.org/people/ScreamStudio/sounds/392617/" - + - files: ["pop.ogg"] license: "CC0-1.0" copyright: "Taken from 0ne_one111yt on freesound.org" source: "https://freesound.org/people/0ne_one111yt/sounds/478213/" + +- files: ["firepunch1.ogg", "firepunch2.ogg", "firepunch3.ogg", "firepunch4.ogg"] + license: "CC-BY-SA-3.0" + copyright: "Taken from Citadel Station 13. Remixed to mono where it was stereo by metalgearsloth then added punch sound effects by Skubman" + source: "https://github.com/Citadel-Station-13/Citadel-Station-13-RP/tree/cc701aedb633d83eae8339a8b3712ad8ad99cca0/sound" diff --git a/Resources/Audio/Weapons/firepunch1.ogg b/Resources/Audio/Weapons/firepunch1.ogg new file mode 100644 index 000000000000..6f13ff9cef59 Binary files /dev/null and b/Resources/Audio/Weapons/firepunch1.ogg differ diff --git a/Resources/Audio/Weapons/firepunch2.ogg b/Resources/Audio/Weapons/firepunch2.ogg new file mode 100644 index 000000000000..fe4e7ef41b44 Binary files /dev/null and b/Resources/Audio/Weapons/firepunch2.ogg differ diff --git a/Resources/Audio/Weapons/firepunch3.ogg b/Resources/Audio/Weapons/firepunch3.ogg new file mode 100644 index 000000000000..2503a66583ad Binary files /dev/null and b/Resources/Audio/Weapons/firepunch3.ogg differ diff --git a/Resources/Audio/Weapons/firepunch4.ogg b/Resources/Audio/Weapons/firepunch4.ogg new file mode 100644 index 000000000000..c656d6c8ca1f Binary files /dev/null and b/Resources/Audio/Weapons/firepunch4.ogg differ diff --git a/Resources/Audio/_DV/Voice/Chitinid/attributions.yml b/Resources/Audio/_DV/Voice/Chitinid/attributions.yml new file mode 100644 index 000000000000..5d6386b81d6f --- /dev/null +++ b/Resources/Audio/_DV/Voice/Chitinid/attributions.yml @@ -0,0 +1,9 @@ +- files: ["moth_scream.ogg"] + license: "CC-BY-SA-3.0" + copyright: "Taken from https://github.com/tgstation/tgstation/commit/31c19654e0f641166ecd80c672ea05362fd19488" + source: "https://github.com/tgstation/tgstation/commits/master/sound/voice/moth/scream_moth.ogg" + +- files: ["moth_laugh.ogg, moth_chitter.ogg, moth_squeak.ogg"] + license: "CC-BY-SA-3.0" + copyright: "Taken from https://github.com/BeeStation/BeeStation-Hornet/commit/11ba3fa04105c93dd96a63ad4afaef4b20c02d0d" + source: "https://github.com/BeeStation/BeeStation-Hornet/blob/11ba3fa04105c93dd96a63ad4afaef4b20c02d0d/sound/emotes/" diff --git a/Resources/Audio/_DV/Voice/Chitinid/male_cough_1.ogg b/Resources/Audio/_DV/Voice/Chitinid/male_cough_1.ogg new file mode 100644 index 000000000000..8ddc42024474 Binary files /dev/null and b/Resources/Audio/_DV/Voice/Chitinid/male_cough_1.ogg differ diff --git a/Resources/Audio/_DV/Voice/Chitinid/moth_chitter.ogg b/Resources/Audio/_DV/Voice/Chitinid/moth_chitter.ogg new file mode 100644 index 000000000000..b7240a565361 Binary files /dev/null and b/Resources/Audio/_DV/Voice/Chitinid/moth_chitter.ogg differ diff --git a/Resources/Audio/_DV/Voice/Chitinid/moth_laugh.ogg b/Resources/Audio/_DV/Voice/Chitinid/moth_laugh.ogg new file mode 100644 index 000000000000..d3c2865ab642 Binary files /dev/null and b/Resources/Audio/_DV/Voice/Chitinid/moth_laugh.ogg differ diff --git a/Resources/Audio/_DV/Voice/Chitinid/moth_scream.ogg b/Resources/Audio/_DV/Voice/Chitinid/moth_scream.ogg new file mode 100644 index 000000000000..482086fb630d Binary files /dev/null and b/Resources/Audio/_DV/Voice/Chitinid/moth_scream.ogg differ diff --git a/Resources/Audio/_DV/Voice/Chitinid/moth_squeak.ogg b/Resources/Audio/_DV/Voice/Chitinid/moth_squeak.ogg new file mode 100644 index 000000000000..5b77d98e5654 Binary files /dev/null and b/Resources/Audio/_DV/Voice/Chitinid/moth_squeak.ogg differ diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 0beca7051982..590cf158a8a5 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -10692,3 +10692,79 @@ Entries: id: 6758 time: '2025-01-25T17:17:45.0000000+00:00' url: https://github.com/Simple-Station/Einstein-Engines/pull/1640 +- author: sleepyyapril + changes: + - type: Add + message: >- + A new ChemMaster experience has been granted to the people of Einstein + Engines. Includes a pill buffer! + id: 6759 + time: '2025-01-25T17:29:37.0000000+00:00' + url: https://github.com/Simple-Station/Einstein-Engines/pull/1650 +- author: VMSolidus + changes: + - type: Add + message: >- + Engineering Hardsuits, Maxim Hardsuit, and Cybersun's Elite Tacsuit now + all make the wearer immune to atmos fires. Have fun walking directly + into the supermatter engine. Play out your heroic engineer fantasy by + dragging the supermatter crystal to space in order to save the station. + id: 6760 + time: '2025-01-25T17:31:35.0000000+00:00' + url: https://github.com/Simple-Station/Einstein-Engines/pull/1445 +- author: RadsammyT + changes: + - type: Add + message: >- + Playing Cards. You may get one in the Games Vendor or as an item in your + loadout. + id: 6761 + time: '2025-01-25T18:34:15.0000000+00:00' + url: https://github.com/Simple-Station/Einstein-Engines/pull/1451 +- author: ElusiveCoin + changes: + - type: Add + message: Added a new species, the Chitinid. + id: 6762 + time: '2025-01-25T20:12:52.0000000+00:00' + url: https://github.com/Simple-Station/Einstein-Engines/pull/1644 +- author: sleepyyapril + changes: + - type: Tweak + message: >- + Kill random person objective has been replaced by teaching them a + lesson, removing the need to RR a random person. + id: 6763 + time: '2025-01-25T20:38:25.0000000+00:00' + url: https://github.com/Simple-Station/Einstein-Engines/pull/1654 +- author: VMSolidus + changes: + - type: Fix + message: Fixed melee weapons having the wrong attack speed calculations(again) + id: 6764 + time: '2025-01-25T20:39:09.0000000+00:00' + url: https://github.com/Simple-Station/Einstein-Engines/pull/1653 +- author: Skubman + changes: + - type: Add + message: >- + The Plasmaman species has arrived! They need to breathe plasma to live, + and a special jumpsuit to prevent oxygen from igniting them. In + exchange, they deal formidable unarmed Heat damage, are never hungry nor + thirsty, and are immune to cold and radiation damage. Read more about + Plasmamen in their Guidebook entry. + - type: Tweak + message: >- + Internals are no longer toggled off if you take your helmet off but + still have a gas mask on and vice versa. + - type: Tweak + message: >- + Paradox Anomalies will now spawn with the original person's Loadout + items. + - type: Fix + message: >- + Fixed prisoners not being able to have custom Loadout names and + descriptions, and heirlooms if they didn't have a backpack when joining. + id: 6765 + time: '2025-01-25T21:13:19.0000000+00:00' + url: https://github.com/Simple-Station/Einstein-Engines/pull/1291 diff --git a/Resources/Fonts/LDFComicSans/LDFComicSans-Bold.ttf b/Resources/Fonts/LDFComicSans/LDFComicSans-Bold.ttf new file mode 100644 index 000000000000..5bd2ad387d6c Binary files /dev/null and b/Resources/Fonts/LDFComicSans/LDFComicSans-Bold.ttf differ diff --git a/Resources/Fonts/LDFComicSans/LDFComicSans-HairlineMedium.ttf b/Resources/Fonts/LDFComicSans/LDFComicSans-HairlineMedium.ttf new file mode 100644 index 000000000000..4da200d1541b Binary files /dev/null and b/Resources/Fonts/LDFComicSans/LDFComicSans-HairlineMedium.ttf differ diff --git a/Resources/Fonts/LDFComicSans/LDFComicSans-Light.ttf b/Resources/Fonts/LDFComicSans/LDFComicSans-Light.ttf new file mode 100644 index 000000000000..d041f189811f Binary files /dev/null and b/Resources/Fonts/LDFComicSans/LDFComicSans-Light.ttf differ diff --git a/Resources/Fonts/LDFComicSans/LDFComicSans-Medium.ttf b/Resources/Fonts/LDFComicSans/LDFComicSans-Medium.ttf new file mode 100644 index 000000000000..38b3abf939e0 Binary files /dev/null and b/Resources/Fonts/LDFComicSans/LDFComicSans-Medium.ttf differ diff --git a/Resources/Fonts/LDFComicSans/LICENSE.txt b/Resources/Fonts/LDFComicSans/LICENSE.txt new file mode 100644 index 000000000000..f979389d95ee --- /dev/null +++ b/Resources/Fonts/LDFComicSans/LICENSE.txt @@ -0,0 +1,2 @@ +license: Freeware +link: https://www.fontspace.com/ldfcomicsans-font-f16951 \ No newline at end of file diff --git a/Resources/Fonts/Only_You.otf b/Resources/Fonts/Only_You.otf new file mode 100644 index 000000000000..cd7f3547e0bd Binary files /dev/null and b/Resources/Fonts/Only_You.otf differ diff --git a/Resources/Locale/en-US/abilities/chitinid.ftl b/Resources/Locale/en-US/abilities/chitinid.ftl new file mode 100644 index 000000000000..e2e10c0eb4e5 --- /dev/null +++ b/Resources/Locale/en-US/abilities/chitinid.ftl @@ -0,0 +1,2 @@ +chitzite-mask = Take off your {$mask} first. +chitzite-cough = {CAPITALIZE(THE($name))} starts coughing up a hunk of Chitzite! diff --git a/Resources/Locale/en-US/alerts/alerts.ftl b/Resources/Locale/en-US/alerts/alerts.ftl index 7522784713d9..3babbb6c1a5a 100644 --- a/Resources/Locale/en-US/alerts/alerts.ftl +++ b/Resources/Locale/en-US/alerts/alerts.ftl @@ -4,6 +4,12 @@ alerts-low-oxygen-desc = There is [color=red]not enough oxygen[/color] in the ai alerts-low-nitrogen-name = [color=red]Low Nitrogen[/color] alerts-low-nitrogen-desc = There is [color=red]not enough nitrogen[/color] in the air you are breathing. Put on [color=green]internals[/color]. +alerts-low-plasma-name = [color=red]Low Plasma[/color] +alerts-low-plasma-desc = There is [color=red]not enough plasma[/color] in the air you are breathing. Put on [color=green]internals[/color]. + +alerts-high-oxygen-name = [color=red]High Oxygen[/color] +alerts-high-oxygen-desc = There is [color=red]too much oxygen[/color] in the air you are breathing. Put on [color=green]internals[/color]. + alerts-high-toxin-name = [color=red]High Toxin Level[/color] alerts-high-toxin-desc = There are [color=red]too many toxins[/color] in the air you are breathing. Put on [color=green]internals[/color] or get away. diff --git a/Resources/Locale/en-US/chat/managers/chat-language.ftl b/Resources/Locale/en-US/chat/managers/chat-language.ftl index 00c41130eaa3..67762441e7de 100644 --- a/Resources/Locale/en-US/chat/managers/chat-language.ftl +++ b/Resources/Locale/en-US/chat/managers/chat-language.ftl @@ -12,9 +12,11 @@ chat-language-Elyran-name = Elyran chat-language-Canilunzt-name = Canilunzt chat-language-Moffic-name = Moffic chat-language-RobotTalk-name = Binary +chat-language-Calcic-name = Calcic chat-language-ValyrianStandard-name = Valyrian chat-language-Sign-name = Sign chat-language-Marish-name = Marish +chat-language-Chittin-name = Chittin # Animal Languages diff --git a/Resources/Locale/en-US/chat/managers/chat-manager.ftl b/Resources/Locale/en-US/chat/managers/chat-manager.ftl index 7f2242568548..d8356dfa2de1 100644 --- a/Resources/Locale/en-US/chat/managers/chat-manager.ftl +++ b/Resources/Locale/en-US/chat/managers/chat-manager.ftl @@ -112,10 +112,12 @@ chat-speech-verb-reptilian-1 = hisses chat-speech-verb-reptilian-2 = snorts chat-speech-verb-reptilian-3 = huffs -chat-speech-verb-name-skeleton = Skeleton +chat-speech-verb-name-skeleton = Skeleton / Plasmaman chat-speech-verb-skeleton-1 = rattles -chat-speech-verb-skeleton-2 = clacks -chat-speech-verb-skeleton-3 = gnashes +chat-speech-verb-skeleton-2 = ribs +chat-speech-verb-skeleton-3 = bones +chat-speech-verb-skeleton-4 = clacks +chat-speech-verb-skeleton-5 = cracks chat-speech-verb-name-vox = Vox chat-speech-verb-vox-1 = screeches diff --git a/Resources/Locale/en-US/chemistry/components/chem-master-component.ftl b/Resources/Locale/en-US/chemistry/components/chem-master-component.ftl index aff0cfac66ce..9631801a448d 100644 --- a/Resources/Locale/en-US/chemistry/components/chem-master-component.ftl +++ b/Resources/Locale/en-US/chemistry/components/chem-master-component.ftl @@ -10,22 +10,26 @@ chem-master-bound-user-interface-title = ChemMaster 4000 chem-master-window-input-tab = Input chem-master-window-output-tab = Output -chem-master-window-container-label = Container +chem-master-window-pill-buffer-tab = Pill Buffer +chem-master-window-container-label = Container chem-master-window-amount-placeholder = Transfer Amount chem-master-window-eject-button = Eject chem-master-window-no-container-loaded-text = No container loaded. chem-master-window-buffer-text = Buffer chem-master-window-buffer-label = buffer: -chem-master-window-buffer-all-amount = All chem-master-window-buffer-empty-text = Buffer empty. chem-master-window-buffer-low-text = Not enough solution in buffer +chem-master-window-pill-buffer-text = Pill Buffer +chem-master-window-pill-buffer-label = pill buffer: +chem-master-window-pill-buffer-empty-text = Pill buffer empty. +chem-master-window-pill-buffer-low-text = Not enough solution in pill buffer chem-master-window-transfer-button = Transfer chem-master-window-sort-method-tooltip = Choose your buffer's sort method. chem-master-window-sort-method-Time-text = Last Added chem-master-window-sort-method-Alphabetical-text = Alphabetical Order chem-master-window-sort-method-Amount-text = Quantity -chem-master-window-transferring-label = Transferring: [color={$color}]{$quantity}[/color] -chem-master-window-transferring-default-label = Transferring: [color=#ffa500]50[/color] +chem-master-window-transferring-label = Transferring: [color={$color}]{$quantity}[/color] +chem-master-window-transferring-default-label = Transferring: [color=#ffffff]50[/color] chem-master-window-reagent-move-button = Move chem-master-window-discard-button = Discard chem-master-window-packaging-text = Packaging diff --git a/Resources/Locale/en-US/chemistry/components/injector-component.ftl b/Resources/Locale/en-US/chemistry/components/injector-component.ftl index 24f524081e0d..0b7d485daf52 100644 --- a/Resources/Locale/en-US/chemistry/components/injector-component.ftl +++ b/Resources/Locale/en-US/chemistry/components/injector-component.ftl @@ -27,3 +27,4 @@ injector-component-drawing-user = You start drawing the needle. injector-component-injecting-user = You start injecting the needle. injector-component-drawing-target = {CAPITALIZE(THE($user))} is trying to use a needle to draw from you! injector-component-injecting-target = {CAPITALIZE(THE($user))} is trying to inject a needle into you! +injector-component-deny-chitinid = {CAPITALIZE(THE($target))}'s exoskeleton is too thick for the needle to pierce. diff --git a/Resources/Locale/en-US/deltav/chat/managers/chat_manager.ftl b/Resources/Locale/en-US/deltav/chat/managers/chat_manager.ftl index 22cc34b2714f..7602189d5cc4 100644 --- a/Resources/Locale/en-US/deltav/chat/managers/chat_manager.ftl +++ b/Resources/Locale/en-US/deltav/chat/managers/chat_manager.ftl @@ -15,3 +15,9 @@ chat-speech-verb-harpy-1 = chirps chat-speech-verb-harpy-2 = tweets chat-speech-verb-harpy-3 = caws chat-speech-verb-harpy-4 = trills + +chat-speech-verb-name-chitinid = Chitinid +chat-speech-verb-chitinid-1 = clicks +chat-speech-verb-chitinid-2 = chitters +chat-speech-verb-chitinid-3 = hisses +chat-speech-verb-chitinid-4 = buzzes diff --git a/Resources/Locale/en-US/deltav/markings/chitinid.ftl b/Resources/Locale/en-US/deltav/markings/chitinid.ftl new file mode 100644 index 000000000000..be5ae5896a71 --- /dev/null +++ b/Resources/Locale/en-US/deltav/markings/chitinid.ftl @@ -0,0 +1,164 @@ +marking-ChitinidAntennasDefault-default = Antennae +marking-ChitinidAntennasDefault = Antennae (Default) + +marking-ChitinidAntennasCurly-curly = Antennae +marking-ChitinidAntennasCurly = Antennae (Curly) + +marking-ChitinidAntennasGray-gray = Antennae +marking-ChitinidAntennasGray = Antennae (Gray) + +marking-ChitinidAntennasSlick-slick = Antennae +marking-ChitinidAntennasSlick = Antennae (Slick) + +marking-ChitinidAntennasShort-short = Antennae +marking-ChitinidAntennasShort = Antennae (short) + +marking-ChitinidAntennasLong-long = Antennae +marking-ChitinidAntennasLong = Antennae (Long) + +marking-ChitinidAntennasBee-bee = Antennae +marking-ChitinidAntennasBee = Antennae (Bee) + +marking-ChitinidAntennasFirefly-firefly_primary = Primary +marking-ChitinidAntennasFirefly-firefly_secondary = Secondary +marking-ChitinidAntennasFirefly = Antennae (Firefly) + +marking-ChitinidAntennasRadar-radar = Antennae +marking-ChitinidAntennasRadar = Antennae (Radar) + +marking-ChitinidAntennasSpeed-speed = Antennae +marking-ChitinidAntennasSpeed = Antennae (Speed) + + + +marking-ChitinidWingsDefault-default = Wing +marking-ChitinidWingsDefault = Tail (Default) + +marking-ChitinidWingsSmooth-smooth = Wing +marking-ChitinidWingsSmooth = Tail (Smooth) + +marking-ChitinidWingsHoneypot-honeypot_primary = Primary +marking-ChitinidWingsHoneypot-honeypot_secondary = Secondary +marking-ChitinidWingsHoneypot = Tail (Honeypot) + +marking-ChitinidWingsStubby-stubby = Wing +marking-ChitinidWingsStubby = Tail (Stubby) + +marking-ChitinidWingsBee-bee_primary = Primary +marking-ChitinidWingsBee-bee_secondary = Secondary +marking-ChitinidWingsBee = Tail (Bee) + +marking-ChitinidWingsFirefly-firefly_primary = Primary +marking-ChitinidWingsFirefly-firefly_secondary = Secondary +marking-ChitinidWingsFirefly = Tail (Firefly) + + + +marking-ChitinidChestCharred-charred_chest = Chest +marking-ChitinidChestCharred = Chitinid Chest (Charred) + +marking-ChitinidHeadCharred-charred_head = Head +marking-ChitinidHeadCharred = Chitinid Head (Charred) + +marking-ChitinidLLegCharred-charred_l_leg = Left Leg +marking-ChitinidLLegCharred = Chitinid Left Leg (Charred) + +marking-ChitinidRLegCharred-charred_r_leg = Right Leg +marking-ChitinidRLegCharred = Chitinid Right Leg (Charred) + +marking-ChitinidLArmCharred-charred_l_arm = Left Arm +marking-ChitinidLArmCharred = Chitinid Left Arm (Charred) + +marking-ChitinidRArmCharred-charred_r_arm = Right Arm +marking-ChitinidRArmCharred = Chitinid Right Arm (Charred) + + + +marking-ChitinidChestPlated-plated_chest = Chest +marking-ChitinidChestPlated = Chitinid Chest (Plated) + +marking-ChitinidLArmPlated-plated_l_arm = Left Arm +marking-ChitinidLArmPlated = Chitinid Left Arm (Plated) + +marking-ChitinidRArmPlated-plated_r_arm = Right Arm +marking-ChitinidRArmPlated = Chitinid Right Arm (Plated) + + + +marking-ChitinidChestStripes-stripes_chest = Chest +marking-ChitinidChestStripes = Chitinid Chest (Stripes) + +marking-ChitinidHeadStripes-stripes_head = Head +marking-ChitinidHeadStripes = Chitinid Head (Stripes) + +marking-ChitinidLLegStripes-stripes_l_leg = Left Leg +marking-ChitinidLLegStripes = Chitinid Left Leg (Stripes) + +marking-ChitinidRLegStripes-stripes_r_leg = Right Leg +marking-ChitinidRLegStripes = Chitinid Right Leg (Stripes) + +marking-ChitinidLArmStripes-stripes_l_arm = Left Arm +marking-ChitinidLArmStripes = Chitinid Left Arm (Stripes) + +marking-ChitinidRArmStripes-stripes_r_arm = Right Arm +marking-ChitinidRArmStripes = Chitinid Right Arm (Stripes) + + + +marking-ChitinidChestRadiant-radiant_chest = Chest +marking-ChitinidChestRadiant = Chitinid Chest (Radiant) + +marking-ChitinidHeadRadiant-radiant_head = Head +marking-ChitinidHeadRadiant = Chitinid Head (Radiant) + +marking-ChitinidLLegRadiant-radiant_l_leg = Left Leg +marking-ChitinidLLegRadiant = Chitinid Left Leg (Radiant) + +marking-ChitinidRLegRadiant-radiant_r_leg = Right Leg +marking-ChitinidRLegRadiant = Chitinid Right Leg (Radiant) + +marking-ChitinidLArmRadiant-radiant_l_arm = Left Arm +marking-ChitinidLArmRadiant = Chitinid Left Arm (Radiant) + +marking-ChitinidRArmRadiant-radiant_r_arm = Right Arm +marking-ChitinidRArmRadiant = Chitinid Right Arm (Radiant) + + + +marking-ChitinidChestToxic-toxic_chest = Chest +marking-ChitinidChestToxic = Chitinid Chest (Toxic) + +marking-ChitinidHeadToxic-toxic_head = Head +marking-ChitinidHeadToxic = Chitinid Head (Toxic) + +marking-ChitinidLLegToxic-toxic_l_leg = Left Leg +marking-ChitinidLLegToxic = Chitinid Left Leg (Toxic) + +marking-ChitinidRLegToxic-toxic_r_leg = Right Leg +marking-ChitinidRLegToxic = Chitinid Right Leg (Toxic) + +marking-ChitinidLArmToxic-toxic_l_arm = Left Arm +marking-ChitinidLArmToxic = Chitinid Left Arm (Toxic) + +marking-ChitinidRArmToxic-toxic_r_arm = Right Arm +marking-ChitinidRArmToxic = Chitinid Right Arm (Toxic) + + + +marking-ChitinidChestSpotted-spotted_chest = Chest +marking-ChitinidChestSpotted = Chitinid Chest (Spotted) + +marking-ChitinidHeadSpotted-spotted_head = Head +marking-ChitinidHeadSpotted = Chitinid Head (Spotted) + +marking-ChitinidLLegSpotted-spotted_l_leg = Left Leg +marking-ChitinidLLegSpotted = Chitinid Left Leg (Spotted) + +marking-ChitinidRLegSpotted-spotted_r_leg = Right Leg +marking-ChitinidRLegSpotted = Chitinid Right Leg (Spotted) + +marking-ChitinidLArmSpotted-spotted_l_arm = Left Arm +marking-ChitinidLArmSpotted = Chitinid Left Arm (Spotted) + +marking-ChitinidRArmSpotted-spotted_r_arm = Right Arm +marking-ChitinidRArmSpotted = Chitinid Right Arm (Spotted) diff --git a/Resources/Locale/en-US/deltav/objectives/conditions/teach-person.ftl b/Resources/Locale/en-US/deltav/objectives/conditions/teach-person.ftl new file mode 100644 index 000000000000..0c557dbb0c1a --- /dev/null +++ b/Resources/Locale/en-US/deltav/objectives/conditions/teach-person.ftl @@ -0,0 +1 @@ +objective-condition-teach-person-title = Teach {$targetName}, {CAPITALIZE($job)} a lesson. You need to be within 30 meters of the target, otherwise the syndicate can't take credit for the job. diff --git a/Resources/Locale/en-US/deltav/species/species.ftl b/Resources/Locale/en-US/deltav/species/species.ftl index 83437bd651f0..9f3c8a5ffe86 100644 --- a/Resources/Locale/en-US/deltav/species/species.ftl +++ b/Resources/Locale/en-US/deltav/species/species.ftl @@ -2,3 +2,4 @@ species-name-vulpkanin = Vulpkanin species-name-harpy = Harpy +species-name-chitinid = Chitinid diff --git a/Resources/Locale/en-US/envirosuit/envirosuit.ftl b/Resources/Locale/en-US/envirosuit/envirosuit.ftl new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/Resources/Locale/en-US/estacao-pirata/cards/cards.ftl b/Resources/Locale/en-US/estacao-pirata/cards/cards.ftl new file mode 100644 index 000000000000..f721e3ff01f3 --- /dev/null +++ b/Resources/Locale/en-US/estacao-pirata/cards/cards.ftl @@ -0,0 +1,89 @@ +card-examined = This is the {$target}. +cards-verb-shuffle = Shuffle +card-verb-shuffle-success = Cards shuffled +cards-verb-draw = Draw card +cards-verb-flip = Flip cards +card-verb-join = Join cards +card-verb-organize-success = Cards flipped face { $facedown -> + [true] down + *[false] up +} +cards-verb-organize-up = Flip cards face up +cards-verb-organize-down = Flip cards face down +cards-verb-pickcard = Pick a card +card-stack-examine = { $count -> + [one] There is {$count} card in this stack. + *[other] There are {$count} cards in this stack. +} +cards-stackquantitychange-added = Card was added (Total cards: {$quantity}) +cards-stackquantitychange-removed = Card was removed (Total cards: {$quantity}) +cards-stackquantitychange-joined = Stack was merged (Total cards: {$quantity}) +cards-stackquantitychange-split = Stack was split (Total cards: {$quantity}) +cards-stackquantitychange-unknown = Stack count changed (Total cards: {$quantity}) +cards-verb-convert-to-deck = Convert to deck +cards-verb-split = Split in half + +card-base-name = card +card-deck-name = deck of cards + +card-sc-2-clubs = 2 of clubs +card-sc-3-clubs = 3 of clubs +card-sc-4-clubs = 4 of clubs +card-sc-5-clubs = 5 of clubs +card-sc-6-clubs = 6 of clubs +card-sc-7-clubs = 7 of clubs +card-sc-8-clubs = 8 of clubs +card-sc-9-clubs = 9 of clubs +card-sc-10-clubs = 10 of clubs +card-sc-ace-clubs = ace of clubs +card-sc-jack-clubs = jack of clubs +card-sc-king-clubs = king of clubs +card-sc-queen-clubs = queen of clubs + +card-sc-2-diamonds = 2 of diamonds +card-sc-3-diamonds = 3 of diamonds +card-sc-4-diamonds = 4 of diamonds +card-sc-5-diamonds = 5 of diamonds +card-sc-6-diamonds = 6 of diamonds +card-sc-7-diamonds = 7 of diamonds +card-sc-8-diamonds = 8 of diamonds +card-sc-9-diamonds = 9 of diamonds +card-sc-10-diamonds = 10 of diamonds +card-sc-ace-diamonds = ace of diamonds +card-sc-jack-diamonds = jack of diamonds +card-sc-king-diamonds = king of diamonds +card-sc-queen-diamonds = queen of diamonds + +card-sc-2-hearts = 2 of hearts +card-sc-3-hearts = 3 of hearts +card-sc-4-hearts = 4 of hearts +card-sc-5-hearts = 5 of hearts +card-sc-6-hearts = 6 of hearts +card-sc-7-hearts = 7 of hearts +card-sc-8-hearts = 8 of hearts +card-sc-9-hearts = 9 of hearts +card-sc-10-hearts = 10 of hearts +card-sc-ace-hearts = ace of hearts +card-sc-jack-hearts = jack of hearts +card-sc-king-hearts = king of hearts +card-sc-queen-hearts = queen of hearts + +card-sc-2-spades = 2 of spades +card-sc-3-spades = 3 of spades +card-sc-4-spades = 4 of spades +card-sc-5-spades = 5 of spades +card-sc-6-spades = 6 of spades +card-sc-7-spades = 7 of spades +card-sc-8-spades = 8 of spades +card-sc-9-spades = 9 of spades +card-sc-10-spades = 10 of spades +card-sc-ace-spades = ace of spades +card-sc-jack-spades = jack of spades +card-sc-king-spades = king of spades +card-sc-queen-spades = queen of spades + +card-sc-joker = joker + +container-sealed = A holographic security seal is on it. Opening it will have the seal dissipate. +container-unsealed = The seal attached to it dissipates. + diff --git a/Resources/Locale/en-US/estacao-pirata/store/uplink-catalog.ftl b/Resources/Locale/en-US/estacao-pirata/store/uplink-catalog.ftl new file mode 100644 index 000000000000..c94ffdba1676 --- /dev/null +++ b/Resources/Locale/en-US/estacao-pirata/store/uplink-catalog.ftl @@ -0,0 +1,2 @@ +uplink-syndicate-deck-name = Syndicate Deck Box +uplink-syndicate-deck-desc = A deck box with the standard 53 playing cards with syndicate branding. Please gamble responsibly. diff --git a/Resources/Locale/en-US/flavors/flavor-profiles.ftl b/Resources/Locale/en-US/flavors/flavor-profiles.ftl index 543e9be50d0c..2fb0aef07c29 100644 --- a/Resources/Locale/en-US/flavors/flavor-profiles.ftl +++ b/Resources/Locale/en-US/flavors/flavor-profiles.ftl @@ -177,6 +177,7 @@ flavor-complex-true-nature = like the true nature of reality flavor-complex-false-meat = not entirely unlike meat flavor-complex-paper = like mushy pulp flavor-complex-compressed-meat = like compressed meat +flavor-complex-plasma = like plasma # Drink-specific flavors. diff --git a/Resources/Locale/en-US/language/languages.ftl b/Resources/Locale/en-US/language/languages.ftl index fb3b1a1d0465..33a3f9b52b67 100644 --- a/Resources/Locale/en-US/language/languages.ftl +++ b/Resources/Locale/en-US/language/languages.ftl @@ -58,6 +58,9 @@ language-Moffic-description = The language of the mothpeople borders on complete language-RobotTalk-name = RobotTalk language-RobotTalk-description = A language consisting of harsh binary chirps, whistles, hisses, and whines. Organic tongues cannot speak it without aid from special translators. +language-Calcic-name = Calcic +language-Calcic-description = The bone-rattling language of skeletons and Plasmamen. It sounds like a harmonic trousle of bones with a humerus tone, sans any off-tune ribbing. + language-Sign-name = Tau-Ceti Basic Sign Language language-Sign-description = TCB-SL for short, this sign language is prevalent among mute and deaf people. @@ -70,6 +73,11 @@ language-ValyrianStandard-description = It is rarely spoken outside of the worlds of its native speakers, and has in modern times been supplanted by the 'Conlangs of the Sol Alliance. Its speakers are those who wish to uphold the traditions and beliefs of ancient peoples from before the colonial era. +language-Chittin-name = Chittin +language-Chittin-description = + A language consisting of clicks, buzzes, and some variety of harsh insect sounds. + Most of what makes up their speech comes from their antennae, making it a near-impossible language for those without to learn. + # Animal Languages language-Cat-name = Cat diff --git a/Resources/Locale/en-US/loadouts/generic/hands.ftl b/Resources/Locale/en-US/loadouts/generic/hands.ftl index 409691f57760..69c7a9e7be57 100644 --- a/Resources/Locale/en-US/loadouts/generic/hands.ftl +++ b/Resources/Locale/en-US/loadouts/generic/hands.ftl @@ -1,3 +1,5 @@ loadout-name-LoadoutHandsColorWhite = gloves (colorable) loadout-name-LoadoutHandsGlovesFingerlessWhite = fingerless gloves (colorable) loadout-name-LoadoutHandsGlovesEvening = evening gloves (colorable) +loadout-name-LoadoutHandsGlovesEnviroglovesColor = envirogloves (colorable) +loadout-name-LoadoutHandsGlovesEnviroglovesEvening = evening envirogloves (colorable) diff --git a/Resources/Locale/en-US/loadouts/generic/items.ftl b/Resources/Locale/en-US/loadouts/generic/items.ftl index f10782344760..72d8275022fb 100644 --- a/Resources/Locale/en-US/loadouts/generic/items.ftl +++ b/Resources/Locale/en-US/loadouts/generic/items.ftl @@ -1,3 +1,5 @@ +loadout-description-LoadoutItemBlackDeck = A black box containing the standard 53 playing cards. Please gamble responsibly. +loadout-description-LoadoutItemNTDeck = A Nanotrasen-branded box containing the standard 53 playing cards. Please gamble responsibly. loadout-description-LoadoutItemCig = Cool guys always have one. loadout-description-LoadoutItemCigsGreen = A pack a day keeps the doctor well-paid! loadout-description-LoadoutItemCigsRed = A pack a day keeps the doctor well-paid! diff --git a/Resources/Locale/en-US/loadouts/generic/species.ftl b/Resources/Locale/en-US/loadouts/generic/species.ftl new file mode 100644 index 000000000000..943ddbf3c24b --- /dev/null +++ b/Resources/Locale/en-US/loadouts/generic/species.ftl @@ -0,0 +1,5 @@ +loadout-name-LoadoutSpeciesDoubleEmergencyPlasmaTank = extra plasma internals tank +loadout-description-LoadoutSpeciesDoubleEmergencyPlasmaTank = An extra plasma tank to extend your plasma supply for about another hour. + +loadout-name-LoadoutSpeciesDrinkMilkCartonAndSyringe = milk carton and syringe +loadout-description-LoadoutSpeciesDrinkMilkCartonAndSyringe = A milk carton full of nutritious calcium to heal your bones, and a syringe to inject the milk directly. diff --git a/Resources/Locale/en-US/loadouts/generic/uniform.ftl b/Resources/Locale/en-US/loadouts/generic/uniform.ftl index b05a9269357f..1fcf270f298b 100644 --- a/Resources/Locale/en-US/loadouts/generic/uniform.ftl +++ b/Resources/Locale/en-US/loadouts/generic/uniform.ftl @@ -43,3 +43,5 @@ loadout-name-LoadoutUniformJumpsuitSailor = sailor suit (colorable) loadout-name-LoadoutUniformJumpsuitTrackpants = track pants (colorable) loadout-name-LoadoutUniformJumpsuitTurtleneckGrey = grey turtleneck (colorable) loadout-name-LoadoutUniformJumpsuitYogaGymBra = yoga gym bra (colorable) +loadout-name-LoadoutUniformEnvirosuitBlackPinkAlt = black pink envirosuit, alternative +loadout-name-LoadoutUniformEnvirosuitEnviroslacksMNKAlt = MNK enviroslacks, alternative diff --git a/Resources/Locale/en-US/loadouts/itemgroups.ftl b/Resources/Locale/en-US/loadouts/itemgroups.ftl index 6250fbcb891b..8ccbbdbebfb0 100644 --- a/Resources/Locale/en-US/loadouts/itemgroups.ftl +++ b/Resources/Locale/en-US/loadouts/itemgroups.ftl @@ -19,6 +19,7 @@ character-item-group-LoadoutSmokes = Smokeables character-item-group-LoadoutBoxKits = Survival Kits character-item-group-LoadoutWritables = Writing Tools character-item-group-LoadoutPets = Pets +character-item-group-LoadoutCards = Playing Cards # Job Specific Template character-item-group-LoadoutJOBBackpacks = JOB Backpacks diff --git a/Resources/Locale/en-US/metabolism/metabolizer-types.ftl b/Resources/Locale/en-US/metabolism/metabolizer-types.ftl index d0f57e2bc0b0..97d5c068c417 100644 --- a/Resources/Locale/en-US/metabolism/metabolizer-types.ftl +++ b/Resources/Locale/en-US/metabolism/metabolizer-types.ftl @@ -12,3 +12,4 @@ metabolizer-type-arachnid = Arachnid metabolizer-type-vampiric = Vampiric metabolizer-type-liquorlifeline = Liquor Lifeline metabolizer-type-shadowkin = Shadowkin +metabolizer-type-plasmaman = Plasmaman diff --git a/Resources/Locale/en-US/mood/mood.ftl b/Resources/Locale/en-US/mood/mood.ftl index aa348ce62744..213fbb744319 100644 --- a/Resources/Locale/en-US/mood/mood.ftl +++ b/Resources/Locale/en-US/mood/mood.ftl @@ -1,4 +1,4 @@ -mood-show-effects-start = [font size=12]Mood:[/font] +mood-show-effects-start = [font size=12]Mood:[/font] mood-effect-HungerOverfed = I ate so much, I feel as though I'm about to burst! mood-effect-HungerOkay = I am feeling full. @@ -78,3 +78,10 @@ mood-effect-EthanolBenefit = I feel so relaxed from drinking. mood-effect-SpaceDrugsBenefit = Woaaaah, such pretty colors maaaaan. It's like I can hear color and taste sound maaan. + +# Plasmaman +mood-effect-PlasmamanIngestPlasma = + My body is rejuvenated by the fresh plasma coursing through my body. + +mood-effect-PlasmamanIngestMilk = + I can feel the milk's calcium repairing my bones. This is dairy-lightful! diff --git a/Resources/Locale/en-US/self-extinguisher/self-extinguisher.ftl b/Resources/Locale/en-US/self-extinguisher/self-extinguisher.ftl new file mode 100644 index 000000000000..04d705ae49f1 --- /dev/null +++ b/Resources/Locale/en-US/self-extinguisher/self-extinguisher.ftl @@ -0,0 +1,18 @@ +self-extinguisher-verb = Self-Extinguish + +self-extinguisher-examine-cooldown-ready = The self-extinguisher is ready to be used. +self-extinguisher-examine-cooldown-recharging = The self-extinguisher is recharging for [color=teal]{$cooldown}[/color] seconds. +self-extinguisher-examine-no-charges = The self-extinguisher is recharging for [color=teal]{$cooldown}[/color] seconds. + +self-extinguisher-no-charges = The {$item} has no charges left! +self-extinguisher-on-cooldown = The {$item}'s extinguisher is recharging! +self-extinguisher-not-on-fire-self = You are not on fire! +self-extinguisher-not-on-fire-other = {$target} {CONJUGATE-BE($target)} not on fire! +self-extinguisher-not-immune-to-fire-self = You are not insulated against fire! +self-extinguisher-not-immune-to-fire-other = {$target} {CONJUGATE-BE($target)} not insulated against fire! + +self-extinguisher-extinguish-self = The {$item} extinguishes you! +self-extinguisher-extinguish-other = The {$item} extinguishes {$target}! + +self-extinguisher-refill = You refill the suit's self-extinguisher, using up the cartridge. +self-extinguisher-refill-full = The self-extinguisher is full. diff --git a/Resources/Locale/en-US/species/species.ftl b/Resources/Locale/en-US/species/species.ftl index bfebc705c56b..6ffc9ac2bd54 100644 --- a/Resources/Locale/en-US/species/species.ftl +++ b/Resources/Locale/en-US/species/species.ftl @@ -1,4 +1,4 @@ -## Species Names +## Species Names species-name-human = Human species-name-dwarf = Dwarf @@ -12,7 +12,8 @@ species-name-skeleton = Skeleton species-name-vox = Vox species-name-ipc = IPC species-name-shadowkin = Shadowkin +species-name-plasmaman = Plasmaman ## Misc species things -snail-hurt-by-salt-popup = The salty solution burns like acid! \ No newline at end of file +snail-hurt-by-salt-popup = The salty solution burns like acid! diff --git a/Resources/Locale/en-US/store/uplink-catalog.ftl b/Resources/Locale/en-US/store/uplink-catalog.ftl index 0dcbc1ba663b..523d37c839a0 100644 --- a/Resources/Locale/en-US/store/uplink-catalog.ftl +++ b/Resources/Locale/en-US/store/uplink-catalog.ftl @@ -436,6 +436,9 @@ uplink-syndicate-pai-desc = A Syndicate variant of the pAI with access to the Sy uplink-bribe-name = Lobbying Bundle uplink-bribe-desc = A heartfelt gift that can help you sway someone's opinion. Real or counterfeit? Yes. +uplink-bribe-plasmaman-name = Lobbying Bundle +uplink-bribe-plasmaman-desc = A heartfelt gift that can help you sway someone's opinion. Real or counterfeit? Yes. Includes a tacticool envirosuit for a tacticool plasmaman like you. + uplink-hypodart-name = Hypodart uplink-hypodart-desc = A seemingly unremarkable dart with an enlarged reservoir for chemicals. It can store up to 7u reagents in itself, and instantly inject when it hits the target. Starts empty. diff --git a/Resources/Locale/en-US/thief/backpack.ftl b/Resources/Locale/en-US/thief/backpack.ftl index 90cb0031fb89..b779bded0b08 100644 --- a/Resources/Locale/en-US/thief/backpack.ftl +++ b/Resources/Locale/en-US/thief/backpack.ftl @@ -54,6 +54,13 @@ thief-backpack-category-communicator-description = for all station channels, a cybersun pen, a portable crew monitor, a voice chameleon mask and lots of money for business deals. +thief-backpack-category-communicator-plasmaman-name = communicator's kit +thief-backpack-category-communicator-plasmaman-description = + A communication enthusiast's kit. Includes a master key + for all station channels, a cybersun pen, a portable + crew monitor, a voice chameleon mask, a tacticool envirosuit + and lots of money for business deals. + thief-backpack-category-smuggler-name = smuggler's kit thief-backpack-category-smuggler-description = A kit for those who like to have big pockets. diff --git a/Resources/Locale/en-US/traits/traits.ftl b/Resources/Locale/en-US/traits/traits.ftl index 77fc0f5431ed..fb6e9f9bd5ba 100644 --- a/Resources/Locale/en-US/traits/traits.ftl +++ b/Resources/Locale/en-US/traits/traits.ftl @@ -95,6 +95,9 @@ trait-description-NormalVisionHarpy = Your eyes have been modified by means of advanced medicine to see in the standard colors of Red, Green, and Blue. You do not have the usual vision anomaly that your species may possess. +trait-name-SkeletonAccent = Skeleton Accent +trait-description-SkeletonAccent = You have a humerus skeleton accent that will rattle others to the bone! + trait-name-NormalVision = Trichromat Modification trait-description-NormalVision = Your eyes have been modified by means of advanced medicine to see in the standard colors of Red, Green, and Blue. diff --git a/Resources/Prototypes/Actions/types.yml b/Resources/Prototypes/Actions/types.yml index 0a57157f1b2e..5014263a81b8 100644 --- a/Resources/Prototypes/Actions/types.yml +++ b/Resources/Prototypes/Actions/types.yml @@ -444,3 +444,19 @@ - type: InstantAction useDelay: 4 +- type: entity + id: ActionSelfExtinguish + name: Self-Extinguish + description: Extinguishes you if you are on fire and insulated against self-ignition. + categories: [ HideSpawnMenu ] + components: + - type: InstantAction + itemIconStyle: BigItem + icon: + sprite: Objects/Misc/fire_extinguisher.rsi + state: fire_extinguisher_open + iconCooldown: + sprite: Objects/Misc/fire_extinguisher.rsi + state: fire_extinguisher_closed + iconDisabled: Interface/Default/blocked.png + event: !type:SelfExtinguishEvent diff --git a/Resources/Prototypes/Alerts/alerts.yml b/Resources/Prototypes/Alerts/alerts.yml index c5703820dab3..759fe704238d 100644 --- a/Resources/Prototypes/Alerts/alerts.yml +++ b/Resources/Prototypes/Alerts/alerts.yml @@ -55,6 +55,24 @@ name: alerts-low-nitrogen-name description: alerts-low-nitrogen-desc +- type: alert + id: LowPlasma + category: Breathing + icons: + - sprite: /Textures/Interface/Alerts/breathing.rsi + state: not_enough_tox + name: alerts-low-plasma-name + description: alerts-low-plasma-desc + +- type: alert + id: HighOxygen + category: Breathing + icons: + - sprite: /Textures/Interface/Alerts/breathing.rsi + state: too_much_oxy + name: alerts-high-oxygen-name + description: alerts-high-oxygen-desc + - type: alert id: Toxins category: Toxins diff --git a/Resources/Prototypes/Body/Organs/plasmaman.yml b/Resources/Prototypes/Body/Organs/plasmaman.yml new file mode 100644 index 000000000000..fa69a490eacd --- /dev/null +++ b/Resources/Prototypes/Body/Organs/plasmaman.yml @@ -0,0 +1,150 @@ +- type: entity + id: BasePlasmamanOrgan + abstract: true + components: + - type: Sprite + sprite: Mobs/Species/Plasmaman/organs.rsi + - type: SolutionContainerManager + solutions: + organ: + reagents: + - ReagentId: Nutriment + Quantity: 5 # Not very nutritious + - ReagentId: Plasma + Quantity: 2.5 + food: + maxVol: 5 + reagents: + - ReagentId: Plasma + Quantity: 5 + - type: Extractable + grindableSolutionName: food + juiceSolution: + reagents: + - ReagentId: Plasma + Quantity: 5 + - type: FlavorProfile + flavors: + - plasma + +- type: entity + id: OrganPlasmamanLungs + parent: [ BasePlasmamanOrgan, OrganHumanLungs ] + name: plasmaman lungs + description: The lungs yearn for the plasma. Only plasma gas can satiate these lungs, and oxygen is lethally toxic. + components: + - type: Sprite + layers: + - state: lungs + - type: Metabolizer + metabolizerTypes: [ Plasmaman ] + - type: Lung + alert: LowPlasma + - type: SolutionContainerManager + solutions: + organ: + reagents: + - ReagentId: Nutriment + Quantity: 5 + - ReagentId: Plasma + Quantity: 2.5 + Lung: + maxVol: 100.0 + canReact: false + food: + maxVol: 5 + reagents: + - ReagentId: Plasma + Quantity: 5 + +- type: entity + id: OrganPlasmamanStomach + parent: [ BasePlasmamanOrgan, OrganHumanStomach ] + name: plasmaman stomach + description: Why do plasmamen have stomachs if they don't need to eat? + components: + - type: Metabolizer + metabolizerTypes: [ Plasmaman ] + - type: SolutionContainerManager + solutions: + organ: + reagents: + - ReagentId: Nutriment + Quantity: 8 + - ReagentId: Plasma + Quantity: 4 + stomach: + maxVol: 50 + food: + maxVol: 8 + reagents: + - ReagentId: Plasma + Quantity: 8 + - type: Extractable + juiceSolution: + reagents: + - ReagentId: Plasma + Quantity: 8 + +- type: entity + id: OrganPlasmamanEyes + parent: [ BasePlasmamanOrgan, OrganHumanEyes ] + name: plasmaman eyes + components: + - type: Sprite + layers: + - state: eyes + +- type: entity + id: OrganPlasmamanLiver + parent: [ BasePlasmamanOrgan, OrganHumanLiver ] + name: plasmaman liver + components: + - type: Metabolizer + metabolizerTypes: [ Plasmaman ] + +- type: entity + id: OrganPlasmamanTongue + parent: [ BasePlasmamanOrgan, OrganHumanTongue ] + name: plasmaman tongue + +- type: entity + id: OrganPlasmamanKidneys + parent: [ BasePlasmamanOrgan, OrganHumanKidneys ] + name: plasmaman kidneys + components: + - type: Sprite + layers: + - state: kidneys + - type: Metabolizer + metabolizerTypes: [ Plasmaman ] + +- type: entity + id: OrganPlasmamanHeart + parent: [ BasePlasmamanOrgan, OrganHumanHeart ] + name: plasmaman heart + description: It pulses with plasma even outside the body. + components: + - type: Metabolizer + metabolizerTypes: [ Plasmaman ] + +- type: entity + id: OrganPlasmamanBrain + parent: [ BasePlasmamanOrgan, OrganHumanBrain ] + name: plasmaman brain + components: + - type: SolutionContainerManager + solutions: + organ: + reagents: + - ReagentId: Nutriment + Quantity: 5 + - ReagentId: Plasma + Quantity: 2.5 + food: + maxVol: 10 + reagents: + - ReagentId: GreyMatter + Quantity: 5 + - ReagentId: Plasma + Quantity: 5 diff --git a/Resources/Prototypes/Body/Parts/plasmaman.yml b/Resources/Prototypes/Body/Parts/plasmaman.yml new file mode 100644 index 000000000000..2fdec5308571 --- /dev/null +++ b/Resources/Prototypes/Body/Parts/plasmaman.yml @@ -0,0 +1,133 @@ +# TODO: Add descriptions (many) +# TODO BODY: Part damage +- type: entity + id: PartPlasmaman + parent: [BaseItem, BasePart] + name: plasmaman body part + abstract: true + components: + - type: Sprite + sprite: Mobs/Species/Plasmaman/parts.rsi + - type: Butcherable + butcheringType: Knife + butcherDelay: 4.0 + spawned: + - id: SheetPlasma1 + amount: 1 + - type: IgniteFromGasPart + gas: Oxygen + +- type: entity + id: TorsoPlasmaman + name: plasmaman torso + parent: [PartPlasmaman, BaseTorso] + components: + - type: Sprite + state: torso_m + - type: Butcherable + butcherDelay: 6.0 + spawned: + - id: SheetPlasma1 + amount: 3 + - type: IgniteFromGasPart + fireStacks: 0.06 + +- type: entity + id: HeadPlasmaman + name: plasmaman head + parent: [PartPlasmaman, BaseHead] + components: + - type: Sprite + state: head_m + - type: Butcherable + butcherDelay: 5.0 + - type: IgniteFromGasPart + fireStacks: 0.02 + +- type: entity + id: LeftArmPlasmaman + name: left plasmaman arm + parent: [PartPlasmaman, BaseLeftArm] + components: + - type: Sprite + state: l_arm + - type: IgniteFromGasPart + fireStacks: 0.02 + +- type: entity + id: RightArmPlasmaman + name: right plasmaman arm + parent: [PartPlasmaman, BaseRightArm] + components: + - type: Sprite + state: r_arm + - type: IgniteFromGasPart + fireStacks: 0.02 + +- type: entity + id: LeftHandPlasmaman + name: left plasmaman hand + parent: [PartPlasmaman, BaseLeftHand] + components: + - type: Sprite + state: l_hand + - type: Butcherable + butcherDelay: 3.0 + - type: IgniteFromGasPart + fireStacks: 0.01 + +- type: entity + id: RightHandPlasmaman + name: right plasmaman hand + parent: [PartPlasmaman, BaseRightHand] + components: + - type: Sprite + state: r_hand + - type: Butcherable + butcherDelay: 3.0 + - type: IgniteFromGasPart + fireStacks: 0.01 + +- type: entity + id: LeftLegPlasmaman + name: left plasmaman leg + parent: [PartPlasmaman, BaseLeftLeg] + components: + - type: Sprite + state: l_leg + - type: IgniteFromGasPart + fireStacks: 0.02 + +- type: entity + id: RightLegPlasmaman + name: right plasmaman leg + parent: [PartPlasmaman, BaseRightLeg] + components: + - type: Sprite + state: r_leg + - type: IgniteFromGasPart + fireStacks: 0.02 + +- type: entity + id: LeftFootPlasmaman + name: left plasmaman foot + parent: [PartPlasmaman, BaseLeftFoot] + components: + - type: Sprite + state: l_foot + - type: Butcherable + butcherDelay: 3.0 + - type: IgniteFromGasPart + fireStacks: 0.01 + +- type: entity + id: RightFootPlasmaman + name: right plasmaman foot + parent: [PartPlasmaman, BaseRightFoot] + components: + - type: Sprite + state: r_foot + - type: Butcherable + butcherDelay: 3.0 + - type: IgniteFromGasPart + fireStacks: 0.01 diff --git a/Resources/Prototypes/Body/Prototypes/plasmaman.yml b/Resources/Prototypes/Body/Prototypes/plasmaman.yml new file mode 100644 index 000000000000..a41ad0802a97 --- /dev/null +++ b/Resources/Prototypes/Body/Prototypes/plasmaman.yml @@ -0,0 +1,50 @@ +- type: body + id: Plasmaman + name: "plasmaman" + root: torso + slots: + head: + part: HeadPlasmaman + connections: + - torso + organs: + brain: OrganPlasmamanBrain + eyes: OrganPlasmamanEyes + torso: + part: TorsoPlasmaman + connections: + - right arm + - left arm + - right leg + - left leg + - head + organs: + heart: OrganPlasmamanHeart + lungs: OrganPlasmamanLungs + stomach: OrganPlasmamanStomach + liver: OrganPlasmamanLiver + kidneys: OrganPlasmamanKidneys + right arm: + part: RightArmPlasmaman + connections: + - right hand + left arm: + part: LeftArmPlasmaman + connections: + - left hand + right hand: + part: RightHandPlasmaman + left hand: + part: LeftHandPlasmaman + right leg: + part: RightLegPlasmaman + connections: + - right foot + left leg: + part: LeftLegPlasmaman + connections: + - left foot + right foot: + part: RightFootPlasmaman + left foot: + part: LeftFootPlasmaman diff --git a/Resources/Prototypes/Catalog/Cargo/cargo_emergency.yml b/Resources/Prototypes/Catalog/Cargo/cargo_emergency.yml index c04e49f413cc..55645819c259 100644 --- a/Resources/Prototypes/Catalog/Cargo/cargo_emergency.yml +++ b/Resources/Prototypes/Catalog/Cargo/cargo_emergency.yml @@ -68,6 +68,26 @@ category: cargoproduct-category-name-emergency group: market +- type: cargoProduct + id: EmergencyPlasmaInternals + icon: + sprite: Objects/Tanks/plasmaman.rsi + state: icon + product: CratePlasmaInternals + cost: 750 # Plasma is expensive! + category: cargoproduct-category-name-emergency + group: market + +- type: cargoProduct + id: EmergencyPlasmamanEnvirosuit + icon: + sprite: Clothing/Uniforms/Envirosuits/plain.rsi + state: icon + product: CratePlasmamanEnvirosuit + cost: 600 + category: cargoproduct-category-name-emergency + group: market + - type: cargoProduct id: EmergencyBiosuit icon: diff --git a/Resources/Prototypes/Catalog/Fills/Backpacks/duffelbag.yml b/Resources/Prototypes/Catalog/Fills/Backpacks/duffelbag.yml index d267ddb2ed21..73801981830f 100644 --- a/Resources/Prototypes/Catalog/Fills/Backpacks/duffelbag.yml +++ b/Resources/Prototypes/Catalog/Fills/Backpacks/duffelbag.yml @@ -265,6 +265,7 @@ - id: ClothingHandsGlovesColorYellowBudget - id: DoubleEmergencyOxygenTankFilled - id: DoubleEmergencyNitrogenTankFilled + - id: DoubleEmergencyPlasmaTankFilled - type: entity parent: ClothingBackpackDuffelSyndicateBundle @@ -279,6 +280,7 @@ - id: ClothingHandsGlovesCombat - id: DoubleEmergencyOxygenTankFilled - id: DoubleEmergencyNitrogenTankFilled + - id: DoubleEmergencyPlasmaTankFilled - type: entity parent: ClothingBackpackDuffelSyndicateBundle @@ -293,6 +295,7 @@ - id: ClothingHandsGlovesCombat - id: DoubleEmergencyOxygenTankFilled - id: DoubleEmergencyNitrogenTankFilled + - id: DoubleEmergencyPlasmaTankFilled - type: entity parent: ClothingBackpackDuffelSyndicateBundle @@ -306,6 +309,7 @@ - id: ClothingHandsGlovesCombat - id: DoubleEmergencyOxygenTankFilled - id: DoubleEmergencyNitrogenTankFilled + - id: DoubleEmergencyPlasmaTankFilled - type: entity parent: ClothingBackpackDuffelSyndicateBundle diff --git a/Resources/Prototypes/Catalog/Fills/Crates/emergency.yml b/Resources/Prototypes/Catalog/Fills/Crates/emergency.yml index 9532fbf74e68..1d9d92da0155 100644 --- a/Resources/Prototypes/Catalog/Fills/Crates/emergency.yml +++ b/Resources/Prototypes/Catalog/Fills/Crates/emergency.yml @@ -87,6 +87,40 @@ - id: NitrogenTankFilled amount: 4 +- type: entity + id: CratePlasmaInternals + parent: CrateInternals + name: internals crate (plasma) + description: Contains four breath masks and four plasma internals tanks. Intended for Plasmamen. + components: + - type: StorageFill + contents: + - id: ClothingMaskGas + amount: 2 + - id: ClothingMaskBreath + amount: 2 + - id: DoubleEmergencyPlasmaTankFilled + amount: 4 + +- type: entity + id: CratePlasmamanEnvirosuit + parent: CrateInternals + name: plasma envirosuit crate + description: Contains two full sets of envirosuits, two breath masks, and two plasma internals tanks. Intended for Plasmamen. + components: + - type: StorageFill + contents: + - id: ClothingUniformEnvirosuit + amount: 2 + - id: ClothingHeadEnvirohelmEmpty + amount: 2 + - id: ClothingHandsGlovesEnvirogloves + amount: 2 + - id: ClothingMaskBreath + amount: 2 + - id: DoubleEmergencyPlasmaTankFilled + amount: 2 + - type: entity id: CrateEmergencyRadiation parent: CrateRadiation diff --git a/Resources/Prototypes/Catalog/Fills/Crates/syndicate.yml b/Resources/Prototypes/Catalog/Fills/Crates/syndicate.yml index ba97af392507..82f5bd6aa693 100644 --- a/Resources/Prototypes/Catalog/Fills/Crates/syndicate.yml +++ b/Resources/Prototypes/Catalog/Fills/Crates/syndicate.yml @@ -21,6 +21,7 @@ - id: ClothingHandsGlovesCombat - id: DoubleEmergencyOxygenTankFilled - id: DoubleEmergencyNitrogenTankFilled + - id: DoubleEmergencyPlasmaTankFilled - type: entity id: CrateSyndicateSuperSurplusBundle diff --git a/Resources/Prototypes/Catalog/Fills/Items/briefcases.yml b/Resources/Prototypes/Catalog/Fills/Items/briefcases.yml index 58a49aa6e957..5b96ba96d860 100644 --- a/Resources/Prototypes/Catalog/Fills/Items/briefcases.yml +++ b/Resources/Prototypes/Catalog/Fills/Items/briefcases.yml @@ -47,6 +47,33 @@ - id: ClothingMaskNeckGaiter - id: SyndieHandyFlag +- type: entity + id: BriefcaseSyndieLobbyingBundlePlasmamanFilled + parent: BriefcaseSyndie + suffix: Syndicate, Spesos, Plasmaman + components: + - type: StorageFill + contents: + - id: ClothingEyesGlassesSunglasses + - id: SpaceCash30000 + amount: 1 + - id: EncryptionKeySyndie + - id: RubberStampTrader + - id: PhoneInstrumentSyndicate + - id: ClothingUniformEnvirosuitTacticool + - id: ClothingHeadEnvirohelmTacticool + - id: ClothingOuterCoatJensenFilled + - id: ClothingHandsGlovesCombat + +- type: entity # No more space in briefcase due to envirohelm so put the syndicate flag in the jensen coat + id: ClothingOuterCoatJensenFilled + parent: ClothingOuterCoatJensen + suffix: Syndicate Flag Inside + components: + - type: StorageFill + contents: + - id: SyndieHandyFlag + - type: entity id: BriefcaseThiefBribingBundleFilled parent: BriefcaseSyndie @@ -62,3 +89,19 @@ - id: ClothingHandsGlovesCombat - id: ClothingMaskNeckGaiter - id: ToyFigurineThief + +- type: entity + id: BriefcaseThiefBribingBundlePlasmamanFilled + parent: BriefcaseSyndie + suffix: Thief, Spesos, Plasmaman + components: + - type: StorageFill + contents: + - id: ClothingEyesGlassesSunglasses + - id: SpaceCash20000 + amount: 1 + - id: ClothingUniformEnvirosuitTacticool + - id: ClothingHeadEnvirohelmTacticool + - id: ClothingOuterCoatJensen + - id: ClothingHandsGlovesCombat + - id: ToyFigurineThief diff --git a/Resources/Prototypes/Catalog/Fills/Items/gas_tanks.yml b/Resources/Prototypes/Catalog/Fills/Items/gas_tanks.yml index 2cf1354c143c..379de235fca6 100644 --- a/Resources/Prototypes/Catalog/Fills/Items/gas_tanks.yml +++ b/Resources/Prototypes/Catalog/Fills/Items/gas_tanks.yml @@ -63,6 +63,22 @@ - 0.270782035 # nitrogen temperature: 293.15 +- type: entity + id: EmergencyPlasmaTankFilled + parent: EmergencyPlasmaTank + suffix: Filled + components: + - type: GasTank + outputPressure: 5.325 + air: + # 16 minutes with Plasmaman lungs + volume: 0.66 + moles: + - 0 # oxygen + - 0 # nitrogen + - 0 # CO2 + - 0.270782035 # nitrogen + temperature: 293.15 - type: entity id: ExtendedEmergencyOxygenTankFilled @@ -93,6 +109,22 @@ - 0.615413715 # nitrogen temperature: 293.15 +- type: entity + id: ExtendedEmergencyPlasmaTankFilled + parent: ExtendedEmergencyPlasmaTank + suffix: Filled + components: + - type: GasTank + outputPressure: 5.325 + air: + # 36 minutes with Plasmaman lungs + volume: 1.5 + moles: + - 0 # oxygen + - 0 # nitrogen + - 0 # CO2 + - 0.615413715 # plasma + temperature: 293.15 - type: entity id: DoubleEmergencyOxygenTankFilled @@ -123,6 +155,23 @@ - 1.025689525 # nitrogen temperature: 293.15 +- type: entity + id: DoubleEmergencyPlasmaTankFilled + parent: DoubleEmergencyPlasmaTank + suffix: Filled + components: + - type: GasTank + outputPressure: 5.325 + air: + # 60 minutes with Plasmaman lungs + volume: 1.5 + moles: + - 0 # oxygen + - 0 # nitrogen + - 0 # CO2 + - 1.025689525 # plasma + temperature: 293.15 + - type: entity id: EmergencyFunnyOxygenTankFilled parent: EmergencyFunnyOxygenTank @@ -142,7 +191,7 @@ - 0 # water vapor - 0 # ammonia - 0.014251686 # 5% N2O - # 0.285033721 total + # 0.285033721 total temperature: 293.15 - type: entity @@ -211,7 +260,7 @@ suffix: Filled components: - type: GasTank - outputPressure: 101.3 + outputPressure: 21.3 air: # 6 minutes of agony volume: 5 @@ -221,3 +270,13 @@ - 0 # CO2 - 2.051379050 # plasma temperature: 293.15 + +- type: entity + id: PlasmaTankFilledInternals + parent: PlasmaTankFilled + name: plasma tank + suffix: Filled, Plasmaman Internals + components: + - type: GasTank + # 120 minutes with Plasmaman lungs + outputPressure: 5.325 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/games.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/games.yml index f022b4b9a59a..239fa324b5a9 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/games.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/games.yml @@ -16,3 +16,4 @@ PaperCNCSheet: 6 MysteryFigureBox: 2 BooksBag: 3 + CardBoxBlack: 3 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/tankdispenser.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/tankdispenser.yml index fce18024a7ef..7dbcce131b0e 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/tankdispenser.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/tankdispenser.yml @@ -3,6 +3,7 @@ startingInventory: OxygenTankFilled: 10 NitrogenTankFilled: 10 + PlasmaTankFilled: 10 - type: vendingMachineInventory id: TankDispenserEngineeringInventory diff --git a/Resources/Prototypes/Catalog/thief_toolbox_sets.yml b/Resources/Prototypes/Catalog/thief_toolbox_sets.yml index e70e93732f3b..b0b7810e19be 100644 --- a/Resources/Prototypes/Catalog/thief_toolbox_sets.yml +++ b/Resources/Prototypes/Catalog/thief_toolbox_sets.yml @@ -2,7 +2,7 @@ id: ChameleonSet name: thief-backpack-category-chameleon-name description: thief-backpack-category-chameleon-description - sprite: + sprite: sprite: /Textures/Clothing/OuterClothing/Misc/black_hoodie.rsi state: icon content: @@ -20,7 +20,7 @@ id: ToolsSet name: thief-backpack-category-tools-name description: thief-backpack-category-tools-description - sprite: + sprite: sprite: Objects/Tools/jaws_of_life.rsi state: jaws_pry content: @@ -67,7 +67,7 @@ id: SleeperSet name: thief-backpack-category-sleeper-name description: thief-backpack-category-sleeper-description - sprite: + sprite: sprite: Objects/Tanks/anesthetic.rsi state: icon content: @@ -84,9 +84,14 @@ id: CommunicatorSet name: thief-backpack-category-communicator-name description: thief-backpack-category-communicator-description - sprite: + sprite: sprite: Objects/Tools/spy_device.rsi state: icon + requirements: + - !type:CharacterSpeciesRequirement + inverted: true + species: + - Plasmaman content: - EncryptionKeyStationMaster - CyberPen @@ -94,12 +99,30 @@ - BriefcaseThiefBribingBundleFilled - ClothingMaskGasVoiceChameleon #- todo Chameleon Stamp - + +- type: thiefBackpackSet + id: CommunicatorSetPlasmaman + name: thief-backpack-category-communicator-plasmaman-name + description: thief-backpack-category-communicator-plasmaman-description + sprite: + sprite: Objects/Tools/spy_device.rsi + state: icon + requirements: + - !type:CharacterSpeciesRequirement + species: + - Plasmaman + content: + - EncryptionKeyStationMaster + - CyberPen + - SpyCrewMonitor + - BriefcaseThiefBribingBundlePlasmamanFilled + - ClothingMaskGasVoiceChameleon + - type: thiefBackpackSet id: SmugglerSet name: thief-backpack-category-smuggler-name description: thief-backpack-category-smuggler-description - sprite: + sprite: sprite: Clothing/Neck/Cloaks/void.rsi state: icon content: diff --git a/Resources/Prototypes/Catalog/uplink_catalog.yml b/Resources/Prototypes/Catalog/uplink_catalog.yml index ca196b3ec05f..64e3eba5aa6d 100644 --- a/Resources/Prototypes/Catalog/uplink_catalog.yml +++ b/Resources/Prototypes/Catalog/uplink_catalog.yml @@ -815,6 +815,27 @@ Telecrystal: 4 categories: - UplinkDeception + conditions: + - !type:BuyerSpeciesCondition + blacklist: + - Plasmaman + +- type: listing + id: UplinkBribePlasmaman + name: uplink-bribe-plasmaman-name + description: uplink-bribe-plasmaman-desc + productEntity: BriefcaseSyndieLobbyingBundlePlasmamanFilled + discountCategory: usualDiscounts + discountDownTo: + Telecrystal: 2 + cost: + Telecrystal: 4 + categories: + - UplinkDeception + conditions: + - !type:BuyerSpeciesCondition + whitelist: + - Plasmaman # - type: listing # id: UplinkGigacancerScanner @@ -833,8 +854,6 @@ icon: { sprite: /Textures/Objects/Tools/Decoys/operative_decoy.rsi, state: folded } productEntity: ClothingBackpackDuffelSyndicateDecoyKitFilled discountCategory: usualDiscounts - discountDownTo: - Telecrystal: 3 cost: Telecrystal: 1 categories: @@ -1612,8 +1631,6 @@ description: uplink-syndicate-stamp-desc productEntity: RubberStampSyndicate discountCategory: rareDiscounts - discountDownTo: - Telecrystal: 1 cost: Telecrystal: 1 categories: diff --git a/Resources/Prototypes/CharacterItemGroups/Generic/gloveGroup.yml b/Resources/Prototypes/CharacterItemGroups/Generic/gloveGroup.yml index 134d4605402f..802590accd23 100644 --- a/Resources/Prototypes/CharacterItemGroups/Generic/gloveGroup.yml +++ b/Resources/Prototypes/CharacterItemGroups/Generic/gloveGroup.yml @@ -15,3 +15,7 @@ id: LoadoutHandsGlovesFingerlessWhite - type: loadout id: LoadoutHandsGlovesEvening + - type: loadout + id: LoadoutHandsGlovesEnviroglovesColor + - type: loadout + id: LoadoutHandsGlovesEnviroglovesEvening diff --git a/Resources/Prototypes/CharacterItemGroups/Generic/itemGroups.yml b/Resources/Prototypes/CharacterItemGroups/Generic/itemGroups.yml index 16d145a041ca..caf1880711d5 100644 --- a/Resources/Prototypes/CharacterItemGroups/Generic/itemGroups.yml +++ b/Resources/Prototypes/CharacterItemGroups/Generic/itemGroups.yml @@ -305,3 +305,67 @@ id: LoadoutUniformJumpsuitFlannelKhakis - type: loadout id: LoadoutUniformJumpsuitFlannelBlackKhakis + - type: loadout + id: LoadoutUniformEnvirosuit + - type: loadout + id: LoadoutUniformEnvirosuitBlackPink + - type: loadout + id: LoadoutUniformEnvirosuitBlackPinkAlt + - type: loadout + id: LoadoutUniformEnvirosuitMartialGi + - type: loadout + id: LoadoutUniformEnvirosuitSafari + - type: loadout + id: LoadoutUniformEnvirosuitTrans + - type: loadout + id: LoadoutUniformEnvirosuitAncientVoid + - type: loadout + id: LoadoutUniformEnvirosuitColorWhite + - type: loadout + id: LoadoutUniformEnvirosuitColorGrey + - type: loadout + id: LoadoutUniformEnvirosuitColorBlack + - type: loadout + id: LoadoutUniformEnvirosuitColorRed + - type: loadout + id: LoadoutUniformEnvirosuitColorGreen + - type: loadout + id: LoadoutUniformEnvirosuitColorDarkGreen + - type: loadout + id: LoadoutUniformEnvirosuitColorBlue + - type: loadout + id: LoadoutUniformEnvirosuitColorDarkBlue + - type: loadout + id: LoadoutUniformEnvirosuitColorTeal + - type: loadout + id: LoadoutUniformEnvirosuitColorMaroon + - type: loadout + id: LoadoutUniformEnvirosuitColorPink + - type: loadout + id: LoadoutUniformEnvirosuitColorYellow + - type: loadout + id: LoadoutUniformEnvirosuitColorPurple + - type: loadout + id: LoadoutUniformEnvirosuitColorOrange + - type: loadout + id: LoadoutUniformEnvirosuitColorLightBrown + - type: loadout + id: LoadoutUniformEnvirosuitColorBrown + - type: loadout + id: LoadoutUniformEnvirosuitEnviroslacks + - type: loadout + id: LoadoutUniformEnvirosuitEnviroslacksNegative + - type: loadout + id: LoadoutUniformEnvirosuitEnviroslacksColorRed + - type: loadout + id: LoadoutUniformEnvirosuitEnviroslacksColorOrange + - type: loadout + id: LoadoutUniformEnvirosuitEnviroslacksColorGreen + - type: loadout + id: LoadoutUniformEnvirosuitEnviroslacksColorBlue + - type: loadout + id: LoadoutUniformEnvirosuitEnviroslacksColorBrown + - type: loadout + id: LoadoutUniformEnvirosuitEnviroslacksMNK + - type: loadout + id: LoadoutUniformEnvirosuitEnviroslacksMNKAlt diff --git a/Resources/Prototypes/CharacterItemGroups/Generic/miscItemGroups.yml b/Resources/Prototypes/CharacterItemGroups/Generic/miscItemGroups.yml index cc1e82ceb698..b08afa92523c 100644 --- a/Resources/Prototypes/CharacterItemGroups/Generic/miscItemGroups.yml +++ b/Resources/Prototypes/CharacterItemGroups/Generic/miscItemGroups.yml @@ -134,3 +134,12 @@ id: LoadoutItemPetMothroach - type: loadout id: LoadoutItemPetCockroach + +- type: characterItemGroup + id: LoadoutCards + maxItems: 1 + items: + - type: loadout + id: LoadoutItemBlackDeck + - type: loadout + id: LoadoutItemNTDeck diff --git a/Resources/Prototypes/CharacterItemGroups/Jobs/Logistics/courier.yml b/Resources/Prototypes/CharacterItemGroups/Jobs/Logistics/courier.yml index 3bd4172dd22b..aca3f2e5fc06 100644 --- a/Resources/Prototypes/CharacterItemGroups/Jobs/Logistics/courier.yml +++ b/Resources/Prototypes/CharacterItemGroups/Jobs/Logistics/courier.yml @@ -75,3 +75,5 @@ id: LoadoutCourierUniformMailSuit - type: loadout id: LoadoutCourierUniformMailSkirt + - type: loadout + id: LoadoutCourierUniformEnvirosuitMailCarrier diff --git a/Resources/Prototypes/CharacterItemGroups/Jobs/Security/uncategorized.yml b/Resources/Prototypes/CharacterItemGroups/Jobs/Security/uncategorized.yml index 398d67f032dc..ef718f2093f8 100644 --- a/Resources/Prototypes/CharacterItemGroups/Jobs/Security/uncategorized.yml +++ b/Resources/Prototypes/CharacterItemGroups/Jobs/Security/uncategorized.yml @@ -226,3 +226,7 @@ id: LoadoutUniformJumpsuitSecFormal - type: loadout id: LoadoutUniformJumpsuitSecSummer + - type: loadout + id: LoadoutSecurityUniformEnvirosuitBlue + - type: loadout + id: LoadoutSecurityUniformEnvirosuitGrey diff --git a/Resources/Prototypes/Chemistry/metabolizer_types.yml b/Resources/Prototypes/Chemistry/metabolizer_types.yml index 80f69893c6ea..381261358497 100644 --- a/Resources/Prototypes/Chemistry/metabolizer_types.yml +++ b/Resources/Prototypes/Chemistry/metabolizer_types.yml @@ -56,3 +56,7 @@ - type: metabolizerType id: Shadowkin name: metabolizer-type-shadowkin + +- type: metabolizerType + id: Plasmaman + name: metabolizer-type-plasmaman diff --git a/Resources/Prototypes/Damage/modifier_sets.yml b/Resources/Prototypes/Damage/modifier_sets.yml index 3cc2bb4fd7dc..86a6fab9c558 100644 --- a/Resources/Prototypes/Damage/modifier_sets.yml +++ b/Resources/Prototypes/Damage/modifier_sets.yml @@ -372,6 +372,18 @@ Shock: 1.25 Radiation: 1.3 +- type: damageModifierSet + id: Plasmaman + coefficients: + Blunt: 1.5 + Slash: 0.85 + Piercing: 0.75 + Cold: 0 + Heat: 1.5 + Poison: 0.8 + Radiation: 0 + Bloodloss: 0.0 # Immune to weapons that directly deal bloodloss damage + - type: damageModifierSet id: DermalArmor coefficients: diff --git a/Resources/Prototypes/Datasets/Names/plasmaman.yml b/Resources/Prototypes/Datasets/Names/plasmaman.yml new file mode 100644 index 000000000000..3e12b9e379fd --- /dev/null +++ b/Resources/Prototypes/Datasets/Names/plasmaman.yml @@ -0,0 +1,326 @@ +- type: dataset + id: names_plasmaman + values: + # Periodic table elements + - Actinium + - Aluminium + - Americium + - Antimony + - Argon + - Arsenic + - Astatine + - Barium + - Berkelium + - Beryllium + - Bismuth + - Bohrium + - Boron + - Bromine + - Cadmium + - Caesium + - Calcium + - Californium + - Carbon + - Cerium + - Chlorine + - Chromium + - Cobalt + - Copernicium + - Copper + - Curium + - Darmstadtium + - Dubnium + - Dysprosium + - Einsteinium + - Erbium + - Europium + - Fermium + - Flerovium + - Fluorine + - Francium + - Gadolinium + - Gallium + - Germanium + - Gold + - Hafnium + - Hassium + - Helium + - Holmium + - Hydrogen + - Indium + - Iodine + - Iridium + - Iron + - Krypton + - Lanthanum + - Lawrencium + - Lead + - Lithium + - Livermorium + - Lutetium + - Magnesium + - Manganese + - Meitnerium + - Mendelevium + - Mercury + - Molybdenum + - Moscovium + - Neodymium + - Neon + - Neptunium + - Nickel + - Nihonium + - Niobium + - Nitrogen + - Nobelium + - Oganesson + - Osmium + - Oxygen + - Palladium + - Phosphorus + - Platinum + - Plutonium + - Polonium + - Potassium + - Praseodymium + - Promethium + - Protactinium + - Radium + - Radon + - Rhenium + - Rhodium + - Roentgenium + - Rubidium + - Ruthenium + - Rutherfordium + - Samarium + - Scandium + - Seaborgium + - Selenium + - Silicon + - Silver + - Sodium + - Strontium + - Sulfur + - Tantalum + - Technetium + - Tellurium + - Tennessine + - Terbium + - Thallium + - Thorium + - Thulium + - Tin + - Titanium + - Tungsten + - Uranium + - Vanadium + - Xenon + - Ytterbium + - Yttrium + - Zinc + - Zirconium + # Periodic table groups + - Metalloid + - Alkali + - Alkaline + - Triel + - Tetrel + - Chalcogen + - Pnictogen + - Halogen + - Noble + # Periodic table series + - Lanthanide + - Actinide + # Polyatomic cations + - Ammonium + - Hydronium + - Nitronium + - Pyrylium + # Anions + - Hydride + - Oxide + - Fluoride + - Sulfide + - Selenide + - Telluride + - Chloride + - Nitride + - Phospide + - Arsenide + - Bromide + - Iodide + - Azide + - Bisulfide + - Hydroxide + - Acetylide + - Ethoxide + - Cyanide + - Amide + - Phenoxide + - Peroxide + - Superoxide + - Acetylide + # Oxoanions + - Sulfate + - Sulfite + - Phosphate + - Phospite + - Arsenate + - Arsenite + - Nitrate + - Nitrite + - Thiosulfate + - Perchlorate + - Iodate + - Chlorate + - Bromate + - Perbromate + - Chlorite + - Hypochlorite + - Hypobromite + - Carbonate + - Chromate + - Bicarbonate + - Dichromate + - Persulfate + - Pyrosulfite + - Pyrosulfate + - Pyrophosphite + - Pyrophosphate + - Pyroarsenate + - Dicarbonate + - Pyrocarbonate + - Pyroselenite + - Ethanolate + - Benzoate + - Citrate + - Manganate + - Zincate + - Aluminate + - Tungstate + - Orthosilicate + - Metasilicate + - Silicate + - Cyanate + - Thiocyanate + - Permanganate + - Sulfonate + - Isocyanate + - Carbamate + # Anions from organic acids + - Acetate + - Formate + - Oxalate + - Propionate + - Butyrate + - Malate + # Isotopes + - Protium + - Deuterium + - Tritium + - Uranium-235 + - Uranium-238 + - Radon-222 + - Thorium-232 + # Compounds + - Ammonia + - Methane + - Glucose + - Ethanol + - Formaldehyde + - Acetylene + - Toluene + # SS14 chemicals + - Bananium + - Fresium + - Carpetium + - Razorium + - Artifexium + - Barozine + - Frezon + - Phlogiston + - Licoxide + - Lipolicide + - Tazinide + - Lotophagoi + - Vestine + - Thermite + - Saxoite + - Sigynate + - Nocturine + - Impedrezene + - Ephedrine + # Skeleton names from skeleton_first.yml - double weight + - Sternum + - Sternum + - Ribs + - Ribs + - Vertebrae + - Vertebrae + - Sacrum + - Sacrum + - Mandible + - Mandible + - Clavicle + - Clavicle + - Scapula + - Scapula + - Humerus + - Humerus + - Radius + - Radius + - Ulna + - Ulna + - Carpals + - Carpals + - Phalanges + - Phalanges + - Pelvis + - Pelvis + - Femur + - Femur + - Tibia + - Tibia + - Fibula + - Fibula + - Marrow + - Marrow + - Tarsals + - Tarsals + - Patella + - Patella + - Tailbone + - Tailbone + - Rib + - Rib + - Hyoid + - Hyoid + - Coccyx + - Coccyx + - Tarsus + - Tarsus + - Lacrimal + - Lacrimal + - Bone + - Bone + # Bonus Skeleton names + - Skull + - Skull + - Maxilla + - Maxilla + - Zygomatic + - Zygomatic + - Malleus + - Malleus + - Incus + - Incus + - Stapes + - Stapes + - Metacarpals + - Metacarpals + - Metatarsals + - Metatarsals + - Ribs + - Ribs diff --git a/Resources/Prototypes/DeltaV/Actions/types.yml b/Resources/Prototypes/DeltaV/Actions/types.yml new file mode 100644 index 000000000000..831763df5105 --- /dev/null +++ b/Resources/Prototypes/DeltaV/Actions/types.yml @@ -0,0 +1,12 @@ +- type: entity + id: ActionChitzite + name: Cough Up Chitzite + description: Purge the excess radiation build-up from your body by expelling it as a mass of toxic material. + components: + - type: InstantAction + charges: 0 + enabled: false + maxCharges: 1 + icon: { sprite: DeltaV/Objects/Specific/Species/chitinid.rsi, state: chitzite } + useDelay: 300 + event: !type:ChitziteActionEvent \ No newline at end of file diff --git a/Resources/Prototypes/DeltaV/Body/Organs/chitinid.yml b/Resources/Prototypes/DeltaV/Body/Organs/chitinid.yml new file mode 100644 index 000000000000..38a0e0b22191 --- /dev/null +++ b/Resources/Prototypes/DeltaV/Body/Organs/chitinid.yml @@ -0,0 +1,33 @@ +- type: entity + id: OrganChitinidStomach + parent: [OrganAnimalStomach, OrganHumanStomach] + name: stomach + description: "Gross. This is hard to stomach." + components: + - type: Organ # Shitmed Change + slotId: stomach # Shitmed Change + - type: Sprite + state: stomach + - type: Item + size: Small + heldPrefix: stomach + - type: SolutionContainerManager + solutions: + stomach: + maxVol: 50 + food: + maxVol: 5 + reagents: + - ReagentId: UncookedAnimalProteins + Quantity: 5 + - type: Stomach + # The stomach metabolizes stuff like foods and drinks. + # TODO: Have it work off of the ent's solution container, and move this + # to intestines instead. + - type: Metabolizer + # mm yummy + maxReagents: 3 + metabolizerTypes: [Human] + groups: + - id: Food + - id: Drink diff --git a/Resources/Prototypes/DeltaV/Body/Parts/chitinid.yml b/Resources/Prototypes/DeltaV/Body/Parts/chitinid.yml new file mode 100644 index 000000000000..507ba70f487e --- /dev/null +++ b/Resources/Prototypes/DeltaV/Body/Parts/chitinid.yml @@ -0,0 +1,112 @@ +# TODO: Add descriptions (many) +# TODO BODY: Part damage +- type: entity + id: PartChitinidBase + parent: [BaseItem, BasePart] + name: "Chitinid body part" + abstract: true + components: + - type: Sprite + sprite: DeltaV/Mobs/Species/Chitinid/parts.rsi + - type: Extractable + juiceSolution: + reagents: + - ReagentId: Fat + Quantity: 3 + - ReagentId: Blood + Quantity: 10 + +- type: entity + id: TorsoChitinid + name: "chitinid torso" + parent: [PartChitinidBase, BaseTorso] + components: + - type: Sprite + state: "torso_m" + - type: Extractable + juiceSolution: + reagents: + - ReagentId: Fat + Quantity: 10 + - ReagentId: Blood + Quantity: 20 + + +- type: entity + id: HeadChitinid + name: "chitinid head" + parent: [PartChitinidBase, BaseHead] + components: + - type: Sprite + state: "head_m" + - type: Extractable + juiceSolution: + reagents: + - ReagentId: Fat + Quantity: 5 + - ReagentId: Blood + Quantity: 10 + +- type: entity + id: LeftArmChitinid + name: "left chitinid arm" + parent: [PartChitinidBase, BaseLeftArm] + components: + - type: Sprite + state: "l_arm" + +- type: entity + id: RightArmChitinid + name: "right chitinid arm" + parent: [PartChitinidBase, BaseRightArm] + components: + - type: Sprite + state: "r_arm" + +- type: entity + id: LeftHandChitinid + name: "left chitinid hand" + parent: [PartChitinidBase, BaseLeftHand] + components: + - type: Sprite + state: "l_hand" + +- type: entity + id: RightHandChitinid + name: "right chitinid hand" + parent: [PartChitinidBase, BaseRightHand] + components: + - type: Sprite + state: "r_hand" + +- type: entity + id: LeftLegChitinid + name: "left chitinid leg" + parent: [PartChitinidBase, BaseLeftLeg] + components: + - type: Sprite + state: "l_leg" + +- type: entity + id: RightLegChitinid + name: "right chitinid leg" + parent: [PartChitinidBase, BaseRightLeg] + components: + - type: Sprite + state: "r_leg" + +- type: entity + id: LeftFootChitinid + name: "left chitinid foot" + parent: [PartChitinidBase, BaseLeftFoot] + components: + - type: Sprite + state: "l_foot" + +- type: entity + id: RightFootChitinid + name: "right chitinid foot" + parent: [PartChitinidBase, BaseRightFoot] + components: + - type: Sprite + state: "r_foot" diff --git a/Resources/Prototypes/DeltaV/Body/Prototypes/chitinid.yml b/Resources/Prototypes/DeltaV/Body/Prototypes/chitinid.yml new file mode 100644 index 000000000000..18428a67a6c4 --- /dev/null +++ b/Resources/Prototypes/DeltaV/Body/Prototypes/chitinid.yml @@ -0,0 +1,49 @@ +- type: body + id: Chitinid + name: "chitinid" + root: torso + slots: + head: + part: HeadChitinid + connections: + - torso + organs: + brain: OrganHumanBrain + eyes: OrganHumanEyes + torso: + part: TorsoChitinid + organs: + heart: OrganAnimalHeart + lungs: OrganHumanLungs + stomach: OrganChitinidStomach + liver: OrganAnimalLiver + kidneys: OrganHumanKidneys + connections: + - right arm + - left arm + - right leg + - left leg + right arm: + part: RightArmChitinid + connections: + - right hand + left arm: + part: LeftArmChitinid + connections: + - left hand + right hand: + part: RightHandChitinid + left hand: + part: LeftHandChitinid + right leg: + part: RightLegChitinid + connections: + - right foot + left leg: + part: LeftLegChitinid + connections: + - left foot + right foot: + part: RightFootChitinid + left foot: + part: LeftFootChitinid diff --git a/Resources/Prototypes/DeltaV/Damage/modifier_sets.yml b/Resources/Prototypes/DeltaV/Damage/modifier_sets.yml index b389378eb01d..2dbfe44d87f0 100644 --- a/Resources/Prototypes/DeltaV/Damage/modifier_sets.yml +++ b/Resources/Prototypes/DeltaV/Damage/modifier_sets.yml @@ -10,3 +10,12 @@ Blunt: 1.15 Slash: 1.15 Piercing: 1.15 + +- type: damageModifierSet + id: Chitinid + coefficients: + Blunt: 1.15 + Piercing: 1.25 + Slash: 0.9 + Cold: 1.1 + Radiation: 0.2 \ No newline at end of file diff --git a/Resources/Prototypes/DeltaV/Datasets/Names/chitinid_first_female.yml b/Resources/Prototypes/DeltaV/Datasets/Names/chitinid_first_female.yml new file mode 100644 index 000000000000..be91ea315096 --- /dev/null +++ b/Resources/Prototypes/DeltaV/Datasets/Names/chitinid_first_female.yml @@ -0,0 +1,34 @@ +- type: dataset + id: NamesChitinidFirstFemale + values: + - Amer'ix + - An'bela + - An'ora + - Aza'ran + - Be'riah + - Bel'os + - Da'lrah + - Di'azo + - E'nzo + - Em'era + - Fi'n'rah + - He'teka + - Ir'iska + - Ish'kar + - Isha'ba + - Jes'sri'ka + - Kalz'za + - Kaz'zek + - Lot'tikz + - Ral'zol + - Ri'isano + - Talzz'ark + - Tess'ara + - Tez'mal'zar + - Thri'kis + - Vani'si'kar + - Ve'rai + - Vish'ra + - Zan'ova + - Zen'ofi + - Zzer'ak diff --git a/Resources/Prototypes/DeltaV/Datasets/Names/chitinid_first_male.yml b/Resources/Prototypes/DeltaV/Datasets/Names/chitinid_first_male.yml new file mode 100644 index 000000000000..355f5cffb9bc --- /dev/null +++ b/Resources/Prototypes/DeltaV/Datasets/Names/chitinid_first_male.yml @@ -0,0 +1,36 @@ +- type: dataset + id: NamesChitinidFirstMale + values: + - Al'vos + - Amue'val + - Barma'tos + - Ben'idar + - Bil'verrok + - Crik'xis + - Daru'nta + - Dee'aldas + - Drx'var + - Hen'sra + - Hux'von + - Ilv'imon + - Is'irax + - Ish'nax + - Jax'zaril'va + - L'ofa + - Lo'zok + - Lu'vurx + - Luc'irax + - Mer'tex + - Od'dalis + - Si'ley + - Sim'sker + - Tal'vos + - Ti'ril + - Vir'lker + - Vir'muel + - Vix'vol + - Von'draz + - Vu'lta'voss + - Xixa'ba + - Yarr'wat + - Zay'zz diff --git a/Resources/Prototypes/DeltaV/Entities/Mobs/Customization/Markings/chitinid.yml b/Resources/Prototypes/DeltaV/Entities/Mobs/Customization/Markings/chitinid.yml new file mode 100644 index 000000000000..a8644a4e0790 --- /dev/null +++ b/Resources/Prototypes/DeltaV/Entities/Mobs/Customization/Markings/chitinid.yml @@ -0,0 +1,458 @@ +# Antennas +- type: marking + id: ChitinidAntennasDefault + bodyPart: HeadTop + markingCategory: HeadTop + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi + state: default + +- type: marking + id: ChitinidAntennasCurly + bodyPart: HeadTop + markingCategory: HeadTop + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi + state: curly + +- type: marking + id: ChitinidAntennasGray + bodyPart: HeadTop + markingCategory: HeadTop + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi + state: gray + +- type: marking + id: ChitinidAntennasSlick + bodyPart: HeadTop + markingCategory: HeadTop + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi + state: slick + +- type: marking + id: ChitinidAntennasLong + bodyPart: HeadTop + markingCategory: HeadTop + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi + state: long + +- type: marking + id: ChitinidAntennasBee + bodyPart: HeadTop + markingCategory: HeadTop + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi + state: bee + +- type: marking + id: ChitinidAntennasShort + bodyPart: HeadTop + markingCategory: HeadTop + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi + state: short + +- type: marking + id: ChitinidAntennasFirefly + bodyPart: HeadTop + markingCategory: HeadTop + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi + state: firefly_primary + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi + state: firefly_secondary + +- type: marking + id: ChitinidAntennasRadar + bodyPart: HeadTop + markingCategory: HeadTop + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi + state: radar + +- type: marking + id: ChitinidAntennasSpeed + bodyPart: HeadTop + markingCategory: HeadTop + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi + state: speed + + +# Wings +- type: marking + id: ChitinidWingsDefault + bodyPart: Tail + markingCategory: Tail + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi + state: default + +- type: marking + id: ChitinidWingsSmooth + bodyPart: Tail + markingCategory: Tail + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi + state: smooth + +- type: marking + id: ChitinidWingsHoneypot + bodyPart: Tail + markingCategory: Tail + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi + state: honeypot_primary + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi + state: honeypot_secondary + +- type: marking + id: ChitinidWingsStubby + bodyPart: Tail + markingCategory: Tail + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi + state: stubby + +- type: marking + id: ChitinidWingsBee + bodyPart: Tail + markingCategory: Tail + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi + state: bee_primary + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi + state: bee_secondary + +- type: marking + id: ChitinidWingsFirefly + bodyPart: Tail + markingCategory: Tail + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi + state: firefly_primary + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi + state: firefly_secondary + +# Body markings: +# Charred +- type: marking + id: ChitinidChestCharred + bodyPart: Chest + markingCategory: Chest + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: charred_chest + +- type: marking + id: ChitinidHeadCharred + bodyPart: Head + markingCategory: Head + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: charred_head + +- type: marking + id: ChitinidLLegCharred + bodyPart: LLeg + markingCategory: LeftLeg + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: charred_l_leg + +- type: marking + id: ChitinidRLegCharred + bodyPart: RLeg + markingCategory: RightLeg + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: charred_r_leg + +- type: marking + id: ChitinidLArmCharred + bodyPart: LArm + markingCategory: LeftArm + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: charred_l_arm + +- type: marking + id: ChitinidRArmCharred + bodyPart: RArm + markingCategory: RightArm + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: charred_r_arm + +# Plated +- type: marking + id: ChitinidChestPlated + bodyPart: Chest + markingCategory: Chest + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: plated_chest + +- type: marking + id: ChitinidLArmPlated + bodyPart: LArm + markingCategory: LeftArm + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: plated_l_arm + +- type: marking + id: ChitinidRArmPlated + bodyPart: RArm + markingCategory: RightArm + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: plated_r_arm + +# Stripes +- type: marking + id: ChitinidChestStripes + bodyPart: Chest + markingCategory: Chest + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: stripes_chest + +- type: marking + id: ChitinidHeadStripes + bodyPart: Head + markingCategory: Head + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: stripes_head + +- type: marking + id: ChitinidLLegStripes + bodyPart: LLeg + markingCategory: LeftLeg + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: stripes_l_leg + +- type: marking + id: ChitinidRLegStripes + bodyPart: RLeg + markingCategory: RightLeg + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: stripes_r_leg + +- type: marking + id: ChitinidLArmStripes + bodyPart: LArm + markingCategory: LeftArm + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: stripes_l_arm + +- type: marking + id: ChitinidRArmStripes + bodyPart: RArm + markingCategory: RightArm + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: stripes_r_arm + +# Radiant +- type: marking + id: ChitinidChestRadiant + bodyPart: Chest + markingCategory: Chest + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: radiant_chest + +- type: marking + id: ChitinidHeadRadiant + bodyPart: Head + markingCategory: Head + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: radiant_head + +- type: marking + id: ChitinidLLegRadiant + bodyPart: LLeg + markingCategory: LeftLeg + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: radiant_l_leg + +- type: marking + id: ChitinidRLegRadiant + bodyPart: RLeg + markingCategory: RightLeg + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: radiant_r_leg + +- type: marking + id: ChitinidLArmRadiant + bodyPart: LArm + markingCategory: LeftArm + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: radiant_l_arm + +- type: marking + id: ChitinidRArmRadiant + bodyPart: RArm + markingCategory: RightArm + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: radiant_r_arm + +# Toxic +- type: marking + id: ChitinidChestToxic + bodyPart: Chest + markingCategory: Chest + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: toxic_chest + +- type: marking + id: ChitinidHeadToxic + bodyPart: Head + markingCategory: Head + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: toxic_head + +- type: marking + id: ChitinidLLegToxic + bodyPart: LLeg + markingCategory: LeftLeg + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: toxic_l_leg + +- type: marking + id: ChitinidRLegToxic + bodyPart: RLeg + markingCategory: RightLeg + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: toxic_r_leg + +- type: marking + id: ChitinidLArmToxic + bodyPart: LArm + markingCategory: LeftArm + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: toxic_l_arm + +- type: marking + id: ChitinidRArmToxic + bodyPart: RArm + markingCategory: RightArm + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: toxic_r_arm + +# Spotted +- type: marking + id: ChitinidChestSpotted + bodyPart: Chest + markingCategory: Chest + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: spotted_chest + +- type: marking + id: ChitinidHeadSpotted + bodyPart: Head + markingCategory: Head + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: spotted_head + +- type: marking + id: ChitinidLLegSpotted + bodyPart: LLeg + markingCategory: LeftLeg + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: spotted_l_leg + +- type: marking + id: ChitinidRLegSpotted + bodyPart: RLeg + markingCategory: RightLeg + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: spotted_r_leg + +- type: marking + id: ChitinidLArmSpotted + bodyPart: LArm + markingCategory: LeftArm + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: spotted_l_arm + +- type: marking + id: ChitinidRArmSpotted + bodyPart: RArm + markingCategory: RightArm + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: spotted_r_arm diff --git a/Resources/Prototypes/DeltaV/Entities/Mobs/Player/chitinid.yml b/Resources/Prototypes/DeltaV/Entities/Mobs/Player/chitinid.yml new file mode 100644 index 000000000000..4c8a78473152 --- /dev/null +++ b/Resources/Prototypes/DeltaV/Entities/Mobs/Player/chitinid.yml @@ -0,0 +1,5 @@ +- type: entity + save: false + name: Urist McAnt + parent: BaseMobChitinid + id: MobChitinid diff --git a/Resources/Prototypes/DeltaV/Entities/Mobs/Species/chitinid.yml b/Resources/Prototypes/DeltaV/Entities/Mobs/Species/chitinid.yml new file mode 100644 index 000000000000..2dfd11018442 --- /dev/null +++ b/Resources/Prototypes/DeltaV/Entities/Mobs/Species/chitinid.yml @@ -0,0 +1,169 @@ +- type: entity + save: false + name: Urist McAnt + parent: BaseMobSpeciesOrganic + id: BaseMobChitinid + abstract: true + components: + - type: HumanoidAppearance + species: Chitinid + hideLayersOnEquip: + - HeadTop + + - type: Hunger + baseDecayRate: 0.0467 #needs to eat more to survive + - type: Thirst + + - type: UnpoweredFlashlight + - type: PointLight + enabled: false + radius: 3 + softness: 5 + color: "#2CFA1F" + autoRot: true + + - type: Carriable + + - type: Icon + sprite: DeltaV/Mobs/Species/Chitinid/parts.rsi + state: full + + - type: Body + prototype: Chitinid + requiredLegs: 2 + + - type: Damageable + damageContainer: Biological + damageModifierSet: Chitinid + + - type: Speech + speechVerb: Chitinid + allowedEmotes: ['Chitter', 'Click', 'Hiss'] + + - type: MeleeWeapon + animation: WeaponArcBite + soundHit: + path: /Audio/Effects/bite.ogg + damage: + types: + Piercing: 5 + + + - type: TypingIndicator + proto: Chitinid + + - type: Butcherable + butcheringType: Spike + spawned: + - id: FoodMeat + amount: 5 + + - type: Bloodstream + bloodReagent: InsectBlood + + - type: DamageVisuals + damageOverlayGroups: + Brute: + sprite: Mobs/Effects/brute_damage.rsi + color: "#808A51" + Burn: + sprite: Mobs/Effects/burn_damage.rsi + + - type: Vocal + sounds: + Male: UnisexChitinid + Female: UnisexChitinid + Unsexed: UnisexChitinid + + - type: Fixtures + fixtures: # TODO: This needs a second fixture just for mob collisions. + fix1: + shape: + !type:PhysShapeCircle + radius: 0.42 + density: 220 + restitution: 0.0 + mask: + - MobMask + layer: + - MobLayer + + - type: Temperature # Ants hate the cold + heatDamageThreshold: 320 + coldDamageThreshold: 230 + currentTemperature: 310.15 + specificHeat: 46 + coldDamage: + types: + Cold : 1.25 #per second, scales with temperature & other constants + heatDamage: + types: + Heat : 1.0 #per second, scales with temperature & other constants + - type: TemperatureSpeed + thresholds: + 289: 0.6 + 275: 0.4 + 250: 0.3 + + - type: Sprite # sprite again because we want different layer ordering + noRot: true + drawdepth: Mobs + layers: + - map: [ "enum.HumanoidVisualLayers.Chest" ] + - map: [ "enum.HumanoidVisualLayers.Head" ] + - map: [ "enum.HumanoidVisualLayers.Snout" ] + - map: [ "enum.HumanoidVisualLayers.Eyes" ] + - map: [ "enum.HumanoidVisualLayers.RArm" ] + - map: [ "enum.HumanoidVisualLayers.LArm" ] + - map: [ "enum.HumanoidVisualLayers.RLeg" ] + - map: [ "enum.HumanoidVisualLayers.LLeg" ] + - map: [ "jumpsuit" ] + - map: [ "enum.HumanoidVisualLayers.LHand" ] + - map: [ "enum.HumanoidVisualLayers.RHand" ] + - map: [ "enum.HumanoidVisualLayers.LFoot" ] + - map: [ "enum.HumanoidVisualLayers.RFoot" ] + - map: [ "enum.HumanoidVisualLayers.Handcuffs" ] + color: "#ffffff" + sprite: Objects/Misc/handcuffs.rsi + state: body-overlay-2 + visible: false + - map: [ "gloves" ] + - map: [ "shoes" ] + - map: [ "ears" ] + - map: [ "outerClothing" ] + - map: [ "eyes" ] + - map: [ "belt" ] + - map: [ "id" ] + - map: [ "back" ] + - map: [ "neck" ] + - map: [ "enum.HumanoidVisualLayers.Tail" ] #in the utopian future we should probably have a wings enum inserted here so everyhting doesn't break + - map: [ "enum.HumanoidVisualLayers.FacialHair" ] + - map: [ "enum.HumanoidVisualLayers.Hair" ] + - map: [ "enum.HumanoidVisualLayers.HeadSide" ] + - map: [ "enum.HumanoidVisualLayers.HeadTop" ] + - map: [ "mask" ] + - map: [ "head" ] + - map: [ "pocket1" ] + - map: [ "pocket2" ] + - map: [ "clownedon" ] # Dynamically generated + sprite: "Effects/creampie.rsi" + state: "creampie_moth" + visible: false + - type: Chitinid + - type: BlockInjection + blockReason: chitinid + - type: LanguageKnowledge + speaks: + - TauCetiBasic + - Chittin + understands: + - TauCetiBasic + - Chittin + +- type: entity + parent: BaseSpeciesDummy + id: MobChitinidDummy + categories: [ HideSpawnMenu ] + components: + - type: HumanoidAppearance + species: Chitinid diff --git a/Resources/Prototypes/DeltaV/Entities/Objects/Specific/Species/chitinid.yml b/Resources/Prototypes/DeltaV/Entities/Objects/Specific/Species/chitinid.yml new file mode 100644 index 000000000000..1e66d4295c03 --- /dev/null +++ b/Resources/Prototypes/DeltaV/Entities/Objects/Specific/Species/chitinid.yml @@ -0,0 +1,33 @@ +- type: entity + parent: BaseItem + id: Chitzite + name: chitzite + description: A small radioactive stone formed in the chest cavity of a radioactive chitinid, gross.... but kinda pretty? + components: + - type: Sprite + sprite: DeltaV/Objects/Specific/Species/chitinid.rsi + layers: + - state: chitzite + - state: chitzite_glow + - type: RadiationSource + intensity: 0.5 + - type: Extractable + grindableSolutionName: chitzite + - type: SolutionContainerManager + solutions: + chitzite: + maxVol: 5 + reagents: + - ReagentId: Uranium + Quantity: 2.5 + - ReagentId: Radium + Quantity: 2.5 + - type: MeleeWeapon + damage: + types: + Blunt: 3 + Radiation: 3 + - type: Tag + tags: + - Recyclable + - Trash diff --git a/Resources/Prototypes/DeltaV/Guidebook/species.yml b/Resources/Prototypes/DeltaV/Guidebook/species.yml new file mode 100644 index 000000000000..d64204e0a76f --- /dev/null +++ b/Resources/Prototypes/DeltaV/Guidebook/species.yml @@ -0,0 +1,4 @@ +- type: guideEntry + id: Chitinid + name: species-name-chitinid + text: "/ServerInfo/Guidebook/Mobs/DeltaV/Chitinid.xml" \ No newline at end of file diff --git a/Resources/Prototypes/DeltaV/Objectives/traitor.yml b/Resources/Prototypes/DeltaV/Objectives/traitor.yml index 828142cdfa77..b4fced2c61f7 100644 --- a/Resources/Prototypes/DeltaV/Objectives/traitor.yml +++ b/Resources/Prototypes/DeltaV/Objectives/traitor.yml @@ -33,3 +33,34 @@ stealGroup: RubberStampNotary verifyMapExistence: true owner: job-name-clerk + +# teach lesson +- type: entity + abstract: true + parent: BaseTargetObjective + id: BaseTeachLessonObjective + components: + - type: Objective + unique: false + icon: + sprite: Objects/Weapons/Guns/Pistols/viper.rsi + state: icon + - type: TeachLessonCondition + - type: CodeCondition + - type: ObjectiveBlacklistRequirement + blacklist: + components: + - SocialObjective + +- type: entity + parent: [BaseTraitorObjective, BaseTeachLessonObjective] + id: TeachLessonRandomPersonObjective + description: Kill them, and show everyone we mean business. They only need to die once. + components: + - type: Objective + difficulty: 1.75 + unique: false + - type: TargetObjective + title: objective-condition-teach-person-title + - type: PickRandomPerson + - type: TeachLessonCondition \ No newline at end of file diff --git a/Resources/Prototypes/DeltaV/Roles/Jobs/Cargo/courier.yml b/Resources/Prototypes/DeltaV/Roles/Jobs/Cargo/courier.yml index 6785e74acb2d..0b8a4bd11f00 100644 --- a/Resources/Prototypes/DeltaV/Roles/Jobs/Cargo/courier.yml +++ b/Resources/Prototypes/DeltaV/Roles/Jobs/Cargo/courier.yml @@ -1,5 +1,7 @@ - type: startingGear id: CourierGear + subGear: + - CourierPlasmamanGear equipment: head: ClothingHeadCourier jumpsuit: ClothingUniformCourier @@ -11,3 +13,11 @@ innerClothingSkirt: ClothingUniformSkirtCourier satchel: ClothingBackpackSatchelFilled duffelbag: ClothingBackpackDuffelFilled + +- type: startingGear + id: CourierPlasmamanGear + parent: BasePlasmamanGear + equipment: + jumpsuit: ClothingUniformEnvirosuitCourier + head: ClothingHeadEnvirohelmCourier + gloves: ClothingHandsGlovesEnviroglovesCargo diff --git a/Resources/Prototypes/DeltaV/Roles/Jobs/Command/administrative_assistant.yml b/Resources/Prototypes/DeltaV/Roles/Jobs/Command/administrative_assistant.yml index d07a1b44979d..03efbd17557d 100644 --- a/Resources/Prototypes/DeltaV/Roles/Jobs/Command/administrative_assistant.yml +++ b/Resources/Prototypes/DeltaV/Roles/Jobs/Command/administrative_assistant.yml @@ -38,9 +38,19 @@ - type: startingGear id: AdminAssistantGear + subGear: + - AdminAssistantPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitAdminAssistant id: AdminAssistantPDA ears: ClothingHeadsetAdminAssist shoes: ClothingShoesLeather - innerClothingSkirt: ClothingUniformJumpskirtAdminAssistant \ No newline at end of file + innerClothingSkirt: ClothingUniformJumpskirtAdminAssistant + +- type: startingGear + id: AdminAssistantPlasmamanGear + parent: BasePlasmamanGear + equipment: + jumpsuit: ClothingUniformEnvirosuitAdminAssistant + head: ClothingHeadEnvirohelmAdminAssistant + gloves: ClothingHandsGlovesEnviroglovesAdminAssistant diff --git a/Resources/Prototypes/DeltaV/Roles/Jobs/Fun/misc_startinggear.yml b/Resources/Prototypes/DeltaV/Roles/Jobs/Fun/misc_startinggear.yml index db5e717a011f..af0bca2ea0a5 100644 --- a/Resources/Prototypes/DeltaV/Roles/Jobs/Fun/misc_startinggear.yml +++ b/Resources/Prototypes/DeltaV/Roles/Jobs/Fun/misc_startinggear.yml @@ -55,6 +55,8 @@ - type: startingGear id: SyndicateListenerGear + subGear: + - SyndicatePlasmamanGear # TODO: syndicate listener enviropyjamas equipment: jumpsuit: ClothingUniformJumpsuitPyjamaSyndicateBlack head: ClothingHeadPyjamaSyndicateBlack diff --git a/Resources/Prototypes/DeltaV/Roles/Jobs/Justice/chief_justice.yml b/Resources/Prototypes/DeltaV/Roles/Jobs/Justice/chief_justice.yml index 8f76050d8829..effd10d2c68e 100644 --- a/Resources/Prototypes/DeltaV/Roles/Jobs/Justice/chief_justice.yml +++ b/Resources/Prototypes/DeltaV/Roles/Jobs/Justice/chief_justice.yml @@ -38,6 +38,8 @@ - type: startingGear id: CJGear + subGear: + - PassengerPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitChiefJustice back: ClothingBackpackFilled # TODO- make Justice department bags diff --git a/Resources/Prototypes/DeltaV/Roles/Jobs/Justice/clerk.yml b/Resources/Prototypes/DeltaV/Roles/Jobs/Justice/clerk.yml index c2032b67ebea..7e4a2ebff0d0 100644 --- a/Resources/Prototypes/DeltaV/Roles/Jobs/Justice/clerk.yml +++ b/Resources/Prototypes/DeltaV/Roles/Jobs/Justice/clerk.yml @@ -28,6 +28,8 @@ - type: startingGear id: ClerkGear + subGear: + - PassengerPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitClerk back: ClothingBackpackFilled diff --git a/Resources/Prototypes/DeltaV/Roles/Jobs/Justice/prosecutor.yml b/Resources/Prototypes/DeltaV/Roles/Jobs/Justice/prosecutor.yml index e0cebc4417a0..5aed73bcbf79 100644 --- a/Resources/Prototypes/DeltaV/Roles/Jobs/Justice/prosecutor.yml +++ b/Resources/Prototypes/DeltaV/Roles/Jobs/Justice/prosecutor.yml @@ -17,6 +17,8 @@ - type: startingGear id: ProsecutorGear + subGear: + - PassengerPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitProsecutor neck: ClothingNeckProsecutorbadge diff --git a/Resources/Prototypes/DeltaV/Roles/Jobs/Security/brigmedic.yml b/Resources/Prototypes/DeltaV/Roles/Jobs/Security/brigmedic.yml index 802ef248f2c8..ea2bbe305aad 100644 --- a/Resources/Prototypes/DeltaV/Roles/Jobs/Security/brigmedic.yml +++ b/Resources/Prototypes/DeltaV/Roles/Jobs/Security/brigmedic.yml @@ -31,9 +31,16 @@ - type: CPRTraining - type: SurgerySpeedModifier speedModifier: 2.0 + afterLoadoutSpecial: + - !type:ModifyEnvirosuitSpecial + charges: 6 + - !type:ModifyEnvirohelmSpecial + powerCell: PowerCellHigh - type: startingGear id: CorpsmanGear # see Prototypes/Roles/Jobs/Fun/misc_startinggear.yml for "BrigmedicGear" + subGear: + - CorpsmanPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitBrigmedic outerClothing: ClothingOuterArmorPlateCarrier @@ -48,3 +55,11 @@ innerClothingSkirt: ClothingUniformJumpskirtBrigmedic satchel: ClothingBackpackSatchelBrigmedicFilled duffelbag: ClothingBackpackDuffelBrigmedicFilled + +- type: startingGear + id: CorpsmanPlasmamanGear + parent: BasePlasmamanSecurityGear + equipment: + jumpsuit: ClothingUniformEnvirosuitBrigmedic + head: ClothingHeadEnvirohelmBrigmedic + gloves: ClothingHandsGlovesEnviroglovesBlack diff --git a/Resources/Prototypes/DeltaV/Species/chitinid.yml b/Resources/Prototypes/DeltaV/Species/chitinid.yml new file mode 100644 index 000000000000..6fa19aa9feac --- /dev/null +++ b/Resources/Prototypes/DeltaV/Species/chitinid.yml @@ -0,0 +1,165 @@ +- type: species + id: Chitinid + name: species-name-chitinid + roundStart: true + prototype: MobChitinid + sprites: MobChitinidSprites + defaultSkinTone: "#ffda93" + markingLimits: MobChitinidMarkingLimits + dollPrototype: MobChitinidDummy + skinColoration: Hues + maleFirstNames: NamesChitinidFirstMale + femaleFirstNames: NamesChitinidFirstFemale + naming: First + +- type: speciesBaseSprites + id: MobChitinidSprites + sprites: + Head: MobChitinidHead + Snout: MobHumanoidAnyMarking + Chest: MobChitinidTorso + HeadTop: MobHumanoidAnyMarking + HeadSide: MobHumanoidAnyMarking + Tail: MobHumanoidAnyMarking + Eyes: MobChitinidEyes + LArm: MobChitinidLArm + RArm: MobChitinidRArm + LHand: MobChitinidLHand + RHand: MobChitinidRHand + LLeg: MobChitinidLLeg + RLeg: MobChitinidRLeg + LFoot: MobChitinidLFoot + RFoot: MobChitinidRFoot + +- type: humanoidBaseSprite + id: MobChitinidEyes + baseSprite: + sprite: DeltaV/Mobs/Species/Chitinid/parts.rsi + state: eyes + +- type: markingPoints + id: MobChitinidMarkingLimits + onlyWhitelisted: true + points: + Hair: + points: 0 + required: false + FacialHair: + points: 0 + required: false + Tail: + points: 1 + required: true + defaultMarkings: [ ChitinidWingsDefault ] + Snout: + points: 1 + required: false + HeadTop: + points: 1 + required: true + defaultMarkings: [ ChitinidAntennasDefault ] + HeadSide: + points: 1 + required: false + Head: + points: 1 + required: false + Chest: + points: 1 + required: false + LeftLeg: + points: 2 + required: false + RightLeg: + points: 2 + required: false + LeftArm: + points: 2 + required: false + RightArm: + points: 2 + required: false + +- type: humanoidBaseSprite + id: MobChitinidHead + baseSprite: + sprite: DeltaV/Mobs/Species/Chitinid/parts.rsi + state: head_m + +- type: humanoidBaseSprite + id: MobChitinidHeadMale + baseSprite: + sprite: DeltaV/Mobs/Species/Chitinid/parts.rsi + state: head_m + +- type: humanoidBaseSprite + id: MobChitinidHeadFemale + baseSprite: + sprite: DeltaV/Mobs/Species/Chitinid/parts.rsi + state: head_f + +- type: humanoidBaseSprite + id: MobChitinidTorso + baseSprite: + sprite: DeltaV/Mobs/Species/Chitinid/parts.rsi + state: torso_m + +- type: humanoidBaseSprite + id: MobChitinidTorsoMale + baseSprite: + sprite: DeltaV/Mobs/Species/Chitinid/parts.rsi + state: torso_m + +- type: humanoidBaseSprite + id: MobChitinidTorsoFemale + baseSprite: + sprite: DeltaV/Mobs/Species/Chitinid/parts.rsi + state: torso_f + +- type: humanoidBaseSprite + id: MobChitinidLLeg + baseSprite: + sprite: DeltaV/Mobs/Species/Chitinid/parts.rsi + state: l_leg + +- type: humanoidBaseSprite + id: MobChitinidLHand + baseSprite: + sprite: DeltaV/Mobs/Species/Chitinid/parts.rsi + state: l_hand + +- type: humanoidBaseSprite + id: MobChitinidLArm + baseSprite: + sprite: DeltaV/Mobs/Species/Chitinid/parts.rsi + state: l_arm + +- type: humanoidBaseSprite + id: MobChitinidLFoot + baseSprite: + sprite: DeltaV/Mobs/Species/Chitinid/parts.rsi + state: l_foot + +- type: humanoidBaseSprite + id: MobChitinidRLeg + baseSprite: + sprite: DeltaV/Mobs/Species/Chitinid/parts.rsi + state: r_leg + +- type: humanoidBaseSprite + id: MobChitinidRHand + baseSprite: + sprite: DeltaV/Mobs/Species/Chitinid/parts.rsi + state: r_hand + +- type: humanoidBaseSprite + id: MobChitinidRArm + baseSprite: + sprite: DeltaV/Mobs/Species/Chitinid/parts.rsi + state: r_arm + +- type: humanoidBaseSprite + id: MobChitinidRFoot + baseSprite: + sprite: DeltaV/Mobs/Species/Chitinid/parts.rsi + state: r_foot diff --git a/Resources/Prototypes/DeltaV/Voice/speech_emote_sounds.yml b/Resources/Prototypes/DeltaV/Voice/speech_emote_sounds.yml index dc725b547e01..18f4258ba7f2 100644 --- a/Resources/Prototypes/DeltaV/Voice/speech_emote_sounds.yml +++ b/Resources/Prototypes/DeltaV/Voice/speech_emote_sounds.yml @@ -154,3 +154,31 @@ collection: VulpkaninWhines Howl: collection: VulpkaninHowls + +- type: emoteSounds + id: UnisexChitinid + params: + variation: 0.125 + sounds: + Buzz: + path: /Audio/DeltaV/Voice/Chitinid/moth_scream.ogg + Scream: + path: /Audio/Voice/Arachnid/arachnid_scream.ogg + Laugh: + path: /Audio/DeltaV/Voice/Chitinid/moth_laugh.ogg + Chitter: + path: /Audio/Voice/Arachnid/arachnid_chitter.ogg + Click: + path: /Audio/Voice/Arachnid/arachnid_click.ogg + Crying: + collection: FemaleCry + Weh: + collection: Weh + Sneeze: + collection: MaleSneezes + Cough: + collection: MaleCoughs + Yawn: + collection: MaleYawn + Hiss: + path: /Audio/Animals/snake_hiss.ogg \ No newline at end of file diff --git a/Resources/Prototypes/DeltaV/Voice/speech_sounds.yml b/Resources/Prototypes/DeltaV/Voice/speech_sounds.yml index 89db03d2fcc6..0d6a3b7e0eaf 100644 --- a/Resources/Prototypes/DeltaV/Voice/speech_sounds.yml +++ b/Resources/Prototypes/DeltaV/Voice/speech_sounds.yml @@ -15,3 +15,12 @@ path: /Audio/DeltaV/Voice/Harpy/chirp1.ogg exclaimSound: path: /Audio/DeltaV/Voice/Harpy/chirp1.ogg + +- type: speechSounds + id: Chitinid + saySound: + path: /Audio/Voice/Talk/speak_1.ogg + askSound: + path: /Audio/Voice/Talk/speak_1_ask.ogg + exclaimSound: + path: /Audio/Voice/Talk/speak_1_exclaim.ogg \ No newline at end of file diff --git a/Resources/Prototypes/DeltaV/Voice/speech_verbs.yml b/Resources/Prototypes/DeltaV/Voice/speech_verbs.yml index 26156fb82db5..61750216b635 100644 --- a/Resources/Prototypes/DeltaV/Voice/speech_verbs.yml +++ b/Resources/Prototypes/DeltaV/Voice/speech_verbs.yml @@ -24,3 +24,12 @@ - chat-speech-verb-harpy-2 - chat-speech-verb-harpy-3 - chat-speech-verb-harpy-4 + +- type: speechVerb + id: Chitinid + name: chat-speech-verb-name-chitinid + speechVerbStrings: + - chat-speech-verb-chitinid-1 + - chat-speech-verb-chitinid-2 + - chat-speech-verb-chitinid-3 + - chat-speech-verb-chitinid-4 \ No newline at end of file diff --git a/Resources/Prototypes/DeltaV/typing_indicator.yml b/Resources/Prototypes/DeltaV/typing_indicator.yml index 7cfca9cc95f5..e36394581de4 100644 --- a/Resources/Prototypes/DeltaV/typing_indicator.yml +++ b/Resources/Prototypes/DeltaV/typing_indicator.yml @@ -4,3 +4,14 @@ typingState: felinid0 offset: 0, 0.2 # 0625 +- type: typingIndicator + id: rodentia + spritePath: /Textures/DeltaV/Effects/speech.rsi + typingState: rodentia0 + offset: 0, 0.2 # 0625 + +- type: typingIndicator + id: Chitinid + spritePath: /Textures/DeltaV/Effects/speech.rsi + typingState: chitinid0 + offset: -0.2, 0.1 # 0625 \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Clothing/Hands/base_clothinghands.yml b/Resources/Prototypes/Entities/Clothing/Hands/base_clothinghands.yml index 02cf0ab6f67d..a00bab327d6f 100644 --- a/Resources/Prototypes/Entities/Clothing/Hands/base_clothinghands.yml +++ b/Resources/Prototypes/Entities/Clothing/Hands/base_clothinghands.yml @@ -44,3 +44,17 @@ - type: Fiber fiberMaterial: fibers-synthetic - type: FingerprintMask + +- type: entity + parent: ClothingHandsGlovesSyntheticBase + abstract: true + id: ClothingHandsGlovesEnviroglovesBase + components: + - type: Armor + modifiers: + coefficients: + Caustic: 0.95 + - type: IgniteFromGasImmunity + parts: + - LeftHand + - RightHand diff --git a/Resources/Prototypes/Entities/Clothing/Hands/envirogloves.yml b/Resources/Prototypes/Entities/Clothing/Hands/envirogloves.yml new file mode 100644 index 000000000000..656bae9e9526 --- /dev/null +++ b/Resources/Prototypes/Entities/Clothing/Hands/envirogloves.yml @@ -0,0 +1,655 @@ +- type: entity + parent: ClothingHandsGlovesEnviroglovesBase + id: ClothingHandsGlovesEnvirogloves + name: plasma envirogloves + description: Covers up those scandalous boney hands. + components: + - type: Sprite + sprite: Clothing/Hands/Gloves/Color/color.rsi + layers: + - state: icon + color: "#913b00" + - type: Item + sprite: Clothing/Hands/Gloves/Color/color.rsi + inhandVisuals: + left: + - state: inhand-left + color: "#913b00" + right: + - state: inhand-right + color: "#913b00" + - type: Clothing + sprite: Clothing/Hands/Gloves/Color/color.rsi + clothingVisuals: + gloves: + - state: equipped-HAND + color: "#913b00" + - type: Fiber + fiberColor: fibers-orange + +- type: entity + parent: ClothingHandsGlovesEnviroglovesBase + id: ClothingHandsGlovesEnviroglovesBlack + name: black envirogloves + description: Covers up those scandalous boney hands. + components: + - type: Sprite + sprite: Clothing/Hands/Gloves/Color/color.rsi + layers: + - state: icon + color: "#2f2e31" + - type: Item + sprite: Clothing/Hands/Gloves/Color/color.rsi + inhandVisuals: + left: + - state: inhand-left + color: "#2f2e31" + right: + - state: inhand-right + color: "#2f2e31" + - type: Clothing + sprite: Clothing/Hands/Gloves/Color/color.rsi + clothingVisuals: + gloves: + - state: equipped-HAND + color: "#2f2e31" + - type: Fiber + fiberColor: fibers-black + +- type: entity + parent: ClothingHandsGlovesEnviroglovesBase + id: ClothingHandsGlovesEnviroglovesNitrile + name: nitrile envirogloves + description: Pricy nitrile gloves made for Plasmamen. + components: + - type: Sprite + sprite: Clothing/Hands/Gloves/Color/color.rsi + layers: + - state: icon + color: "#234f60" + - type: Item + sprite: Clothing/Hands/Gloves/Color/color.rsi + inhandVisuals: + left: + - state: inhand-left + color: "#234f60" + right: + - state: inhand-right + color: "#234f60" + - type: Clothing + sprite: Clothing/Hands/Gloves/Color/color.rsi + clothingVisuals: + gloves: + - state: equipped-HAND + color: "#234f60" + - type: Fiber + fiberMaterial: fibers-nitrile + - type: FingerprintMask + +- type: entity + parent: ClothingHandsGlovesEnviroglovesBase + id: ClothingHandsGlovesEnviroglovesWhite + name: white envirogloves + description: Covers up those scandalous boney hands. + components: + - type: Sprite + sprite: Clothing/Hands/Gloves/Color/color.rsi + layers: + - state: icon + color: "#ffffff" + - type: Item + sprite: Clothing/Hands/Gloves/Color/color.rsi + inhandVisuals: + left: + - state: inhand-left + color: "#ffffff" + right: + - state: inhand-right + color: "#ffffff" + - type: Clothing + sprite: Clothing/Hands/Gloves/Color/color.rsi + clothingVisuals: + gloves: + - state: equipped-HAND + color: "#ffffff" + - type: Fiber + fiberColor: fibers-white + +- type: entity + parent: ClothingHandsGlovesEnviroglovesWhite + id: ClothingHandsGlovesEnviroglovesColor + name: envirogloves + description: Covers up those scandalous boney hands. + suffix: Loadouts, Colorable + +- type: entity + parent: ClothingHandsGlovesEnviroglovesBase + id: ClothingHandsGlovesEnviroglovesEvening + name: evening envirogloves + description: Who said Plasmamen can't serve elegance and looks? + components: + - type: Sprite + sprite: Clothing/Hands/Gloves/evening_gloves.rsi + - type: Clothing + sprite: Clothing/Hands/Gloves/evening_gloves.rsi + +- type: entity + parent: ClothingHandsGlovesEnviroglovesBase + id: ClothingHandsGlovesEnviroglovesRoboticist + name: roboticist envirogloves + description: Covers up those scandalous boney hands. + components: + - type: Sprite + sprite: Clothing/Hands/Gloves/Color/color.rsi + layers: + - state: icon + color: "#932500" + - type: Item + sprite: Clothing/Hands/Gloves/Color/color.rsi + inhandVisuals: + left: + - state: inhand-left + color: "#932500" + right: + - state: inhand-right + color: "#932500" + - type: Clothing + sprite: Clothing/Hands/Gloves/Color/color.rsi + clothingVisuals: + gloves: + - state: equipped-HAND + color: "#932500" + - type: Fiber + fiberColor: fibers-orange + +- type: entity + parent: ClothingHandsGlovesEnviroglovesBase + id: ClothingHandsGlovesEnviroglovesJanitor + name: janitor envirogloves + description: Covers up those scandalous boney hands. + components: + - type: Sprite + sprite: Clothing/Hands/Gloves/Color/color.rsi + layers: + - state: icon + color: "#883391" + - type: Item + sprite: Clothing/Hands/Gloves/Color/color.rsi + inhandVisuals: + left: + - state: inhand-left + color: "#883391" + right: + - state: inhand-right + color: "#883391" + - type: Clothing + sprite: Clothing/Hands/Gloves/Color/color.rsi + clothingVisuals: + gloves: + - state: equipped-HAND + color: "#883391" + - type: Fiber + fiberColor: fibers-purple + +- type: entity + parent: ClothingHandsGlovesEnviroglovesBase + id: ClothingHandsGlovesEnviroglovesCargo + name: logistics envirogloves + description: Covers up those scandalous boney hands. + components: + - type: Sprite + sprite: Clothing/Hands/Gloves/Color/color.rsi + layers: + - state: icon + color: "#bb9042" + - type: Item + sprite: Clothing/Hands/Gloves/Color/color.rsi + inhandVisuals: + left: + - state: inhand-left + color: "#bb9042" + right: + - state: inhand-right + color: "#bb9042" + - type: Clothing + sprite: Clothing/Hands/Gloves/Color/color.rsi + clothingVisuals: + gloves: + - state: equipped-HAND + color: "#bb9042" + - type: Fiber + fiberColor: fibers-orange + +- type: entity + parent: ClothingHandsGlovesEnviroglovesBase + id: ClothingHandsGlovesEnviroglovesEngineering + name: engineering envirogloves + description: Covers up those scandalous boney hands. + components: + - type: Sprite + sprite: Clothing/Hands/Gloves/Color/color.rsi + layers: + - state: icon + color: "#d75600" + - type: Item + sprite: Clothing/Hands/Gloves/Color/color.rsi + inhandVisuals: + left: + - state: inhand-left + color: "#d75600" + right: + - state: inhand-right + color: "#d75600" + - type: Clothing + sprite: Clothing/Hands/Gloves/Color/color.rsi + clothingVisuals: + gloves: + - state: equipped-HAND + color: "#d75600" + - type: Fiber + fiberColor: fibers-orange + +- type: entity + parent: ClothingHandsGlovesEnviroglovesBase + id: ClothingHandsGlovesEnviroglovesAtmos + name: atmos envirogloves + description: Covers up those scandalous boney hands. + components: + - type: Sprite + sprite: Clothing/Hands/Gloves/Color/color.rsi + layers: + - state: icon + color: "#00a5ff" + - type: Item + sprite: Clothing/Hands/Gloves/Color/color.rsi + inhandVisuals: + left: + - state: inhand-left + color: "#00a5ff" + right: + - state: inhand-right + color: "#00a5ff" + - type: Clothing + sprite: Clothing/Hands/Gloves/Color/color.rsi + clothingVisuals: + gloves: + - state: equipped-HAND + color: "#00a5ff" + - type: Fiber + fiberColor: fibers-blue + +- type: entity + parent: ClothingHandsGlovesEnviroglovesBase + id: ClothingHandsGlovesEnviroglovesSalvage + name: salvage envirogloves + description: Covers up those scandalous boney hands. + components: + - type: Sprite + sprite: Clothing/Hands/Gloves/Color/color.rsi + layers: + - state: icon + color: "#47453d" + - type: Item + sprite: Clothing/Hands/Gloves/Color/color.rsi + inhandVisuals: + left: + - state: inhand-left + color: "#47453d" + right: + - state: inhand-right + color: "#47453d" + - type: Clothing + sprite: Clothing/Hands/Gloves/Color/color.rsi + clothingVisuals: + gloves: + - state: equipped-HAND + color: "#47453d" + - type: Fiber + fiberColor: fibers-olive + +- type: entity + parent: ClothingHandsGlovesEnviroglovesBase + id: ClothingHandsGlovesEnviroglovesLeather + name: hydroponics envirogloves + description: These leather gloves protect your boney hands against thorns, barbs, prickles, and spikes. + components: + - type: Sprite + sprite: Clothing/Hands/Gloves/Color/color.rsi + layers: + - state: icon + color: "#3164ff" + - type: Item + sprite: Clothing/Hands/Gloves/Color/color.rsi + inhandVisuals: + left: + - state: inhand-left + color: "#3164ff" + right: + - state: inhand-right + color: "#3164ff" + - type: Clothing + sprite: Clothing/Hands/Gloves/Color/color.rsi + clothingVisuals: + gloves: + - state: equipped-HAND + color: "#3164ff" + - type: GloveHeatResistance + heatResistance: 1400 + - type: Fiber + fiberMaterial: fibers-leather + fiberColor: fibers-blue + +- type: entity + parent: ClothingHandsGlovesEnviroglovesBase + id: ClothingHandsGlovesEnviroglovesPrototype + name: prototype envirogloves + description: Covers up those scandalous boney hands. + components: + - type: Sprite + sprite: Clothing/Hands/Gloves/Color/color.rsi + layers: + - state: icon + color: "#911801" + - type: Item + sprite: Clothing/Hands/Gloves/Color/color.rsi + inhandVisuals: + left: + - state: inhand-left + color: "#911801" + right: + - state: inhand-right + color: "#911801" + - type: Clothing + sprite: Clothing/Hands/Gloves/Color/color.rsi + clothingVisuals: + gloves: + - state: equipped-HAND + color: "#911801" + - type: Fiber + fiberColor: fibers-red + +- type: entity + parent: ClothingHandsGlovesEnviroglovesBase + id: ClothingHandsGlovesEnviroglovesClown + name: clown envirogloves + description: Covers up those scandalous boney hands. + components: + - type: Sprite + sprite: Clothing/Hands/Gloves/Color/color.rsi + layers: + - state: icon + color: "#ff0000" + - type: Item + sprite: Clothing/Hands/Gloves/Color/color.rsi + inhandVisuals: + left: + - state: inhand-left + color: "#ff0000" + right: + - state: inhand-right + color: "#ff0000" + - type: Clothing + sprite: Clothing/Hands/Gloves/Color/color.rsi + clothingVisuals: + gloves: + - state: equipped-HAND + color: "#ff0000" + - type: Fiber + fiberColor: fibers-red + +- type: entity + parent: ClothingHandsGlovesEnviroglovesBase + id: ClothingHandsGlovesEnviroglovesHoP + name: head of personnel's envirogloves + description: Covers up those scandalous, bony hands. Appears to be an attempt at making a replica of the captain's gloves. + components: + - type: Sprite + sprite: Clothing/Hands/Gloves/Envirogloves/hop.rsi + layers: + - state: icon + - type: Item + sprite: Clothing/Hands/Gloves/Envirogloves/hop.rsi + inhandVisuals: + left: + - state: inhand-left + right: + - state: inhand-right + - type: Clothing + sprite: Clothing/Hands/Gloves/Envirogloves/hop.rsi + clothingVisuals: + gloves: + - state: equipped-HAND + - type: Fiber + fiberColor: fibers-blue + +- type: entity + parent: ClothingHandsGlovesEnviroglovesBase + id: ClothingHandsGlovesEnviroglovesChiefEngineer + name: chief engineer's envirogloves + description: Covers up those scandalous boney hands. + components: + - type: Sprite + sprite: Clothing/Hands/Gloves/Color/color.rsi + layers: + - state: icon + color: "#45ff00" + - type: Item + sprite: Clothing/Hands/Gloves/Color/color.rsi + inhandVisuals: + left: + - state: inhand-left + color: "#45ff00" + right: + - state: inhand-right + color: "#45ff00" + - type: Clothing + sprite: Clothing/Hands/Gloves/Color/color.rsi + clothingVisuals: + gloves: + - state: equipped-HAND + color: "#45ff00" + - type: Fiber + fiberColor: fibers-green + +- type: entity + parent: ClothingHandsGlovesEnviroglovesBase + id: ClothingHandsGlovesEnviroglovesResearchDirector + name: research director's envirogloves + description: Covers up those scandalous boney hands. + components: + - type: Sprite + sprite: Clothing/Hands/Gloves/Color/color.rsi + layers: + - state: icon + color: "#64008a" + - type: Item + sprite: Clothing/Hands/Gloves/Color/color.rsi + inhandVisuals: + left: + - state: inhand-left + color: "#64008a" + right: + - state: inhand-right + color: "#64008a" + - type: Clothing + sprite: Clothing/Hands/Gloves/Color/color.rsi + clothingVisuals: + gloves: + - state: equipped-HAND + color: "#64008a" + - type: Fiber + fiberColor: fibers-purple + +- type: entity + parent: ClothingHandsGlovesEnviroglovesBase + id: ClothingHandsGlovesEnviroglovesPurple + name: purple envirogloves + description: Covers up those scandalous boney hands. + components: + - type: Sprite + sprite: Clothing/Hands/Gloves/Color/color.rsi + layers: + - state: icon + color: "#a349a4" + - type: Item + sprite: Clothing/Hands/Gloves/Color/color.rsi + inhandVisuals: + left: + - state: inhand-left + color: "#a349a4" + right: + - state: inhand-right + color: "#a349a4" + - type: Clothing + sprite: Clothing/Hands/Gloves/Color/color.rsi + clothingVisuals: + gloves: + - state: equipped-HAND + color: "#a349a4" + - type: Fiber + fiberColor: fibers-purple + +- type: entity + parent: ClothingHandsGlovesEnviroglovesBase + id: ClothingHandsGlovesEnviroglovesAdminAssistant + name: administrative assistant's envirogloves + description: Covers up those scandalous boney hands. + components: + - type: Sprite + sprite: Clothing/Hands/Gloves/Color/color.rsi + layers: + - state: icon + color: "#315266" + - type: Item + sprite: Clothing/Hands/Gloves/Color/color.rsi + inhandVisuals: + left: + - state: inhand-left + color: "#315266" + right: + - state: inhand-right + color: "#315266" + - type: Clothing + sprite: Clothing/Hands/Gloves/Color/color.rsi + clothingVisuals: + gloves: + - state: equipped-HAND + color: "#315266" + - type: Fiber + fiberColor: fibers-blue + +- type: entity + parent: ClothingHandsGlovesEnviroglovesBase + id: ClothingHandsGlovesEnviroglovesColorDarkGreen + name: dark green envirogloves + description: Covers up those scandalous boney hands. + components: + - type: Sprite + sprite: Clothing/Hands/Gloves/Color/color.rsi + layers: + - state: icon + color: "#79CC26" + - type: Item + sprite: Clothing/Hands/Gloves/Color/color.rsi + inhandVisuals: + left: + - state: inhand-left + color: "#79CC26" + right: + - state: inhand-right + color: "#79CC26" + - type: Clothing + sprite: Clothing/Hands/Gloves/Color/color.rsi + clothingVisuals: + gloves: + - state: equipped-HAND + color: "#79CC26" + - type: Fiber + fiberColor: fibers-green + +- type: entity + parent: ClothingHandsGlovesEnviroglovesBase + id: ClothingHandsGlovesEnviroglovesColorDarkGrey + name: dark grey envirogloves + description: Covers up those scandalous boney hands. + components: + - type: Sprite + sprite: Clothing/Hands/Gloves/Color/color.rsi + layers: + - state: icon + color: "#616161" + - type: Item + sprite: Clothing/Hands/Gloves/Color/color.rsi + inhandVisuals: + left: + - state: inhand-left + color: "#616161" + right: + - state: inhand-right + color: "#616161" + - type: Clothing + sprite: Clothing/Hands/Gloves/Color/color.rsi + clothingVisuals: + gloves: + - state: equipped-HAND + color: "#616161" + - type: Fiber + fiberColor: fibers-grey + +- type: entity + parent: ClothingHandsGlovesEnviroglovesBase + id: ClothingHandsGlovesEnviroglovesGladiator + name: gladiator envirogloves + description: Covers up those scandalous boney hands. + components: + - type: Sprite + sprite: Clothing/Hands/Gloves/Color/color.rsi + layers: + - state: icon + color: "#dab13b" + - type: Item + sprite: Clothing/Hands/Gloves/Color/color.rsi + inhandVisuals: + left: + - state: inhand-left + color: "#dab13b" + right: + - state: inhand-right + color: "#dab13b" + - type: Clothing + sprite: Clothing/Hands/Gloves/Color/color.rsi + clothingVisuals: + gloves: + - state: equipped-HAND + color: "#dab13b" + - type: Fiber + fiberColor: fibers-yellow + +- type: entity + parent: ClothingHandsGlovesEnviroglovesBase + id: ClothingHandsGlovesEnviroglovesReporter + name: reporter envirogloves + description: Covers up those scandalous boney hands. + components: + - type: Sprite + sprite: Clothing/Hands/Gloves/Color/color.rsi + layers: + - state: icon + color: "#79121b" + - type: Item + sprite: Clothing/Hands/Gloves/Color/color.rsi + inhandVisuals: + left: + - state: inhand-left + color: "#79121b" + right: + - state: inhand-right + color: "#79121b" + - type: Clothing + sprite: Clothing/Hands/Gloves/Color/color.rsi + clothingVisuals: + gloves: + - state: equipped-HAND + color: "#79121b" + - type: Fiber + fiberColor: fibers-red diff --git a/Resources/Prototypes/Entities/Clothing/Head/base_clothinghead.yml b/Resources/Prototypes/Entities/Clothing/Head/base_clothinghead.yml index 08a3eb568fe8..4d791e018e0d 100644 --- a/Resources/Prototypes/Entities/Clothing/Head/base_clothinghead.yml +++ b/Resources/Prototypes/Entities/Clothing/Head/base_clothinghead.yml @@ -126,6 +126,9 @@ lowPressureMultiplier: 1000 - type: TemperatureProtection coefficient: 0.2 + - type: IgniteFromGasImmunity + parts: + - Head - type: IngestionBlocker - type: Clothing #Copies ClothingHeadHardsuitBase behavior @@ -135,6 +138,7 @@ tags: - WhitelistChameleon - HelmetEVA + - PlasmamanSafe - type: IdentityBlocker - type: HideLayerClothing slots: @@ -165,6 +169,9 @@ coefficient: 0.1 - type: FireProtection reduction: 0.2 + - type: IgniteFromGasImmunity + parts: + - Head - type: Armor modifiers: coefficients: @@ -178,12 +185,174 @@ - type: Tag tags: - WhitelistChameleon + - PlasmamanSafe - type: IdentityBlocker - type: HideLayerClothing slots: - Hair - Snout +- type: entity + abstract: true + parent: ClothingHeadBase + id: ClothingHeadEnvirohelmBase + name: base envirosuit helmet + components: + - type: Sprite + layers: + - state: icon + - state: icon-flash + visible: false + shader: unshaded + map: [ "light" ] + - type: Item + size: Normal + heldPrefix: off + - type: Clothing + equipDelay: 0.4 + unequipDelay: 0.6 # Slightly higher delay to protect against accidental unequips + equippedPrefix: off + clothingVisuals: + head: + - state: equipped-HELMET + - type: IgniteFromGasImmunity + parts: + - Head + - type: Armor + modifiers: + coefficients: + Caustic: 0.90 + - type: EyeProtection + - type: BreathMask + - type: PressureProtection # Same as EVA helmet + highPressureMultiplier: 0.6 + lowPressureMultiplier: 1000 + - type: TemperatureProtection + coefficient: 0.2 + - type: IngestionBlocker + - type: Tag + tags: + - WhitelistChameleon + - Envirohelm + - PlasmamanSafe + - type: HideLayerClothing + slots: + - Hair + - Snout + clothingSlots: + - mask + - type: ToggleableLightVisuals + clothingVisuals: + head: + - state: on-equipped-HELMET + shader: unshaded + - type: PointLight + enabled: false + color: "#ffa1ff" + radius: 4 + energy: 3 + mask: /Textures/Effects/LightMasks/cone.png + autoRot: true + netsync: false + - type: Appearance + - type: HandheldLight + addPrefix: true + blinkingBehaviourId: blinking + radiatingBehaviourId: radiating + - type: LightBehaviour + behaviours: + - !type:FadeBehaviour + id: radiating + interpolate: Linear + maxDuration: 2.0 + startValue: 3.0 + endValue: 2.0 + isLooped: true + reverseWhenFinished: true + - !type:PulseBehaviour + id: blinking + interpolate: Nearest + maxDuration: 1.0 + minValue: 0.1 + maxValue: 2.0 + isLooped: true + - type: PowerCellSlot + cellSlotId: cell_slot + - type: ItemSlots + slots: + cell_slot: + name: power-cell-slot-component-slot-name-default + startingItem: PowerCellMedium + - type: ContainerContainer + containers: + cell_slot: !type:ContainerSlot {} + - type: GuideHelp # While the playerbase is getting introduced to Plasmamen, add their guidebook here + guides: [ Plasmaman ] + +# When making new custom envirohelms, inherit from this entity and +# replace the color fields on the layers +- type: entity + abstract: true + parent: ClothingHeadEnvirohelmBase + id: ClothingHeadEnvirohelmCustomBase + name: base custom envirosuit helmet + components: + - type: ToggleableLightVisuals + inhandVisuals: + left: + - state: on-inhand-left + shader: unshaded + right: + - state: on-inhand-right + shader: unshaded + clothingVisuals: + head: + - state: on-equipped-HELMET + shader: unshaded + - type: Sprite + sprite: Clothing/Head/Envirohelms/custom.rsi + layers: + - state: icon + color: "#FFFFFF" + - state: accent-icon + color: "#FF0000" + # - state: midaccent-icon + # color: "#0000FF" + - state: visor-icon + - state: icon-flash + visible: false + shader: unshaded + map: [ "light" ] + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#FFFFFF" + - state: accent-inhand-left + color: "#FF0000" + # - state: midaccent-inhand-left + # color: "#0000FF" + - state: visor-inhand-left + right: + - state: inhand-right + color: "#FFFFFF" + - state: accent-inhand-right + color: "#FF0000" + # - state: midaccent-inhand-right + # color: "#0000FF" + - state: visor-inhand-right + - type: Clothing + sprite: Clothing/Head/Envirohelms/custom.rsi + clothingVisuals: + head: + - state: equipped-HELMET + color: "#FFFFFF" + - state: accent-equipped-HELMET + color: "#FF0000" + # - state: midaccent-equipped-HELMET + # color: "#0000FF" + - state: visor-equipped-HELMET + - type: entity abstract: true parent: ClothingHeadHardsuitBase diff --git a/Resources/Prototypes/Entities/Clothing/Head/envirohelms.yml b/Resources/Prototypes/Entities/Clothing/Head/envirohelms.yml new file mode 100644 index 000000000000..e05101895082 --- /dev/null +++ b/Resources/Prototypes/Entities/Clothing/Head/envirohelms.yml @@ -0,0 +1,2192 @@ +- type: entity + parent: ClothingHeadEnvirohelmBase + id: ClothingHeadEnvirohelm + name: plasma envirosuit helmet + description: A special containment helmet that allows plasma-based lifeforms to exist safely in an oxygenated environment. + components: + - type: Sprite + sprite: Clothing/Head/Envirohelms/plain.rsi + - type: Item + inhandVisuals: + left: + - state: inhand-left + right: + - state: inhand-right + - type: Clothing + sprite: Clothing/Head/Envirohelms/plain.rsi + - type: ToggleableLightVisuals + inhandVisuals: + left: + - state: on-inhand-left + shader: unshaded + right: + - state: on-inhand-right + shader: unshaded + +- type: entity + parent: ClothingHeadEnvirohelm + id: ClothingHeadEnvirohelmEmpty + suffix: Empty + components: + - type: ItemSlots + slots: + cell_slot: + name: power-cell-slot-component-slot-name-default + +- type: entity + parent: ClothingHeadEnvirohelmBase + id: ClothingHeadEnvirohelmAtmos + name: atmospherics envirosuit helmet + description: A space-worthy helmet specially designed for atmos technician Plasmamen, the usual purple stripes being replaced by atmos' blue. + components: + - type: Sprite + sprite: Clothing/Head/Envirohelms/atmos.rsi + - type: Clothing + sprite: Clothing/Head/Envirohelms/atmos.rsi + +- type: entity + parent: ClothingHeadEnvirohelmBase + id: ClothingHeadEnvirohelmCargo + name: logistics envirosuit helmet + description: A Plasmaman envirohelmet designed for cargo technicians. + components: + - type: Sprite + sprite: Clothing/Head/Envirohelms/cargo.rsi + - type: Clothing + sprite: Clothing/Head/Envirohelms/cargo.rsi + +- type: entity + parent: ClothingHeadEnvirohelmBase + id: ClothingHeadEnvirohelmCaptain + name: captain's envirosuit helmet + description: A special containment helmet designed for the Captain. + components: + - type: Sprite + sprite: Clothing/Head/Envirohelms/captain.rsi + - type: Clothing + sprite: Clothing/Head/Envirohelms/captain.rsi + +- type: entity + parent: ClothingHeadEnvirohelmBase + id: ClothingHeadEnvirohelmChiefEngineer + name: chief engineer's envirosuit helmet + description: A special containment helmet designed for the Chief Engineer, the usual purple stripes being replaced by the chief's green. + components: + - type: Sprite + sprite: Clothing/Head/Envirohelms/ce.rsi + - type: Clothing + sprite: Clothing/Head/Envirohelms/ce.rsi + +- type: entity + parent: ClothingHeadEnvirohelmBase + id: ClothingHeadEnvirohelmChaplain + name: chaplain's envirosuit helmet + description: An envirohelm specially designed for only the most pious of Plasmamen. + components: + - type: Sprite + sprite: Clothing/Head/Envirohelms/chaplain.rsi + - type: Clothing + sprite: Clothing/Head/Envirohelms/chaplain.rsi + +- type: entity + parent: ClothingHeadEnvirohelmEnviroslacksColorOrange + id: ClothingHeadEnvirohelmDetective + name: detective's envirosuit helmet + description: A special containment helmet designed for detectives, protecting them from burning alive, alongside other undesirables. + +- type: entity + parent: ClothingHeadEnvirohelmBase + id: ClothingHeadEnvirohelmChemist + name: chemistry envirosuit helmet + description: A Plasmaman envirosuit designed for chemists, two orange stripes going down its face. + components: + - type: Sprite + sprite: Clothing/Head/Envirohelms/chemist.rsi + - type: Clothing + sprite: Clothing/Head/Envirohelms/chemist.rsi + +- type: entity + parent: ClothingHeadEnvirohelmBase + id: ClothingHeadEnvirohelmClown + name: clown envirosuit helmet + description: The make-up is painted on, it's a miracle it doesn't chip. HONK! + components: + - type: Sprite + sprite: Clothing/Head/Envirohelms/clown.rsi + - type: Clothing + sprite: Clothing/Head/Envirohelms/clown.rsi + - type: PointLight + color: "#a777ff" + +- type: entity + parent: ClothingHeadEnvirohelmBase + id: ClothingHeadEnvirohelmCMO + name: chief medical officer's envirosuit helmet + description: A special containment helmet designed for the Chief Medical Officer. The gold stripe differentiates them from other medical staff. + components: + - type: Sprite + sprite: Clothing/Head/Envirohelms/cmo.rsi + - type: Clothing + sprite: Clothing/Head/Envirohelms/cmo.rsi + +- type: entity + parent: ClothingHeadEnvirohelmBase + id: ClothingHeadEnvirohelmEngineering + name: engineering envirosuit helmet + description: A space-worthy helmet specially designed for engineer Plasmamen, the usual purple stripes being replaced by engineering's orange. + components: + - type: Sprite + sprite: Clothing/Head/Envirohelms/engineering.rsi + - type: Clothing + sprite: Clothing/Head/Envirohelms/engineering.rsi + +- type: entity + parent: ClothingHeadEnvirohelmBase + id: ClothingHeadEnvirohelmHoP + name: head of personnel's envirosuit helmet + description: A special containment helmet designed for the Head of Personnel. + components: + - type: Sprite + sprite: Clothing/Head/Envirohelms/hop.rsi + - type: Clothing + sprite: Clothing/Head/Envirohelms/hop.rsi + +- type: entity + parent: ClothingHeadEnvirohelmBase + id: ClothingHeadEnvirohelmHoS + name: head of security's envirosuit helmet + description: A special containment helmet designed for the Head of Security. The pair of gold stripes differentiates them from other members of security. + components: + - type: Sprite + sprite: Clothing/Head/Envirohelms/hos.rsi + - type: Clothing + sprite: Clothing/Head/Envirohelms/hos.rsi + +- type: entity + parent: ClothingHeadEnvirohelmBase + id: ClothingHeadEnvirohelmHydroponics + name: hydroponics envirosuit helmet + description: A green and blue envirohelmet designating its wearer as a botanist. + components: + - type: Sprite + sprite: Clothing/Head/Envirohelms/hydroponics.rsi + - type: Clothing + sprite: Clothing/Head/Envirohelms/hydroponics.rsi + +- type: entity + parent: ClothingHeadEnvirohelmBase + id: ClothingHeadEnvirohelmJanitor + name: janitor envirosuit helmet + description: A grey helmet bearing a pair of purple stripes, designating the wearer as a janitor. + components: + - type: Sprite + sprite: Clothing/Head/Envirohelms/janitor.rsi + - type: Clothing + sprite: Clothing/Head/Envirohelms/janitor.rsi + +- type: entity + parent: ClothingHeadEnvirohelmBase + id: ClothingHeadEnvirohelmAncientVoid + name: NTSRA envirosuit helmet + description: Made out of a modified NTSRA vacsuit, this helmet was Nanotrasen's first-designed envirohelmet for Plasmamen. + components: + - type: Sprite + sprite: Clothing/Head/Envirohelms/ancientvoid.rsi + - type: Clothing + sprite: Clothing/Head/Envirohelms/ancientvoid.rsi + clothingVisuals: + head: + - state: equipped-HELMET + - state: visor-equipped-HELMET + - type: ToggleableLightVisuals + clothingVisuals: + head: + - state: visor-equipped-HELMET + shader: unshaded + - type: PointLight + color: "#ffffff" + +- type: entity + parent: ClothingHeadEnvirohelmBase + id: ClothingHeadEnvirohelmMedicalDoctor + name: medical envirosuit helmet + description: An envirohelmet designed for Plasmaman Medical personnel, having two stripes down its length to denote as much. + components: + - type: Sprite + sprite: Clothing/Head/Envirohelms/medical.rsi + - type: Clothing + sprite: Clothing/Head/Envirohelms/medical.rsi + +- type: entity + parent: ClothingHeadEnvirohelmBase + id: ClothingHeadEnvirohelmGenitcs + name: genetics envirosuit helmet + description: A Plasmaman envirohelmet designed for geneticists. + components: + - type: Sprite + sprite: Clothing/Head/Envirohelms/genetics.rsi + - type: Clothing + sprite: Clothing/Head/Envirohelms/genetics.rsi + +- type: entity + parent: ClothingHeadEnvirohelmBase + id: ClothingHeadEnvirohelmMime + name: mime envirosuit helmet + description: The make-up is painted on, it's a miracle it doesn't chip. It's not very colourful. + components: + - type: Sprite + sprite: Clothing/Head/Envirohelms/mime.rsi + - type: Clothing + sprite: Clothing/Head/Envirohelms/mime.rsi + - type: PointLight + color: "#ffffff" + +- type: entity + parent: ClothingHeadEnvirohelmBase + id: ClothingHeadEnvirohelmParamedic + name: paramedic envirosuit helmet + description: An envirohelmet designed for Plasmaman paramedics, with darker blue stripes compared to the medical model. + components: + - type: Sprite + sprite: Clothing/Head/Envirohelms/paramedic.rsi + - type: Clothing + sprite: Clothing/Head/Envirohelms/paramedic.rsi + +- type: entity + parent: ClothingHeadEnvirohelmCustomBase + id: ClothingHeadEnvirohelmPrisoner + name: prisoner envirosuit helmet + description: A Plasmaman containment helmet for prisoners. + components: + - type: Sprite + layers: + - state: icon + color: "#ff8300" + - state: accent-icon + color: "#3c3c3c" + - state: visor-icon + - state: icon-flash + visible: false + shader: unshaded + map: [ "light" ] + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#ff8300" + - state: accent-inhand-left + color: "#3c3c3c" + - state: visor-inhand-left + right: + - state: inhand-right + color: "#ff8300" + - state: accent-inhand-right + color: "#3c3c3c" + - state: visor-inhand-right + - type: Clothing + clothingVisuals: + head: + - state: equipped-HELMET + color: "#ff8300" + - state: accent-equipped-HELMET + color: "#3c3c3c" + - state: visor-equipped-HELMET + +- type: entity + parent: ClothingHeadEnvirohelmBase + id: ClothingHeadEnvirohelmResearchDirector + name: mystagogue's envirosuit helmet + description: A special containment helmet designed for the Mystagogue. A light brown design is applied to differentiate them from other scientists. + components: + - type: Sprite + sprite: Clothing/Head/Envirohelms/rd.rsi + - type: Clothing + sprite: Clothing/Head/Envirohelms/rd.rsi + +- type: entity + parent: ClothingHeadEnvirohelmBase + id: ClothingHeadEnvirohelmRoboticist + name: roboticist envirosuit helmet + description: A Plasmaman envirohelmet designed for roboticists. + components: + - type: Sprite + sprite: Clothing/Head/Envirohelms/roboticist.rsi + - type: Clothing + sprite: Clothing/Head/Envirohelms/roboticist.rsi + +- type: entity + parent: ClothingHeadEnvirohelmBase + id: ClothingHeadEnvirohelmSalvage + name: salvage envirosuit helmet + description: A khaki helmet given to Plasmamen salvage technicians. + components: + - type: Sprite + sprite: Clothing/Head/Envirohelms/salvage.rsi + - type: Clothing + sprite: Clothing/Head/Envirohelms/salvage.rsi + - type: PointLight + color: "#c77eff" + +- type: entity + parent: ClothingHeadEnvirohelmBase + id: ClothingHeadEnvirohelmScientist + name: science envirosuit helmet + description: A Plasmaman envirohelmet designed for scientists. + components: + - type: Sprite + sprite: Clothing/Head/Envirohelms/scientist.rsi + - type: Clothing + sprite: Clothing/Head/Envirohelms/scientist.rsi + +- type: entity + parent: ClothingHeadEnvirohelmCustomBase + id: ClothingHeadEnvirohelmSec + name: security envirosuit helmet + description: A Plasmaman containment helmet designed for security officers, protecting them from burning alive, alongside other undesirables. + components: + - type: Sprite + layers: + - state: icon + color: "#8f3132" + - state: accent-icon + color: "#2e2e2e" + - state: visor-icon + - state: icon-flash + visible: false + shader: unshaded + map: [ "light" ] + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#8f3132" + - state: accent-inhand-left + color: "#2e2e2e" + - state: visor-inhand-left + right: + - state: inhand-right + color: "#8f3132" + - state: accent-inhand-right + color: "#2e2e2e" + - state: visor-inhand-right + - type: Clothing + clothingVisuals: + head: + - state: equipped-HELMET + color: "#8f3132" + - state: accent-equipped-HELMET + color: "#2e2e2e" + - state: visor-equipped-HELMET + +- type: entity + parent: ClothingHeadEnvirohelmCustomBase + id: ClothingHeadEnvirohelmSecBlue + name: blue security envirosuit helmet + description: A cool blue envirosuit helmet for Plasmaman Security personnel. + components: + - type: Sprite + layers: + - state: icon + color: "#b9c1d9" + - state: accent-icon + color: "#36476b" + - state: visor-icon + - state: icon-flash + visible: false + shader: unshaded + map: [ "light" ] + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#b9c1d9" + - state: accent-inhand-left + color: "#36476b" + - state: visor-inhand-left + right: + - state: inhand-right + color: "#b9c1d9" + - state: accent-inhand-right + color: "#36476b" + - state: visor-inhand-right + - type: Clothing + clothingVisuals: + head: + - state: equipped-HELMET + color: "#b9c1d9" + - state: accent-equipped-HELMET + color: "#36476b" + - state: visor-equipped-HELMET + +- type: entity + parent: ClothingHeadEnvirohelmCustomBase + id: ClothingHeadEnvirohelmSecGrey + name: grey security envirosuit helmet + description: A light grey envirosuit helmet with bright red highlights for Plasmamen Security personnel. + components: + - type: Sprite + layers: + - state: icon + color: "#7e7e7e" + - state: accent-icon + color: "#a61d1d" + - state: visor-icon + - state: icon-flash + visible: false + shader: unshaded + map: [ "light" ] + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#7e7e7e" + - state: accent-inhand-left + color: "#a61d1d" + - state: visor-inhand-left + right: + - state: inhand-right + color: "#7e7e7e" + - state: accent-inhand-right + color: "#a61d1d" + - state: visor-inhand-right + - type: Clothing + clothingVisuals: + head: + - state: equipped-HELMET + color: "#7e7e7e" + - state: accent-equipped-HELMET + color: "#a61d1d" + - state: visor-equipped-HELMET + +- type: entity + parent: ClothingHeadEnvirohelmBase + id: ClothingHeadEnvirohelmVirology + name: virology envirosuit helmet + description: The helmet worn by the safest people on the station, those who are completely immune to the monstrosities they create. + components: + - type: Sprite + sprite: Clothing/Head/Envirohelms/virology.rsi + - type: Clothing + sprite: Clothing/Head/Envirohelms/virology.rsi + +- type: entity + parent: ClothingHeadEnvirohelmBase + id: ClothingHeadEnvirohelmWarden + name: warden's envirosuit helmet + description: A Plasmaman containment helmet designed for the warden. A pair of white stripes being added to differeciate them from other members of security. + components: + - type: Sprite + sprite: Clothing/Head/Envirohelms/warden.rsi + - type: Clothing + sprite: Clothing/Head/Envirohelms/warden.rsi + +- type: entity + parent: ClothingHeadEnvirohelmBase + id: ClothingHeadEnvirohelmOperative + name: operative envirosuit helmet + description: Anyone wearing this is badass and deserves at least a cursory nod of respect. + components: + - type: Sprite + sprite: Clothing/Head/Envirohelms/tacticool.rsi + - type: Clothing + sprite: Clothing/Head/Envirohelms/tacticool.rsi + +- type: entity + parent: ClothingHeadEnvirohelmBase + id: ClothingHeadEnvirohelmTacticool + name: tacticool envirosuit helmet + description: There's no doubt about it, this helmet puts you above ALL of the other Plasmamen. + components: + - type: Sprite + sprite: Clothing/Head/Envirohelms/tacticool.rsi + - type: Clothing + sprite: Clothing/Head/Envirohelms/tacticool.rsi + +- type: entity + parent: ClothingHeadEnvirohelmBase + id: ClothingHeadEnvirohelmCentcomAgent + name: CentCom agent's envirosuit helmet + description: A special containment helmet designed for CentCom's legal team. You know, so any coffee spills don't kill the poor sod. + components: + - type: Sprite + sprite: Clothing/Head/Envirohelms/centcom_agent.rsi + - type: Clothing + sprite: Clothing/Head/Envirohelms/centcom_agent.rsi + +- type: entity + parent: ClothingHeadEnvirohelmBase + id: ClothingHeadEnvirohelmCentcomOfficial + name: CentCom official's envirosuit helmet + description: A special containment helmet designed for CentCom Staff. They sure do love their green. + components: + - type: Sprite + sprite: Clothing/Head/Envirohelms/centcom_official.rsi + - type: Clothing + sprite: Clothing/Head/Envirohelms/centcom_official.rsi + +- type: entity + parent: ClothingHeadEnvirohelmBase + id: ClothingHeadEnvirohelmCentcomOfficer + name: CentCom officer's envirosuit helmet + description: A special containment helmet designed for CentCom Officers. + components: + - type: Sprite + sprite: Clothing/Head/Envirohelms/centcom_officer.rsi + - type: Clothing + sprite: Clothing/Head/Envirohelms/centcom_officer.rsi + +- type: entity + parent: ClothingHeadEnvirohelmCustomBase + id: ClothingHeadEnvirohelmCourier + name: courier's envirosuit helmet + description: An envirosuit helmet for the courier. + components: + - type: Sprite + layers: + - state: icon + color: "#4a281f" + - state: accent-icon + color: "#c2911e" + - state: visor-icon + - state: icon-flash + visible: false + shader: unshaded + map: [ "light" ] + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#4a281f" + - state: accent-inhand-left + color: "#c2911e" + - state: visor-inhand-left + right: + - state: inhand-right + color: "#4a281f" + - state: accent-inhand-right + color: "#c2911e" + - state: visor-inhand-right + - type: Clothing + clothingVisuals: + head: + - state: equipped-HELMET + color: "#4a281f" + - state: accent-equipped-HELMET + color: "#c2911e" + - state: visor-equipped-HELMET + +- type: entity + parent: ClothingHeadEnvirohelmCustomBase + id: ClothingHeadEnvirohelmMailCarrier + name: mail carrier's envirosuit helmet + description: Smells like a good pension. + components: + - type: Sprite + layers: + - state: icon + color: "#394dc6" + - state: accent-icon + color: "#dcdcdc" + - state: midaccent-icon + color: "#d82927" + - state: visor-icon + - state: icon-flash + visible: false + shader: unshaded + map: [ "light" ] + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#394dc6" + - state: accent-inhand-left + color: "#dcdcdc" + - state: midaccent-inhand-left + color: "#d82927" + - state: visor-inhand-left + right: + - state: inhand-right + color: "#394dc6" + - state: accent-inhand-right + color: "#dcdcdc" + - state: midaccent-inhand-right + color: "#d82927" + - state: visor-inhand-right + - type: Clothing + clothingVisuals: + head: + - state: equipped-HELMET + color: "#394dc6" + - state: accent-equipped-HELMET + color: "#dcdcdc" + - state: midaccent-equipped-HELMET + color: "#d82927" + - state: visor-equipped-HELMET + - type: ClothingAddFaction + faction: Mailman + +- type: entity + parent: ClothingHeadEnvirohelmCustomBase + id: ClothingHeadEnvirohelmMusician + name: musician's envirosuit helmet + description: Experts are perplexed as to how Plasmamen can still play the trumpet with this helmet on. + components: + - type: Sprite + layers: + - state: icon + color: "#3c335b" + - state: accent-icon + color: "#f3f5f4" + - state: visor-icon + - state: icon-flash + visible: false + shader: unshaded + map: [ "light" ] + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#3c335b" + - state: accent-inhand-left + color: "#f3f5f4" + - state: visor-inhand-left + right: + - state: inhand-right + color: "#3c335b" + - state: accent-inhand-right + color: "#f3f5f4" + - state: visor-inhand-right + - type: Clothing + clothingVisuals: + head: + - state: equipped-HELMET + color: "#3c335b" + - state: accent-equipped-HELMET + color: "#f3f5f4" + - state: visor-equipped-HELMET + +- type: entity + parent: ClothingHeadEnvirohelmCustomBase + id: ClothingHeadEnvirohelmReporter + name: reporter envirosuit helmet + description: An envirosuit helmet for the reporter. + components: + - type: Sprite + layers: + - state: icon + color: "#112334" + - state: accent-icon + color: "#79121b" + - state: visor-icon + - state: icon-flash + visible: false + shader: unshaded + map: [ "light" ] + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#112334" + - state: accent-inhand-left + color: "#79121b" + - state: visor-inhand-left + right: + - state: inhand-right + color: "#112334" + - state: accent-inhand-right + color: "#79121b" + - state: visor-inhand-right + - type: Clothing + clothingVisuals: + head: + - state: equipped-HELMET + color: "#112334" + - state: accent-equipped-HELMET + color: "#79121b" + - state: visor-equipped-HELMET + +- type: entity + parent: ClothingHeadEnvirohelmCustomBase + id: ClothingHeadEnvirohelmGladiator + name: gladiator envirosuit helmet + description: Protects the head from toy spears and poisonous oxygen. + components: + - type: Sprite + layers: + - state: icon + color: "#dab13b" + - state: accent-icon + color: "#a349a4" + - state: visor-icon + - state: icon-flash + visible: false + shader: unshaded + map: [ "light" ] + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#dab13b" + - state: accent-inhand-left + color: "#a349a4" + - state: visor-inhand-left + right: + - state: inhand-right + color: "#dab13b" + - state: accent-inhand-right + color: "#a349a4" + - state: visor-inhand-right + - type: Clothing + clothingVisuals: + head: + - state: equipped-HELMET + color: "#dab13b" + - state: accent-equipped-HELMET + color: "#a349a4" + - state: visor-equipped-HELMET + +- type: entity + parent: ClothingHeadEnvirohelmCustomBase + id: ClothingHeadEnvirohelmMantis + name: mantis' envirosuit helmet + description: An envirosuit helmet for the forensic mantis with a fancy gold stripe. + components: + - type: Sprite + layers: + - state: icon + color: "#46566d" + - state: accent-icon + color: "#7d2322" + - state: midaccent-icon + color: "#d4af48" + - state: visor-icon + - state: icon-flash + visible: false + shader: unshaded + map: [ "light" ] + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#46566d" + - state: accent-inhand-left + color: "#7d2322" + - state: midaccent-inhand-left + color: "#d4af48" + - state: visor-inhand-left + right: + - state: inhand-right + color: "#46566d" + - state: accent-inhand-right + color: "#7d2322" + - state: midaccent-inhand-right + color: "#d4af48" + - state: visor-inhand-right + - type: Clothing + clothingVisuals: + head: + - state: equipped-HELMET + color: "#46566d" + - state: accent-equipped-HELMET + color: "#7d2322" + - state: midaccent-equipped-HELMET + color: "#d4af48" + - state: visor-equipped-HELMET + +- type: entity + parent: ClothingHeadEnvirohelmCustomBase + id: ClothingHeadEnvirohelmSafari + name: safari envirosuit helmet + description: Makes you a target for the locals. + components: + - type: Sprite + layers: + - state: icon + color: "#d3b986" + - state: accent-icon + color: "#a349a4" + - state: visor-icon + - state: icon-flash + visible: false + shader: unshaded + map: [ "light" ] + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#d3b986" + - state: accent-inhand-left + color: "#a349a4" + - state: visor-inhand-left + right: + - state: inhand-right + color: "#d3b986" + - state: accent-inhand-right + color: "#a349a4" + - state: visor-inhand-right + - type: Clothing + clothingVisuals: + head: + - state: equipped-HELMET + color: "#d3b986" + - state: accent-equipped-HELMET + color: "#a349a4" + - state: visor-equipped-HELMET + +- type: entity + parent: ClothingHeadEnvirohelmCustomBase + id: ClothingHeadEnvirohelmMartialGi + name: gi envirosuit helmet + description: A white envirosuit helmet with black stripes used for martial arts. + components: + - type: Sprite + layers: + - state: icon + color: "#ffffff" + - state: accent-icon + color: "#3b3b3b" + - state: visor-icon + - state: icon-flash + visible: false + shader: unshaded + map: [ "light" ] + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#ffffff" + - state: accent-inhand-left + color: "#3b3b3b" + - state: visor-inhand-left + right: + - state: inhand-right + color: "#ffffff" + - state: accent-inhand-right + color: "#3b3b3b" + - state: visor-inhand-right + - type: Clothing + clothingVisuals: + head: + - state: equipped-HELMET + color: "#ffffff" + - state: accent-equipped-HELMET + color: "#3b3b3b" + - state: visor-equipped-HELMET + +- type: entity + parent: ClothingHeadEnvirohelmCustomBase + id: ClothingHeadEnvirohelmQM + name: logistics officer's envirosuit helmet + description: A special containment helmet designed for the Logistics Officer. + components: + - type: Sprite + layers: + - state: icon + color: "#bb934b" + - state: accent-icon + color: "#ffc000" + - state: midaccent-icon + color: "#d08200" + - state: visor-icon + - state: icon-flash + visible: false + shader: unshaded + map: [ "light" ] + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#bb934b" + - state: accent-inhand-left + color: "#ffc000" + - state: midaccent-inhand-left + color: "#d08200" + - state: visor-inhand-left + right: + - state: inhand-right + color: "#bb934b" + - state: accent-inhand-right + color: "#ffc000" + - state: midaccent-inhand-right + color: "#d08200" + - state: visor-inhand-right + - type: Clothing + clothingVisuals: + head: + - state: equipped-HELMET + color: "#bb934b" + - state: accent-equipped-HELMET + color: "#ffc000" + - state: midaccent-equipped-HELMET + color: "#d08200" + - state: visor-equipped-HELMET + +- type: entity + parent: ClothingHeadEnvirohelmCustomBase + id: ClothingHeadEnvirohelmBoxing + name: boxing envirosuit helmet + description: A white envirosuit helmet with red stripes. + components: + - type: Sprite + layers: + - state: icon + color: "#eeeeee" + - state: accent-icon + color: "#a81818" + - state: visor-icon + - state: icon-flash + visible: false + shader: unshaded + map: [ "light" ] + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#eeeeee" + - state: accent-inhand-left + color: "#a81818" + - state: visor-inhand-left + right: + - state: inhand-right + color: "#eeeeee" + - state: accent-inhand-right + color: "#a81818" + - state: visor-inhand-right + - type: Clothing + clothingVisuals: + head: + - state: equipped-HELMET + color: "#eeeeee" + - state: accent-equipped-HELMET + color: "#a81818" + - state: visor-equipped-HELMET + +- type: entity + parent: ClothingHeadEnvirohelmCustomBase + id: ClothingHeadEnvirohelmAdminAssistant + name: administrative assistant's envirosuit helmet + description: A white envirosuit helmet with dark blue stripes. + components: + - type: Sprite + layers: + - state: icon + color: "#ffffff" + - state: accent-icon + color: "#315266" + - state: visor-icon + - state: icon-flash + visible: false + shader: unshaded + map: [ "light" ] + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#ffffff" + - state: accent-inhand-left + color: "#315266" + - state: visor-inhand-left + right: + - state: inhand-right + color: "#ffffff" + - state: accent-inhand-right + color: "#315266" + - state: visor-inhand-right + - type: Clothing + clothingVisuals: + head: + - state: equipped-HELMET + color: "#ffffff" + - state: accent-equipped-HELMET + color: "#315266" + - state: visor-equipped-HELMET + +- type: entity + parent: ClothingHeadEnvirohelmCustomBase + id: ClothingHeadEnvirohelmBlackPink + name: black pink envirosuit helmet + description: How you like that envirosuit helmet? + components: + - type: Sprite + layers: + - state: icon + color: "#292929" + - state: accent-icon + color: "#f4a1b7" + - state: visor-icon + - state: icon-flash + visible: false + shader: unshaded + map: [ "light" ] + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#292929" + - state: accent-inhand-left + color: "#f4a1b7" + - state: visor-inhand-left + right: + - state: inhand-right + color: "#292929" + - state: accent-inhand-right + color: "#f4a1b7" + - state: visor-inhand-right + - type: Clothing + clothingVisuals: + head: + - state: equipped-HELMET + color: "#292929" + - state: accent-equipped-HELMET + color: "#f4a1b7" + - state: visor-equipped-HELMET + +- type: entity + parent: ClothingHeadEnvirohelmCustomBase + id: ClothingHeadEnvirohelmBlackPinkAlt + name: black pink envirosuit helmet + suffix: Alternative + description: This envirosuit helmet makes you want to kill this love. + components: + - type: Sprite + layers: + - state: icon + color: "#f4a1b7" + - state: accent-icon + color: "#292929" + - state: visor-icon + - state: icon-flash + visible: false + shader: unshaded + map: [ "light" ] + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#f4a1b7" + - state: accent-inhand-left + color: "#292929" + - state: visor-inhand-left + right: + - state: inhand-right + color: "#f4a1b7" + - state: accent-inhand-right + color: "#292929" + - state: visor-inhand-right + - type: Clothing + clothingVisuals: + head: + - state: equipped-HELMET + color: "#f4a1b7" + - state: accent-equipped-HELMET + color: "#292929" + - state: visor-equipped-HELMET + +- type: entity + parent: ClothingHeadEnvirohelmCustomBase + id: ClothingHeadEnvirohelmBlueshield + name: blueshield's envirosuit helmet + description: A Plasmaman envirosuit helmet designed for the blueshield. + components: + - type: Sprite + layers: + - state: icon + color: "#535353" + - state: accent-icon + color: "#0044d4" + - state: visor-icon + - state: icon-flash + visible: false + shader: unshaded + map: [ "light" ] + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#535353" + - state: accent-inhand-left + color: "#0044d4" + - state: visor-inhand-left + right: + - state: inhand-right + color: "#535353" + - state: accent-inhand-right + color: "#0044d4" + - state: visor-inhand-right + - type: Clothing + clothingVisuals: + head: + - state: equipped-HELMET + color: "#535353" + - state: accent-equipped-HELMET + color: "#0044d4" + - state: visor-equipped-HELMET + +- type: entity + parent: ClothingHeadEnvirohelmCustomBase + id: ClothingHeadEnvirohelmTrans + name: trans envirosuit helmet + description: The preferred headgear of Transylvanian Plasmamen to prevent burning from oxygen. + components: + - type: Sprite + layers: + - state: icon + color: "#FFFFFF" + - state: accent-icon + color: "#ffb0c0" + - state: sideaccent-icon + color: "#5dd2ff" + - state: visor-icon + - state: icon-flash + visible: false + shader: unshaded + map: [ "light" ] + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#FFFFFF" + - state: accent-inhand-left + color: "#ffb0c0" + - state: sideaccent-inhand-left + color: "#5dd2ff" + - state: visor-inhand-left + right: + - state: inhand-right + color: "#FFFFFF" + - state: accent-inhand-right + color: "#ffb0c0" + - state: sideaccent-inhand-right + color: "#5dd2ff" + - state: visor-inhand-right + - type: Clothing + clothingVisuals: + head: + - state: equipped-HELMET + color: "#FFFFFF" + - state: accent-equipped-HELMET + color: "#ffb0c0" + - state: sideaccent-equipped-HELMET + color: "#5dd2ff" + - state: visor-equipped-HELMET + +- type: entity + parent: ClothingHeadEnvirohelmCustomBase + id: ClothingHeadEnvirohelmPrisonGuard + name: prison guard's envirosuit helmet + description: Hope a prisoner doesn't snatch this away from you! + components: + - type: Sprite + layers: + - state: icon + color: "#d76b00" + - state: accent-icon + color: "#363636" + - state: visor-icon + - state: icon-flash + visible: false + shader: unshaded + map: [ "light" ] + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#d76b00" + - state: accent-inhand-left + color: "#363636" + - state: visor-inhand-left + right: + - state: inhand-right + color: "#d76b00" + - state: accent-inhand-right + color: "#363636" + - state: visor-inhand-right + - type: Clothing + clothingVisuals: + head: + - state: equipped-HELMET + color: "#d76b00" + - state: accent-equipped-HELMET + color: "#363636" + - state: visor-equipped-HELMET + +- type: entity + parent: ClothingHeadEnvirohelmCustomBase + id: ClothingHeadEnvirohelmBrigmedic + name: corpsman envirosuit helmet + description: A helmet provided to Corpsmen Plasmamen. + components: + - type: Sprite + layers: + - state: icon + color: "#486782" + - state: accent-icon + color: "#2e2e2e" + - state: visor-icon + - state: icon-flash + visible: false + shader: unshaded + map: [ "light" ] + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#486782" + - state: accent-inhand-left + color: "#2e2e2e" + - state: visor-inhand-left + right: + - state: inhand-right + color: "#486782" + - state: accent-inhand-right + color: "#2e2e2e" + - state: visor-inhand-right + - type: Clothing + clothingVisuals: + head: + - state: equipped-HELMET + color: "#486782" + - state: accent-equipped-HELMET + color: "#2e2e2e" + - state: visor-equipped-HELMET + +- type: entity + parent: ClothingHeadEnvirohelmCustomBase + id: ClothingHeadEnvirohelmNanotrasenRepresentative + name: nanotrasen representative envirosuit helmet + description: A black envirosuit helmet worn by the NanoTrasen Representative, with black and gold accents. + components: + - type: Sprite + layers: + - state: icon + color: "#292929" + - state: accent-icon + color: "#ffce5b" + - state: midaccent-icon + color: "#266199" + - state: visor-icon + - state: icon-flash + visible: false + shader: unshaded + map: [ "light" ] + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#292929" + - state: accent-inhand-left + color: "#ffce5b" + - state: midaccent-inhand-left + color: "#266199" + - state: visor-inhand-left + right: + - state: inhand-right + color: "#292929" + - state: accent-inhand-right + color: "#ffce5b" + - state: midaccent-inhand-right + color: "#266199" + - state: visor-inhand-right + - type: Clothing + clothingVisuals: + head: + - state: equipped-HELMET + color: "#292929" + - state: accent-equipped-HELMET + color: "#ffce5b" + - state: midaccent-equipped-HELMET + color: "#266199" + - state: visor-equipped-HELMET + +- type: entity + parent: ClothingHeadEnvirohelmCustomBase + id: ClothingHeadEnvirohelmMagistrate + name: magistrate envirosuit helmet + description: A plain white envirosuit with yellow stripes. + components: + - type: Sprite + layers: + - state: icon + color: "#ebebeb" + - state: accent-icon + color: "#ffce5b" + - state: visor-icon + - state: icon-flash + visible: false + shader: unshaded + map: [ "light" ] + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#ebebeb" + - state: accent-inhand-left + color: "#ffce5b" + - state: visor-inhand-left + right: + - state: inhand-right + color: "#ebebeb" + - state: accent-inhand-right + color: "#ffce5b" + - state: visor-inhand-right + - type: Clothing + clothingVisuals: + head: + - state: equipped-HELMET + color: "#ebebeb" + - state: accent-equipped-HELMET + color: "#ffce5b" + - state: visor-equipped-HELMET + +# Color envirohelms +- type: entity + parent: ClothingHeadEnvirohelmBase + id: ClothingHeadEnvirohelmColorWhite + name: white envirosuit helmet + description: A generic white envirohelm. + components: + - type: Sprite + sprite: Clothing/Head/Envirohelms/white.rsi + - type: Clothing + sprite: Clothing/Head/Envirohelms/white.rsi + +- type: entity + parent: ClothingHeadEnvirohelmCustomBase + id: ClothingHeadEnvirohelmColorGrey + name: grey envirosuit helmet + description: A grey envirosuit helmet. + components: + - type: Sprite + layers: + - state: icon + color: "#b3b3b3" + - state: accent-icon + color: "#a349a4" + - state: visor-icon + - state: icon-flash + visible: false + shader: unshaded + map: [ "light" ] + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#b3b3b3" + - state: accent-inhand-left + color: "#a349a4" + - state: visor-inhand-left + right: + - state: inhand-right + color: "#b3b3b3" + - state: accent-inhand-right + color: "#a349a4" + - state: visor-inhand-right + - type: Clothing + clothingVisuals: + head: + - state: equipped-HELMET + color: "#b3b3b3" + - state: accent-equipped-HELMET + color: "#a349a4" + - state: visor-equipped-HELMET + +- type: entity + parent: ClothingHeadEnvirohelmCustomBase + id: ClothingHeadEnvirohelmColorBlack + name: black envirosuit helmet + description: A black envirosuit helmet. + components: + - type: Sprite + layers: + - state: icon + color: "#3f3f3f" + - state: accent-icon + color: "#a349a4" + - state: visor-icon + - state: icon-flash + visible: false + shader: unshaded + map: [ "light" ] + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#3f3f3f" + - state: accent-inhand-left + color: "#a349a4" + - state: visor-inhand-left + right: + - state: inhand-right + color: "#3f3f3f" + - state: accent-inhand-right + color: "#a349a4" + - state: visor-inhand-right + - type: Clothing + clothingVisuals: + head: + - state: equipped-HELMET + color: "#3f3f3f" + - state: accent-equipped-HELMET + color: "#a349a4" + - state: visor-equipped-HELMET + +- type: entity + parent: ClothingHeadEnvirohelmCustomBase + id: ClothingHeadEnvirohelmColorRed + name: red envirosuit helmet + description: A red envirosuit helmet. + components: + - type: Sprite + layers: + - state: icon + color: "#d1423f" + - state: accent-icon + color: "#a349a4" + - state: visor-icon + - state: icon-flash + visible: false + shader: unshaded + map: [ "light" ] + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#d1423f" + - state: accent-inhand-left + color: "#a349a4" + - state: visor-inhand-left + right: + - state: inhand-right + color: "#d1423f" + - state: accent-inhand-right + color: "#a349a4" + - state: visor-inhand-right + - type: Clothing + clothingVisuals: + head: + - state: equipped-HELMET + color: "#d1423f" + - state: accent-equipped-HELMET + color: "#a349a4" + - state: visor-equipped-HELMET + +- type: entity + parent: ClothingHeadEnvirohelmCustomBase + id: ClothingHeadEnvirohelmColorGreen + name: green envirosuit helmet + description: A green envirosuit helmet. + components: + - type: Sprite + layers: + - state: icon + color: "#9ed63a" + - state: accent-icon + color: "#a349a4" + - state: visor-icon + - state: icon-flash + visible: false + shader: unshaded + map: [ "light" ] + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#9ed63a" + - state: accent-inhand-left + color: "#a349a4" + - state: visor-inhand-left + right: + - state: inhand-right + color: "#9ed63a" + - state: accent-inhand-right + color: "#a349a4" + - state: visor-inhand-right + - type: Clothing + clothingVisuals: + head: + - state: equipped-HELMET + color: "#9ed63a" + - state: accent-equipped-HELMET + color: "#a349a4" + - state: visor-equipped-HELMET + +- type: entity + parent: ClothingHeadEnvirohelmCustomBase + id: ClothingHeadEnvirohelmColorDarkGreen + name: dark green envirosuit helmet + description: A dark green envirosuit helmet. + components: + - type: Sprite + layers: + - state: icon + color: "#79CC26" + - state: accent-icon + color: "#a349a4" + - state: visor-icon + - state: icon-flash + visible: false + shader: unshaded + map: [ "light" ] + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#79CC26" + - state: accent-inhand-left + color: "#a349a4" + - state: visor-inhand-left + right: + - state: inhand-right + color: "#79CC26" + - state: accent-inhand-right + color: "#a349a4" + - state: visor-inhand-right + - type: Clothing + clothingVisuals: + head: + - state: equipped-HELMET + color: "#79CC26" + - state: accent-equipped-HELMET + color: "#a349a4" + - state: visor-equipped-HELMET + +- type: entity + parent: ClothingHeadEnvirohelmCustomBase + id: ClothingHeadEnvirohelmColorBlue + name: blue envirosuit helmet + description: A blue envirosuit helmet. + components: + - type: Sprite + layers: + - state: icon + color: "#52aecc" + - state: accent-icon + color: "#a349a4" + - state: visor-icon + - state: icon-flash + visible: false + shader: unshaded + map: [ "light" ] + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#52aecc" + - state: accent-inhand-left + color: "#a349a4" + - state: visor-inhand-left + right: + - state: inhand-right + color: "#52aecc" + - state: accent-inhand-right + color: "#a349a4" + - state: visor-inhand-right + - type: Clothing + clothingVisuals: + head: + - state: equipped-HELMET + color: "#52aecc" + - state: accent-equipped-HELMET + color: "#a349a4" + - state: visor-equipped-HELMET + +- type: entity + parent: ClothingHeadEnvirohelmCustomBase + id: ClothingHeadEnvirohelmColorDarkBlue + name: dark blue envirosuit helmet + description: A dark blue envirosuit helmet. + components: + - type: Sprite + layers: + - state: icon + color: "#3285ba" + - state: accent-icon + color: "#a349a4" + - state: visor-icon + - state: icon-flash + visible: false + shader: unshaded + map: [ "light" ] + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#3285ba" + - state: accent-inhand-left + color: "#a349a4" + - state: visor-inhand-left + right: + - state: inhand-right + color: "#3285ba" + - state: accent-inhand-right + color: "#a349a4" + - state: visor-inhand-right + - type: Clothing + clothingVisuals: + head: + - state: equipped-HELMET + color: "#3285ba" + - state: accent-equipped-HELMET + color: "#a349a4" + - state: visor-equipped-HELMET + +- type: entity + parent: ClothingHeadEnvirohelmCustomBase + id: ClothingHeadEnvirohelmColorTeal + name: teal envirosuit helmet + description: A teal envirosuit helmet. + components: + - type: Sprite + layers: + - state: icon + color: "#77f3b7" + - state: accent-icon + color: "#a349a4" + - state: visor-icon + - state: icon-flash + visible: false + shader: unshaded + map: [ "light" ] + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#77f3b7" + - state: accent-inhand-left + color: "#a349a4" + - state: visor-inhand-left + right: + - state: inhand-right + color: "#77f3b7" + - state: accent-inhand-right + color: "#a349a4" + - state: visor-inhand-right + - type: Clothing + clothingVisuals: + head: + - state: equipped-HELMET + color: "#77f3b7" + - state: accent-equipped-HELMET + color: "#a349a4" + - state: visor-equipped-HELMET + +- type: entity + parent: ClothingHeadEnvirohelmCustomBase + id: ClothingHeadEnvirohelmColorMaroon + name: maroon envirosuit helmet + description: A maroon envirosuit helmet. + components: + - type: Sprite + layers: + - state: icon + color: "#cc295f" + - state: accent-icon + color: "#a349a4" + - state: visor-icon + - state: icon-flash + visible: false + shader: unshaded + map: [ "light" ] + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#cc295f" + - state: accent-inhand-left + color: "#a349a4" + - state: visor-inhand-left + right: + - state: inhand-right + color: "#cc295f" + - state: accent-inhand-right + color: "#a349a4" + - state: visor-inhand-right + - type: Clothing + clothingVisuals: + head: + - state: equipped-HELMET + color: "#cc295f" + - state: accent-equipped-HELMET + color: "#a349a4" + - state: visor-equipped-HELMET + +- type: entity + parent: ClothingHeadEnvirohelmCustomBase + id: ClothingHeadEnvirohelmColorPink + name: pink envirosuit helmet + description: A pink envirosuit helmet. So fetch! + components: + - type: Sprite + layers: + - state: icon + color: "#ff8cff" + - state: accent-icon + color: "#8b3e8c" + - state: visor-icon + - state: icon-flash + visible: false + shader: unshaded + map: [ "light" ] + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#ff8cff" + - state: accent-inhand-left + color: "#8b3e8c" + - state: visor-inhand-left + right: + - state: inhand-right + color: "#ff8cff" + - state: accent-inhand-right + color: "#8b3e8c" + - state: visor-inhand-right + - type: Clothing + clothingVisuals: + head: + - state: equipped-HELMET + color: "#ff8cff" + - state: accent-equipped-HELMET + color: "#8b3e8c" + - state: visor-equipped-HELMET + +- type: entity + parent: ClothingHeadEnvirohelmCustomBase + id: ClothingHeadEnvirohelmColorYellow + name: yellow envirosuit helmet + description: A yellow envirosuit helmet. + components: + - type: Sprite + layers: + - state: icon + color: "#ffe14d" + - state: accent-icon + color: "#a349a4" + - state: visor-icon + - state: icon-flash + visible: false + shader: unshaded + map: [ "light" ] + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#ffe14d" + - state: accent-inhand-left + color: "#a349a4" + - state: visor-inhand-left + right: + - state: inhand-right + color: "#ffe14d" + - state: accent-inhand-right + color: "#a349a4" + - state: visor-inhand-right + - type: Clothing + clothingVisuals: + head: + - state: equipped-HELMET + color: "#ffe14d" + - state: accent-equipped-HELMET + color: "#a349a4" + - state: visor-equipped-HELMET + +- type: entity + parent: ClothingHeadEnvirohelmCustomBase + id: ClothingHeadEnvirohelmColorPurple + name: purple envirosuit helmet + description: A purple envirosuit helmet. + components: + - type: Sprite + layers: + - state: icon + color: "#9f70cc" + - state: accent-icon + color: "#843b85" + - state: visor-icon + - state: icon-flash + visible: false + shader: unshaded + map: [ "light" ] + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#9f70cc" + - state: accent-inhand-left + color: "#843b85" + - state: visor-inhand-left + right: + - state: inhand-right + color: "#9f70cc" + - state: accent-inhand-right + color: "#843b85" + - state: visor-inhand-right + - type: Clothing + clothingVisuals: + head: + - state: equipped-HELMET + color: "#9f70cc" + - state: accent-equipped-HELMET + color: "#843b85" + - state: visor-equipped-HELMET + +- type: entity + parent: ClothingHeadEnvirohelmCustomBase + id: ClothingHeadEnvirohelmColorOrange + name: orange envirosuit helmet + description: An orange envirosuit helmet. + components: + - type: Sprite + layers: + - state: icon + color: "#ff8c19" + - state: accent-icon + color: "#a349a4" + - state: visor-icon + - state: icon-flash + visible: false + shader: unshaded + map: [ "light" ] + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#ff8c19" + - state: accent-inhand-left + color: "#a349a4" + - state: visor-inhand-left + right: + - state: inhand-right + color: "#ff8c19" + - state: accent-inhand-right + color: "#a349a4" + - state: visor-inhand-right + - type: Clothing + clothingVisuals: + head: + - state: equipped-HELMET + color: "#ff8c19" + - state: accent-equipped-HELMET + color: "#a349a4" + - state: visor-equipped-HELMET + +- type: entity + parent: ClothingHeadEnvirohelmCustomBase + id: ClothingHeadEnvirohelmColorLightBrown + name: light brown envirosuit helmet + description: A light brown envirosuit helmet. + components: + - type: Sprite + layers: + - state: icon + color: "#a17229" + - state: accent-icon + color: "#a349a4" + - state: visor-icon + - state: icon-flash + visible: false + shader: unshaded + map: [ "light" ] + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#a349a4" + - state: accent-inhand-left + color: "#a349a4" + - state: visor-inhand-left + right: + - state: inhand-right + color: "#a17229" + - state: accent-inhand-right + color: "#a349a4" + - state: visor-inhand-right + - type: Clothing + clothingVisuals: + head: + - state: equipped-HELMET + color: "#a17229" + - state: accent-equipped-HELMET + color: "#a349a4" + - state: visor-equipped-HELMET + +- type: entity + parent: ClothingHeadEnvirohelmCustomBase + id: ClothingHeadEnvirohelmColorBrown + name: brown envirosuit helmet + description: A brown envirosuit helmet. + components: + - type: Sprite + layers: + - state: icon + color: "#543e1b" + - state: accent-icon + color: "#a349a4" + - state: visor-icon + - state: icon-flash + visible: false + shader: unshaded + map: [ "light" ] + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#543e1b" + - state: accent-inhand-left + color: "#a349a4" + - state: visor-inhand-left + right: + - state: inhand-right + color: "#543e1b" + - state: accent-inhand-right + color: "#a349a4" + - state: visor-inhand-right + - type: Clothing + clothingVisuals: + head: + - state: equipped-HELMET + color: "#543e1b" + - state: accent-equipped-HELMET + color: "#a349a4" + - state: visor-equipped-HELMET + +- type: entity + parent: ClothingHeadEnvirohelmCustomBase + id: ClothingHeadEnvirohelmEnviroslacksColorRed + name: red enviroslacks helmet + description: The pet project of a particularly posh Plasmaman, this envirohelm comes with red accents. Fancy! + components: + - type: Sprite + layers: + - state: icon + color: "#ffffff" + - state: accent-icon + color: "#99211f" + - state: visor-icon + - state: icon-flash + visible: false + shader: unshaded + map: [ "light" ] + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#ffffff" + - state: accent-inhand-left + color: "#99211f" + - state: visor-inhand-left + right: + - state: inhand-right + color: "#ffffff" + - state: accent-inhand-right + color: "#99211f" + - state: visor-inhand-right + - type: Clothing + clothingVisuals: + head: + - state: equipped-HELMET + color: "#ffffff" + - state: accent-equipped-HELMET + color: "#99211f" + - state: visor-equipped-HELMET + +- type: entity + parent: ClothingHeadEnvirohelmCustomBase + id: ClothingHeadEnvirohelmEnviroslacksColorOrange + name: orange enviroslacks helmet + description: The pet project of a particularly posh Plasmaman, this envirohelm comes with orange accents. Zesty! + components: + - type: Sprite + layers: + - state: icon + color: "#ffffff" + - state: accent-icon + color: "#c2680f" + - state: visor-icon + - state: icon-flash + visible: false + shader: unshaded + map: [ "light" ] + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#ffffff" + - state: accent-inhand-left + color: "#c2680f" + - state: visor-inhand-left + right: + - state: inhand-right + color: "#ffffff" + - state: accent-inhand-right + color: "#c2680f" + - state: visor-inhand-right + - type: Clothing + clothingVisuals: + head: + - state: equipped-HELMET + color: "#ffffff" + - state: accent-equipped-HELMET + color: "#c2680f" + - state: visor-equipped-HELMET + +- type: entity + parent: ClothingHeadEnvirohelmCustomBase + id: ClothingHeadEnvirohelmEnviroslacksColorGreen + name: green enviroslacks helmet + description: The pet project of a particularly posh Plasmaman, this envirohelm comes with green accents. Leafy! + components: + - type: Sprite + layers: + - state: icon + color: "#ffffff" + - state: accent-icon + color: "#5b991f" + - state: visor-icon + - state: icon-flash + visible: false + shader: unshaded + map: [ "light" ] + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#ffffff" + - state: accent-inhand-left + color: "#5b991f" + - state: visor-inhand-left + right: + - state: inhand-right + color: "#ffffff" + - state: accent-inhand-right + color: "#5b991f" + - state: visor-inhand-right + - type: Clothing + clothingVisuals: + head: + - state: equipped-HELMET + color: "#ffffff" + - state: accent-equipped-HELMET + color: "#5b991f" + - state: visor-equipped-HELMET + +- type: entity + parent: ClothingHeadEnvirohelmCustomBase + id: ClothingHeadEnvirohelmEnviroslacksColorBlue + name: blue enviroslacks helmet + description: The pet project of a particularly posh Plasmaman, this envirohelm comes with blue accents. Cool! + components: + - type: Sprite + layers: + - state: icon + color: "#ffffff" + - state: accent-icon + color: "#2b5c99" + - state: visor-icon + - state: icon-flash + visible: false + shader: unshaded + map: [ "light" ] + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#ffffff" + - state: accent-inhand-left + color: "#2b5c99" + - state: visor-inhand-left + right: + - state: inhand-right + color: "#ffffff" + - state: accent-inhand-right + color: "#2b5c99" + - state: visor-inhand-right + - type: Clothing + clothingVisuals: + head: + - state: equipped-HELMET + color: "#ffffff" + - state: accent-equipped-HELMET + color: "#2b5c99" + - state: visor-equipped-HELMET + +- type: entity + parent: ClothingHeadEnvirohelmCustomBase + id: ClothingHeadEnvirohelmEnviroslacksMNK + name: MNK enviroslacks helmet + description: A sleek envirohelm brought to you by MNK. Classic! + components: + - type: Sprite + layers: + - state: icon + color: "#ffffff" + - state: accent-icon + color: "#363636" + - state: visor-icon + - state: icon-flash + visible: false + shader: unshaded + map: [ "light" ] + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#ffffff" + - state: accent-inhand-left + color: "#363636" + - state: visor-inhand-left + right: + - state: inhand-right + color: "#ffffff" + - state: accent-inhand-right + color: "#363636" + - state: visor-inhand-right + - type: Clothing + clothingVisuals: + head: + - state: equipped-HELMET + color: "#ffffff" + - state: accent-equipped-HELMET + color: "#363636" + - state: visor-equipped-HELMET + +- type: entity + parent: ClothingHeadEnvirohelmCustomBase + id: ClothingHeadEnvirohelmEnviroslacksMNKAlt + name: monochrome enviroslacks helmet + description: A sleek envirohelm brought to you by MNK. Noir! + suffix: Alternative + components: + - type: Sprite + layers: + - state: icon + color: "#3b3b3b" + - state: accent-icon + color: "#d6d6d6" + - state: visor-icon + - state: icon-flash + visible: false + shader: unshaded + map: [ "light" ] + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#3b3b3b" + - state: accent-inhand-left + color: "#d6d6d6" + - state: visor-inhand-left + right: + - state: inhand-right + color: "#3b3b3b" + - state: accent-inhand-right + color: "#d6d6d6" + - state: visor-inhand-right + - type: Clothing + clothingVisuals: + head: + - state: equipped-HELMET + color: "#3b3b3b" + - state: accent-equipped-HELMET + color: "#d6d6d6" + - state: visor-equipped-HELMET diff --git a/Resources/Prototypes/Entities/Clothing/OuterClothing/base_clothingouter.yml b/Resources/Prototypes/Entities/Clothing/OuterClothing/base_clothingouter.yml index 1b350a97674e..74561ef19755 100644 --- a/Resources/Prototypes/Entities/Clothing/OuterClothing/base_clothingouter.yml +++ b/Resources/Prototypes/Entities/Clothing/OuterClothing/base_clothingouter.yml @@ -137,6 +137,18 @@ coefficient: 0.01 - type: FireProtection reduction: 0.75 # almost perfectly sealed, atmos firesuit is better + - type: IgniteFromGasImmunity + parts: + - Torso + - Groin + - LeftArm + - LeftHand + - RightArm + - RightHand + - LeftLeg + - LeftFoot + - RightLeg + - RightFoot - type: ClothingSpeedModifier walkModifier: 0.4 sprintModifier: 0.6 @@ -164,6 +176,7 @@ - HidesHarpyWings #DeltaV: Used by harpies to help render their hardsuit sprites - AllowLamiaHardsuit - FullBodyOuter + - PlasmamanSafe - type: Clothing equipDelay: 2.5 # Hardsuits are heavy and take a while to put on/off. unequipDelay: 2.5 @@ -204,6 +217,18 @@ lowPressureMultiplier: 1000 - type: TemperatureProtection coefficient: 0.01 # Not complete protection from fire + - type: IgniteFromGasImmunity + parts: + - Torso + - Groin + - LeftArm + - LeftHand + - RightArm + - RightHand + - LeftLeg + - LeftFoot + - RightLeg + - RightFoot - type: ClothingSpeedModifier walkModifier: 0.8 sprintModifier: 0.8 @@ -214,6 +239,7 @@ tags: - AllowLamiaHardsuit #DeltaV: Used by Lamia to render snek hardsuits - HidesHarpyWings #DeltaV: Used by harpies to help render their hardsuit sprites + - PlasmamanSafe - type: Clothing equipDelay: 1.25 # Softsuits are easier to put on and off unequipDelay: 1 diff --git a/Resources/Prototypes/Entities/Clothing/OuterClothing/hardsuits.yml b/Resources/Prototypes/Entities/Clothing/OuterClothing/hardsuits.yml index a9bb8f1dc772..4696e6d8e308 100644 --- a/Resources/Prototypes/Entities/Clothing/OuterClothing/hardsuits.yml +++ b/Resources/Prototypes/Entities/Clothing/OuterClothing/hardsuits.yml @@ -44,6 +44,8 @@ lowPressureMultiplier: 1000 - type: TemperatureProtection coefficient: 0.001 + - type: FireProtection + reduction: 1 - type: ExplosionResistance damageCoefficient: 0.5 - type: Armor @@ -98,6 +100,10 @@ coefficient: 0.75 # 25% - type: GuideHelp guides: [ HephaestusIndustries ] + - type: TemperatureProtection + coefficient: 0.001 + - type: FireProtection + reduction: 1 #Spationaut Hardsuit - type: entity @@ -225,6 +231,8 @@ damageCoefficient: 0.2 - type: TemperatureProtection coefficient: 0.001 + - type: FireProtection + reduction: 1 - type: ToggleableClothing clothingPrototype: ClothingHeadHelmetHardsuitMaxim - type: GuideHelp @@ -397,6 +405,10 @@ coefficient: 0.65 # 35% - type: GuideHelp guides: [ HephaestusIndustries ] + - type: TemperatureProtection + coefficient: 0.001 + - type: FireProtection + reduction: 1 #Chief Medical Officer's Hardsuit - type: entity @@ -622,7 +634,7 @@ - type: ExplosionResistance damageCoefficient: 0.2 - type: FireProtection - reduction: 0.8 # perfect protection like atmos firesuit for pyro tf2 ops + reduction: 1 # perfect protection like atmos firesuit for pyro tf2 ops - type: Armor modifiers: coefficients: @@ -890,6 +902,10 @@ clothingPrototype: ClothingHeadHelmetHardsuitERTEngineer - type: StaminaDamageResistance coefficient: 0.5 # 50% + - type: TemperatureProtection + coefficient: 0.001 + - type: FireProtection + reduction: 1 #ERT Medic Hardsuit - type: entity diff --git a/Resources/Prototypes/Entities/Clothing/Uniforms/base_clothinguniforms.yml b/Resources/Prototypes/Entities/Clothing/Uniforms/base_clothinguniforms.yml index cea803d104f0..b10a1c95e670 100644 --- a/Resources/Prototypes/Entities/Clothing/Uniforms/base_clothinguniforms.yml +++ b/Resources/Prototypes/Entities/Clothing/Uniforms/base_clothinguniforms.yml @@ -153,3 +153,108 @@ - state: icon_flipped map: ["foldedLayer"] visible: true + +- type: entity + abstract: true + parent: UnsensoredClothingUniformBase + id: UnsensoredClothingUniformEnvirosuitBase + components: + - type: IgniteFromGasImmunity + parts: + - Torso + - Groin + - LeftArm + - LeftHand + - RightArm + - RightHand + - LeftLeg + - LeftFoot + - RightLeg + - RightFoot + - type: Clothing + equipDelay: 0.4 + unequipDelay: 0.6 # Slightly higher delay to protect against accidental unequips + femaleMask: NoMask + - type: SelfExtinguisher + cooldown: 100 + requiresIgniteFromGasImmune: true + sound: + path: /Audio/Effects/extinguish.ogg + - type: LimitedCharges + maxCharges: 4 + charges: 4 + - type: Armor + modifiers: + coefficients: + Caustic: 0.85 + - type: Tag + tags: + - WhitelistChameleon + - PlasmamanSafe + - type: ClothingRequiredStepTriggerImmune + slots: WITHOUT_POCKET + - type: GuideHelp # While the playerbase is getting introduced to Plasmamen, add their guidebook here + guides: [ Plasmaman ] + +- type: entity + abstract: true + parent: UnsensoredClothingUniformEnvirosuitBase + id: ClothingUniformEnvirosuitBase + components: + - type: SuitSensor + - type: DeviceNetwork + deviceNetId: Wireless + transmitFrequencyId: SuitSensor + - type: WirelessNetworkConnection + range: 1200 + - type: StationLimitedNetwork + +- type: entity + abstract: true + parent: UnsensoredClothingUniformEnvirosuitBase + id: UnsensoredClothingUniformEnvirosuitCustomBase + components: + - type: Sprite + sprite: Clothing/Uniforms/Envirosuits/custom.rsi + layers: + - state: icon + color: "#FFFFFF" + - state: accent-icon + color: "#FF0000" + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#FFFFFF" + - state: accent-inhand-left + color: "#FF0000" + right: + - state: inhand-right + color: "#FFFFFF" + - state: accent-inhand-right + color: "#FF0000" + - type: Clothing + sprite: Clothing/Uniforms/Envirosuits/custom.rsi + clothingVisuals: + jumpsuit: + - state: equipped-INNERCLOTHING + color: "#FFFFFF" + - state: accent-equipped-INNERCLOTHING + color: "#FF0000" + - state: loweraccent-equipped-INNERCLOTHING + color: "#FF0000" + - state: soles-equipped-INNERCLOTHING + color: "#bababa" # Recommended default soles color + +- type: entity + abstract: true + parent: UnsensoredClothingUniformEnvirosuitCustomBase + id: ClothingUniformEnvirosuitCustomBase + components: + - type: SuitSensor + - type: DeviceNetwork + deviceNetId: Wireless + transmitFrequencyId: SuitSensor + - type: WirelessNetworkConnection + range: 1200 + - type: StationLimitedNetwork diff --git a/Resources/Prototypes/Entities/Clothing/Uniforms/envirosuits.yml b/Resources/Prototypes/Entities/Clothing/Uniforms/envirosuits.yml new file mode 100644 index 000000000000..04fae7ee00ad --- /dev/null +++ b/Resources/Prototypes/Entities/Clothing/Uniforms/envirosuits.yml @@ -0,0 +1,3091 @@ +- type: entity + parent: ClothingUniformEnvirosuitBase + id: ClothingUniformEnvirosuit + name: plasma envirosuit + description: A special containment suit that allows plasma-based lifeforms to exist safely in an oxygenated environment. + components: + - type: Sprite + sprite: Clothing/Uniforms/Envirosuits/plain.rsi + - type: Clothing + sprite: Clothing/Uniforms/Envirosuits/plain.rsi + +- type: entity + parent: ClothingUniformEnvirosuitBase + id: ClothingUniformEnvirosuitAtmos + name: atmospherics envirosuit + description: An air-tight suit designed to be used by Plasmamen employed as atmos technicians. + components: + - type: Sprite + sprite: Clothing/Uniforms/Envirosuits/atmos.rsi + - type: Clothing + sprite: Clothing/Uniforms/Envirosuits/atmos.rsi + +- type: entity + parent: ClothingUniformEnvirosuitBase + id: ClothingUniformEnvirosuitCargo + name: cargo tech envirosuit + description: An envirosuit used by Plasmamen cargo technicians. + components: + - type: Sprite + sprite: Clothing/Uniforms/Envirosuits/cargo.rsi + - type: Clothing + sprite: Clothing/Uniforms/Envirosuits/cargo.rsi + +- type: entity + parent: ClothingUniformEnvirosuitBase + id: ClothingUniformEnvirosuitCaptain + name: captain's envirosuit + description: It's a blue envirosuit with some gold markings denoting the rank of "Captain". + components: + - type: Sprite + sprite: Clothing/Uniforms/Envirosuits/captain.rsi + - type: Clothing + sprite: Clothing/Uniforms/Envirosuits/captain.rsi + +- type: entity + parent: ClothingUniformEnvirosuitBase + id: ClothingUniformEnvirosuitChiefEngineer + name: chief engineer's envirosuit + description: An air-tight suit designed to be used by Plasmamen insane enough to achieve the rank of "Chief Engineer". + components: + - type: Sprite + sprite: Clothing/Uniforms/Envirosuits/ce.rsi + - type: Clothing + sprite: Clothing/Uniforms/Envirosuits/ce.rsi + +- type: entity + parent: ClothingUniformEnvirosuitBase + id: ClothingUniformEnvirosuitChaplain + name: chaplain's envirosuit + description: An envirosuit specially designed for only the most pious of Plasmamen. + components: + - type: Sprite + sprite: Clothing/Uniforms/Envirosuits/chaplain.rsi + - type: Clothing + sprite: Clothing/Uniforms/Envirosuits/chaplain.rsi + +- type: entity + parent: ClothingUniformEnvirosuitBase + id: ClothingUniformEnvirosuitChef + name: chef's envirosuit + description: A white Plasmaman envirosuit designed for cullinary practices. One might question why a member of a species that doesn't need to eat would become a chef. + components: + - type: Sprite + sprite: Clothing/Uniforms/Envirosuits/chef.rsi + - type: Clothing + sprite: Clothing/Uniforms/Envirosuits/chef.rsi + +- type: entity + parent: ClothingUniformEnvirosuitBase + id: ClothingUniformEnvirosuitChemist + name: chemistry envirosuit + description: A Plasmaman envirosuit designed for chemists. + components: + - type: Sprite + sprite: Clothing/Uniforms/Envirosuits/chemist.rsi + - type: Clothing + sprite: Clothing/Uniforms/Envirosuits/chemist.rsi + +- type: entity + parent: ClothingUniformEnvirosuitBase + id: ClothingUniformEnvirosuitClown + name: clown envirosuit + description: HONK! + components: + - type: Sprite + sprite: Clothing/Uniforms/Envirosuits/clown.rsi + - type: Clothing + sprite: Clothing/Uniforms/Envirosuits/clown.rsi + - type: Tag + tags: + - ClownSuit + +- type: entity + parent: ClothingUniformEnvirosuitBase + id: ClothingUniformEnvirosuitCMO + name: chief medical officer's envirosuit + description: It's an envirosuit worn by those with the experience to be "Chief Medical Officer". + components: + - type: Sprite + sprite: Clothing/Uniforms/Envirosuits/cmo.rsi + - type: Clothing + sprite: Clothing/Uniforms/Envirosuits/cmo.rsi + +- type: entity + parent: ClothingUniformEnvirosuitBase + id: ClothingUniformEnvirosuitEngineering + name: engineering envirosuit + description: An air-tight suit designed to be used by Plasmamen employed as engineers, the usual purple stripes being replaced by engineering's orange. + components: + - type: Sprite + sprite: Clothing/Uniforms/Envirosuits/engineering.rsi + - type: Clothing + sprite: Clothing/Uniforms/Envirosuits/engineering.rsi + +- type: entity + parent: ClothingUniformEnvirosuitEnviroslacksColorOrange + id: ClothingUniformEnvirosuitDetective + name: detective envirosuit + description: The pet project of a particularly posh Plasmaman, this custom suit was modified by Nanotrasen for its detectives. + +- type: entity + parent: ClothingUniformEnvirosuitBase + id: ClothingUniformEnvirosuitHoP + name: head of personnel's envirosuit + description: It's an envirosuit worn by someone who works in the position of "Head of Personnel". + components: + - type: Sprite + sprite: Clothing/Uniforms/Envirosuits/hop.rsi + - type: Clothing + sprite: Clothing/Uniforms/Envirosuits/hop.rsi + +- type: entity + parent: ClothingUniformEnvirosuitBase + id: ClothingUniformEnvirosuitHoS + name: head of security's envirosuit + description: A Plasmaman containment suit decorated for those few with the dedication to achieve the position of Head of Security. + components: + - type: Sprite + sprite: Clothing/Uniforms/Envirosuits/hos.rsi + - type: Clothing + sprite: Clothing/Uniforms/Envirosuits/hos.rsi + +- type: entity + parent: ClothingUniformEnvirosuitBase + id: ClothingUniformEnvirosuitHydroponics + name: hydroponics envirosuit + description: A green and blue envirosuit designed to protect Plasmamen from minor plant-related injuries. + components: + - type: Sprite + sprite: Clothing/Uniforms/Envirosuits/hydroponics.rsi + - type: Clothing + sprite: Clothing/Uniforms/Envirosuits/hydroponics.rsi + +- type: entity + parent: ClothingUniformEnvirosuitBase + id: ClothingUniformEnvirosuitJanitor + name: janitor envirosuit + description: A grey and purple envirosuit designated for Plasmamen janitors. + components: + - type: Sprite + sprite: Clothing/Uniforms/Envirosuits/janitor.rsi + - type: Clothing + sprite: Clothing/Uniforms/Envirosuits/janitor.rsi + +- type: entity + parent: ClothingUniformEnvirosuitBase + id: ClothingUniformEnvirosuitAncientVoid + name: NTSRA envirosuit + description: Made out of a modified NTSRA vacsuit, this non-spaceworthy suit was NanoTrasen's first designed envirosuit for Plasmamen. + components: + - type: Sprite + sprite: Clothing/Uniforms/Envirosuits/ancientvoid.rsi + - type: Clothing + sprite: Clothing/Uniforms/Envirosuits/ancientvoid.rsi + +- type: entity + parent: ClothingUniformEnvirosuitBase + id: ClothingUniformEnvirosuitMedicalDoctor + name: medical doctor's envirosuit + description: A suit designed for the station's more plasma-based doctors. + components: + - type: Sprite + sprite: Clothing/Uniforms/Envirosuits/medical.rsi + - type: Clothing + sprite: Clothing/Uniforms/Envirosuits/medical.rsi + +- type: entity + parent: ClothingUniformEnvirosuitBase + id: ClothingUniformEnvirosuitGenetics + name: genetics envirosuit + description: A Plasmaman envirosuit designed for geneticists. + components: + - type: Sprite + sprite: Clothing/Uniforms/Envirosuits/genetics.rsi + - type: Clothing + sprite: Clothing/Uniforms/Envirosuits/genetics.rsi + +- type: entity + parent: ClothingUniformEnvirosuitBase + id: ClothingUniformEnvirosuitMime + name: mime envirosuit + description: It's not very colourful. + components: + - type: Sprite + sprite: Clothing/Uniforms/Envirosuits/mime.rsi + - type: Clothing + sprite: Clothing/Uniforms/Envirosuits/mime.rsi + +- type: entity + parent: ClothingUniformEnvirosuitBase + id: ClothingUniformEnvirosuitParamedic + name: paramedic envirosuit + description: A suit designed for the station's Plasmaman paramedics. + components: + - type: Sprite + sprite: Clothing/Uniforms/Envirosuits/paramedic.rsi + - type: Clothing + sprite: Clothing/Uniforms/Envirosuits/paramedic.rsi + +- type: entity + parent: ClothingUniformEnvirosuitCustomBase + id: ClothingUniformEnvirosuitPrisoner + name: prisoner envirosuit + description: An orange envirosuit identifying and protecting a criminal Plasmaman. + components: + - type: Sprite + layers: + - state: icon + color: "#ff8300" + - state: plaintop-icon + color: "#ff8300" + - state: accentprisoner-icon + color: "#404040" + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#ff8300" + - state: plaintop-inhand-left + color: "#ff8300" + - state: accentprisoner-inhand-left + color: "#404040" + right: + - state: inhand-right + color: "#ff8300" + - state: plaintop-inhand-right + color: "#ff8300" + - state: accentprisoner-inhand-right + color: "#404040" + - type: Clothing + clothingVisuals: + jumpsuit: + - state: equipped-INNERCLOTHING + color: "#ff8300" + - state: plaintop-equipped-INNERCLOTHING + color: "#ff8300" + - state: accentprisoner-equipped-INNERCLOTHING + color: "#404040" + - state: loweraccent-equipped-INNERCLOTHING + color: "#404040" + - state: soles-equipped-INNERCLOTHING + color: "#bababa" + - type: SuitSensor + controlsLocked: true + randomMode: false + mode: SensorCords + - type: Tag + tags: + - ClothMade + - WhitelistChameleon + - PlasmamanSafe + - PrisonUniform + +- type: entity + parent: ClothingUniformEnvirosuitBase + id: ClothingUniformEnvirosuitResearchDirector + name: mystagogue's envirosuit + description: It's an envirosuit worn by those with the know-how to achieve the position of "Mystagogue". + components: + - type: Sprite + sprite: Clothing/Uniforms/Envirosuits/rd.rsi + - type: Clothing + sprite: Clothing/Uniforms/Envirosuits/rd.rsi + +- type: entity + parent: ClothingUniformEnvirosuitBase + id: ClothingUniformEnvirosuitRoboticist + name: roboticist envirosuit + description: A Plasmaman envirosuit designed for roboticists. + components: + - type: Sprite + sprite: Clothing/Uniforms/Envirosuits/roboticist.rsi + - type: Clothing + sprite: Clothing/Uniforms/Envirosuits/roboticist.rsi + +- type: entity + parent: ClothingUniformEnvirosuitBase + id: ClothingUniformEnvirosuitSalvage + name: salvage envirosuit + description: An air-tight khaki suit designed for salvage operations by Plasmamen. + components: + - type: Sprite + sprite: Clothing/Uniforms/Envirosuits/salvage.rsi + - type: Clothing + sprite: Clothing/Uniforms/Envirosuits/salvage.rsi + +- type: entity + parent: ClothingUniformEnvirosuitBase + id: ClothingUniformEnvirosuitScientist + name: science envirosuit + description: A Plasmaman envirosuit designed for scientists. + components: + - type: Sprite + sprite: Clothing/Uniforms/Envirosuits/scientist.rsi + - type: Clothing + sprite: Clothing/Uniforms/Envirosuits/scientist.rsi + +- type: entity + parent: ClothingUniformEnvirosuitCustomBase + id: ClothingUniformEnvirosuitSec + name: security envirosuit + description: A Plasmaman containment suit designed for security officers. + components: + - type: Sprite + layers: + - state: icon + color: "#8f3132" + - state: accent2-icon + color: "#2e2e2e" + - state: accenthighlight-icon + color: "#313e5a" + - state: clip-icon + color: "#730000" + - state: clip_right-icon + color: "#313e5a" + - state: pants-icon + color: "#2e2e2e" + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#8f3132" + - state: accent2-inhand-left + color: "#2e2e2e" + - state: accenthighlight-inhand-left + color: "#313e5a" + - state: clip-inhand-left + color: "#730000" + - state: clip_right-inhand-left + color: "#313e5a" + - state: pants-inhand-left + color: "#2e2e2e" + right: + - state: inhand-right + color: "#8f3132" + - state: accent2-inhand-right + color: "#2e2e2e" + - state: accenthighlight-inhand-right + color: "#313e5a" + - state: clip-inhand-right + color: "#730000" + - state: clip_right-inhand-right + color: "#313e5a" + - state: pants-inhand-right + color: "#2e2e2e" + - type: Clothing + clothingVisuals: + jumpsuit: + - state: equipped-INNERCLOTHING + color: "#8f3132" + - state: accent2-equipped-INNERCLOTHING + color: "#2e2e2e" + - state: accenthighlight-equipped-INNERCLOTHING + color: "#313e5a" + - state: clip-equipped-INNERCLOTHING + color: "#730000" + - state: clip_right-equipped-INNERCLOTHING + color: "#313e5a" + - state: pants-equipped-INNERCLOTHING + color: "#2e2e2e" + - state: loweraccent-equipped-INNERCLOTHING + color: "#732829" + - state: shoesdark-equipped-INNERCLOTHING + color: "#2e2e2e" + - state: soles-equipped-INNERCLOTHING + color: "#7a7a7a" + +- type: entity + parent: ClothingUniformEnvirosuitCustomBase + id: ClothingUniformEnvirosuitSecBlue + name: blue security envirosuit + description: A cool blue enviroshirt over charcoal trousers, for the calm and collected Plasmaman officer. + components: + - type: Sprite + layers: + - state: icon + color: "#b9c1d9" + - state: accent-icon + color: "#2e2e2e" + - state: accent3_chestonly-icon + color: "#36476b" + - state: accenthighlight-icon + color: "#313e5a" + - state: clip-icon + color: "#860000" + - state: clip_right-icon + color: "#313e5a" + - state: pants-icon + color: "#232938" + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#b9c1d9" + - state: accent-inhand-left + color: "#2e2e2e" + - state: accent3_chestonly-inhand-left + color: "#36476b" + - state: accenthighlight-inhand-left + color: "#313e5a" + - state: clip-inhand-left + color: "#860000" + - state: clip_right-inhand-left + color: "#313e5a" + - state: pants-inhand-left + color: "#232938" + right: + - state: inhand-right + color: "#b9c1d9" + - state: accent-inhand-right + color: "#2e2e2e" + - state: accent3_chestonly-inhand-right + color: "#36476b" + - state: accenthighlight-inhand-right + color: "#313e5a" + - state: clip-inhand-right + color: "#860000" + - state: clip_right-inhand-right + color: "#313e5a" + - state: pants-inhand-right + color: "#232938" + - type: Clothing + clothingVisuals: + jumpsuit: + - state: equipped-INNERCLOTHING + color: "#b9c1d9" + - state: accentalt_noback-equipped-INNERCLOTHING + color: "#2e2e2e" + - state: accent3_chestonly-equipped-INNERCLOTHING + color: "#36476b" + - state: accenthighlight-equipped-INNERCLOTHING + color: "#313e5a" + - state: clip-equipped-INNERCLOTHING + color: "#860000" + - state: clip_right-equipped-INNERCLOTHING + color: "#313e5a" + - state: pants-equipped-INNERCLOTHING + color: "#232938" + - state: backaccent-equipped-INNERCLOTHING + color: "#36476b" + - state: loweraccent-equipped-INNERCLOTHING + color: "#36476b" + - state: shoesdark-equipped-INNERCLOTHING + color: "#2e2e2e" + - state: soles-equipped-INNERCLOTHING + color: "#7a7a7a" + +- type: entity + parent: ClothingUniformEnvirosuitCustomBase + id: ClothingUniformEnvirosuitSecGrey + name: grey security envirosuit + description: Light grey enviroslacks with bright red highlights, for dedicated and responsive security officers. + components: + - type: Sprite + layers: + - state: icon + color: "#7e7e7e" + - state: plaintop-icon + color: "#7e7e7e" + - state: accent-icon + color: "#333333" + - state: accenthighlight-icon + color: "#313e5a" + - state: tie-icon + color: "#a61d1d" + - state: clip-icon + color: "#860000" + - state: clip_right-icon + color: "#313e5a" + - state: pants-icon + color: "#333333" + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#7e7e7e" + - state: plaintop-inhand-left + color: "#7e7e7e" + - state: accent-inhand-left + color: "#333333" + - state: accenthighlight-inhand-left + color: "#313e5a" + - state: tie-inhand-left + color: "#a61d1d" + - state: clip-inhand-left + color: "#860000" + - state: clip_right-inhand-left + color: "#313e5a" + - state: pants-inhand-left + color: "#333333" + right: + - state: inhand-right + color: "#7e7e7e" + - state: plaintop-inhand-right + color: "#7e7e7e" + - state: accent-inhand-right + color: "#333333" + - state: accenthighlight-inhand-right + color: "#313e5a" + - state: tie-inhand-right + color: "#a61d1d" + - state: clip-inhand-right + color: "#860000" + - state: clip_right-inhand-right + color: "#313e5a" + - state: pants-inhand-right + color: "#333333" + - type: Clothing + clothingVisuals: + jumpsuit: + - state: equipped-INNERCLOTHING + color: "#7e7e7e" + - state: plaintop-equipped-INNERCLOTHING + color: "#7e7e7e" + - state: accentalt-equipped-INNERCLOTHING + color: "#333333" + - state: accenthighlight-equipped-INNERCLOTHING + color: "#313e5a" + - state: tie-equipped-INNERCLOTHING + color: "#a61d1d" + - state: clip-equipped-INNERCLOTHING + color: "#860000" + - state: clip_right-equipped-INNERCLOTHING + color: "#313e5a" + - state: cuffs-equipped-INNERCLOTHING + color: "#a11a1a" + - state: cuffs_upper-equipped-INNERCLOTHING + color: "#c92323" + - state: pants-equipped-INNERCLOTHING + color: "#333333" + - state: loweraccent-equipped-INNERCLOTHING + color: "#a61d1d" + - state: shoesdark-equipped-INNERCLOTHING + color: "#333333" + - state: soles-equipped-INNERCLOTHING + color: "#7a7a7a" + +- type: entity + parent: ClothingUniformEnvirosuitBase + id: ClothingUniformEnvirosuitVirology + name: virology envirosuit + description: The suit worn by the safest people on the station, those who are completely immune to the monstrosities they create. + components: + - type: Sprite + sprite: Clothing/Uniforms/Envirosuits/virology.rsi + - type: Clothing + sprite: Clothing/Uniforms/Envirosuits/virology.rsi + +- type: entity + parent: ClothingUniformEnvirosuitBase + id: ClothingUniformEnvirosuitWarden + name: warden's envirosuit + description: A Plasmaman containment suit designed for the warden, white stripes being added to differentiate them from other members of security. + components: + - type: Sprite + sprite: Clothing/Uniforms/Envirosuits/warden.rsi + - type: Clothing + sprite: Clothing/Uniforms/Envirosuits/warden.rsi + +- type: entity + parent: UnsensoredClothingUniformEnvirosuitBase + id: ClothingUniformEnvirosuitOperative + name: operative envirosuit + description: A sinister looking envirosuit, for the most elite of bony operatives. + components: + - type: Sprite + sprite: Clothing/Uniforms/Envirosuits/tacticool.rsi + - type: Clothing + sprite: Clothing/Uniforms/Envirosuits/tacticool.rsi + - type: LimitedCharges + maxCharges: 6 + charges: 6 + +- type: entity + parent: ClothingUniformEnvirosuitBase + id: ClothingUniformEnvirosuitTacticool + name: tacticool envirosuit + description: A sinister looking envirosuit, for the boniest of operatives. + components: + - type: Sprite + sprite: Clothing/Uniforms/Envirosuits/tacticool.rsi + - type: Clothing + sprite: Clothing/Uniforms/Envirosuits/tacticool.rsi + # Too cool for sensors to be on + - type: SuitSensor + randomMode: false + mode: SensorOff + +- type: entity + parent: ClothingUniformEnvirosuitBase + id: ClothingUniformEnvirosuitCentcomAgent + name: CentCom agent's envirosuit + description: An envirosuit tailored for CentCom's legal team. Smells of burnt coffee. + components: + - type: Sprite + sprite: Clothing/Uniforms/Envirosuits/centcom_agent.rsi + - type: Clothing + sprite: Clothing/Uniforms/Envirosuits/centcom_agent.rsi + +- type: entity + parent: ClothingUniformEnvirosuitBase + id: ClothingUniformEnvirosuitCentcomOfficial + name: CentCom official's envirosuit + description: It's an envirosuit worn by CentCom's officials. + components: + - type: Sprite + sprite: Clothing/Uniforms/Envirosuits/centcom_official.rsi + - type: Clothing + sprite: Clothing/Uniforms/Envirosuits/centcom_official.rsi + +- type: entity + parent: ClothingUniformEnvirosuitBase + id: ClothingUniformEnvirosuitCentcomOfficer + name: CentCom officer's envirosuit + description: It's an envirosuit worn by CentCom Officers. + components: + - type: Sprite + sprite: Clothing/Uniforms/Envirosuits/centcom_officer.rsi + - type: Clothing + sprite: Clothing/Uniforms/Envirosuits/centcom_officer.rsi + +- type: entity + parent: ClothingUniformEnvirosuitBase + id: ClothingUniformEnvirosuitBlueshield + name: blueshield's envirosuit + description: An envirosuit designed for Plasmamen employed as the Blueshield. + components: + - type: Sprite + sprite: Clothing/Uniforms/Envirosuits/blueshield_officer.rsi + - type: Clothing + sprite: Clothing/Uniforms/Envirosuits/blueshield_officer.rsi + - type: Armor + modifiers: + coefficients: + Blunt: 0.95 + Heat: 0.95 + +- type: entity + parent: ClothingUniformEnvirosuitCustomBase + id: ClothingUniformEnvirosuitCourier + name: courier's envirosuit + description: An envirosuit tailored for the courier. + components: + - type: Sprite + layers: + - state: icon + color: "#4a281f" + - state: accent2-icon + color: "#c2911e" + - state: clip-icon + color: "#c2911e" + - state: clip_right-icon + color: "#c2911e" + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#4a281f" + - state: accent2-inhand-left + color: "#c2911e" + - state: clip-inhand-left + color: "#c2911e" + - state: clip_right-inhand-left + color: "#c2911e" + right: + - state: inhand-right + color: "#4a281f" + - state: accent2-inhand-right + color: "#c2911e" + - state: clip-inhand-right + color: "#c2911e" + - state: clip_right-inhand-right + color: "#c2911e" + - type: Clothing + clothingVisuals: + jumpsuit: + - state: equipped-INNERCLOTHING + color: "#4a281f" + - state: accent2-equipped-INNERCLOTHING + color: "#c2911e" + - state: clip-equipped-INNERCLOTHING + color: "#c2911e" + - state: clip_right-equipped-INNERCLOTHING + color: "#c2911e" + - state: loweraccent2-equipped-INNERCLOTHING + color: "#c2911e" + - state: soles-equipped-INNERCLOTHING + color: "#c2911e" + +- type: entity + parent: ClothingUniformEnvirosuitCustomBase + id: ClothingUniformEnvirosuitMailCarrier + name: mail carrier's envirosuit + description: An envirosuit tailored for the mail carrier. The color pattern makes pitbulls go wild. + components: + - type: Sprite + layers: + - state: icon + color: "#394dc6" + - state: accent-icon + color: "#d82927" + - state: accent2_chestonly-icon + color: "#dcdcdc" + - state: clip-icon + color: "#dcdcdc" + - state: clip_right-icon + color: "#c2c2c2" + - state: belt-icon + color: "#cfcfcf" + - state: beltbuckle_small-icon + color: "#f0990c" + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#394dc6" + - state: accent-inhand-left + color: "#d82927" + - state: accent2_chestonly-inhand-left + color: "#dcdcdc" + - state: clip-inhand-left + color: "#dcdcdc" + - state: clip_right-inhand-left + color: "#c2c2c2" + - state: belt-inhand-left + color: "#cfcfcf" + - state: beltbuckle_small-inhand-left + color: "#f0990c" + right: + - state: inhand-right + color: "#394dc6" + - state: accent-inhand-right + color: "#d82927" + - state: accent2_chestonly-inhand-right + color: "#dcdcdc" + - state: clip-inhand-right + color: "#dcdcdc" + - state: clip_right-inhand-right + color: "#c2c2c2" + - state: belt-inhand-right + color: "#cfcfcf" + - state: beltbuckle_small-inhand-right + color: "#f0990c" + - type: Clothing + clothingVisuals: + jumpsuit: + - state: equipped-INNERCLOTHING + color: "#394dc6" + - state: accentalt_noback-equipped-INNERCLOTHING + color: "#d82927" + - state: accent2_chestonly-equipped-INNERCLOTHING + color: "#dcdcdc" + - state: clip-equipped-INNERCLOTHING + color: "#dcdcdc" + - state: clip_right-equipped-INNERCLOTHING + color: "#c2c2c2" + - state: belt-equipped-INNERCLOTHING + color: "#cfcfcf" + - state: beltbuckle_small-equipped-INNERCLOTHING + color: "#f0990c" + - state: backaccent-equipped-INNERCLOTHING + color: "#dcdcdc" + - state: loweraccent2-equipped-INNERCLOTHING + color: "#dcdcdc" + - state: soles-equipped-INNERCLOTHING + color: "#dcdcdc" + - type: ClothingAddFaction + faction: Mailman + +- type: entity + parent: ClothingUniformEnvirosuitCustomBase + id: ClothingUniformEnvirosuitMusician + name: musician's envirosuit + description: An envirosuit to play music with. + components: + - type: Sprite + layers: + - state: icon + color: "#3c335b" + - state: plaintop-icon + color: "#3c335b" + - state: accent2-icon + color: "#f3f5f4" + - state: pin-icon + color: "#db2525" + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#3c335b" + - state: accent2-inhand-left + color: "#f3f5f4" + - state: pin-inhand-left + color: "#db2525" + right: + - state: inhand-right + color: "#3c335b" + - state: accent2-inhand-right + color: "#f3f5f4" + - state: pin-inhand-right + color: "#db2525" + - type: Clothing + clothingVisuals: + jumpsuit: + - state: equipped-INNERCLOTHING + color: "#3c335b" + - state: accent2-equipped-INNERCLOTHING + color: "#f3f5f4" + - state: loweraccent-equipped-INNERCLOTHING + color: "#f3f5f4" + - state: pin-equipped-INNERCLOTHING + color: "#db2525" + - state: soles-equipped-INNERCLOTHING + color: "#bababa" + +- type: entity + parent: ClothingUniformEnvirosuitCustomBase + id: ClothingUniformEnvirosuitReporter + name: reporter envirosuit + description: An envirosuit for the news-oriented Plasmamen. + components: + - type: Sprite + layers: + - state: icon + color: "#112334" + - state: accent2-icon + color: "#79121b" + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#112334" + - state: accent2-inhand-left + color: "#79121b" + right: + - state: inhand-right + color: "#112334" + - state: accent2-inhand-right + color: "#79121b" + - type: Clothing + clothingVisuals: + jumpsuit: + - state: equipped-INNERCLOTHING + color: "#112334" + - state: accent2-equipped-INNERCLOTHING + color: "#79121b" + - state: loweraccent2-equipped-INNERCLOTHING + color: "#79121b" + - state: soles-equipped-INNERCLOTHING + color: "#bababa" + +- type: entity + parent: ClothingUniformEnvirosuitCustomBase + id: ClothingUniformEnvirosuitGladiator + name: gladiator envirosuit + description: Made for bloodthirsty Plasmamen. + components: + - type: Sprite + layers: + - state: icon + color: "#dab13b" + - state: accent-icon + color: "#a349a4" + - state: corneraccent-icon + color: "#a349a4" + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#dab13b" + - state: accent-inhand-left + color: "#a349a4" + - state: corneraccent-inhand-left + color: "#a349a4" + right: + - state: inhand-right + color: "#dab13b" + - state: accent-inhand-right + color: "#a349a4" + - state: corneraccent-inhand-right + color: "#a349a4" + - type: Clothing + clothingVisuals: + jumpsuit: + - state: equipped-INNERCLOTHING + color: "#dab13b" + - state: accent-equipped-INNERCLOTHING + color: "#a349a4" + - state: loweraccent2-equipped-INNERCLOTHING + color: "#a349a4" + - state: corneraccent-equipped-INNERCLOTHING + color: "#a349a4" + - state: soles-equipped-INNERCLOTHING + color: "#a349a4" + +- type: entity + parent: ClothingUniformEnvirosuitCustomBase + id: ClothingUniformEnvirosuitMantis + name: mantis' envirosuit + description: Hunting down psionics in the safety of this envirosuit. + components: + - type: Sprite + layers: + - state: icon + color: "#46566d" + - state: pants-icon + color: "#7d2322" + - state: belt-icon + color: "#51321a" + - state: beltbuckle-icon + color: "#dcbb60" + - state: accent-icon + color: "#d4af48" + - state: buttons-icon + color: "#997d30" + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#46566d" + - state: pants-inhand-left + color: "#7d2322" + - state: belt-inhand-left + color: "#51321a" + - state: beltbuckle-inhand-left + color: "#dcbb60" + - state: accent-inhand-left + color: "#d4af48" + - state: buttons-inhand-left + color: "#997d30" + right: + - state: inhand-right + color: "#46566d" + - state: pants-inhand-right + color: "#7d2322" + - state: belt-inhand-right + color: "#51321a" + - state: beltbuckle-inhand-right + color: "#dcbb60" + - state: accent-inhand-right + color: "#d4af48" + - state: buttons-inhand-right + color: "#997d30" + - type: Clothing + clothingVisuals: + jumpsuit: + - state: equipped-INNERCLOTHING + color: "#46566d" + - state: pants-equipped-INNERCLOTHING + color: "#7d2322" + - state: belt-equipped-INNERCLOTHING + color: "#51321a" + - state: beltbuckle-equipped-INNERCLOTHING + color: "#dcbb60" + - state: accentalt-equipped-INNERCLOTHING + color: "#d4af48" + - state: loweraccent-equipped-INNERCLOTHING + color: "#d4af48" + - state: buttons-equipped-INNERCLOTHING + color: "#997d30" + - state: soles-equipped-INNERCLOTHING + color: "#d4af48" + +- type: entity + parent: ClothingUniformEnvirosuitCustomBase + id: ClothingUniformEnvirosuitSafari + name: safari envirosuit + description: Perfect for a jungle excursion. + components: + - type: Sprite + layers: + - state: icon + color: "#d3b986" + - state: accent-icon + color: "#a349a4" + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#d3b986" + - state: accent-inhand-left + color: "#a349a4" + right: + - state: inhand-right + color: "#d3b986" + - state: accent-inhand-right + color: "#a349a4" + - type: Clothing + clothingVisuals: + jumpsuit: + - state: equipped-INNERCLOTHING + color: "#d3b986" + - state: accent-equipped-INNERCLOTHING + color: "#a349a4" + - state: loweraccent-equipped-INNERCLOTHING + color: "#a349a4" + - state: soles-equipped-INNERCLOTHING + color: "#bababa" + +- type: entity + parent: ClothingUniformEnvirosuitCustomBase + id: ClothingUniformEnvirosuitMartialGi + name: gi envirosuit + description: A flowy envirosuit tailor-made for martial arts that doesn't restrict your mobility. + components: + - type: Sprite + layers: + - state: icon + color: "#ffffff" + - state: accent-icon + color: "#3b3b3b" + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#ffffff" + - state: accent-inhand-left + color: "#3b3b3b" + right: + - state: inhand-right + color: "#ffffff" + - state: accent-inhand-right + color: "#3b3b3b" + - type: Clothing + clothingVisuals: + jumpsuit: + - state: equipped-INNERCLOTHING + color: "#ffffff" + - state: accent-equipped-INNERCLOTHING + color: "#3b3b3b" + - state: loweraccent-equipped-INNERCLOTHING + color: "#3b3b3b" + - state: soles-equipped-INNERCLOTHING + color: "#bababa" + +- type: entity + parent: ClothingUniformEnvirosuitCustomBase + id: ClothingUniformEnvirosuitQM + name: logistics officer's envirosuit + description: An air-tight suit designed to be used by Plasmamen insane enough to achieve the rank of "Logistics Officer". + components: + - type: Sprite + layers: + - state: icon + color: "#bb934b" + - state: accent-icon + color: "#ffc000" + - state: accent3_chestonly-icon + color: "#d08200" + - state: clip-icon + color: "#c0c0c0" + - state: clip_right-icon + color: "#a7a7a7" + - state: pants-icon + color: "#8a8a8a" + - state: belt-icon + color: "#6f6f6f" + - state: beltbuckle-icon + color: "#bfbfbf" + - state: buttons-icon + color: "#535353" + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#bb934b" + - state: accent-inhand-left + color: "#ffc000" + - state: accent3_chestonly-inhand-left + color: "#d08200" + - state: clip-inhand-left + color: "#c0c0c0" + - state: clip_right-inhand-left + color: "#a7a7a7" + - state: pants-inhand-left + color: "#8a8a8a" + - state: belt-inhand-left + color: "#6f6f6f" + - state: beltbuckle-inhand-left + color: "#bfbfbf" + - state: buttons-inhand-left + color: "#535353" + right: + - state: inhand-right + color: "#bb934b" + - state: accent-inhand-right + color: "#ffc000" + - state: accent3_chestonly-inhand-right + color: "#d08200" + - state: clip-inhand-right + color: "#c0c0c0" + - state: clip_right-inhand-right + color: "#a7a7a7" + - state: pants-inhand-right + color: "#8a8a8a" + - state: belt-inhand-right + color: "#6f6f6f" + - state: beltbuckle-inhand-right + color: "#bfbfbf" + - state: buttons-inhand-right + color: "#535353" + - type: Clothing + clothingVisuals: + jumpsuit: + - state: equipped-INNERCLOTHING + color: "#bb934b" + - state: accentalt-equipped-INNERCLOTHING + color: "#ffc000" + - state: accent3_chestonly-equipped-INNERCLOTHING + color: "#d08200" + - state: clip-equipped-INNERCLOTHING + color: "#c0c0c0" + - state: clip_right-equipped-INNERCLOTHING + color: "#a7a7a7" + - state: cuffs-equipped-INNERCLOTHING + color: "#d08200" + - state: cuffs_upper-equipped-INNERCLOTHING + color: "#6e6e6e" + - state: pants-equipped-INNERCLOTHING + color: "#8a8a8a" + - state: belt-equipped-INNERCLOTHING + color: "#6f6f6f" + - state: beltbuckle-equipped-INNERCLOTHING + color: "#bfbfbf" + - state: buttons-equipped-INNERCLOTHING + color: "#535353" + - state: loweraccent-equipped-INNERCLOTHING + color: "#ffc000" + - state: shoesdark-equipped-INNERCLOTHING + color: "#828282" + - state: soles-equipped-INNERCLOTHING + color: "#ffc000" + +- type: entity + parent: ClothingUniformEnvirosuitCustomBase + id: ClothingUniformEnvirosuitBoxing + name: boxing envirosuit + description: Used by Plasmamen boxers. + components: + - type: Sprite + layers: + - state: icon + color: "#eeeeee" + - state: accent3-icon + color: "#a81818" + - state: pants-icon + color: "#a81818" + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#eeeeee" + - state: accent3-inhand-left + color: "#a81818" + - state: pants-inhand-left + color: "#a81818" + right: + - state: inhand-right + color: "#eeeeee" + - state: accent3-inhand-right + color: "#a81818" + - state: pants-inhand-right + color: "#a81818" + - type: Clothing + clothingVisuals: + jumpsuit: + - state: equipped-INNERCLOTHING + color: "#eeeeee" + - state: accent3-equipped-INNERCLOTHING + color: "#a81818" + - state: pants-equipped-INNERCLOTHING + color: "#a81818" + - state: loweraccent2-equipped-INNERCLOTHING + color: "#eeeeee" + - state: soles-equipped-INNERCLOTHING + color: "#eeeeee" + +- type: entity + parent: ClothingUniformEnvirosuitCustomBase + id: ClothingUniformEnvirosuitAdminAssistant + name: administrative assistant's envirosuit + description: An envirosuit worn by the Administrative Assistant. Smells of burnt coffee. + components: + - type: Sprite + layers: + - state: icon + color: "#ffffff" + - state: plaintop-icon + color: "#ffffff" + - state: pants-icon + color: "#313131" + - state: belt-icon + color: "#4d4d4d" + - state: accent-icon + color: "#315266" + - state: tie-icon + color: "#315266" + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#ffffff" + - state: plaintop-inhand-left + color: "#ffffff" + - state: pants-inhand-left + color: "#313131" + - state: belt-inhand-left + color: "#4d4d4d" + - state: accent-inhand-left + color: "#315266" + - state: tie-inhand-left + color: "#315266" + right: + - state: inhand-right + color: "#ffffff" + - state: plaintop-inhand-right + color: "#ffffff" + - state: pants-inhand-right + color: "#313131" + - state: belt-inhand-right + color: "#4d4d4d" + - state: accent-inhand-right + color: "#315266" + - state: tie-inhand-right + color: "#315266" + - type: Clothing + clothingVisuals: + jumpsuit: + - state: equipped-INNERCLOTHING + color: "#ffffff" + - state: plaintop-equipped-INNERCLOTHING + color: "#ffffff" + - state: pants-equipped-INNERCLOTHING + color: "#313131" + - state: belt-equipped-INNERCLOTHING + color: "#4d4d4d" + - state: accent-equipped-INNERCLOTHING + color: "#315266" + - state: loweraccent-equipped-INNERCLOTHING + color: "#315266" + - state: tie-equipped-INNERCLOTHING + color: "#315266" + - state: soles-equipped-INNERCLOTHING + color: "#bababa" + +- type: entity + parent: ClothingUniformEnvirosuitCustomBase + id: ClothingUniformEnvirosuitBlackPink + name: black pink envirosuit + description: Black pink envirosuit in your area! + components: + - type: Sprite + layers: + - state: icon + color: "#292929" + - state: plaintop-icon + color: "#292929" + - state: accent-icon + color: "#f4a1b7" + - state: heart-icon + color: "#f4a1b7" + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#292929" + - state: plaintop-inhand-left + color: "#292929" + - state: accent-inhand-left + color: "#f4a1b7" + - state: heart-inhand-left + color: "#f4a1b7" + right: + - state: inhand-right + color: "#292929" + - state: plaintop-inhand-right + color: "#292929" + - state: accent-inhand-right + color: "#f4a1b7" + - state: heart-inhand-right + color: "#f4a1b7" + - type: Clothing + clothingVisuals: + jumpsuit: + - state: equipped-INNERCLOTHING + color: "#292929" + - state: plaintop-equipped-INNERCLOTHING + color: "#292929" + - state: accent-equipped-INNERCLOTHING + color: "#f4a1b7" + - state: heart-equipped-INNERCLOTHING + color: "#f4a1b7" + - state: loweraccent-equipped-INNERCLOTHING + color: "#f4a1b7" + - state: soles-equipped-INNERCLOTHING + color: "#f4a1b7" + +- type: entity + parent: ClothingUniformEnvirosuitCustomBase + id: ClothingUniformEnvirosuitBlackPinkAlt + name: black pink envirosuit + suffix: Alternative + description: Black pink envirosuit in your area! + components: + - type: Sprite + layers: + - state: icon + color: "#f4a1b7" + - state: plaintop-icon + color: "#f4a1b7" + - state: accent-icon + color: "#292929" + - state: heart-icon + color: "#292929" + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#f4a1b7" + - state: plaintop-inhand-left + color: "#f4a1b7" + - state: accent-inhand-left + color: "#292929" + - state: heart-inhand-left + color: "#292929" + right: + - state: inhand-right + color: "#f4a1b7" + - state: plaintop-inhand-right + color: "#f4a1b7" + - state: accent-inhand-right + color: "#292929" + - state: heart-inhand-right + color: "#292929" + - type: Clothing + clothingVisuals: + jumpsuit: + - state: equipped-INNERCLOTHING + color: "#f4a1b7" + - state: plaintop-equipped-INNERCLOTHING + color: "#f4a1b7" + - state: accent-equipped-INNERCLOTHING + color: "#292929" + - state: heart-equipped-INNERCLOTHING + color: "#292929" + - state: loweraccent-equipped-INNERCLOTHING + color: "#292929" + - state: soles-equipped-INNERCLOTHING + color: "#292929" + +- type: entity + parent: ClothingUniformEnvirosuitCustomBase + id: ClothingUniformEnvirosuitTrans + name: trans envirosuit + description: The signature envirosuit of Transylvanian Plasmamen. + components: + - type: Sprite + layers: + - state: icon + color: "#ffffff" + - state: plaintop-icon + color: "#ffffff" + - state: accent-icon + color: "#5dd2ff" + - state: heart-icon + color: "#ffb0c0" + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#ffffff" + - state: plaintop-inhand-left + color: "#ffffff" + - state: accent-inhand-left + color: "#5dd2ff" + - state: heart-inhand-left + color: "#ffb0c0" + right: + - state: inhand-right + color: "#ffffff" + - state: plaintop-inhand-right + color: "#ffffff" + - state: accent-inhand-right + color: "#5dd2ff" + - state: heart-inhand-right + color: "#ffb0c0" + - type: Clothing + clothingVisuals: + jumpsuit: + - state: equipped-INNERCLOTHING + color: "#ffffff" + - state: plaintop-equipped-INNERCLOTHING + color: "#ffffff" + - state: accentalt-equipped-INNERCLOTHING + color: "#5dd2ff" + - state: heart-equipped-INNERCLOTHING + color: "#ffb0c0" + - state: cuffs-equipped-INNERCLOTHING + color: "#ffb0c0" + - state: loweraccent2_top-equipped-INNERCLOTHING + color: "#5dd2ff" + - state: loweraccent2_bottom-equipped-INNERCLOTHING + color: "#ffb0c0" + - state: soles-equipped-INNERCLOTHING + color: "#5dd2ff" + +- type: entity + parent: ClothingUniformEnvirosuitCustomBase + id: ClothingUniformEnvirosuitPrisonGuard + name: prison guard's envirosuit + description: A comfortable, durable, envirosuit made to keep Plasmamen prison staff comfortable and safe. + components: + - type: Sprite + layers: + - state: icon + color: "#d76b00" + - state: accent3-icon + color: "#363636" + - state: accenthighlight-icon + color: "#313e5a" + - state: clip-icon + color: "#860000" + - state: clip_right-icon + color: "#313e5a" + - state: pants-icon + color: "#363636" + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#d76b00" + - state: accent3-inhand-left + color: "#363636" + - state: accenthighlight-inhand-left + color: "#313e5a" + - state: clip-inhand-left + color: "#860000" + - state: clip_right-inhand-left + color: "#313e5a" + - state: pants-inhand-left + color: "#363636" + right: + - state: inhand-right + color: "#d76b00" + - state: accent3-inhand-right + color: "#363636" + - state: accenthighlight-inhand-right + color: "#313e5a" + - state: clip-inhand-right + color: "#860000" + - state: clip_right-inhand-right + color: "#313e5a" + - state: pants-inhand-right + color: "#363636" + - type: Clothing + clothingVisuals: + jumpsuit: + - state: equipped-INNERCLOTHING + color: "#d76b00" + - state: accent3-equipped-INNERCLOTHING + color: "#363636" + - state: accenthighlight-equipped-INNERCLOTHING + color: "#313e5a" + - state: clip-equipped-INNERCLOTHING + color: "#860000" + - state: clip_right-equipped-INNERCLOTHING + color: "#313e5a" + - state: pants-equipped-INNERCLOTHING + color: "#363636" + - state: loweraccent-equipped-INNERCLOTHING + color: "#d76b00" + - state: shoesdark-equipped-INNERCLOTHING + color: "#363636" + - state: soles-equipped-INNERCLOTHING + color: "#bababa" + +- type: entity + parent: ClothingUniformEnvirosuitCustomBase + id: ClothingUniformEnvirosuitBrigmedic + name: corpsman envirosuit + description: An envirosuit assigned to corpsmen Plasmamen. + components: + - type: Sprite + layers: + - state: icon + color: "#486782" + - state: accent-icon + color: "#333333" + - state: accent2_chestonly-icon + color: "#3b3b3b" + - state: accenthighlight-icon + color: "#2f74b8" + - state: buttons-icon + color: "#b0bdca" + - state: clip-icon + color: "#860000" + - state: clip_right-icon + color: "#313e5a" + - state: pants-icon + color: "#3b3b3b" + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#486782" + - state: accent-inhand-left + color: "#333333" + - state: accent2_chestonly-inhand-left + color: "#3b3b3b" + - state: accenthighlight-inhand-left + color: "#2f74b8" + - state: buttons-inhand-left + color: "#b0bdca" + - state: clip-inhand-left + color: "#860000" + - state: clip_right-inhand-left + color: "#313e5a" + - state: pants-inhand-left + color: "#3b3b3b" + right: + - state: inhand-right + color: "#486782" + - state: accent-inhand-right + color: "#333333" + - state: accent2_chestonly-inhand-right + color: "#3b3b3b" + - state: accenthighlight-inhand-right + color: "#2f74b8" + - state: buttons-inhand-right + color: "#b0bdca" + - state: clip-inhand-right + color: "#860000" + - state: clip_right-inhand-right + color: "#313e5a" + - state: pants-inhand-right + color: "#3b3b3b" + - type: Clothing + clothingVisuals: + jumpsuit: + - state: equipped-INNERCLOTHING + color: "#486782" + - state: accentalt-equipped-INNERCLOTHING + color: "#333333" + - state: accent2_chestonly-equipped-INNERCLOTHING + color: "#3b3b3b" + - state: accenthighlight-equipped-INNERCLOTHING + color: "#2f74b8" + - state: buttons-equipped-INNERCLOTHING + color: "#b0bdca" + - state: clip-equipped-INNERCLOTHING + color: "#860000" + - state: clip_right-equipped-INNERCLOTHING + color: "#313e5a" + - state: cuffs-equipped-INNERCLOTHING + color: "#bfcddb" + - state: pants-equipped-INNERCLOTHING + color: "#3b3b3b" + - state: loweraccent-equipped-INNERCLOTHING + color: "#9ca7b3" + - state: shoesdark-equipped-INNERCLOTHING + color: "#3b3b3b" + - state: soles-equipped-INNERCLOTHING + color: "#bfcddb" + +- type: entity + parent: ClothingUniformEnvirosuitCustomBase + id: ClothingUniformEnvirosuitNanotrasenRepresentative + name: nanotrasen representative envirosuit + description: A black envirosuit worn by officials. + components: + - type: Sprite + layers: + - state: icon + color: "#292929" + - state: accent3_chestonly-icon + color: "#266199" + - state: accent2-icon + color: "#ffce5b" + - state: buttons-icon + color: "#f3f5f4" + - state: belt-icon + color: "#87511b" + - state: beltbuckle-icon + color: "#969696" + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#292929" + - state: accent3_chestonly-inhand-left + color: "#266199" + - state: accent2-inhand-left + color: "#ffce5b" + - state: buttons-inhand-left + color: "#f3f5f4" + - state: belt-inhand-left + color: "#87511b" + - state: beltbuckle-inhand-left + color: "#969696" + right: + - state: inhand-right + color: "#292929" + - state: accent3_chestonly-inhand-right + color: "#266199" + - state: accent2-inhand-right + color: "#ffce5b" + - state: buttons-inhand-right + color: "#f3f5f4" + - state: belt-inhand-right + color: "#87511b" + - state: beltbuckle-inhand-right + color: "#969696" + - type: Clothing + clothingVisuals: + jumpsuit: + - state: equipped-INNERCLOTHING + color: "#292929" + - state: accent3_chestonly-equipped-INNERCLOTHING + color: "#266199" + - state: accent2-equipped-INNERCLOTHING + color: "#ffce5b" + - state: buttons-equipped-INNERCLOTHING + color: "#f3f5f4" + - state: cuffs-equipped-INNERCLOTHING + color: "#ffce5b" + - state: cuffs_upper-equipped-INNERCLOTHING + color: "#0057a8" + - state: belt-equipped-INNERCLOTHING + color: "#87511b" + - state: beltbuckle-equipped-INNERCLOTHING + color: "#969696" + - state: loweraccent-equipped-INNERCLOTHING + color: "#266199" + - state: soles-equipped-INNERCLOTHING + color: "#ffce5b" + +- type: entity + parent: ClothingUniformEnvirosuitCustomBase + id: ClothingUniformEnvirosuitMagistrate + name: magistrate envirosuit + description: The envirosuit that doles out justice. + components: + - type: Sprite + layers: + - state: icon + color: "#ebebeb" + - state: plaintop-icon + color: "#ebebeb" + - state: tie-icon + color: "#333333" + - state: tieclip-icon + color: "#e6b952" + - state: accent-icon + color: "#ffce5b" + - state: pants-icon + color: "#292929" + - state: belt-icon + color: "#634737" + - state: beltbuckle-icon + color: "#ffce5b" + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#ebebeb" + - state: plaintop-inhand-left + color: "#ebebeb" + - state: tie-inhand-left + color: "#333333" + - state: tieclip-inhand-left + color: "#e6b952" + - state: accent-inhand-left + color: "#ffce5b" + - state: pants-inhand-left + color: "#292929" + - state: belt-inhand-left + color: "#634737" + - state: beltbuckle-inhand-left + color: "#ffce5b" + right: + - state: inhand-right + color: "#ebebeb" + - state: plaintop-inhand-right + color: "#ebebeb" + - state: tie-inhand-right + color: "#333333" + - state: tieclip-inhand-right + color: "#e6b952" + - state: accent-inhand-right + color: "#ffce5b" + - state: pants-inhand-right + color: "#292929" + - state: belt-inhand-right + color: "#634737" + - state: beltbuckle-inhand-right + color: "#ffce5b" + - type: Clothing + clothingVisuals: + jumpsuit: + - state: equipped-INNERCLOTHING + color: "#ebebeb" + - state: plaintop-equipped-INNERCLOTHING + color: "#ebebeb" + - state: tie-equipped-INNERCLOTHING + color: "#333333" + - state: tieclip-equipped-INNERCLOTHING + color: "#e6b952" + - state: accentalt-equipped-INNERCLOTHING + color: "#ffce5b" + - state: cuffs-equipped-INNERCLOTHING + color: "#634737" + - state: pants-equipped-INNERCLOTHING + color: "#292929" + - state: belt-equipped-INNERCLOTHING + color: "#634737" + - state: beltbuckle-equipped-INNERCLOTHING + color: "#ffce5b" + - state: loweraccent-equipped-INNERCLOTHING + color: "#ffce5b" + - state: soles-equipped-INNERCLOTHING + color: "#634737" + + +# The Tortured Enviroslacks Department (Skubman's Version) +- type: entity + parent: ClothingUniformEnvirosuitBase + id: ClothingUniformEnvirosuitEnviroslacks + name: enviroslacks + description: The pet project of a particularly posh Plasmaman. Professional! + components: + - type: Sprite + sprite: Clothing/Uniforms/Envirosuits/enviroslacks.rsi + - type: Clothing + sprite: Clothing/Uniforms/Envirosuits/enviroslacks.rsi + +- type: entity + parent: ClothingUniformEnvirosuitCustomBase + id: ClothingUniformEnvirosuitEnviroslacksNegative + name: negative enviroslacks + description: The pet project of a particularly posh Plasmaman, this variant has inverted colors. Dapper! + components: + - type: Sprite + layers: + - state: icon + color: "#3f3f3f" + - state: plaintop-icon + color: "#3f3f3f" + - state: tie-icon + color: "#a349a4" + - state: accent-icon + color: "#a349a4" + - state: pants-icon + color: "#f2f2f2" + - state: belt-icon + color: "#737373" + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#3f3f3f" + - state: plaintop-inhand-left + color: "#3f3f3f" + - state: tie-inhand-left + color: "#a349a4" + - state: accent-inhand-left + color: "#a349a4" + - state: pants-inhand-left + color: "#f2f2f2" + - state: belt-inhand-left + color: "#737373" + right: + - state: inhand-right + color: "#3f3f3f" + - state: plaintop-inhand-right + color: "#3f3f3f" + - state: tie-inhand-right + color: "#a349a4" + - state: accent-inhand-right + color: "#a349a4" + - state: pants-inhand-right + color: "#f2f2f2" + - state: belt-inhand-right + color: "#737373" + - type: Clothing + clothingVisuals: + jumpsuit: + - state: equipped-INNERCLOTHING + color: "#3f3f3f" + - state: plaintop-equipped-INNERCLOTHING + color: "#3f3f3f" + - state: tie-equipped-INNERCLOTHING + color: "#a349a4" + - state: accentalt-equipped-INNERCLOTHING + color: "#a349a4" + - state: pants-equipped-INNERCLOTHING + color: "#f2f2f2" + - state: belt-equipped-INNERCLOTHING + color: "#737373" + - state: loweraccent-equipped-INNERCLOTHING + color: "#a349a4" + - state: soles-equipped-INNERCLOTHING + color: "#bababa" + +- type: entity + parent: ClothingUniformEnvirosuitCustomBase + id: ClothingUniformEnvirosuitEnviroslacksColorRed + name: red enviroslacks + description: The pet project of a particularly posh Plasmaman, this variant comes with red accents. Fancy! + components: + - type: Sprite + layers: + - state: icon + color: "#ffffff" + - state: plaintop-icon + color: "#ffffff" + - state: tie-icon + color: "#99211f" + - state: accent-icon + color: "#99211f" + - state: pants-icon + color: "#292929" + - state: belt-icon + color: "#737373" + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#ffffff" + - state: plaintop-inhand-left + color: "#ffffff" + - state: tie-inhand-left + color: "#99211f" + - state: accent-inhand-left + color: "#99211f" + - state: pants-inhand-left + color: "#292929" + - state: belt-inhand-left + color: "#737373" + right: + - state: inhand-right + color: "#ffffff" + - state: plaintop-inhand-right + color: "#ffffff" + - state: tie-inhand-right + color: "#99211f" + - state: accent-inhand-right + color: "#99211f" + - state: pants-inhand-right + color: "#292929" + - state: belt-inhand-right + color: "#737373" + - type: Clothing + clothingVisuals: + jumpsuit: + - state: equipped-INNERCLOTHING + color: "#ffffff" + - state: plaintop-equipped-INNERCLOTHING + color: "#ffffff" + - state: tie-equipped-INNERCLOTHING + color: "#99211f" + - state: accentalt-equipped-INNERCLOTHING + color: "#99211f" + - state: pants-equipped-INNERCLOTHING + color: "#292929" + - state: belt-equipped-INNERCLOTHING + color: "#737373" + - state: loweraccent-equipped-INNERCLOTHING + color: "#99211f" + - state: soles-equipped-INNERCLOTHING + color: "#bababa" + +- type: entity + parent: ClothingUniformEnvirosuitCustomBase + id: ClothingUniformEnvirosuitEnviroslacksColorOrange + name: orange enviroslacks + description: The pet project of a particularly posh Plasmaman, this variant comes with orange accents. Zesty! + components: + - type: Sprite + layers: + - state: icon + color: "#ffffff" + - state: plaintop-icon + color: "#ffffff" + - state: tie-icon + color: "#c2680f" + - state: accent-icon + color: "#c2680f" + - state: pants-icon + color: "#292929" + - state: belt-icon + color: "#737373" + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#ffffff" + - state: plaintop-inhand-left + color: "#ffffff" + - state: tie-inhand-left + color: "#c2680f" + - state: accent-inhand-left + color: "#c2680f" + - state: pants-inhand-left + color: "#292929" + - state: belt-inhand-left + color: "#737373" + right: + - state: inhand-right + color: "#ffffff" + - state: plaintop-inhand-right + color: "#ffffff" + - state: tie-inhand-right + color: "#c2680f" + - state: accent-inhand-right + color: "#c2680f" + - state: pants-inhand-right + color: "#292929" + - state: belt-inhand-right + color: "#737373" + - type: Clothing + clothingVisuals: + jumpsuit: + - state: equipped-INNERCLOTHING + color: "#ffffff" + - state: plaintop-equipped-INNERCLOTHING + color: "#ffffff" + - state: tie-equipped-INNERCLOTHING + color: "#c2680f" + - state: accentalt-equipped-INNERCLOTHING + color: "#c2680f" + - state: pants-equipped-INNERCLOTHING + color: "#292929" + - state: belt-equipped-INNERCLOTHING + color: "#737373" + - state: loweraccent-equipped-INNERCLOTHING + color: "#c2680f" + - state: soles-equipped-INNERCLOTHING + color: "#bababa" + +- type: entity + parent: ClothingUniformEnvirosuitCustomBase + id: ClothingUniformEnvirosuitEnviroslacksColorGreen + name: green enviroslacks + description: The pet project of a particularly posh Plasmaman, this variant comes with green accents. Leafy! + components: + - type: Sprite + layers: + - state: icon + color: "#ffffff" + - state: plaintop-icon + color: "#ffffff" + - state: tie-icon + color: "#5b991f" + - state: accent-icon + color: "#5b991f" + - state: pants-icon + color: "#292929" + - state: belt-icon + color: "#737373" + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#ffffff" + - state: plaintop-inhand-left + color: "#ffffff" + - state: tie-inhand-left + color: "#5b991f" + - state: accent-inhand-left + color: "#5b991f" + - state: pants-inhand-left + color: "#292929" + - state: belt-inhand-left + color: "#737373" + right: + - state: inhand-right + color: "#ffffff" + - state: plaintop-inhand-right + color: "#ffffff" + - state: tie-inhand-right + color: "#5b991f" + - state: accent-inhand-right + color: "#5b991f" + - state: pants-inhand-right + color: "#292929" + - state: belt-inhand-right + color: "#737373" + - type: Clothing + clothingVisuals: + jumpsuit: + - state: equipped-INNERCLOTHING + color: "#ffffff" + - state: plaintop-equipped-INNERCLOTHING + color: "#ffffff" + - state: tie-equipped-INNERCLOTHING + color: "#5b991f" + - state: accentalt-equipped-INNERCLOTHING + color: "#5b991f" + - state: pants-equipped-INNERCLOTHING + color: "#292929" + - state: belt-equipped-INNERCLOTHING + color: "#737373" + - state: loweraccent-equipped-INNERCLOTHING + color: "#5b991f" + - state: soles-equipped-INNERCLOTHING + color: "#bababa" + +- type: entity + parent: ClothingUniformEnvirosuitCustomBase + id: ClothingUniformEnvirosuitEnviroslacksColorBlue + name: blue enviroslacks + description: The pet project of a particularly posh Plasmaman, this variant comes with blue accents. Cool! + components: + - type: Sprite + layers: + - state: icon + color: "#ffffff" + - state: plaintop-icon + color: "#ffffff" + - state: tie-icon + color: "#2b5c99" + - state: accent-icon + color: "#2b5c99" + - state: pants-icon + color: "#292929" + - state: belt-icon + color: "#737373" + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#ffffff" + - state: plaintop-inhand-left + color: "#ffffff" + - state: tie-inhand-left + color: "#2b5c99" + - state: accent-inhand-left + color: "#2b5c99" + - state: pants-inhand-left + color: "#292929" + - state: belt-inhand-left + color: "#737373" + right: + - state: inhand-right + color: "#ffffff" + - state: plaintop-inhand-right + color: "#ffffff" + - state: tie-inhand-right + color: "#2b5c99" + - state: accent-inhand-right + color: "#2b5c99" + - state: pants-inhand-right + color: "#292929" + - state: belt-inhand-right + color: "#737373" + - type: Clothing + clothingVisuals: + jumpsuit: + - state: equipped-INNERCLOTHING + color: "#ffffff" + - state: plaintop-equipped-INNERCLOTHING + color: "#ffffff" + - state: tie-equipped-INNERCLOTHING + color: "#2b5c99" + - state: accentalt-equipped-INNERCLOTHING + color: "#2b5c99" + - state: pants-equipped-INNERCLOTHING + color: "#292929" + - state: belt-equipped-INNERCLOTHING + color: "#737373" + - state: loweraccent-equipped-INNERCLOTHING + color: "#2b5c99" + - state: soles-equipped-INNERCLOTHING + color: "#bababa" + +- type: entity + parent: ClothingUniformEnvirosuitCustomBase + id: ClothingUniformEnvirosuitEnviroslacksColorBrown + name: brown enviroslacks + description: The pet project of a particularly posh Plasmaman, this variant has brown pants. Reminds you of dusty offices. + components: + - type: Sprite + layers: + - state: icon + color: "#ffffff" + - state: plaintop-icon + color: "#ffffff" + - state: tie-icon + color: "#a349a4" + - state: accent-icon + color: "#a349a4" + - state: pants-icon + color: "#583f20" + - state: belt-icon + color: "#363636" + - state: beltbuckle_small-icon + color: "#3e3e3e" + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#ffffff" + - state: plaintop-inhand-left + color: "#ffffff" + - state: tie-inhand-left + color: "#a349a4" + - state: accent-inhand-left + color: "#a349a4" + - state: pants-inhand-left + color: "#583f20" + - state: belt-inhand-left + color: "#363636" + - state: beltbuckle_small-inhand-left + color: "#3e3e3e" + right: + - state: inhand-right + color: "#ffffff" + - state: plaintop-inhand-right + color: "#ffffff" + - state: tie-inhand-right + color: "#a349a4" + - state: accent-inhand-right + color: "#a349a4" + - state: pants-inhand-right + color: "#583f20" + - state: belt-inhand-right + color: "#363636" + - state: beltbuckle_small-inhand-right + color: "#3e3e3e" + - type: Clothing + clothingVisuals: + jumpsuit: + - state: equipped-INNERCLOTHING + color: "#ffffff" + - state: plaintop-equipped-INNERCLOTHING + color: "#ffffff" + - state: tie-equipped-INNERCLOTHING + color: "#a349a4" + - state: accentalt-equipped-INNERCLOTHING + color: "#a349a4" + - state: pants-equipped-INNERCLOTHING + color: "#583f20" + - state: belt-equipped-INNERCLOTHING + color: "#363636" + - state: beltbuckle_small-equipped-INNERCLOTHING + color: "#3e3e3e" + - state: loweraccent-equipped-INNERCLOTHING + color: "#a349a4" + - state: soles-equipped-INNERCLOTHING + color: "#bababa" + +- type: entity + parent: ClothingUniformEnvirosuitCustomBase + id: ClothingUniformEnvirosuitEnviroslacksMNK + name: MNK enviroslacks + description: The iconic enviroslacks, with MNK's signature monochrome aesthetic. Classic! + components: + - type: Sprite + layers: + - state: icon + color: "#ffffff" + - state: plaintop-icon + color: "#ffffff" + - state: tie-icon + color: "#363636" + - state: accent-icon + color: "#363636" + - state: pants-icon + color: "#292929" + - state: belt-icon + color: "#737373" + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#ffffff" + - state: plaintop-inhand-left + color: "#ffffff" + - state: tie-inhand-left + color: "#363636" + - state: accent-inhand-left + color: "#363636" + - state: pants-inhand-left + color: "#292929" + - state: belt-inhand-left + color: "#737373" + right: + - state: inhand-right + color: "#ffffff" + - state: plaintop-inhand-right + color: "#ffffff" + - state: tie-inhand-right + color: "#363636" + - state: accent-inhand-right + color: "#363636" + - state: pants-inhand-right + color: "#292929" + - state: belt-inhand-right + color: "#737373" + - type: Clothing + clothingVisuals: + jumpsuit: + - state: equipped-INNERCLOTHING + color: "#ffffff" + - state: plaintop-equipped-INNERCLOTHING + color: "#ffffff" + - state: tie-equipped-INNERCLOTHING + color: "#363636" + - state: accentalt-equipped-INNERCLOTHING + color: "#363636" + - state: pants-equipped-INNERCLOTHING + color: "#292929" + - state: belt-equipped-INNERCLOTHING + color: "#737373" + - state: loweraccent-equipped-INNERCLOTHING + color: "#d6d6d6" + - state: soles-equipped-INNERCLOTHING + color: "#bababa" + +- type: entity + parent: ClothingUniformEnvirosuitCustomBase + id: ClothingUniformEnvirosuitEnviroslacksMNKAlt + name: MNK enviroslacks + description: The iconic enviroslacks, with MNK's signature monochrome aesthetic. Noir! + suffix: Alternative + components: + - type: Sprite + layers: + - state: icon + color: "#3b3b3b" + - state: plaintop-icon + color: "#3b3b3b" + - state: tie-icon + color: "#d6d6d6" + - state: accent-icon + color: "#d6d6d6" + - state: pants-icon + color: "#f2f2f2" + - state: belt-icon + color: "#737373" + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#3b3b3b" + - state: plaintop-inhand-left + color: "#3b3b3b" + - state: tie-inhand-left + color: "#d6d6d6" + - state: accent-inhand-left + color: "#d6d6d6" + - state: pants-inhand-left + color: "#f2f2f2" + - state: belt-inhand-left + color: "#737373" + right: + - state: inhand-right + color: "#3b3b3b" + - state: plaintop-inhand-right + color: "#3b3b3b" + - state: tie-inhand-right + color: "#d6d6d6" + - state: accent-inhand-right + color: "#d6d6d6" + - state: pants-inhand-right + color: "#f2f2f2" + - state: belt-inhand-right + color: "#737373" + - type: Clothing + clothingVisuals: + jumpsuit: + - state: equipped-INNERCLOTHING + color: "#3b3b3b" + - state: plaintop-equipped-INNERCLOTHING + color: "#3b3b3b" + - state: tie-equipped-INNERCLOTHING + color: "#d6d6d6" + - state: accentalt-equipped-INNERCLOTHING + color: "#d6d6d6" + - state: pants-equipped-INNERCLOTHING + color: "#f2f2f2" + - state: belt-equipped-INNERCLOTHING + color: "#737373" + - state: loweraccent-equipped-INNERCLOTHING + color: "#424242" + - state: soles-equipped-INNERCLOTHING + color: "#bababa" + +- type: entity + parent: ClothingUniformEnvirosuitCustomBase + id: ClothingUniformEnvirosuitEnviroslacksPsychologist + name: psychologist enviroslacks + description: The pet project of a particularly posh Plasmaman, this variant was made for the psychologist. Mind-boggling! + components: + - type: Sprite + layers: + - state: icon + color: "#ffffff" + - state: plaintop-icon + color: "#ffffff" + - state: tie-icon + color: "#5ba0cf" + - state: accent-icon + color: "#5ba0cf" + - state: pants-icon + color: "#292929" + - state: belt-icon + color: "#737373" + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#ffffff" + - state: plaintop-inhand-left + color: "#ffffff" + - state: tie-inhand-left + color: "#5ba0cf" + - state: accent-inhand-left + color: "#5ba0cf" + - state: pants-inhand-left + color: "#292929" + - state: belt-inhand-left + color: "#737373" + right: + - state: inhand-right + color: "#ffffff" + - state: plaintop-inhand-right + color: "#ffffff" + - state: tie-inhand-right + color: "#5ba0cf" + - state: accent-inhand-right + color: "#5ba0cf" + - state: pants-inhand-right + color: "#292929" + - state: belt-inhand-right + color: "#737373" + - type: Clothing + clothingVisuals: + jumpsuit: + - state: equipped-INNERCLOTHING + color: "#ffffff" + - state: plaintop-equipped-INNERCLOTHING + color: "#ffffff" + - state: tie-equipped-INNERCLOTHING + color: "#5ba0cf" + - state: accentalt-equipped-INNERCLOTHING + color: "#5ba0cf" + - state: pants-equipped-INNERCLOTHING + color: "#292929" + - state: belt-equipped-INNERCLOTHING + color: "#737373" + - state: loweraccent-equipped-INNERCLOTHING + color: "#5ba0cf" + - state: soles-equipped-INNERCLOTHING + color: "#bababa" + +# Color envirosuits +- type: entity + parent: ClothingUniformEnvirosuitCustomBase + id: ClothingUniformEnvirosuitColorWhite + name: white envirosuit + description: A generic white jumpsuit with no rank markings. + components: + - type: Sprite + layers: + - state: icon + color: "#ffffff" + - state: accent-icon + color: "#a349a4" + - state: corneraccent-icon + color: "#a349a4" + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#ffffff" + - state: accent-inhand-left + color: "#a349a4" + - state: corneraccent-inhand-left + color: "#a349a4" + right: + - state: inhand-right + color: "#ffffff" + - state: accent-inhand-right + color: "#a349a4" + - state: corneraccent-inhand-right + color: "#a349a4" + - type: Clothing + clothingVisuals: + jumpsuit: + - state: equipped-INNERCLOTHING + color: "#ffffff" + - state: accent-equipped-INNERCLOTHING + color: "#a349a4" + - state: loweraccent-equipped-INNERCLOTHING + color: "#a349a4" + - state: corneraccent-equipped-INNERCLOTHING + color: "#a349a4" + - state: soles-equipped-INNERCLOTHING + color: "#bababa" + +- type: entity + parent: ClothingUniformEnvirosuitCustomBase + id: ClothingUniformEnvirosuitColorGrey + name: grey envirosuit + description: A tasteful grey envirosuit that reminds you of the good old days. + components: + - type: Sprite + layers: + - state: icon + color: "#b3b3b3" + - state: accent-icon + color: "#a349a4" + - state: corneraccent-icon + color: "#a349a4" + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#b3b3b3" + - state: accent-inhand-left + color: "#a349a4" + - state: corneraccent-inhand-left + color: "#a349a4" + right: + - state: inhand-right + color: "#b3b3b3" + - state: accent-inhand-right + color: "#a349a4" + - state: corneraccent-inhand-right + color: "#a349a4" + - type: Clothing + clothingVisuals: + jumpsuit: + - state: equipped-INNERCLOTHING + color: "#b3b3b3" + - state: accent-equipped-INNERCLOTHING + color: "#a349a4" + - state: loweraccent-equipped-INNERCLOTHING + color: "#a349a4" + - state: corneraccent-equipped-INNERCLOTHING + color: "#a349a4" + - state: soles-equipped-INNERCLOTHING + color: "#bababa" + +- type: entity + parent: ClothingUniformEnvirosuitCustomBase + id: ClothingUniformEnvirosuitColorBlack + name: black envirosuit + description: A generic black envirosuit with no rank markings. + components: + - type: Sprite + layers: + - state: icon + color: "#3f3f3f" + - state: accent-icon + color: "#a349a4" + - state: corneraccent-icon + color: "#a349a4" + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#3f3f3f" + - state: accent-inhand-left + color: "#a349a4" + - state: corneraccent-inhand-left + color: "#a349a4" + right: + - state: inhand-right + color: "#3f3f3f" + - state: accent-inhand-right + color: "#a349a4" + - state: corneraccent-inhand-right + color: "#a349a4" + - type: Clothing + clothingVisuals: + jumpsuit: + - state: equipped-INNERCLOTHING + color: "#3f3f3f" + - state: accent-equipped-INNERCLOTHING + color: "#a349a4" + - state: loweraccent-equipped-INNERCLOTHING + color: "#a349a4" + - state: corneraccent-equipped-INNERCLOTHING + color: "#a349a4" + - state: soles-equipped-INNERCLOTHING + color: "#bababa" + +- type: entity + parent: ClothingUniformEnvirosuitCustomBase + id: ClothingUniformEnvirosuitColorRed + name: red envirosuit + description: A dark green envirosuit. + components: + - type: Sprite + layers: + - state: icon + color: "#d1423f" + - state: accent-icon + color: "#a349a4" + - state: corneraccent-icon + color: "#a349a4" + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#d1423f" + - state: accent-inhand-left + color: "#a349a4" + - state: corneraccent-inhand-left + color: "#a349a4" + right: + - state: inhand-right + color: "#d1423f" + - state: accent-inhand-right + color: "#a349a4" + - state: corneraccent-inhand-right + color: "#a349a4" + - type: Clothing + clothingVisuals: + jumpsuit: + - state: equipped-INNERCLOTHING + color: "#d1423f" + - state: accent-equipped-INNERCLOTHING + color: "#a349a4" + - state: loweraccent-equipped-INNERCLOTHING + color: "#a349a4" + - state: corneraccent-equipped-INNERCLOTHING + color: "#a349a4" + - state: soles-equipped-INNERCLOTHING + color: "#bababa" + +- type: entity + parent: ClothingUniformEnvirosuitCustomBase + id: ClothingUniformEnvirosuitColorGreen + name: green envirosuit + description: A generic green envirosuit with no rank markings. + components: + - type: Sprite + layers: + - state: icon + color: "#9ed63a" + - state: accent-icon + color: "#a349a4" + - state: corneraccent-icon + color: "#a349a4" + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#9ed63a" + - state: accent-inhand-left + color: "#a349a4" + - state: corneraccent-inhand-left + color: "#a349a4" + right: + - state: inhand-right + color: "#9ed63a" + - state: accent-inhand-right + color: "#a349a4" + - state: corneraccent-inhand-right + color: "#a349a4" + - type: Clothing + clothingVisuals: + jumpsuit: + - state: equipped-INNERCLOTHING + color: "#9ed63a" + - state: accent-equipped-INNERCLOTHING + color: "#a349a4" + - state: loweraccent-equipped-INNERCLOTHING + color: "#a349a4" + - state: corneraccent-equipped-INNERCLOTHING + color: "#a349a4" + - state: soles-equipped-INNERCLOTHING + color: "#bababa" + +- type: entity + parent: ClothingUniformEnvirosuitCustomBase + id: ClothingUniformEnvirosuitColorDarkGreen + name: dark green envirosuit + description: A generic dark green envirosuit with no rank markings. + components: + - type: Sprite + layers: + - state: icon + color: "#79CC26" + - state: accent-icon + color: "#a349a4" + - state: corneraccent-icon + color: "#a349a4" + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#79CC26" + - state: accent-inhand-left + color: "#a349a4" + - state: corneraccent-inhand-left + color: "#a349a4" + right: + - state: inhand-right + color: "#79CC26" + - state: accent-inhand-right + color: "#a349a4" + - state: corneraccent-inhand-right + color: "#a349a4" + - type: Clothing + clothingVisuals: + jumpsuit: + - state: equipped-INNERCLOTHING + color: "#79CC26" + - state: accent-equipped-INNERCLOTHING + color: "#a349a4" + - state: loweraccent-equipped-INNERCLOTHING + color: "#a349a4" + - state: corneraccent-equipped-INNERCLOTHING + color: "#a349a4" + - state: soles-equipped-INNERCLOTHING + color: "#bababa" + +- type: entity + parent: ClothingUniformEnvirosuitCustomBase + id: ClothingUniformEnvirosuitColorBlue + name: blue envirosuit + description: A generic blue envirosuit with no rank markings. + components: + - type: Sprite + layers: + - state: icon + color: "#52aecc" + - state: accent-icon + color: "#a349a4" + - state: corneraccent-icon + color: "#a349a4" + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#52aecc" + - state: accent-inhand-left + color: "#a349a4" + - state: corneraccent-inhand-left + color: "#a349a4" + right: + - state: inhand-right + color: "#52aecc" + - state: accent-inhand-right + color: "#a349a4" + - state: corneraccent-inhand-right + color: "#a349a4" + - type: Clothing + clothingVisuals: + jumpsuit: + - state: equipped-INNERCLOTHING + color: "#52aecc" + - state: accent-equipped-INNERCLOTHING + color: "#a349a4" + - state: loweraccent-equipped-INNERCLOTHING + color: "#a349a4" + - state: corneraccent-equipped-INNERCLOTHING + color: "#a349a4" + - state: soles-equipped-INNERCLOTHING + color: "#bababa" + +- type: entity + parent: ClothingUniformEnvirosuitCustomBase + id: ClothingUniformEnvirosuitColorDarkBlue + name: dark blue envirosuit + description: A generic dark blue envirosuit with no rank markings. + components: + - type: Sprite + layers: + - state: icon + color: "#3285ba" + - state: accent-icon + color: "#a349a4" + - state: corneraccent-icon + color: "#a349a4" + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#3285ba" + - state: accent-inhand-left + color: "#a349a4" + - state: corneraccent-inhand-left + color: "#a349a4" + right: + - state: inhand-right + color: "#3285ba" + - state: accent-inhand-right + color: "#a349a4" + - state: corneraccent-inhand-right + color: "#a349a4" + - type: Clothing + clothingVisuals: + jumpsuit: + - state: equipped-INNERCLOTHING + color: "#3285ba" + - state: accent-equipped-INNERCLOTHING + color: "#a349a4" + - state: loweraccent-equipped-INNERCLOTHING + color: "#a349a4" + - state: corneraccent-equipped-INNERCLOTHING + color: "#a349a4" + - state: soles-equipped-INNERCLOTHING + color: "#bababa" + +- type: entity + parent: ClothingUniformEnvirosuitCustomBase + id: ClothingUniformEnvirosuitColorTeal + name: teal envirosuit + description: A generic teal envirosuit with no rank markings. + components: + - type: Sprite + layers: + - state: icon + color: "#77f3b7" + - state: accent-icon + color: "#a349a4" + - state: corneraccent-icon + color: "#a349a4" + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#77f3b7" + - state: accent-inhand-left + color: "#a349a4" + - state: corneraccent-inhand-left + color: "#a349a4" + right: + - state: inhand-right + color: "#77f3b7" + - state: accent-inhand-right + color: "#a349a4" + - state: corneraccent-inhand-right + color: "#a349a4" + - type: Clothing + clothingVisuals: + jumpsuit: + - state: equipped-INNERCLOTHING + color: "#77f3b7" + - state: accent-equipped-INNERCLOTHING + color: "#a349a4" + - state: loweraccent-equipped-INNERCLOTHING + color: "#a349a4" + - state: corneraccent-equipped-INNERCLOTHING + color: "#a349a4" + - state: soles-equipped-INNERCLOTHING + color: "#bababa" + +- type: entity + parent: ClothingUniformEnvirosuitCustomBase + id: ClothingUniformEnvirosuitColorMaroon + name: maroon envirosuit + description: A generic maroon envirosuit with no rank markings. + components: + - type: Sprite + layers: + - state: icon + color: "#cc295f" + - state: accent-icon + color: "#a349a4" + - state: corneraccent-icon + color: "#a349a4" + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#cc295f" + - state: accent-inhand-left + color: "#a349a4" + - state: corneraccent-inhand-left + color: "#a349a4" + right: + - state: inhand-right + color: "#cc295f" + - state: accent-inhand-right + color: "#a349a4" + - state: corneraccent-inhand-right + color: "#a349a4" + - type: Clothing + clothingVisuals: + jumpsuit: + - state: equipped-INNERCLOTHING + color: "#cc295f" + - state: accent-equipped-INNERCLOTHING + color: "#a349a4" + - state: loweraccent-equipped-INNERCLOTHING + color: "#a349a4" + - state: corneraccent-equipped-INNERCLOTHING + color: "#a349a4" + - state: soles-equipped-INNERCLOTHING + color: "#bababa" + +- type: entity + parent: ClothingUniformEnvirosuitCustomBase + id: ClothingUniformEnvirosuitColorPink + name: pink envirosuit + description: >- + "Plasmamen can't slay" and other jokes you can tell yourself. + components: + - type: Sprite + layers: + - state: icon + color: "#ff8cff" + - state: accent-icon + color: "#8b3e8c" + - state: corneraccent-icon + color: "#8b3e8c" + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#ff8cff" + - state: accent-inhand-left + color: "#8b3e8c" + - state: corneraccent-inhand-left + color: "#8b3e8c" + right: + - state: inhand-right + color: "#ff8cff" + - state: accent-inhand-right + color: "#8b3e8c" + - state: corneraccent-inhand-right + color: "#8b3e8c" + - type: Clothing + clothingVisuals: + jumpsuit: + - state: equipped-INNERCLOTHING + color: "#ff8cff" + - state: accent-equipped-INNERCLOTHING + color: "#8b3e8c" + - state: loweraccent-equipped-INNERCLOTHING + color: "#8b3e8c" + - state: corneraccent-equipped-INNERCLOTHING + color: "#8b3e8c" + - state: soles-equipped-INNERCLOTHING + color: "#bababa" + +- type: entity + parent: ClothingUniformEnvirosuitCustomBase + id: ClothingUniformEnvirosuitColorYellow + name: yellow envirosuit + description: A generic yellow envirosuit with no rank markings. + components: + - type: Sprite + layers: + - state: icon + color: "#ffe14d" + - state: accent-icon + color: "#a349a4" + - state: corneraccent-icon + color: "#a349a4" + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#ffe14d" + - state: accent-inhand-left + color: "#a349a4" + - state: corneraccent-inhand-left + color: "#a349a4" + right: + - state: inhand-right + color: "#ffe14d" + - state: accent-inhand-right + color: "#a349a4" + - state: corneraccent-inhand-right + color: "#a349a4" + - type: Clothing + clothingVisuals: + jumpsuit: + - state: equipped-INNERCLOTHING + color: "#ffe14d" + - state: accent-equipped-INNERCLOTHING + color: "#a349a4" + - state: loweraccent-equipped-INNERCLOTHING + color: "#a349a4" + - state: corneraccent-equipped-INNERCLOTHING + color: "#a349a4" + - state: soles-equipped-INNERCLOTHING + color: "#bababa" + +- type: entity + parent: ClothingUniformEnvirosuitCustomBase + id: ClothingUniformEnvirosuitColorPurple + name: purple envirosuit + description: A generic purple envirosuit with no rank markings. + components: + - type: Sprite + layers: + - state: icon + color: "#9f70cc" + - state: accent-icon + color: "#843b85" + - state: corneraccent-icon + color: "#843b85" + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#9f70cc" + - state: accent-inhand-left + color: "#843b85" + - state: corneraccent-inhand-left + color: "#843b85" + right: + - state: inhand-right + color: "#9f70cc" + - state: accent-inhand-right + color: "#843b85" + - state: corneraccent-inhand-right + color: "#843b85" + - type: Clothing + clothingVisuals: + jumpsuit: + - state: equipped-INNERCLOTHING + color: "#9f70cc" + - state: accent-equipped-INNERCLOTHING + color: "#843b85" + - state: loweraccent-equipped-INNERCLOTHING + color: "#843b85" + - state: corneraccent-equipped-INNERCLOTHING + color: "#843b85" + - state: soles-equipped-INNERCLOTHING + color: "#bababa" + +- type: entity + parent: ClothingUniformEnvirosuitCustomBase + id: ClothingUniformEnvirosuitColorOrange + name: orange envirosuit + description: Don't wear this near paranoid security officers. + components: + - type: Sprite + layers: + - state: icon + color: "#ff8c19" + - state: accent-icon + color: "#a349a4" + - state: corneraccent-icon + color: "#a349a4" + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#ff8c19" + - state: accent-inhand-left + color: "#a349a4" + - state: corneraccent-inhand-left + color: "#a349a4" + right: + - state: inhand-right + color: "#ff8c19" + - state: accent-inhand-right + color: "#a349a4" + - state: corneraccent-inhand-right + color: "#a349a4" + - type: Clothing + clothingVisuals: + jumpsuit: + - state: equipped-INNERCLOTHING + color: "#ff8c19" + - state: accent-equipped-INNERCLOTHING + color: "#a349a4" + - state: loweraccent-equipped-INNERCLOTHING + color: "#a349a4" + - state: corneraccent-equipped-INNERCLOTHING + color: "#a349a4" + - state: soles-equipped-INNERCLOTHING + color: "#bababa" + +- type: entity + parent: ClothingUniformEnvirosuitCustomBase + id: ClothingUniformEnvirosuitColorLightBrown + name: light brown envirosuit + description: A generic light brown envirosuit with no rank markings. + components: + - type: Sprite + layers: + - state: icon + color: "#a17229" + - state: accent-icon + color: "#a349a4" + - state: corneraccent-icon + color: "#a349a4" + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#a17229" + - state: accent-inhand-left + color: "#a349a4" + - state: corneraccent-inhand-left + color: "#a349a4" + right: + - state: inhand-right + color: "#a17229" + - state: accent-inhand-right + color: "#a349a4" + - state: corneraccent-inhand-right + color: "#a349a4" + - type: Clothing + clothingVisuals: + jumpsuit: + - state: equipped-INNERCLOTHING + color: "#a17229" + - state: accent-equipped-INNERCLOTHING + color: "#a349a4" + - state: loweraccent-equipped-INNERCLOTHING + color: "#a349a4" + - state: corneraccent-equipped-INNERCLOTHING + color: "#a349a4" + - state: soles-equipped-INNERCLOTHING + color: "#bababa" + +- type: entity + parent: ClothingUniformEnvirosuitCustomBase + id: ClothingUniformEnvirosuitColorBrown + name: brown envirosuit + description: A generic brown envirosuit with no rank markings. + components: + - type: Sprite + layers: + - state: icon + color: "#543e1b" + - state: accent-icon + color: "#a349a4" + - state: corneraccent-icon + color: "#a349a4" + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#543e1b" + - state: accent-inhand-left + color: "#a349a4" + - state: corneraccent-inhand-left + color: "#a349a4" + right: + - state: inhand-right + color: "#543e1b" + - state: accent-inhand-right + color: "#a349a4" + - state: corneraccent-inhand-right + color: "#a349a4" + - type: Clothing + clothingVisuals: + jumpsuit: + - state: equipped-INNERCLOTHING + color: "#543e1b" + - state: accent-equipped-INNERCLOTHING + color: "#a349a4" + - state: loweraccent-equipped-INNERCLOTHING + color: "#a349a4" + - state: corneraccent-equipped-INNERCLOTHING + color: "#a349a4" + - state: soles-equipped-INNERCLOTHING + color: "#bababa" diff --git a/Resources/Prototypes/Entities/Effects/weapon_arc.yml b/Resources/Prototypes/Entities/Effects/weapon_arc.yml index 0f3fab0e8789..556347f0d9c9 100644 --- a/Resources/Prototypes/Entities/Effects/weapon_arc.yml +++ b/Resources/Prototypes/Entities/Effects/weapon_arc.yml @@ -127,3 +127,29 @@ state: smash - type: TimedDespawn lifetime: 0.299 + +- type: entity + id: WeaponArcPurplePunch # Not inheriting so we don't have EffectVisuals to delete the entity + categories: [ HideSpawnMenu ] # on LightFade animation complete, which causes a + components: # "Predicting the queued deletion of a networked entity" error on tests. + - type: Sprite + sprite: Effects/arcs.rsi + layers: + - state: punch + color: "#ff80f4" + drawdepth: Effects + - type: WeaponArcVisuals + fadeOut: false + - type: TimedDespawn + lifetime: 0.549 + - type: PointLight + radius: 1.13 + energy: 50 + color: "#ff11d5" + netsync: false + - type: LightFade + rampUpDuration: 0.1 + duration: 0.449 + - type: Tag + tags: + - HideContextMenu diff --git a/Resources/Prototypes/Entities/Markers/Spawners/Random/maintenance.yml b/Resources/Prototypes/Entities/Markers/Spawners/Random/maintenance.yml index 794d0fb90c71..90ea582271bc 100644 --- a/Resources/Prototypes/Entities/Markers/Spawners/Random/maintenance.yml +++ b/Resources/Prototypes/Entities/Markers/Spawners/Random/maintenance.yml @@ -319,6 +319,12 @@ id: NitrogenTankFilled - !type:EntSelector id: DoubleEmergencyNitrogenTankFilled + - !type:GroupSelector + children: + - !type:EntSelector + id: PlasmaTankFilled + - !type:EntSelector + id: DoubleEmergencyPlasmaTankFilled - !type:EntSelector id: EmergencyFunnyOxygenTankFilled weight: 0.5 diff --git a/Resources/Prototypes/Entities/Mobs/Customization/Markings/gauze.yml b/Resources/Prototypes/Entities/Mobs/Customization/Markings/gauze.yml index c304e9c53140..7ecca4c59ad8 100644 --- a/Resources/Prototypes/Entities/Mobs/Customization/Markings/gauze.yml +++ b/Resources/Prototypes/Entities/Mobs/Customization/Markings/gauze.yml @@ -298,7 +298,7 @@ id: GauzeMothBlindfold bodyPart: Eyes markingCategory: Overlay - speciesRestriction: [Moth] + speciesRestriction: [Moth, Chitinid] # Delta V - Chitinid coloring: default: type: @@ -312,7 +312,7 @@ id: GauzeMothShoulder bodyPart: Chest markingCategory: Overlay - speciesRestriction: [Moth] + speciesRestriction: [Moth, Chitinid] # Delta V - Chitinid coloring: default: type: @@ -326,7 +326,7 @@ id: GauzeMothStomach bodyPart: Chest markingCategory: Overlay - speciesRestriction: [Moth] + speciesRestriction: [Moth, Chitinid] # Delta V - Chitinid coloring: default: type: @@ -340,7 +340,7 @@ id: GauzeMothLeftEyePatch bodyPart: Eyes markingCategory: Overlay - speciesRestriction: [Moth] + speciesRestriction: [Moth, Chitinid] # Delta V - Chitinid coloring: default: type: @@ -354,7 +354,7 @@ id: GauzeMothLeftEyePad bodyPart: Eyes markingCategory: Overlay - speciesRestriction: [Moth] + speciesRestriction: [Moth, Chitinid] # Delta V - Chitinid coloring: default: type: @@ -368,7 +368,7 @@ id: GauzeMothRightEyePatch bodyPart: Eyes markingCategory: Overlay - speciesRestriction: [Moth] + speciesRestriction: [Moth, Chitinid] # Delta V - Chitinid coloring: default: type: @@ -382,7 +382,7 @@ id: GauzeMothRightEyePad bodyPart: Eyes markingCategory: Overlay - speciesRestriction: [Moth] + speciesRestriction: [Moth, Chitinid] # Delta V - Chitinid coloring: default: type: @@ -396,7 +396,7 @@ id: GauzeMothUpperArmRight bodyPart: RArm markingCategory: Overlay - speciesRestriction: [Moth] + speciesRestriction: [Moth, Chitinid] # Delta V - Chitinid coloring: default: type: @@ -410,7 +410,7 @@ id: GauzeMothUpperArmLeft bodyPart: LArm markingCategory: Overlay - speciesRestriction: [Moth] + speciesRestriction: [Moth, Chitinid] # Delta V - Chitinid coloring: default: type: @@ -424,7 +424,7 @@ id: GauzeMothUpperLegRight bodyPart: RLeg markingCategory: Overlay - speciesRestriction: [Moth] + speciesRestriction: [Moth, Chitinid] # Delta V - Chitinid coloring: default: type: @@ -438,7 +438,7 @@ id: GauzeMothUpperLegLeft bodyPart: LLeg markingCategory: Overlay - speciesRestriction: [Moth] + speciesRestriction: [Moth, Chitinid] # Delta V - Chitinid coloring: default: type: @@ -452,7 +452,7 @@ id: GauzeMothLowerLegRight bodyPart: RFoot markingCategory: Overlay - speciesRestriction: [Moth] + speciesRestriction: [Moth, Chitinid] # Delta V - Chitinid coloring: default: type: @@ -466,7 +466,7 @@ id: GauzeMothLowerLegLeft bodyPart: LFoot markingCategory: Overlay - speciesRestriction: [Moth] + speciesRestriction: [Moth, Chitinid] # Delta V - Chitinid coloring: default: type: diff --git a/Resources/Prototypes/Entities/Mobs/Customization/Markings/tattoos.yml b/Resources/Prototypes/Entities/Mobs/Customization/Markings/tattoos.yml index 5aaf5d4870fb..304726411b1b 100644 --- a/Resources/Prototypes/Entities/Mobs/Customization/Markings/tattoos.yml +++ b/Resources/Prototypes/Entities/Mobs/Customization/Markings/tattoos.yml @@ -114,7 +114,7 @@ id: TattooEyeRight bodyPart: Eyes markingCategory: Head - speciesRestriction: [Human, SlimePerson, Reptilian, Dwarf, Felinid, Oni, Harpy, Lamia] # Delta V - Felinid, Oni, Harpy + speciesRestriction: [Human, SlimePerson, Reptilian, Dwarf, Felinid, Oni, Harpy, Lamia, Plasmaman] # Delta V - Felinid, Oni, Harpy coloring: default: type: @@ -128,7 +128,7 @@ id: TattooEyeLeft bodyPart: Eyes markingCategory: Head - speciesRestriction: [Human, SlimePerson, Reptilian, Dwarf, Felinid, Oni, Harpy, Lamia] # Delta V - Felinid, Oni, Harpy + speciesRestriction: [Human, SlimePerson, Reptilian, Dwarf, Felinid, Oni, Harpy, Lamia, Plasmaman] # Delta V - Felinid, Oni, Harpy coloring: default: type: diff --git a/Resources/Prototypes/Entities/Mobs/Player/plasmaman.yml b/Resources/Prototypes/Entities/Mobs/Player/plasmaman.yml new file mode 100644 index 000000000000..7fa3bf2f8692 --- /dev/null +++ b/Resources/Prototypes/Entities/Mobs/Player/plasmaman.yml @@ -0,0 +1,5 @@ +- type: entity + save: false + name: Urist McPlasma + parent: BaseMobPlasmaman + id: MobPlasmaman diff --git a/Resources/Prototypes/Entities/Mobs/Species/base.yml b/Resources/Prototypes/Entities/Mobs/Species/base.yml index bb27e46ba472..b799482b5d0d 100644 --- a/Resources/Prototypes/Entities/Mobs/Species/base.yml +++ b/Resources/Prototypes/Entities/Mobs/Species/base.yml @@ -312,6 +312,11 @@ heatDamage: types: Heat: 1.5 #per second, scales with temperature & other constants + - type: TemperatureSpeed + thresholds: + 293: 0.8 + 280: 0.6 + 260: 0.4 - type: ThermalRegulator metabolismHeat: 800 radiatedHeat: 100 diff --git a/Resources/Prototypes/Entities/Mobs/Species/moth.yml b/Resources/Prototypes/Entities/Mobs/Species/moth.yml index 721724460cb6..86d8872e3ca8 100644 --- a/Resources/Prototypes/Entities/Mobs/Species/moth.yml +++ b/Resources/Prototypes/Entities/Mobs/Species/moth.yml @@ -68,6 +68,11 @@ heatDamage: types: Heat : 3 #per second, scales with temperature & other constants + - type: TemperatureSpeed + thresholds: + 289: 0.8 + 275: 0.6 + 250: 0.4 - type: Sprite # sprite again because we want different layer ordering noRot: true drawdepth: Mobs diff --git a/Resources/Prototypes/Entities/Mobs/Species/plasmaman.yml b/Resources/Prototypes/Entities/Mobs/Species/plasmaman.yml new file mode 100644 index 000000000000..a79ec0bd10d9 --- /dev/null +++ b/Resources/Prototypes/Entities/Mobs/Species/plasmaman.yml @@ -0,0 +1,156 @@ +- type: entity + parent: BaseMobSpeciesOrganic + id: BaseMobPlasmaman + name: Urist McPlasma + abstract: true + components: + - type: Icon + sprite: Mobs/Species/Plasmaman/parts.rsi + state: full + - type: Sprite + layers: + - map: [ "enum.HumanoidVisualLayers.Chest" ] + - map: [ "enum.HumanoidVisualLayers.Head" ] + - map: [ "enum.HumanoidVisualLayers.Snout" ] + - map: [ "enum.HumanoidVisualLayers.Eyes" ] + - map: [ "enum.HumanoidVisualLayers.Face" ] + - map: [ "enum.HumanoidVisualLayers.RArm" ] + - map: [ "enum.HumanoidVisualLayers.LArm" ] + - map: [ "enum.HumanoidVisualLayers.RLeg" ] + - map: [ "enum.HumanoidVisualLayers.LLeg" ] + - shader: StencilClear + sprite: Mobs/Species/Human/parts.rsi + state: l_leg + - shader: StencilMask + map: ["enum.HumanoidVisualLayers.StencilMask"] + sprite: Mobs/Customization/masking_helpers.rsi + state: unisex_full + visible: false + - map: ["enum.HumanoidVisualLayers.LFoot"] + - map: ["enum.HumanoidVisualLayers.RFoot"] + - map: ["jumpsuit"] # jumpsuit after foot to show envirosuit shoes + - map: ["enum.HumanoidVisualLayers.LHand"] + - map: ["enum.HumanoidVisualLayers.RHand"] + - map: [ "gloves" ] + - map: [ "shoes" ] + - map: [ "ears" ] + - map: [ "innerBelt" ] + - map: [ "innerNeck" ] + - map: [ "outerClothing" ] + - map: [ "eyes" ] + - map: [ "belt" ] + - map: [ "id" ] + - map: [ "neck" ] + - map: [ "back" ] + - map: [ "enum.HumanoidVisualLayers.FacialHair" ] + - map: [ "enum.HumanoidVisualLayers.Hair" ] + - map: [ "enum.HumanoidVisualLayers.HeadSide" ] + - map: [ "enum.HumanoidVisualLayers.HeadTop" ] + - map: [ "enum.HumanoidVisualLayers.Tail" ] + - map: [ "mask" ] + - map: [ "head" ] + - map: [ "pocket1" ] + - map: [ "pocket2" ] + - map: ["enum.HumanoidVisualLayers.Handcuffs"] + color: "#ffffff" + sprite: Objects/Misc/handcuffs.rsi + state: body-overlay-2 + visible: false + - map: [ "clownedon" ] # Dynamically generated + sprite: "Effects/creampie.rsi" + state: "creampie_human" + visible: false + - type: Carriable + - type: Body + prototype: Plasmaman + requiredLegs: 2 + gibSound: /Audio/Effects/bone_rattle.ogg + - type: Bloodstream + bloodlossThreshold: 0 + bleedReductionAmount: 0 + maxBleedAmount: 0 + bloodlossDamage: + types: + Blunt: 0 + bloodlossHealDamage: + types: + Blunt: 0 + bloodRefreshAmount: 0 + bloodRegenerationHunger: 0 + bloodRegenerationThirst: 0 + bloodMaxVolume: 0 + - type: Damageable + damageModifierSet: Plasmaman + - type: DamageVisuals + damageOverlayGroups: + Brute: + sprite: Mobs/Effects/brute_damage.rsi + color: "#555555AA" + Burn: + sprite: Mobs/Effects/burn_damage.rsi + - type: MeleeWeapon + soundHit: + collection: FirePunch + animation: WeaponArcPurplePunch + damage: + types: # oooh scarier extra damage~ + Heat: 5 + Blunt: 2.25 + - type: DamageOnHit + damage: + types: + Heat: 1 + targetParts: [ RightHand, LeftHand ] + - type: Speech + speechVerb: Skeleton + - type: Vocal + sounds: + Male: UnisexPlasmaman + Female: UnisexPlasmaman + Unsexed: UnisexPlasmaman + - type: Butcherable + butcheringType: Spike + spawned: + - id: SheetPlasma1 + amount: 8 + - type: Inventory + templateId: plasmaman + - type: Temperature + heatDamageThreshold: 313 # 40 celsius, -12 from base heat damage threshold + currentTemperature: 270.15 # -3 celsius + specificHeat: 46 + coldDamage: + types: + Cold: 0 + heatDamage: + types: + Heat: 3 + - type: ThermalRegulator + normalBodyTemperature: 270.15 + - type: Flammable + firestackFade: -0.05 + - type: HumanoidAppearance + species: Plasmaman + hideLayersOnEquip: + - Hair + - Snout + - type: TypingIndicator + proto: plasmaman + - type: LanguageKnowledge + speaks: + - TauCetiBasic + - Calcic + understands: + - TauCetiBasic + - Calcic + - type: FootPrints + +- type: entity + parent: BaseSpeciesDummy + id: MobPlasmamanDummy + categories: [ HideSpawnMenu ] + components: + - type: HumanoidAppearance + species: Plasmaman + - type: Inventory + templateId: plasmaman diff --git a/Resources/Prototypes/Entities/Mobs/Species/reptilian.yml b/Resources/Prototypes/Entities/Mobs/Species/reptilian.yml index 49716a058039..1564fc78ecf7 100644 --- a/Resources/Prototypes/Entities/Mobs/Species/reptilian.yml +++ b/Resources/Prototypes/Entities/Mobs/Species/reptilian.yml @@ -58,6 +58,11 @@ heatDamage: types: Heat : 1.5 #per second, scales with temperature & other constants + - type: TemperatureSpeed + thresholds: + 301: 0.8 + 295: 0.6 + 285: 0.4 - type: Wagging - type: LanguageKnowledge speaks: diff --git a/Resources/Prototypes/Entities/Mobs/Species/skeleton.yml b/Resources/Prototypes/Entities/Mobs/Species/skeleton.yml index 5f9812f4909a..60606a92fc9c 100644 --- a/Resources/Prototypes/Entities/Mobs/Species/skeleton.yml +++ b/Resources/Prototypes/Entities/Mobs/Species/skeleton.yml @@ -103,6 +103,15 @@ probability: 0.5 - type: FireVisuals alternateState: Standing + - type: TypingIndicator + proto: skeleton + - type: LanguageKnowledge + speaks: + - TauCetiBasic + - Calcic + understands: + - TauCetiBasic + - Calcic - type: FootPrints - type: LayingDown diff --git a/Resources/Prototypes/Entities/Objects/Devices/translator_implants.yml b/Resources/Prototypes/Entities/Objects/Devices/translator_implants.yml index db9d155db108..9bca76581569 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/translator_implants.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/translator_implants.yml @@ -169,3 +169,18 @@ - Universal spoken: - Universal + +- type: entity + parent: BaseSubdermalImplant + id: ChittinTranslatorImplant + name: chittin translator implant + description: An implant giving the ability to understand and speak Chittin. + categories: [ HideSpawnMenu ] + components: + - type: TranslatorImplant + understood: + - Chittin + spoken: + - Chittin + requires: + - TauCetiBasic diff --git a/Resources/Prototypes/Entities/Objects/Devices/translators.yml b/Resources/Prototypes/Entities/Objects/Devices/translators.yml index 87e8078aa1d7..04b999315325 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/translators.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/translators.yml @@ -254,4 +254,21 @@ - Azaziba requires: - Draconic - - Azaziba \ No newline at end of file + - Azaziba + +- type: entity + id: ChittinTranslator + parent: [ TranslatorPoweredBase ] + name: Chittin translator + description: Translates speech between Chittin and Tau-Ceti Basic. For talking to Chitinids! + components: + - type: HandheldTranslator + spoken: + - TauCetiBasic + - Chittin + understood: + - TauCetiBasic + - Chittin + requires: + - TauCetiBasic + - Chittin \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Misc/extinguisher_refill.yml b/Resources/Prototypes/Entities/Objects/Misc/extinguisher_refill.yml new file mode 100644 index 000000000000..b595862628cd --- /dev/null +++ b/Resources/Prototypes/Entities/Objects/Misc/extinguisher_refill.yml @@ -0,0 +1,34 @@ +- type: entity + parent: BaseItem + id: EnvirosuitExtinguisherRefill + name: envirosuit extinguisher refill + description: A cartridge loaded with a compressed extinguisher mix, used to refill the self-extinguisher on plasma envirosuits. + components: + - type: Sprite + sprite: Objects/Misc/extinguisher_refill.rsi + layers: + - state: icon + - type: Item + sprite: Objects/Misc/extinguisher_refill.rsi + size: Small + - type: SelfExtinguisherRefill + refillAmount: 10 + - type: GuideHelp + guides: [ Plasmaman ] + - type: MeleeWeapon # Same values as double emergency tank + attackRate: 0.9 + wideAnimationRotation: 45 + range: 1.75 + damage: + types: + Blunt: 7.5 + bluntStaminaDamageFactor: 2.5 + heavyRateModifier: 1.25 + heavyDamageBaseModifier: 1.5 + heavyStaminaCost: 10 + maxTargets: 3 + angle: 100 + soundHit: + path: /Audio/Weapons/smash.ogg + - type: DamageOtherOnHit + staminaCost: 5 diff --git a/Resources/Prototypes/Entities/Objects/Misc/translator_implanters.yml b/Resources/Prototypes/Entities/Objects/Misc/translator_implanters.yml index c0a1432688d1..5202719d1339 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/translator_implanters.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/translator_implanters.yml @@ -98,4 +98,12 @@ name: universal translator implant components: - type: Implanter - implant: UniversalTranslatorImplant \ No newline at end of file + implant: UniversalTranslatorImplant + +- type: entity + id: ChittinTranslatorImplanter + parent: [ BaseTranslatorImplanter ] + name: chittin translator implant + components: + - type: Implanter + implant: ChittinTranslatorImplant diff --git a/Resources/Prototypes/Entities/Objects/Tools/gas_tanks.yml b/Resources/Prototypes/Entities/Objects/Tools/gas_tanks.yml index 4db76a979689..0edf59065e61 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/gas_tanks.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/gas_tanks.yml @@ -134,6 +134,19 @@ - type: Clothing sprite: Objects/Tanks/emergency_red.rsi +- type: entity + parent: EmergencyOxygenTank + id: EmergencyPlasmaTank + name: emergency plasma tank + description: An easily portable tank for emergencies. Contains very little plasma, rated for survival use only. + components: + - type: Sprite + sprite: Objects/Tanks/emergency_red.rsi # TODO: emergency plasma tank sprite + - type: Item + sprite: Objects/Tanks/emergency_red.rsi + - type: Clothing + sprite: Objects/Tanks/emergency_red.rsi + - type: entity parent: EmergencyOxygenTank id: ExtendedEmergencyOxygenTank @@ -164,6 +177,19 @@ - type: Clothing sprite: Objects/Tanks/emergency_extended_red.rsi +- type: entity + parent: ExtendedEmergencyOxygenTank + id: ExtendedEmergencyPlasmaTank + name: extended-capacity emergency plasma tank + description: An emergency tank with extended capacity. Technically rated for prolonged use. + components: + - type: Sprite + sprite: Objects/Tanks/emergency_extended_red.rsi # TODO: extended-capacity emergency plasma tank sprite + - type: Item + sprite: Objects/Tanks/emergency_extended_red.rsi + - type: Clothing + sprite: Objects/Tanks/emergency_extended_red.rsi + - type: entity parent: ExtendedEmergencyOxygenTank id: DoubleEmergencyOxygenTank @@ -201,6 +227,19 @@ - type: Clothing sprite: Objects/Tanks/emergency_double_red.rsi +- type: entity + parent: DoubleEmergencyOxygenTank + id: DoubleEmergencyPlasmaTank + name: plasma internals tank + description: A tank of plasma designed to be internals for Plasmamen. + components: + - type: Sprite + sprite: Objects/Tanks/plasmaman.rsi + - type: Item + sprite: Objects/Tanks/plasmaman.rsi + - type: Clothing + sprite: Objects/Tanks/plasmaman.rsi + - type: entity parent: EmergencyOxygenTank id: EmergencyFunnyOxygenTank @@ -243,7 +282,7 @@ parent: GasTankBase id: PlasmaTank name: plasma tank - description: Contains dangerous plasma. Do not inhale. Extremely flammable. + description: Contains dangerous plasma. Do not inhale, unless you're a plasmaman. Extremely flammable. components: - type: Sprite sprite: Objects/Tanks/plasma.rsi diff --git a/Resources/Prototypes/Entities/Objects/Tools/toolbox.yml b/Resources/Prototypes/Entities/Objects/Tools/toolbox.yml index fcb41ceef39b..4cea55becfc5 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/toolbox.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/toolbox.yml @@ -187,6 +187,7 @@ - SyndieSet - SleeperSet - CommunicatorSet + - CommunicatorSetPlasmaman - SmugglerSet - type: ActivatableUI key: enum.ThiefBackpackUIKey.Key diff --git a/Resources/Prototypes/Entities/Structures/Machines/chem_master.yml b/Resources/Prototypes/Entities/Structures/Machines/chem_master.yml index d78ed1182cd7..e3c740cf95e8 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/chem_master.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/chem_master.yml @@ -86,6 +86,7 @@ - type: SolutionContainerManager solutions: buffer: {} + pillBuffer: {} - type: DumpableSolution solution: buffer unlimited: true diff --git a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml index c40f913a586a..eba09008baec 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml @@ -1202,6 +1202,7 @@ - ChemicalPayload # Nyano - SyringeCryostasis - ClothingEyesNightVisionMedicalGoggles + - EnvirosuitExtinguisherRefill # Shitmed Change - EnergyScalpel - EnergyCautery diff --git a/Resources/Prototypes/EstacaoPirata/Catalog/uplink_catalog.yml b/Resources/Prototypes/EstacaoPirata/Catalog/uplink_catalog.yml new file mode 100644 index 000000000000..c972f35f383a --- /dev/null +++ b/Resources/Prototypes/EstacaoPirata/Catalog/uplink_catalog.yml @@ -0,0 +1,9 @@ +- type: listing + id: UplinkSyndicateDeck + name: uplink-syndicate-deck-name + description: uplink-syndicate-deck-desc + productEntity: CardBoxSyndicate + cost: + Telecrystal: 1 + categories: + - UplinkPointless diff --git a/Resources/Prototypes/EstacaoPirata/Entities/Objects/Misc/black_cards.yml b/Resources/Prototypes/EstacaoPirata/Entities/Objects/Misc/black_cards.yml new file mode 100644 index 000000000000..eddc820e2140 --- /dev/null +++ b/Resources/Prototypes/EstacaoPirata/Entities/Objects/Misc/black_cards.yml @@ -0,0 +1,780 @@ +- type: entity + parent: [ BoxCardboard, BaseBagOpenClose ] + id: CardBoxBase + name: deck box + categories: [ HideSpawnMenu ] + components: + - type: Item + size: Small + shape: + - 0,0,1,1 + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + layers: + - state: black_box + - state: black_box_open + map: [ "openLayer" ] + visible: false + - type: Storage + maxItemSize: Normal + grid: + - 0,0,1,1 + whitelist: + components: + - CardDeck + - type: OpenTriggeredStorageFill + contents: + - id: CardDeckBase + amount: 1 + - type: Appearance + +# Frontier: base stack for card stack component +- type: entity + parent: [BaseItem] + id: CardStackBase + name: stack of cards + abstract: true + components: + - type: Item + size: Small + - type: CardStack + - type: StripMenuHidden + - type: ContainerContainer # Frontier + containers: # Frontier + cardstack-container: !type:Container # Frontier +# End Frontier + +- type: entity + parent: CardStackBase + id: CardHandBase + categories: [ HideSpawnMenu ] + name: hand of cards + components: + - type: CardHand + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: singlecard_down_black + - type: UserInterface + interfaces: + enum.CardUiKey.Key: + type: CardHandMenuBoundUserInterface + # - type: ActivatableUI # Frontier + # key: enum.CardUiKey.Key # Frontier + +- type: entity + parent: CardStackBase + id: CardDeckBase + categories: [ HideSpawnMenu ] + name: deck of cards + components: + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: deck_black_full + - type: Item + size: Normal + - type: CardDeck + + +- type: entity + parent: CardBoxBase + id: CardBoxBlack + name: black deck box + components: + - type: Item + size: Small + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + layers: + - state: black_box + - state: black_box_open + map: [ "openLayer" ] + visible: false + - type: OpenTriggeredStorageFill + contents: + - id: CardDeckBlack + amount: 1 + +- type: entity + parent: CardDeckBase + id: CardDeckBlack + name: deck of cards + components: + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: deck_black_full + - type: CardStack + initialContent: + # Clubs + - CardScAceOfClubsBlack + - CardSc2OfClubsBlack + - CardSc3OfClubsBlack + - CardSc4OfClubsBlack + - CardSc5OfClubsBlack + - CardSc6OfClubsBlack + - CardSc7OfClubsBlack + - CardSc8OfClubsBlack + - CardSc9OfClubsBlack + - CardSc10OfClubsBlack + - CardScJackOfClubsBlack + - CardScQueenOfClubsBlack + - CardScKingOfClubsBlack + # Diamonds + - CardScAceOfDiamondsBlack + - CardSc2OfDiamondsBlack + - CardSc3OfDiamondsBlack + - CardSc4OfDiamondsBlack + - CardSc5OfDiamondsBlack + - CardSc6OfDiamondsBlack + - CardSc7OfDiamondsBlack + - CardSc8OfDiamondsBlack + - CardSc9OfDiamondsBlack + - CardSc10OfDiamondsBlack + - CardScJackOfDiamondsBlack + - CardScQueenOfDiamondsBlack + - CardScKingOfDiamondsBlack + # Hearts + - CardScAceOfHeartsBlack + - CardSc2OfHeartsBlack + - CardSc3OfHeartsBlack + - CardSc4OfHeartsBlack + - CardSc5OfHeartsBlack + - CardSc6OfHeartsBlack + - CardSc7OfHeartsBlack + - CardSc8OfHeartsBlack + - CardSc9OfHeartsBlack + - CardSc10OfHeartsBlack + - CardScJackOfHeartsBlack + - CardScQueenOfHeartsBlack + - CardScKingOfHeartsBlack + # Spades + - CardScAceOfSpadesBlack + - CardSc2OfSpadesBlack + - CardSc3OfSpadesBlack + - CardSc4OfSpadesBlack + - CardSc5OfSpadesBlack + - CardSc6OfSpadesBlack + - CardSc7OfSpadesBlack + - CardSc8OfSpadesBlack + - CardSc9OfSpadesBlack + - CardSc10OfSpadesBlack + - CardScJackOfSpadesBlack + - CardScQueenOfSpadesBlack + - CardScKingOfSpadesBlack + # Joker + - CardScJokerBlack + +- type: entity + parent: BaseItem + id: CardBase + name: card + categories: [ HideSpawnMenu ] + components: + - type: EmitSoundOnLand + sound: + collection: cardShove + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: singlecard_down_black + - type: Rotatable + - type: Item + size: Small + - type: UseDelay + delay: 0.5 + - type: Card + backSprite: + - sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: singlecard_down_black + flipped: true + - type: StripMenuHidden + +# region Black Cards + +- type: entity + parent: CardBase + categories: [ HideSpawnMenu ] + id: CardSc2OfClubsBlack + components: + - type: Card + name: card-sc-2-clubs + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_2_of_Clubs_black + +- type: entity + parent: CardBase + categories: [ HideSpawnMenu ] + id: CardSc3OfClubsBlack + components: + - type: Card + name: card-sc-3-clubs + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_3_of_Clubs_black + +- type: entity + parent: CardBase + categories: [ HideSpawnMenu ] + id: CardSc4OfClubsBlack + components: + - type: Card + name: card-sc-4-clubs + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_4_of_Clubs_black + +- type: entity + parent: CardBase + categories: [ HideSpawnMenu ] + id: CardSc5OfClubsBlack + components: + - type: Card + name: card-sc-5-clubs + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_5_of_Clubs_black + +- type: entity + parent: CardBase + categories: [ HideSpawnMenu ] + id: CardSc6OfClubsBlack + components: + - type: Card + name: card-sc-6-clubs + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_6_of_Clubs_black + +- type: entity + parent: CardBase + categories: [ HideSpawnMenu ] + id: CardSc7OfClubsBlack + components: + - type: Card + name: card-sc-7-clubs + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_7_of_Clubs_black + +- type: entity + parent: CardBase + categories: [ HideSpawnMenu ] + id: CardSc8OfClubsBlack + components: + - type: Card + name: card-sc-8-clubs + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_8_of_Clubs_black + +- type: entity + parent: CardBase + categories: [ HideSpawnMenu ] + id: CardSc9OfClubsBlack + components: + - type: Card + name: card-sc-9-clubs + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_9_of_Clubs_black + +- type: entity + parent: CardBase + categories: [ HideSpawnMenu ] + id: CardSc10OfClubsBlack + components: + - type: Card + name: card-sc-10-clubs + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_10_of_Clubs_black + +- type: entity + parent: CardBase + categories: [ HideSpawnMenu ] + id: CardScAceOfClubsBlack + components: + - type: Card + name: card-sc-ace-clubs + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_Ace_of_Clubs_black + + +- type: entity + parent: CardBase + categories: [ HideSpawnMenu ] + id: CardScJackOfClubsBlack + components: + - type: Card + name: card-sc-jack-clubs + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_Jack_of_Clubs_black + +- type: entity + parent: CardBase + categories: [ HideSpawnMenu ] + id: CardScKingOfClubsBlack + components: + - type: Card + name: card-sc-king-clubs + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_King_of_Clubs_black + +- type: entity + parent: CardBase + categories: [ HideSpawnMenu ] + id: CardScQueenOfClubsBlack + components: + - type: Card + name: card-sc-queen-clubs + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_Queen_of_Clubs_black + + +- type: entity + parent: CardBase + categories: [ HideSpawnMenu ] + id: CardScJackOfDiamondsBlack + components: + - type: Card + name: card-sc-jack-diamonds + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_Jack_of_Diamonds_black + +- type: entity + parent: CardBase + categories: [ HideSpawnMenu ] + id: CardScQueenOfDiamondsBlack + components: + - type: Card + name: card-sc-queen-diamonds + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_Queen_of_Diamonds_black + +- type: entity + parent: CardBase + categories: [ HideSpawnMenu ] + id: CardScKingOfDiamondsBlack + components: + - type: Card + name: card-sc-king-diamonds + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_King_of_Diamonds_black + +- type: entity + parent: CardBase + categories: [ HideSpawnMenu ] + id: CardScAceOfDiamondsBlack + components: + - type: Card + name: card-sc-ace-diamonds + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_Ace_of_Diamonds_black + +- type: entity + parent: CardBase + categories: [ HideSpawnMenu ] + id: CardSc2OfDiamondsBlack + components: + - type: Card + name: card-sc-2-diamonds + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_2_of_Diamonds_black + +- type: entity + parent: CardBase + categories: [ HideSpawnMenu ] + id: CardSc3OfDiamondsBlack + components: + - type: Card + name: card-sc-3-diamonds + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_3_of_Diamonds_black + +- type: entity + parent: CardBase + categories: [ HideSpawnMenu ] + id: CardSc4OfDiamondsBlack + components: + - type: Card + name: card-sc-4-diamonds + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_4_of_Diamonds_black + +- type: entity + parent: CardBase + categories: [ HideSpawnMenu ] + id: CardSc5OfDiamondsBlack + components: + - type: Card + name: card-sc-5-diamonds + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_5_of_Diamonds_black + +- type: entity + parent: CardBase + categories: [ HideSpawnMenu ] + id: CardSc6OfDiamondsBlack + components: + - type: Card + name: card-sc-6-diamonds + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_6_of_Diamonds_black + +- type: entity + parent: CardBase + categories: [ HideSpawnMenu ] + id: CardSc7OfDiamondsBlack + components: + - type: Card + name: card-sc-7-diamonds + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_7_of_Diamonds_black + +- type: entity + parent: CardBase + categories: [ HideSpawnMenu ] + id: CardSc8OfDiamondsBlack + components: + - type: Card + name: card-sc-8-diamonds + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_8_of_Diamonds_black + +- type: entity + parent: CardBase + categories: [ HideSpawnMenu ] + id: CardSc9OfDiamondsBlack + components: + - type: Card + name: card-sc-9-diamonds + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_9_of_Diamonds_black + +- type: entity + parent: CardBase + categories: [ HideSpawnMenu ] + id: CardSc10OfDiamondsBlack + components: + - type: Card + name: card-sc-10-diamonds + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_10_of_Diamonds_black + + +- type: entity + parent: CardBase + categories: [ HideSpawnMenu ] + id: CardSc2OfHeartsBlack + components: + - type: Card + name: card-sc-2-hearts + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_2_of_Hearts_black + +- type: entity + parent: CardBase + categories: [ HideSpawnMenu ] + id: CardSc3OfHeartsBlack + components: + - type: Card + name: card-sc-3-hearts + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_3_of_Hearts_black + +- type: entity + parent: CardBase + categories: [ HideSpawnMenu ] + id: CardSc4OfHeartsBlack + components: + - type: Card + name: card-sc-4-hearts + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_4_of_Hearts_black + +- type: entity + parent: CardBase + categories: [ HideSpawnMenu ] + id: CardSc5OfHeartsBlack + components: + - type: Card + name: card-sc-5-hearts + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_5_of_Hearts_black + +- type: entity + parent: CardBase + categories: [ HideSpawnMenu ] + id: CardSc6OfHeartsBlack + components: + - type: Card + name: card-sc-6-hearts + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_6_of_Hearts_black + +- type: entity + parent: CardBase + categories: [ HideSpawnMenu ] + id: CardSc7OfHeartsBlack + components: + - type: Card + name: card-sc-7-hearts + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_7_of_Hearts_black + +- type: entity + parent: CardBase + categories: [ HideSpawnMenu ] + id: CardSc8OfHeartsBlack + components: + - type: Card + name: card-sc-8-hearts + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_8_of_Hearts_black + +- type: entity + parent: CardBase + categories: [ HideSpawnMenu ] + id: CardSc9OfHeartsBlack + components: + - type: Card + name: card-sc-9-hearts + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_9_of_Hearts_black + +- type: entity + parent: CardBase + categories: [ HideSpawnMenu ] + id: CardSc10OfHeartsBlack + components: + - type: Card + name: card-sc-10-hearts + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_10_of_Hearts_black + +- type: entity + parent: CardBase + categories: [ HideSpawnMenu ] + id: CardScKingOfHeartsBlack + components: + - type: Card + name: card-sc-king-hearts + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_King_of_Hearts_black + +- type: entity + parent: CardBase + categories: [ HideSpawnMenu ] + id: CardScQueenOfHeartsBlack + components: + - type: Card + name: card-sc-queen-hearts + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_Queen_of_Hearts_black + +- type: entity + parent: CardBase + categories: [ HideSpawnMenu ] + id: CardScJackOfHeartsBlack + components: + - type: Card + name: card-sc-jack-hearts + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_Jack_of_Hearts_black + +- type: entity + parent: CardBase + categories: [ HideSpawnMenu ] + id: CardScAceOfHeartsBlack + components: + - type: Card + name: card-sc-ace-hearts + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_Ace_of_Hearts_black + + +- type: entity + parent: CardBase + categories: [ HideSpawnMenu ] + id: CardSc2OfSpadesBlack + components: + - type: Card + name: card-sc-2-spades + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_2_of_Spades_black + +- type: entity + parent: CardBase + categories: [ HideSpawnMenu ] + id: CardSc3OfSpadesBlack + components: + - type: Card + name: card-sc-3-spades + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_3_of_Spades_black + +- type: entity + parent: CardBase + categories: [ HideSpawnMenu ] + id: CardSc4OfSpadesBlack + components: + - type: Card + name: card-sc-4-spades + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_4_of_Spades_black + +- type: entity + parent: CardBase + categories: [ HideSpawnMenu ] + id: CardSc5OfSpadesBlack + components: + - type: Card + name: card-sc-5-spades + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_5_of_Spades_black + +- type: entity + parent: CardBase + categories: [ HideSpawnMenu ] + id: CardSc6OfSpadesBlack + components: + - type: Card + name: card-sc-6-spades + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_6_of_Spades_black + +- type: entity + parent: CardBase + categories: [ HideSpawnMenu ] + id: CardSc7OfSpadesBlack + components: + - type: Card + name: card-sc-7-spades + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_7_of_Spades_black + +- type: entity + parent: CardBase + categories: [ HideSpawnMenu ] + id: CardSc8OfSpadesBlack + components: + - type: Card + name: card-sc-8-spades + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_8_of_Spades_black + +- type: entity + parent: CardBase + categories: [ HideSpawnMenu ] + id: CardSc9OfSpadesBlack + components: + - type: Card + name: card-sc-9-spades + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_9_of_Spades_black + + +- type: entity + parent: CardBase + categories: [ HideSpawnMenu ] + id: CardSc10OfSpadesBlack + components: + - type: Card + name: card-sc-10-spades + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_10_of_Spades_black + +- type: entity + parent: CardBase + categories: [ HideSpawnMenu ] + id: CardScKingOfSpadesBlack + components: + - type: Card + name: card-sc-king-spades + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_King_of_Spades_black + +- type: entity + parent: CardBase + categories: [ HideSpawnMenu ] + id: CardScQueenOfSpadesBlack + components: + - type: Card + name: card-sc-queen-spades + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_Queen_of_Spades_black + +- type: entity + parent: CardBase + categories: [ HideSpawnMenu ] + id: CardScJackOfSpadesBlack + components: + - type: Card + name: card-sc-jack-spades + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_Jack_of_Spades_black + +- type: entity + parent: CardBase + categories: [ HideSpawnMenu ] + id: CardScAceOfSpadesBlack + components: + - type: Card + name: card-sc-ace-spades + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_Ace_of_Spades_black + +- type: entity + parent: CardBase + categories: [ HideSpawnMenu ] + id: CardScJokerBlack + components: + - type: Card + name: card-sc-joker + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: black_joker + +# endregion Black Cards diff --git a/Resources/Prototypes/EstacaoPirata/Entities/Objects/Misc/nt_cards.yml b/Resources/Prototypes/EstacaoPirata/Entities/Objects/Misc/nt_cards.yml new file mode 100644 index 000000000000..be802ea5ee3c --- /dev/null +++ b/Resources/Prototypes/EstacaoPirata/Entities/Objects/Misc/nt_cards.yml @@ -0,0 +1,690 @@ + +- type: entity + parent: CardBase + id: CardBaseNanotrasen + name: card + components: + - type: Card + backSprite: + - sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: singlecard_down_nanotrasen + +- type: entity + parent: CardBoxBase + id: CardBoxNanotrasen + name: nanotrasen deck box + components: + - type: Item + size: Small + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + layers: + - state: nanotrasen_box + - state: nanotrasen_box_open + map: [ "openLayer" ] + visible: false + - type: OpenTriggeredStorageFill + contents: + - id: CardDeckNanotrasen + amount: 1 + +- type: entity + parent: CardDeckBase + id: CardDeckNanotrasen + name: deck of cards + components: + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: deck_nanotrasen_full + - type: CardStack + initialContent: + # Clubs + - CardScAceOfClubsNanotrasen + - CardSc2OfClubsNanotrasen + - CardSc3OfClubsNanotrasen + - CardSc4OfClubsNanotrasen + - CardSc5OfClubsNanotrasen + - CardSc6OfClubsNanotrasen + - CardSc7OfClubsNanotrasen + - CardSc8OfClubsNanotrasen + - CardSc9OfClubsNanotrasen + - CardSc10OfClubsNanotrasen + - CardScJackOfClubsNanotrasen + - CardScQueenOfClubsNanotrasen + - CardScKingOfClubsNanotrasen + # Diamonds + - CardScAceOfDiamondsNanotrasen + - CardSc2OfDiamondsNanotrasen + - CardSc3OfDiamondsNanotrasen + - CardSc4OfDiamondsNanotrasen + - CardSc5OfDiamondsNanotrasen + - CardSc6OfDiamondsNanotrasen + - CardSc7OfDiamondsNanotrasen + - CardSc8OfDiamondsNanotrasen + - CardSc9OfDiamondsNanotrasen + - CardSc10OfDiamondsNanotrasen + - CardScJackOfDiamondsNanotrasen + - CardScQueenOfDiamondsNanotrasen + - CardScKingOfDiamondsNanotrasen + # Hearts + - CardScAceOfHeartsNanotrasen + - CardSc2OfHeartsNanotrasen + - CardSc3OfHeartsNanotrasen + - CardSc4OfHeartsNanotrasen + - CardSc5OfHeartsNanotrasen + - CardSc6OfHeartsNanotrasen + - CardSc7OfHeartsNanotrasen + - CardSc8OfHeartsNanotrasen + - CardSc9OfHeartsNanotrasen + - CardSc10OfHeartsNanotrasen + - CardScJackOfHeartsNanotrasen + - CardScQueenOfHeartsNanotrasen + - CardScKingOfHeartsNanotrasen + # Spades + - CardScAceOfSpadesNanotrasen + - CardSc2OfSpadesNanotrasen + - CardSc3OfSpadesNanotrasen + - CardSc4OfSpadesNanotrasen + - CardSc5OfSpadesNanotrasen + - CardSc6OfSpadesNanotrasen + - CardSc7OfSpadesNanotrasen + - CardSc8OfSpadesNanotrasen + - CardSc9OfSpadesNanotrasen + - CardSc10OfSpadesNanotrasen + - CardScJackOfSpadesNanotrasen + - CardScQueenOfSpadesNanotrasen + - CardScKingOfSpadesNanotrasen + # Joker + - CardScJokerNanotrasen + +# region Nanotrasen Cards + +- type: entity + parent: CardBaseNanotrasen + categories: [ HideSpawnMenu ] + id: CardSc2OfClubsNanotrasen + components: + - type: Card + name: card-sc-2-clubs + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_2_of_Clubs_nanotrasen + +- type: entity + parent: CardBaseNanotrasen + categories: [ HideSpawnMenu ] + id: CardSc3OfClubsNanotrasen + components: + - type: Card + name: card-sc-3-clubs + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_3_of_Clubs_nanotrasen + +- type: entity + parent: CardBaseNanotrasen + categories: [ HideSpawnMenu ] + id: CardSc4OfClubsNanotrasen + components: + - type: Card + name: card-sc-4-clubs + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_4_of_Clubs_nanotrasen + +- type: entity + parent: CardBaseNanotrasen + categories: [ HideSpawnMenu ] + id: CardSc5OfClubsNanotrasen + components: + - type: Card + name: card-sc-5-clubs + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_5_of_Clubs_nanotrasen + +- type: entity + parent: CardBaseNanotrasen + categories: [ HideSpawnMenu ] + id: CardSc6OfClubsNanotrasen + components: + - type: Card + name: card-sc-6-clubs + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_6_of_Clubs_nanotrasen + +- type: entity + parent: CardBaseNanotrasen + categories: [ HideSpawnMenu ] + id: CardSc7OfClubsNanotrasen + components: + - type: Card + name: card-sc-7-clubs + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_7_of_Clubs_nanotrasen + +- type: entity + parent: CardBaseNanotrasen + categories: [ HideSpawnMenu ] + id: CardSc8OfClubsNanotrasen + components: + - type: Card + name: card-sc-8-clubs + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_8_of_Clubs_nanotrasen + +- type: entity + parent: CardBaseNanotrasen + categories: [ HideSpawnMenu ] + id: CardSc9OfClubsNanotrasen + components: + - type: Card + name: card-sc-9-clubs + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_9_of_Clubs_nanotrasen + +- type: entity + parent: CardBaseNanotrasen + categories: [ HideSpawnMenu ] + id: CardSc10OfClubsNanotrasen + components: + - type: Card + name: card-sc-10-clubs + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_10_of_Clubs_nanotrasen + +- type: entity + parent: CardBaseNanotrasen + categories: [ HideSpawnMenu ] + id: CardScAceOfClubsNanotrasen + components: + - type: Card + name: card-sc-ace-clubs + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_Ace_of_Clubs_nanotrasen + + +- type: entity + parent: CardBaseNanotrasen + categories: [ HideSpawnMenu ] + id: CardScJackOfClubsNanotrasen + components: + - type: Card + name: card-sc-jack-clubs + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_Jack_of_Clubs_nanotrasen + +- type: entity + parent: CardBaseNanotrasen + categories: [ HideSpawnMenu ] + id: CardScKingOfClubsNanotrasen + components: + - type: Card + name: card-sc-king-clubs + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_King_of_Clubs_nanotrasen + +- type: entity + parent: CardBaseNanotrasen + categories: [ HideSpawnMenu ] + id: CardScQueenOfClubsNanotrasen + components: + - type: Card + name: card-sc-queen-clubs + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_Queen_of_Clubs_nanotrasen + + +- type: entity + parent: CardBaseNanotrasen + categories: [ HideSpawnMenu ] + id: CardScJackOfDiamondsNanotrasen + components: + - type: Card + name: card-sc-jack-diamonds + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_Jack_of_Diamonds_nanotrasen + +- type: entity + parent: CardBaseNanotrasen + categories: [ HideSpawnMenu ] + id: CardScQueenOfDiamondsNanotrasen + components: + - type: Card + name: card-sc-queen-diamonds + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_Queen_of_Diamonds_nanotrasen + +- type: entity + parent: CardBaseNanotrasen + categories: [ HideSpawnMenu ] + id: CardScKingOfDiamondsNanotrasen + components: + - type: Card + name: card-sc-king-diamonds + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_King_of_Diamonds_nanotrasen + +- type: entity + parent: CardBaseNanotrasen + categories: [ HideSpawnMenu ] + id: CardScAceOfDiamondsNanotrasen + components: + - type: Card + name: card-sc-ace-diamonds + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_Ace_of_Diamonds_nanotrasen + +- type: entity + parent: CardBaseNanotrasen + categories: [ HideSpawnMenu ] + id: CardSc2OfDiamondsNanotrasen + components: + - type: Card + name: card-sc-2-diamonds + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_2_of_Diamonds_nanotrasen + +- type: entity + parent: CardBaseNanotrasen + categories: [ HideSpawnMenu ] + id: CardSc3OfDiamondsNanotrasen + components: + - type: Card + name: card-sc-3-diamonds + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_3_of_Diamonds_nanotrasen + +- type: entity + parent: CardBaseNanotrasen + categories: [ HideSpawnMenu ] + id: CardSc4OfDiamondsNanotrasen + components: + - type: Card + name: card-sc-4-diamonds + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_4_of_Diamonds_nanotrasen + +- type: entity + parent: CardBaseNanotrasen + categories: [ HideSpawnMenu ] + id: CardSc5OfDiamondsNanotrasen + components: + - type: Card + name: card-sc-5-diamonds + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_5_of_Diamonds_nanotrasen + +- type: entity + parent: CardBaseNanotrasen + categories: [ HideSpawnMenu ] + id: CardSc6OfDiamondsNanotrasen + components: + - type: Card + name: card-sc-6-diamonds + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_6_of_Diamonds_nanotrasen + +- type: entity + parent: CardBaseNanotrasen + categories: [ HideSpawnMenu ] + id: CardSc7OfDiamondsNanotrasen + components: + - type: Card + name: card-sc-7-diamonds + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_7_of_Diamonds_nanotrasen + +- type: entity + parent: CardBaseNanotrasen + categories: [ HideSpawnMenu ] + id: CardSc8OfDiamondsNanotrasen + components: + - type: Card + name: card-sc-8-diamonds + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_8_of_Diamonds_nanotrasen + +- type: entity + parent: CardBaseNanotrasen + categories: [ HideSpawnMenu ] + id: CardSc9OfDiamondsNanotrasen + components: + - type: Card + name: card-sc-9-diamonds + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_9_of_Diamonds_nanotrasen + +- type: entity + parent: CardBaseNanotrasen + categories: [ HideSpawnMenu ] + id: CardSc10OfDiamondsNanotrasen + components: + - type: Card + name: card-sc-10-diamonds + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_10_of_Diamonds_nanotrasen + + +- type: entity + parent: CardBaseNanotrasen + categories: [ HideSpawnMenu ] + id: CardSc2OfHeartsNanotrasen + components: + - type: Card + name: card-sc-2-hearts + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_2_of_Hearts_nanotrasen + +- type: entity + parent: CardBaseNanotrasen + categories: [ HideSpawnMenu ] + id: CardSc3OfHeartsNanotrasen + components: + - type: Card + name: card-sc-3-hearts + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_3_of_Hearts_nanotrasen + +- type: entity + parent: CardBaseNanotrasen + categories: [ HideSpawnMenu ] + id: CardSc4OfHeartsNanotrasen + components: + - type: Card + name: card-sc-4-hearts + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_4_of_Hearts_nanotrasen + +- type: entity + parent: CardBaseNanotrasen + categories: [ HideSpawnMenu ] + id: CardSc5OfHeartsNanotrasen + components: + - type: Card + name: card-sc-5-hearts + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_5_of_Hearts_nanotrasen + +- type: entity + parent: CardBaseNanotrasen + categories: [ HideSpawnMenu ] + id: CardSc6OfHeartsNanotrasen + components: + - type: Card + name: card-sc-6-hearts + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_6_of_Hearts_nanotrasen + +- type: entity + parent: CardBaseNanotrasen + categories: [ HideSpawnMenu ] + id: CardSc7OfHeartsNanotrasen + components: + - type: Card + name: card-sc-7-hearts + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_7_of_Hearts_nanotrasen + +- type: entity + parent: CardBaseNanotrasen + categories: [ HideSpawnMenu ] + id: CardSc8OfHeartsNanotrasen + components: + - type: Card + name: card-sc-8-hearts + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_8_of_Hearts_nanotrasen + +- type: entity + parent: CardBaseNanotrasen + categories: [ HideSpawnMenu ] + id: CardSc9OfHeartsNanotrasen + components: + - type: Card + name: card-sc-9-hearts + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_9_of_Hearts_nanotrasen + +- type: entity + parent: CardBaseNanotrasen + categories: [ HideSpawnMenu ] + id: CardSc10OfHeartsNanotrasen + components: + - type: Card + name: card-sc-10-hearts + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_10_of_Hearts_nanotrasen + +- type: entity + parent: CardBaseNanotrasen + categories: [ HideSpawnMenu ] + id: CardScKingOfHeartsNanotrasen + components: + - type: Card + name: card-sc-king-hearts + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_King_of_Hearts_nanotrasen + +- type: entity + parent: CardBaseNanotrasen + categories: [ HideSpawnMenu ] + id: CardScQueenOfHeartsNanotrasen + components: + - type: Card + name: card-sc-queen-hearts + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_Queen_of_Hearts_nanotrasen + +- type: entity + parent: CardBaseNanotrasen + categories: [ HideSpawnMenu ] + id: CardScJackOfHeartsNanotrasen + components: + - type: Card + name: card-sc-jack-hearts + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_Jack_of_Hearts_nanotrasen + +- type: entity + parent: CardBaseNanotrasen + categories: [ HideSpawnMenu ] + id: CardScAceOfHeartsNanotrasen + components: + - type: Card + name: card-sc-ace-hearts + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_Ace_of_Hearts_nanotrasen + + +- type: entity + parent: CardBaseNanotrasen + categories: [ HideSpawnMenu ] + id: CardSc2OfSpadesNanotrasen + components: + - type: Card + name: card-sc-2-spades + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_2_of_Spades_nanotrasen + +- type: entity + parent: CardBaseNanotrasen + categories: [ HideSpawnMenu ] + id: CardSc3OfSpadesNanotrasen + components: + - type: Card + name: card-sc-3-spades + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_3_of_Spades_nanotrasen + +- type: entity + parent: CardBaseNanotrasen + categories: [ HideSpawnMenu ] + id: CardSc4OfSpadesNanotrasen + components: + - type: Card + name: card-sc-4-spades + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_4_of_Spades_nanotrasen + +- type: entity + parent: CardBaseNanotrasen + categories: [ HideSpawnMenu ] + id: CardSc5OfSpadesNanotrasen + components: + - type: Card + name: card-sc-5-spades + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_5_of_Spades_nanotrasen + +- type: entity + parent: CardBaseNanotrasen + categories: [ HideSpawnMenu ] + id: CardSc6OfSpadesNanotrasen + components: + - type: Card + name: card-sc-6-spades + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_6_of_Spades_nanotrasen + +- type: entity + parent: CardBaseNanotrasen + categories: [ HideSpawnMenu ] + id: CardSc7OfSpadesNanotrasen + components: + - type: Card + name: card-sc-7-spades + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_7_of_Spades_nanotrasen + +- type: entity + parent: CardBaseNanotrasen + categories: [ HideSpawnMenu ] + id: CardSc8OfSpadesNanotrasen + components: + - type: Card + name: card-sc-8-spades + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_8_of_Spades_nanotrasen + +- type: entity + parent: CardBaseNanotrasen + categories: [ HideSpawnMenu ] + id: CardSc9OfSpadesNanotrasen + components: + - type: Card + name: card-sc-9-spades + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_9_of_Spades_nanotrasen + + +- type: entity + parent: CardBaseNanotrasen + categories: [ HideSpawnMenu ] + id: CardSc10OfSpadesNanotrasen + components: + - type: Card + name: card-sc-10-spades + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_10_of_Spades_nanotrasen + +- type: entity + parent: CardBaseNanotrasen + categories: [ HideSpawnMenu ] + id: CardScKingOfSpadesNanotrasen + components: + - type: Card + name: card-sc-king-spades + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_King_of_Spades_nanotrasen + +- type: entity + parent: CardBaseNanotrasen + categories: [ HideSpawnMenu ] + id: CardScQueenOfSpadesNanotrasen + components: + - type: Card + name: card-sc-queen-spades + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_Queen_of_Spades_nanotrasen + +- type: entity + parent: CardBaseNanotrasen + categories: [ HideSpawnMenu ] + id: CardScJackOfSpadesNanotrasen + components: + - type: Card + name: card-sc-jack-spades + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_Jack_of_Spades_nanotrasen + +- type: entity + parent: CardBaseNanotrasen + categories: [ HideSpawnMenu ] + id: CardScAceOfSpadesNanotrasen + components: + - type: Card + name: card-sc-ace-spades + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_Ace_of_Spades_nanotrasen + +- type: entity + parent: CardBaseNanotrasen + categories: [ HideSpawnMenu ] + id: CardScJokerNanotrasen + components: + - type: Card + name: card-sc-joker + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: nanotrasen_joker + +# endregion Nanotrasen Cards diff --git a/Resources/Prototypes/EstacaoPirata/Entities/Objects/Misc/syndicate_cards.yml b/Resources/Prototypes/EstacaoPirata/Entities/Objects/Misc/syndicate_cards.yml new file mode 100644 index 000000000000..9f8f93cb6a1c --- /dev/null +++ b/Resources/Prototypes/EstacaoPirata/Entities/Objects/Misc/syndicate_cards.yml @@ -0,0 +1,690 @@ + +- type: entity + parent: CardBase + id: CardBaseSyndicate + name: card + components: + - type: Card + backSprite: + - sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: singlecard_down_syndicate + +- type: entity + parent: CardBoxBase + id: CardBoxSyndicate + name: syndicate deck box + components: + - type: Item + size: Small + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + layers: + - state: syndicate_box + - state: syndicate_box_open + map: [ "openLayer" ] + visible: false + - type: OpenTriggeredStorageFill + contents: + - id: CardDeckSyndicate + amount: 1 + +- type: entity + parent: CardDeckBase + id: CardDeckSyndicate + name: deck of cards + components: + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: deck_syndicate_full + - type: CardStack + initialContent: + # Clubs + - CardScAceOfClubsSyndicate + - CardSc2OfClubsSyndicate + - CardSc3OfClubsSyndicate + - CardSc4OfClubsSyndicate + - CardSc5OfClubsSyndicate + - CardSc6OfClubsSyndicate + - CardSc7OfClubsSyndicate + - CardSc8OfClubsSyndicate + - CardSc9OfClubsSyndicate + - CardSc10OfClubsSyndicate + - CardScJackOfClubsSyndicate + - CardScQueenOfClubsSyndicate + - CardScKingOfClubsSyndicate + # Diamonds + - CardScAceOfDiamondsSyndicate + - CardSc2OfDiamondsSyndicate + - CardSc3OfDiamondsSyndicate + - CardSc4OfDiamondsSyndicate + - CardSc5OfDiamondsSyndicate + - CardSc6OfDiamondsSyndicate + - CardSc7OfDiamondsSyndicate + - CardSc8OfDiamondsSyndicate + - CardSc9OfDiamondsSyndicate + - CardSc10OfDiamondsSyndicate + - CardScJackOfDiamondsSyndicate + - CardScQueenOfDiamondsSyndicate + - CardScKingOfDiamondsSyndicate + # Hearts + - CardScAceOfHeartsSyndicate + - CardSc2OfHeartsSyndicate + - CardSc3OfHeartsSyndicate + - CardSc4OfHeartsSyndicate + - CardSc5OfHeartsSyndicate + - CardSc6OfHeartsSyndicate + - CardSc7OfHeartsSyndicate + - CardSc8OfHeartsSyndicate + - CardSc9OfHeartsSyndicate + - CardSc10OfHeartsSyndicate + - CardScJackOfHeartsSyndicate + - CardScQueenOfHeartsSyndicate + - CardScKingOfHeartsSyndicate + # Spades + - CardScAceOfSpadesSyndicate + - CardSc2OfSpadesSyndicate + - CardSc3OfSpadesSyndicate + - CardSc4OfSpadesSyndicate + - CardSc5OfSpadesSyndicate + - CardSc6OfSpadesSyndicate + - CardSc7OfSpadesSyndicate + - CardSc8OfSpadesSyndicate + - CardSc9OfSpadesSyndicate + - CardSc10OfSpadesSyndicate + - CardScJackOfSpadesSyndicate + - CardScQueenOfSpadesSyndicate + - CardScKingOfSpadesSyndicate + # Joker + - CardScJokerSyndicate + +# region Syndicate Cards + +- type: entity + parent: CardBaseSyndicate + categories: [ HideSpawnMenu ] + id: CardSc2OfClubsSyndicate + components: + - type: Card + name: card-sc-2-clubs + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_2_of_Clubs_syndicate + +- type: entity + parent: CardBaseSyndicate + categories: [ HideSpawnMenu ] + id: CardSc3OfClubsSyndicate + components: + - type: Card + name: card-sc-3-clubs + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_3_of_Clubs_syndicate + +- type: entity + parent: CardBaseSyndicate + categories: [ HideSpawnMenu ] + id: CardSc4OfClubsSyndicate + components: + - type: Card + name: card-sc-4-clubs + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_4_of_Clubs_syndicate + +- type: entity + parent: CardBaseSyndicate + categories: [ HideSpawnMenu ] + id: CardSc5OfClubsSyndicate + components: + - type: Card + name: card-sc-5-clubs + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_5_of_Clubs_syndicate + +- type: entity + parent: CardBaseSyndicate + categories: [ HideSpawnMenu ] + id: CardSc6OfClubsSyndicate + components: + - type: Card + name: card-sc-6-clubs + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_6_of_Clubs_syndicate + +- type: entity + parent: CardBaseSyndicate + categories: [ HideSpawnMenu ] + id: CardSc7OfClubsSyndicate + components: + - type: Card + name: card-sc-7-clubs + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_7_of_Clubs_syndicate + +- type: entity + parent: CardBaseSyndicate + categories: [ HideSpawnMenu ] + id: CardSc8OfClubsSyndicate + components: + - type: Card + name: card-sc-8-clubs + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_8_of_Clubs_syndicate + +- type: entity + parent: CardBaseSyndicate + categories: [ HideSpawnMenu ] + id: CardSc9OfClubsSyndicate + components: + - type: Card + name: card-sc-9-clubs + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_9_of_Clubs_syndicate + +- type: entity + parent: CardBaseSyndicate + categories: [ HideSpawnMenu ] + id: CardSc10OfClubsSyndicate + components: + - type: Card + name: card-sc-10-clubs + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_10_of_Clubs_syndicate + +- type: entity + parent: CardBaseSyndicate + categories: [ HideSpawnMenu ] + id: CardScAceOfClubsSyndicate + components: + - type: Card + name: card-sc-ace-clubs + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_Ace_of_Clubs_syndicate + + +- type: entity + parent: CardBaseSyndicate + categories: [ HideSpawnMenu ] + id: CardScJackOfClubsSyndicate + components: + - type: Card + name: card-sc-jack-clubs + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_Jack_of_Clubs_syndicate + +- type: entity + parent: CardBaseSyndicate + categories: [ HideSpawnMenu ] + id: CardScKingOfClubsSyndicate + components: + - type: Card + name: card-sc-king-clubs + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_King_of_Clubs_syndicate + +- type: entity + parent: CardBaseSyndicate + categories: [ HideSpawnMenu ] + id: CardScQueenOfClubsSyndicate + components: + - type: Card + name: card-sc-queen-clubs + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_Queen_of_Clubs_syndicate + + +- type: entity + parent: CardBaseSyndicate + categories: [ HideSpawnMenu ] + id: CardScJackOfDiamondsSyndicate + components: + - type: Card + name: card-sc-jack-diamonds + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_Jack_of_Diamonds_syndicate + +- type: entity + parent: CardBaseSyndicate + categories: [ HideSpawnMenu ] + id: CardScQueenOfDiamondsSyndicate + components: + - type: Card + name: card-sc-queen-diamonds + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_Queen_of_Diamonds_syndicate + +- type: entity + parent: CardBaseSyndicate + categories: [ HideSpawnMenu ] + id: CardScKingOfDiamondsSyndicate + components: + - type: Card + name: card-sc-king-diamonds + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_King_of_Diamonds_syndicate + +- type: entity + parent: CardBaseSyndicate + categories: [ HideSpawnMenu ] + id: CardScAceOfDiamondsSyndicate + components: + - type: Card + name: card-sc-ace-diamonds + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_Ace_of_Diamonds_syndicate + +- type: entity + parent: CardBaseSyndicate + categories: [ HideSpawnMenu ] + id: CardSc2OfDiamondsSyndicate + components: + - type: Card + name: card-sc-2-diamonds + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_2_of_Diamonds_syndicate + +- type: entity + parent: CardBaseSyndicate + categories: [ HideSpawnMenu ] + id: CardSc3OfDiamondsSyndicate + components: + - type: Card + name: card-sc-3-diamonds + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_3_of_Diamonds_syndicate + +- type: entity + parent: CardBaseSyndicate + categories: [ HideSpawnMenu ] + id: CardSc4OfDiamondsSyndicate + components: + - type: Card + name: card-sc-4-diamonds + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_4_of_Diamonds_syndicate + +- type: entity + parent: CardBaseSyndicate + categories: [ HideSpawnMenu ] + id: CardSc5OfDiamondsSyndicate + components: + - type: Card + name: card-sc-5-diamonds + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_5_of_Diamonds_syndicate + +- type: entity + parent: CardBaseSyndicate + categories: [ HideSpawnMenu ] + id: CardSc6OfDiamondsSyndicate + components: + - type: Card + name: card-sc-6-diamonds + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_6_of_Diamonds_syndicate + +- type: entity + parent: CardBaseSyndicate + categories: [ HideSpawnMenu ] + id: CardSc7OfDiamondsSyndicate + components: + - type: Card + name: card-sc-7-diamonds + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_7_of_Diamonds_syndicate + +- type: entity + parent: CardBaseSyndicate + categories: [ HideSpawnMenu ] + id: CardSc8OfDiamondsSyndicate + components: + - type: Card + name: card-sc-8-diamonds + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_8_of_Diamonds_syndicate + +- type: entity + parent: CardBaseSyndicate + categories: [ HideSpawnMenu ] + id: CardSc9OfDiamondsSyndicate + components: + - type: Card + name: card-sc-9-diamonds + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_9_of_Diamonds_syndicate + +- type: entity + parent: CardBaseSyndicate + categories: [ HideSpawnMenu ] + id: CardSc10OfDiamondsSyndicate + components: + - type: Card + name: card-sc-10-diamonds + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_10_of_Diamonds_syndicate + + +- type: entity + parent: CardBaseSyndicate + categories: [ HideSpawnMenu ] + id: CardSc2OfHeartsSyndicate + components: + - type: Card + name: card-sc-2-hearts + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_2_of_Hearts_syndicate + +- type: entity + parent: CardBaseSyndicate + categories: [ HideSpawnMenu ] + id: CardSc3OfHeartsSyndicate + components: + - type: Card + name: card-sc-3-hearts + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_3_of_Hearts_syndicate + +- type: entity + parent: CardBaseSyndicate + categories: [ HideSpawnMenu ] + id: CardSc4OfHeartsSyndicate + components: + - type: Card + name: card-sc-4-hearts + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_4_of_Hearts_syndicate + +- type: entity + parent: CardBaseSyndicate + categories: [ HideSpawnMenu ] + id: CardSc5OfHeartsSyndicate + components: + - type: Card + name: card-sc-5-hearts + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_5_of_Hearts_syndicate + +- type: entity + parent: CardBaseSyndicate + categories: [ HideSpawnMenu ] + id: CardSc6OfHeartsSyndicate + components: + - type: Card + name: card-sc-6-hearts + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_6_of_Hearts_syndicate + +- type: entity + parent: CardBaseSyndicate + categories: [ HideSpawnMenu ] + id: CardSc7OfHeartsSyndicate + components: + - type: Card + name: card-sc-7-hearts + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_7_of_Hearts_syndicate + +- type: entity + parent: CardBaseSyndicate + categories: [ HideSpawnMenu ] + id: CardSc8OfHeartsSyndicate + components: + - type: Card + name: card-sc-8-hearts + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_8_of_Hearts_syndicate + +- type: entity + parent: CardBaseSyndicate + categories: [ HideSpawnMenu ] + id: CardSc9OfHeartsSyndicate + components: + - type: Card + name: card-sc-9-hearts + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_9_of_Hearts_syndicate + +- type: entity + parent: CardBaseSyndicate + categories: [ HideSpawnMenu ] + id: CardSc10OfHeartsSyndicate + components: + - type: Card + name: card-sc-10-hearts + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_10_of_Hearts_syndicate + +- type: entity + parent: CardBaseSyndicate + categories: [ HideSpawnMenu ] + id: CardScKingOfHeartsSyndicate + components: + - type: Card + name: card-sc-king-hearts + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_King_of_Hearts_syndicate + +- type: entity + parent: CardBaseSyndicate + categories: [ HideSpawnMenu ] + id: CardScQueenOfHeartsSyndicate + components: + - type: Card + name: card-sc-queen-hearts + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_Queen_of_Hearts_syndicate + +- type: entity + parent: CardBaseSyndicate + categories: [ HideSpawnMenu ] + id: CardScJackOfHeartsSyndicate + components: + - type: Card + name: card-sc-jack-hearts + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_Jack_of_Hearts_syndicate + +- type: entity + parent: CardBaseSyndicate + categories: [ HideSpawnMenu ] + id: CardScAceOfHeartsSyndicate + components: + - type: Card + name: card-sc-ace-hearts + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_Ace_of_Hearts_syndicate + + +- type: entity + parent: CardBaseSyndicate + categories: [ HideSpawnMenu ] + id: CardSc2OfSpadesSyndicate + components: + - type: Card + name: card-sc-2-spades + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_2_of_Spades_syndicate + +- type: entity + parent: CardBaseSyndicate + categories: [ HideSpawnMenu ] + id: CardSc3OfSpadesSyndicate + components: + - type: Card + name: card-sc-3-spades + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_3_of_Spades_syndicate + +- type: entity + parent: CardBaseSyndicate + categories: [ HideSpawnMenu ] + id: CardSc4OfSpadesSyndicate + components: + - type: Card + name: card-sc-4-spades + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_4_of_Spades_syndicate + +- type: entity + parent: CardBaseSyndicate + categories: [ HideSpawnMenu ] + id: CardSc5OfSpadesSyndicate + components: + - type: Card + name: card-sc-5-spades + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_5_of_Spades_syndicate + +- type: entity + parent: CardBaseSyndicate + categories: [ HideSpawnMenu ] + id: CardSc6OfSpadesSyndicate + components: + - type: Card + name: card-sc-6-spades + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_6_of_Spades_syndicate + +- type: entity + parent: CardBaseSyndicate + categories: [ HideSpawnMenu ] + id: CardSc7OfSpadesSyndicate + components: + - type: Card + name: card-sc-7-spades + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_7_of_Spades_syndicate + +- type: entity + parent: CardBaseSyndicate + categories: [ HideSpawnMenu ] + id: CardSc8OfSpadesSyndicate + components: + - type: Card + name: card-sc-8-spades + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_8_of_Spades_syndicate + +- type: entity + parent: CardBaseSyndicate + categories: [ HideSpawnMenu ] + id: CardSc9OfSpadesSyndicate + components: + - type: Card + name: card-sc-9-spades + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_9_of_Spades_syndicate + + +- type: entity + parent: CardBaseSyndicate + categories: [ HideSpawnMenu ] + id: CardSc10OfSpadesSyndicate + components: + - type: Card + name: card-sc-10-spades + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_10_of_Spades_syndicate + +- type: entity + parent: CardBaseSyndicate + categories: [ HideSpawnMenu ] + id: CardScKingOfSpadesSyndicate + components: + - type: Card + name: card-sc-king-spades + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_King_of_Spades_syndicate + +- type: entity + parent: CardBaseSyndicate + categories: [ HideSpawnMenu ] + id: CardScQueenOfSpadesSyndicate + components: + - type: Card + name: card-sc-queen-spades + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_Queen_of_Spades_syndicate + +- type: entity + parent: CardBaseSyndicate + categories: [ HideSpawnMenu ] + id: CardScJackOfSpadesSyndicate + components: + - type: Card + name: card-sc-jack-spades + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_Jack_of_Spades_syndicate + +- type: entity + parent: CardBaseSyndicate + categories: [ HideSpawnMenu ] + id: CardScAceOfSpadesSyndicate + components: + - type: Card + name: card-sc-ace-spades + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: sc_Ace_of_Spades_syndicate + +- type: entity + parent: CardBaseSyndicate + categories: [ HideSpawnMenu ] + id: CardScJokerSyndicate + components: + - type: Card + name: card-sc-joker + - type: Sprite + sprite: EstacaoPirata/Objects/Misc/cards.rsi + state: syndicate_joker + +# endregion Syndicate Cards diff --git a/Resources/Prototypes/EstacaoPirata/SoundCollections/cards.yml b/Resources/Prototypes/EstacaoPirata/SoundCollections/cards.yml new file mode 100644 index 000000000000..5a7084630c08 --- /dev/null +++ b/Resources/Prototypes/EstacaoPirata/SoundCollections/cards.yml @@ -0,0 +1,50 @@ +- type: soundCollection + id: cardFan + files: + - /Audio/EstacaoPirata/Effects/Cards/cardFan1.ogg + - /Audio/EstacaoPirata/Effects/Cards/cardFan2.ogg + +- type: soundCollection + id: cardOpenPackage + files: + - /Audio/EstacaoPirata/Effects/Cards/cardOpenPackage1.ogg + - /Audio/EstacaoPirata/Effects/Cards/cardOpenPackage2.ogg + +- type: soundCollection + id: cardPlace + files: + - /Audio/EstacaoPirata/Effects/Cards/cardPlace1.ogg + - /Audio/EstacaoPirata/Effects/Cards/cardPlace2.ogg + - /Audio/EstacaoPirata/Effects/Cards/cardPlace3.ogg + - /Audio/EstacaoPirata/Effects/Cards/cardPlace4.ogg + +- type: soundCollection + id: cardShove + files: + - /Audio/EstacaoPirata/Effects/Cards/cardShove1.ogg + - /Audio/EstacaoPirata/Effects/Cards/cardShove2.ogg + - /Audio/EstacaoPirata/Effects/Cards/cardShove3.ogg + - /Audio/EstacaoPirata/Effects/Cards/cardShove4.ogg + +- type: soundCollection + id: cardShuffle + files: + - /Audio/EstacaoPirata/Effects/Cards/cardShuffle.ogg + +- type: soundCollection + id: cardSlide + files: + - /Audio/EstacaoPirata/Effects/Cards/cardSlide1.ogg + - /Audio/EstacaoPirata/Effects/Cards/cardSlide2.ogg + - /Audio/EstacaoPirata/Effects/Cards/cardSlide3.ogg + - /Audio/EstacaoPirata/Effects/Cards/cardSlide4.ogg + - /Audio/EstacaoPirata/Effects/Cards/cardSlide5.ogg + - /Audio/EstacaoPirata/Effects/Cards/cardSlide6.ogg + - /Audio/EstacaoPirata/Effects/Cards/cardSlide7.ogg + - /Audio/EstacaoPirata/Effects/Cards/cardSlide8.ogg + +- type: soundCollection + id: cardTakeOutPackage + files: + - /Audio/EstacaoPirata/Effects/Cards/cardTakeOutPackage1.ogg + - /Audio/EstacaoPirata/Effects/Cards/cardTakeOutPackage2.ogg diff --git a/Resources/Prototypes/Flavors/flavors.yml b/Resources/Prototypes/Flavors/flavors.yml index 7534a8cdc683..bebc40fcc1ee 100644 --- a/Resources/Prototypes/Flavors/flavors.yml +++ b/Resources/Prototypes/Flavors/flavors.yml @@ -1133,3 +1133,8 @@ id: compressed-meat flavorType: Complex description: flavor-complex-compressed-meat + +- type: flavor + id: plasma + flavorType: Complex + description: flavor-complex-plasma diff --git a/Resources/Prototypes/Guidebook/species.yml b/Resources/Prototypes/Guidebook/species.yml index f7b77b7ec6fa..e6d10810a564 100644 --- a/Resources/Prototypes/Guidebook/species.yml +++ b/Resources/Prototypes/Guidebook/species.yml @@ -13,6 +13,8 @@ - IPCs - Harpy - Shadowkin + - Plasmaman + - Chitinid - type: guideEntry id: Arachnid @@ -58,8 +60,13 @@ id: Harpy name: species-name-harpy text: "/ServerInfo/Guidebook/Mobs/Harpy.xml" - + - type: guideEntry id: Shadowkin name: species-name-shadowkin text: "/ServerInfo/Guidebook/Mobs/Shadowkin.xml" + +- type: guideEntry + id: Plasmaman + name: species-name-plasmaman + text: "/ServerInfo/Guidebook/Mobs/Plasmaman.xml" diff --git a/Resources/Prototypes/InventoryTemplates/plasmaman_inventory_template.yml b/Resources/Prototypes/InventoryTemplates/plasmaman_inventory_template.yml new file mode 100644 index 000000000000..c295cf120b1b --- /dev/null +++ b/Resources/Prototypes/InventoryTemplates/plasmaman_inventory_template.yml @@ -0,0 +1,129 @@ +- type: inventoryTemplate + id: plasmaman + slots: + - name: shoes + slotTexture: shoes + slotFlags: FEET + stripTime: 3 + uiWindowPos: 1,0 + strippingWindowPos: 1,3 + displayName: Shoes + - name: jumpsuit + slotTexture: uniform + slotFlags: INNERCLOTHING + stripTime: 6 + uiWindowPos: 0,1 + strippingWindowPos: 0,2 + displayName: Jumpsuit + spawnWhitelist: + tags: + - PlasmamanSafe + - name: outerClothing + slotTexture: suit + slotFlags: OUTERCLOTHING + stripTime: 6 + uiWindowPos: 1,1 + strippingWindowPos: 1,2 + displayName: Suit + - name: gloves + slotTexture: gloves + slotFlags: GLOVES + uiWindowPos: 2,1 + strippingWindowPos: 2,2 + displayName: Gloves + - name: neck + slotTexture: neck + slotFlags: NECK + uiWindowPos: 0,2 + strippingWindowPos: 0,1 + displayName: Neck + - name: mask + slotTexture: mask + slotFlags: MASK + uiWindowPos: 1,2 + strippingWindowPos: 1,1 + displayName: Mask + - name: eyes + slotTexture: glasses + slotFlags: EYES + stripTime: 3 + uiWindowPos: 0,3 + strippingWindowPos: 0,0 + displayName: Eyes + - name: ears + slotTexture: ears + slotFlags: EARS + stripTime: 3 + uiWindowPos: 2,2 + strippingWindowPos: 2,0 + displayName: Ears + - name: head + slotTexture: head + slotFlags: HEAD + uiWindowPos: 1,3 + strippingWindowPos: 1,0 + displayName: Head + spawnWhitelist: + tags: + - PlasmamanSafe + - name: pocket1 + slotTexture: pocket + fullTextureName: template_small + slotFlags: POCKET + slotGroup: MainHotbar + stripTime: 3 + uiWindowPos: 0,3 + strippingWindowPos: 0,4 + dependsOn: jumpsuit + displayName: Pocket 1 + stripHidden: true + - name: pocket2 + slotTexture: pocket + fullTextureName: template_small + slotFlags: POCKET + slotGroup: MainHotbar + stripTime: 3 + uiWindowPos: 2,3 + strippingWindowPos: 1,4 + dependsOn: jumpsuit + displayName: Pocket 2 + stripHidden: true + - name: suitstorage + slotTexture: suit_storage + slotFlags: SUITSTORAGE + slotGroup: MainHotbar + stripTime: 3 + uiWindowPos: 2,0 + strippingWindowPos: 2,5 + dependsOn: outerClothing + dependsOnComponents: + - type: AllowSuitStorage + displayName: Suit Storage + - name: id + slotTexture: id + fullTextureName: template_small + slotFlags: IDCARD + slotGroup: SecondHotbar + stripTime: 6 + uiWindowPos: 2,1 + strippingWindowPos: 2,4 + dependsOn: jumpsuit + displayName: ID + - name: belt + slotTexture: belt + fullTextureName: template_small + slotFlags: BELT + slotGroup: SecondHotbar + stripTime: 6 + uiWindowPos: 3,1 + strippingWindowPos: 1,5 + displayName: Belt + - name: back + slotTexture: back + fullTextureName: template_small + slotFlags: BACK + slotGroup: SecondHotbar + stripTime: 6 + uiWindowPos: 3,0 + strippingWindowPos: 0,5 + displayName: Back diff --git a/Resources/Prototypes/Language/Species-Specific/chittin.yml b/Resources/Prototypes/Language/Species-Specific/chittin.yml new file mode 100644 index 000000000000..e6de43d5a3ca --- /dev/null +++ b/Resources/Prototypes/Language/Species-Specific/chittin.yml @@ -0,0 +1,16 @@ +# Spoken by Chitinids. +- type: language + id: Chittin + isVisibleLanguage: true + speech: + color: "#7d7d7d" + fontId: Only_You + obfuscation: + !type:SyllableObfuscation + minSyllables: 1 # Replacements are really short + maxSyllables: 2 + replacement: + - click + - clack + - buzz + - bizz \ No newline at end of file diff --git a/Resources/Prototypes/Language/Species-Specific/skeleton.yml b/Resources/Prototypes/Language/Species-Specific/skeleton.yml new file mode 100644 index 000000000000..840f00850e8d --- /dev/null +++ b/Resources/Prototypes/Language/Species-Specific/skeleton.yml @@ -0,0 +1,59 @@ +- type: language + id: Calcic + isVisibleLanguage: true + speech: + fontId: LDFComicSans + color: "#e3dac9" + obfuscation: + !type:SyllableObfuscation + minSyllables: 1 + maxSyllables: 4 + replacement: + - k + - ck + - ack + - ick + - cl + - tk + - sk + - isk + - tak + - kl + - hs + - ss + - ks + - lk + - dk + - gk + - ka + - ska + - la + - pk + - wk + - ak + - ik + - ip + - ski + - bk + - kb + - ta + - is + - it + - li + - di + - ds + - ya + - sck + - crk + - hs + - ws + - mk + - aaa + - skraa + - skee + - hss + - raa + - klk + - tk + - stk + - clk diff --git a/Resources/Prototypes/Loadouts/Generic/hands.yml b/Resources/Prototypes/Loadouts/Generic/hands.yml index af5559ee3b87..ec2aec9070ae 100644 --- a/Resources/Prototypes/Loadouts/Generic/hands.yml +++ b/Resources/Prototypes/Loadouts/Generic/hands.yml @@ -10,6 +10,10 @@ requirements: - !type:CharacterItemGroupRequirement group: LoadoutGloves + - !type:CharacterSpeciesRequirement # Use the envirogloves that use the same sprite instead. + inverted: true + species: + - Plasmaman - type: loadout id: LoadoutHandsColorYellowBudget @@ -71,6 +75,10 @@ requirements: - !type:CharacterItemGroupRequirement group: LoadoutGloves + - !type:CharacterSpeciesRequirement + inverted: true + species: + - Plasmaman - type: loadout id: LoadoutHandsGlovesEvening @@ -83,3 +91,7 @@ requirements: - !type:CharacterItemGroupRequirement group: LoadoutGloves + - !type:CharacterSpeciesRequirement # Use the evening envirogloves that use the same sprite instead. + inverted: true + species: + - Plasmaman diff --git a/Resources/Prototypes/Loadouts/Generic/items.yml b/Resources/Prototypes/Loadouts/Generic/items.yml index 24d343c2395b..84889d7ca9ba 100644 --- a/Resources/Prototypes/Loadouts/Generic/items.yml +++ b/Resources/Prototypes/Loadouts/Generic/items.yml @@ -311,6 +311,10 @@ requirements: - !type:CharacterItemGroupRequirement group: LoadoutAirTank + - !type:CharacterSpeciesRequirement + inverted: true + species: + - Plasmaman - type: loadout id: LoadoutItemsExtendedEmergencyOxygenTank @@ -321,6 +325,10 @@ requirements: - !type:CharacterItemGroupRequirement group: LoadoutAirTank + - !type:CharacterSpeciesRequirement + inverted: true + species: + - Plasmaman - type: loadout id: LoadoutItemsDoubleEmergencyOxygenTank @@ -331,6 +339,10 @@ requirements: - !type:CharacterItemGroupRequirement group: LoadoutAirTank + - !type:CharacterSpeciesRequirement + inverted: true + species: + - Plasmaman - type: loadout id: LoadoutItemClothingMaskBreath @@ -433,6 +445,11 @@ cost: 1 items: - DrinkWaterBottleFull + requirements: + - !type:CharacterSpeciesRequirement + inverted: true + species: + - Plasmaman - type: loadout id: LoadoutItemLunchboxGenericFilledRandom @@ -440,6 +457,11 @@ cost: 3 items: - LunchboxGenericFilledRandom + requirements: + - !type:CharacterSpeciesRequirement + inverted: true + species: + - Plasmaman - type: loadout id: LoadoutItemDrinkMREFlask @@ -447,6 +469,11 @@ cost: 2 items: - DrinkMREFlask + requirements: + - !type:CharacterSpeciesRequirement + inverted: true + species: + - Plasmaman # Survival boxes - type: loadout @@ -818,3 +845,28 @@ group: LoadoutPets functions: - !type:LoadoutMakeFollower + +- type: loadout + id: LoadoutItemBlackDeck + category: Items + cost: 3 + canBeHeirloom: false + items: + - CardBoxBlack + requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutCards + +- type: loadout + id: LoadoutItemNTDeck + category: Items + cost: 3 + canBeHeirloom: false + items: + - CardBoxNanotrasen + requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutCards + - !type:CharacterDepartmentRequirement + departments: + - Command diff --git a/Resources/Prototypes/Loadouts/Generic/plasmaman.yml b/Resources/Prototypes/Loadouts/Generic/plasmaman.yml new file mode 100644 index 000000000000..a3dbd169f8a9 --- /dev/null +++ b/Resources/Prototypes/Loadouts/Generic/plasmaman.yml @@ -0,0 +1,723 @@ +# Equipment + +- type: loadout + id: LoadoutSpeciesEnvirosuitExtinguisherRefill + category: Species + cost: 5 + requirements: + - !type:CharacterSpeciesRequirement + species: + - Plasmaman + items: + - EnvirosuitExtinguisherRefill + +- type: loadout + id: LoadoutSpeciesDoubleEmergencyPlasmaTank + category: Species + cost: 6 + canBeHeirloom: true + requirements: + - !type:CharacterSpeciesRequirement + species: + - Plasmaman + items: + - DoubleEmergencyPlasmaTankFilled + +- type: loadout + id: LoadoutSpeciesDrinkMilkCartonAndSyringe + category: Species + cost: 3 + canBeHeirloom: true + requirements: + - !type:CharacterSpeciesRequirement + species: + - Plasmaman + items: + - DrinkMilkCarton + - Syringe + +# Envirogloves + +- type: loadout + id: LoadoutHandsGlovesEnviroglovesColor + category: Hands + cost: 0 + exclusive: true + customColorTint: true + canBeHeirloom: true + requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutGloves + - !type:CharacterSpeciesRequirement + species: + - Plasmaman + items: + - ClothingHandsGlovesEnviroglovesColor + +- type: loadout + id: LoadoutHandsGlovesEnviroglovesEvening + category: Hands + cost: 0 + exclusive: true + customColorTint: true + canBeHeirloom: true + requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutGloves + - !type:CharacterSpeciesRequirement + species: + - Plasmaman + items: + - ClothingHandsGlovesEnviroglovesEvening + +# Envirosuits with paired envirohelms + +- type: loadout + id: LoadoutUniformEnvirosuit + category: Uniform + cost: 0 + exclusive: true + canBeHeirloom: true + guideEntry: Plasmaman + requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutUniformsCivilian + - !type:CharacterSpeciesRequirement + species: + - Plasmaman + - !type:CharacterDepartmentRequirement + inverted: true + departments: + - Security + - Command + items: + - ClothingUniformEnvirosuit + - ClothingHeadEnvirohelm + +- type: loadout + id: LoadoutUniformEnvirosuitBlackPink + category: Uniform + cost: 1 + exclusive: true + canBeHeirloom: true + requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutUniformsCivilian + - !type:CharacterSpeciesRequirement + species: + - Plasmaman + - !type:CharacterDepartmentRequirement + inverted: true + departments: + - Command + items: + - ClothingUniformEnvirosuitBlackPink + - ClothingHeadEnvirohelmBlackPink + +- type: loadout + id: LoadoutUniformEnvirosuitBlackPinkAlt + category: Uniform + cost: 1 + exclusive: true + canBeHeirloom: true + requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutUniformsCivilian + - !type:CharacterSpeciesRequirement + species: + - Plasmaman + - !type:CharacterDepartmentRequirement + inverted: true + departments: + - Security + - Command + items: + - ClothingUniformEnvirosuitBlackPinkAlt + - ClothingHeadEnvirohelmBlackPinkAlt + +- type: loadout + id: LoadoutUniformEnvirosuitMartialGi + category: Uniform + cost: 1 + exclusive: true + requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutUniformsCivilian + - !type:CharacterSpeciesRequirement + species: + - Plasmaman + - !type:CharacterDepartmentRequirement + inverted: true + departments: + - Command + items: + - ClothingUniformEnvirosuitMartialGi + - ClothingHeadEnvirohelmMartialGi + +- type: loadout + id: LoadoutUniformEnvirosuitSafari + category: Uniform + cost: 1 + exclusive: true + requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutUniformsCivilian + - !type:CharacterSpeciesRequirement + species: + - Plasmaman + - !type:CharacterDepartmentRequirement + inverted: true + departments: + - Security + - Command + items: + - ClothingUniformEnvirosuitSafari + - ClothingHeadEnvirohelmSafari + +- type: loadout + id: LoadoutUniformEnvirosuitTrans + category: Uniform + cost: 0 + exclusive: true + canBeHeirloom: true + requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutUniformsCivilian + - !type:CharacterSpeciesRequirement + species: + - Plasmaman + - !type:CharacterDepartmentRequirement + inverted: true + departments: + - Security + - Command + items: + - ClothingUniformEnvirosuitTrans + - ClothingHeadEnvirohelmTrans + +- type: loadout + id: LoadoutUniformEnvirosuitAncientVoid + category: Uniform + cost: 2 + exclusive: true + canBeHeirloom: true + requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutUniformsCivilian + - !type:CharacterSpeciesRequirement + species: + - Plasmaman + - !type:CharacterDepartmentRequirement + inverted: true + departments: + - Command + - !type:CharacterJobRequirement + inverted: true + jobs: + - Librarian # Librarian already starts with this envirosuit + items: + - ClothingUniformEnvirosuitAncientVoid + - ClothingHeadEnvirohelmAncientVoid + +# Colored envirosuits +- type: loadout + id: LoadoutUniformEnvirosuitColorWhite + category: Uniform + cost: 0 + exclusive: true + requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutUniformsCivilian + - !type:CharacterSpeciesRequirement + species: + - Plasmaman + - !type:CharacterDepartmentRequirement + inverted: true + departments: + - Security + - Command + items: + - ClothingUniformEnvirosuitColorWhite + - ClothingHeadEnvirohelmColorWhite + +- type: loadout + id: LoadoutUniformEnvirosuitColorGrey + category: Uniform + cost: 0 + exclusive: true + requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutUniformsCivilian + - !type:CharacterSpeciesRequirement + species: + - Plasmaman + - !type:CharacterDepartmentRequirement + inverted: true + departments: + - Security + - Command + items: + - ClothingUniformEnvirosuitColorGrey + - ClothingHeadEnvirohelmColorGrey + +- type: loadout + id: LoadoutUniformEnvirosuitColorBlack + category: Uniform + cost: 0 + exclusive: true + requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutUniformsCivilian + - !type:CharacterSpeciesRequirement + species: + - Plasmaman + - !type:CharacterDepartmentRequirement + inverted: true + departments: + - Command + items: + - ClothingUniformEnvirosuitColorBlack + - ClothingHeadEnvirohelmColorBlack + +- type: loadout + id: LoadoutUniformEnvirosuitColorRed + category: Uniform + cost: 0 + exclusive: true + requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutUniformsCivilian + - !type:CharacterSpeciesRequirement + species: + - Plasmaman + - !type:CharacterDepartmentRequirement + inverted: true + departments: + - Command + items: + - ClothingUniformEnvirosuitColorRed + - ClothingHeadEnvirohelmColorRed + +- type: loadout + id: LoadoutUniformEnvirosuitColorGreen + category: Uniform + cost: 0 + exclusive: true + requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutUniformsCivilian + - !type:CharacterSpeciesRequirement + species: + - Plasmaman + - !type:CharacterDepartmentRequirement + inverted: true + departments: + - Security + - Command + items: + - ClothingUniformEnvirosuitColorGreen + - ClothingHeadEnvirohelmColorGreen + +- type: loadout + id: LoadoutUniformEnvirosuitColorDarkGreen + category: Uniform + cost: 0 + exclusive: true + requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutUniformsCivilian + - !type:CharacterSpeciesRequirement + species: + - Plasmaman + - !type:CharacterDepartmentRequirement + inverted: true + departments: + - Security + - Command + items: + - ClothingUniformEnvirosuitColorDarkGreen + - ClothingHeadEnvirohelmColorDarkGreen + +- type: loadout + id: LoadoutUniformEnvirosuitColorBlue + category: Uniform + cost: 0 + exclusive: true + requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutUniformsCivilian + - !type:CharacterSpeciesRequirement + species: + - Plasmaman + - !type:CharacterDepartmentRequirement + inverted: true + departments: + - Security + - Command + items: + - ClothingUniformEnvirosuitColorBlue + - ClothingHeadEnvirohelmColorBlue + +- type: loadout + id: LoadoutUniformEnvirosuitColorDarkBlue + category: Uniform + cost: 0 + exclusive: true + requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutUniformsCivilian + - !type:CharacterSpeciesRequirement + species: + - Plasmaman + - !type:CharacterDepartmentRequirement + inverted: true + departments: + - Security + - Command + items: + - ClothingUniformEnvirosuitColorDarkBlue + - ClothingHeadEnvirohelmColorDarkBlue + +- type: loadout + id: LoadoutUniformEnvirosuitColorTeal + category: Uniform + cost: 0 + exclusive: true + requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutUniformsCivilian + - !type:CharacterSpeciesRequirement + species: + - Plasmaman + - !type:CharacterDepartmentRequirement + inverted: true + departments: + - Security + - Command + items: + - ClothingUniformEnvirosuitColorTeal + - ClothingHeadEnvirohelmColorTeal + +- type: loadout + id: LoadoutUniformEnvirosuitColorMaroon + category: Uniform + cost: 0 + exclusive: true + requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutUniformsCivilian + - !type:CharacterSpeciesRequirement + species: + - Plasmaman + - !type:CharacterDepartmentRequirement + inverted: true + departments: + - Security + - Command + items: + - ClothingUniformEnvirosuitColorMaroon + - ClothingHeadEnvirohelmColorMaroon + +- type: loadout + id: LoadoutUniformEnvirosuitColorPink + category: Uniform + cost: 0 + exclusive: true + requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutUniformsCivilian + - !type:CharacterSpeciesRequirement + species: + - Plasmaman + - !type:CharacterDepartmentRequirement + inverted: true + departments: + - Security + - Command + items: + - ClothingUniformEnvirosuitColorPink + - ClothingHeadEnvirohelmColorPink + +- type: loadout + id: LoadoutUniformEnvirosuitColorYellow + category: Uniform + cost: 0 + exclusive: true + requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutUniformsCivilian + - !type:CharacterSpeciesRequirement + species: + - Plasmaman + - !type:CharacterDepartmentRequirement + inverted: true + departments: + - Security + - Command + items: + - ClothingUniformEnvirosuitColorYellow + - ClothingHeadEnvirohelmColorYellow + +- type: loadout + id: LoadoutUniformEnvirosuitColorPurple + category: Uniform + cost: 0 + exclusive: true + requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutUniformsCivilian + - !type:CharacterSpeciesRequirement + species: + - Plasmaman + - !type:CharacterDepartmentRequirement + inverted: true + departments: + - Security + - Command + items: + - ClothingUniformEnvirosuitColorPurple + - ClothingHeadEnvirohelmColorPurple + +- type: loadout + id: LoadoutUniformEnvirosuitColorOrange + category: Uniform + cost: 0 + exclusive: true + requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutUniformsCivilian + - !type:CharacterSpeciesRequirement + species: + - Plasmaman + - !type:CharacterDepartmentRequirement + inverted: true + departments: + - Security + - Command + items: + - ClothingUniformEnvirosuitColorOrange + - ClothingHeadEnvirohelmColorOrange + +- type: loadout + id: LoadoutUniformEnvirosuitColorLightBrown + category: Uniform + cost: 0 + exclusive: true + requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutUniformsCivilian + - !type:CharacterSpeciesRequirement + species: + - Plasmaman + - !type:CharacterDepartmentRequirement + inverted: true + departments: + - Security + - Command + items: + - ClothingUniformEnvirosuitColorLightBrown + - ClothingHeadEnvirohelmColorLightBrown + +- type: loadout + id: LoadoutUniformEnvirosuitColorBrown + category: Uniform + cost: 0 + exclusive: true + requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutUniformsCivilian + - !type:CharacterSpeciesRequirement + species: + - Plasmaman + - !type:CharacterDepartmentRequirement + inverted: true + departments: + - Security + - Command + items: + - ClothingUniformEnvirosuitColorBrown + - ClothingHeadEnvirohelmColorBrown + +# Enviroslacks +- type: loadout + id: LoadoutUniformEnvirosuitEnviroslacks + category: Uniform + cost: 1 + exclusive: true + canBeHeirloom: true + requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutUniformsCivilian + - !type:CharacterSpeciesRequirement + species: + - Plasmaman + - !type:CharacterDepartmentRequirement + inverted: true + departments: + - Security + - Command + items: + - ClothingUniformEnvirosuitEnviroslacks + - ClothingHeadEnvirohelmColorWhite + +- type: loadout + id: LoadoutUniformEnvirosuitEnviroslacksNegative + category: Uniform + cost: 1 + exclusive: true + canBeHeirloom: true + requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutUniformsCivilian + - !type:CharacterSpeciesRequirement + species: + - Plasmaman + - !type:CharacterDepartmentRequirement + inverted: true + departments: + - Security + - Command + items: + - ClothingUniformEnvirosuitEnviroslacksNegative + - ClothingHeadEnvirohelmColorBlack + +- type: loadout + id: LoadoutUniformEnvirosuitEnviroslacksColorRed + category: Uniform + cost: 1 + exclusive: true + canBeHeirloom: true + requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutUniformsCivilian + - !type:CharacterSpeciesRequirement + species: + - Plasmaman + - !type:CharacterDepartmentRequirement + inverted: true + departments: + - Command + items: + - ClothingUniformEnvirosuitEnviroslacksColorRed + - ClothingHeadEnvirohelmEnviroslacksColorRed + +- type: loadout + id: LoadoutUniformEnvirosuitEnviroslacksColorOrange + category: Uniform + cost: 1 + exclusive: true + canBeHeirloom: true + requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutUniformsCivilian + - !type:CharacterSpeciesRequirement + species: + - Plasmaman + - !type:CharacterDepartmentRequirement + inverted: true + departments: + - Command + items: + - ClothingUniformEnvirosuitEnviroslacksColorOrange + - ClothingHeadEnvirohelmEnviroslacksColorOrange + +- type: loadout + id: LoadoutUniformEnvirosuitEnviroslacksColorGreen + category: Uniform + cost: 1 + exclusive: true + canBeHeirloom: true + requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutUniformsCivilian + - !type:CharacterSpeciesRequirement + species: + - Plasmaman + - !type:CharacterDepartmentRequirement + inverted: true + departments: + - Security + - Command + items: + - ClothingUniformEnvirosuitEnviroslacksColorGreen + - ClothingHeadEnvirohelmEnviroslacksColorGreen + +- type: loadout + id: LoadoutUniformEnvirosuitEnviroslacksColorBlue + category: Uniform + cost: 1 + exclusive: true + canBeHeirloom: true + requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutUniformsCivilian + - !type:CharacterSpeciesRequirement + species: + - Plasmaman + - !type:CharacterDepartmentRequirement + inverted: true + departments: + - Command + items: + - ClothingUniformEnvirosuitEnviroslacksColorBlue + - ClothingHeadEnvirohelmEnviroslacksColorBlue + +- type: loadout + id: LoadoutUniformEnvirosuitEnviroslacksColorBrown + category: Uniform + cost: 1 + exclusive: true + canBeHeirloom: true + requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutUniformsCivilian + - !type:CharacterSpeciesRequirement + species: + - Plasmaman + - !type:CharacterDepartmentRequirement + inverted: true + departments: + - Command + items: + - ClothingUniformEnvirosuitEnviroslacksColorBrown + - ClothingHeadEnvirohelmColorWhite + +- type: loadout + id: LoadoutUniformEnvirosuitEnviroslacksMNK + category: Uniform + cost: 1 + exclusive: true + canBeHeirloom: true + requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutUniformsCivilian + - !type:CharacterSpeciesRequirement + species: + - Plasmaman + - !type:CharacterDepartmentRequirement + inverted: true + departments: + - Command + items: + - ClothingUniformEnvirosuitEnviroslacksMNK + - ClothingHeadEnvirohelmEnviroslacksMNK + +- type: loadout + id: LoadoutUniformEnvirosuitEnviroslacksMNKAlt + category: Uniform + cost: 1 + exclusive: true + canBeHeirloom: true + requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutUniformsCivilian + - !type:CharacterSpeciesRequirement + species: + - Plasmaman + - !type:CharacterDepartmentRequirement + inverted: true + departments: + - Command + items: + - ClothingUniformEnvirosuitEnviroslacksMNKAlt + - ClothingHeadEnvirohelmEnviroslacksMNKAlt diff --git a/Resources/Prototypes/Loadouts/Generic/shoes.yml b/Resources/Prototypes/Loadouts/Generic/shoes.yml index cf3cbfb074a5..22e18c2527be 100644 --- a/Resources/Prototypes/Loadouts/Generic/shoes.yml +++ b/Resources/Prototypes/Loadouts/Generic/shoes.yml @@ -248,6 +248,10 @@ requirements: - !type:CharacterItemGroupRequirement group: LoadoutShoes + - !type:CharacterSpeciesRequirement # Due to a visual bug with envirosuits and heels they are disabled for now. + inverted: true + species: + - Plasmaman items: - ClothingShoesHighheelBoots # Socks @@ -295,6 +299,10 @@ requirements: - !type:CharacterItemGroupRequirement group: LoadoutShoes + - !type:CharacterSpeciesRequirement + inverted: true + species: + - Plasmaman items: - ClothingShoesHighHeels @@ -308,6 +316,10 @@ requirements: - !type:CharacterItemGroupRequirement group: LoadoutShoes + - !type:CharacterSpeciesRequirement + inverted: true + species: + - Plasmaman items: - ClothingShoesHighHeelsLong diff --git a/Resources/Prototypes/Loadouts/Generic/uniform.yml b/Resources/Prototypes/Loadouts/Generic/uniform.yml index 3af5f79d8fdb..ea4287b0b19c 100644 --- a/Resources/Prototypes/Loadouts/Generic/uniform.yml +++ b/Resources/Prototypes/Loadouts/Generic/uniform.yml @@ -551,6 +551,7 @@ - Command # Kimono + - type: loadout id: LoadoutClothingJumpsuitKimono category: Uniform diff --git a/Resources/Prototypes/Loadouts/Jobs/Logistics/courier.yml b/Resources/Prototypes/Loadouts/Jobs/Logistics/courier.yml index 2af937ef1a12..ae89a2f422fe 100644 --- a/Resources/Prototypes/Loadouts/Jobs/Logistics/courier.yml +++ b/Resources/Prototypes/Loadouts/Jobs/Logistics/courier.yml @@ -105,3 +105,21 @@ - MailCarrier items: - ClothingUniformSkirtMailCarrier + +- type: loadout + id: LoadoutCourierUniformEnvirosuitMailCarrier + category: JobsLogisticsCourier + cost: 0 + exclusive: true + requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutCourierUniforms + - !type:CharacterJobRequirement + jobs: + - MailCarrier + - !type:CharacterSpeciesRequirement + species: + - Plasmaman + items: + - ClothingUniformEnvirosuitMailCarrier + - ClothingHeadEnvirohelmMailCarrier diff --git a/Resources/Prototypes/Loadouts/Jobs/Security/uncategorized.yml b/Resources/Prototypes/Loadouts/Jobs/Security/uncategorized.yml index c193b8887210..bba1e6d06499 100644 --- a/Resources/Prototypes/Loadouts/Jobs/Security/uncategorized.yml +++ b/Resources/Prototypes/Loadouts/Jobs/Security/uncategorized.yml @@ -1329,3 +1329,39 @@ - Security items: - ClothingUniformJumpsuitSecSummer + +- type: loadout + id: LoadoutSecurityUniformEnvirosuitBlue + category: JobsSecurityAUncategorized + cost: 0 + exclusive: true + requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutSecurityUniforms + - !type:CharacterDepartmentRequirement + departments: + - Security + - !type:CharacterSpeciesRequirement + species: + - Plasmaman + items: + - ClothingUniformEnvirosuitSecBlue + - ClothingHeadEnvirohelmSecBlue + +- type: loadout + id: LoadoutSecurityUniformEnvirosuitGrey + category: JobsSecurityAUncategorized + cost: 0 + exclusive: true + requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutSecurityUniforms + - !type:CharacterDepartmentRequirement + departments: + - Security + - !type:CharacterSpeciesRequirement + species: + - Plasmaman + items: + - ClothingUniformEnvirosuitSecGrey + - ClothingHeadEnvirohelmSecGrey diff --git a/Resources/Prototypes/Mood/genericPositiveEffects.yml b/Resources/Prototypes/Mood/genericPositiveEffects.yml index c3d3acc8a5d0..4b30007611a0 100644 --- a/Resources/Prototypes/Mood/genericPositiveEffects.yml +++ b/Resources/Prototypes/Mood/genericPositiveEffects.yml @@ -1,4 +1,4 @@ -- type: moodEffect +- type: moodEffect id: BeingHugged moodChange: 3 timeout: 120 @@ -52,3 +52,13 @@ moodChange: 5 timeout: 60 # A bit of time before they realize it's gone moodletOnEnd: HeirloomNeutral + +- type: moodEffect + id: PlasmamanIngestMilk + moodChange: 7 + timeout: 60 + +- type: moodEffect + id: PlasmamanIngestPlasma + moodChange: 14 + timeout: 60 diff --git a/Resources/Prototypes/Nyanotrasen/Roles/Jobs/Cargo/mail_carrier.yml b/Resources/Prototypes/Nyanotrasen/Roles/Jobs/Cargo/mail_carrier.yml index 5a90e77a58af..ca4d55c2f863 100644 --- a/Resources/Prototypes/Nyanotrasen/Roles/Jobs/Cargo/mail_carrier.yml +++ b/Resources/Prototypes/Nyanotrasen/Roles/Jobs/Cargo/mail_carrier.yml @@ -13,6 +13,8 @@ - type: startingGear id: MailCarrierGear + subGear: + - MailCarrierPlasmamanGear equipment: head: ClothingHeadMailCarrier jumpsuit: ClothingUniformMailCarrier @@ -24,3 +26,11 @@ innerClothingSkirt: ClothingUniformSkirtMailCarrier satchel: ClothingBackpackSatchelFilled duffelbag: ClothingBackpackDuffelFilled + +- type: startingGear + id: MailCarrierPlasmamanGear + parent: BasePlasmamanGear + equipment: + jumpsuit: ClothingUniformEnvirosuitMailCarrier + head: ClothingHeadEnvirohelmMailCarrier + gloves: ClothingHandsGlovesEnviroglovesWhite diff --git a/Resources/Prototypes/Nyanotrasen/Roles/Jobs/Epistemics/forensicmantis.yml b/Resources/Prototypes/Nyanotrasen/Roles/Jobs/Epistemics/forensicmantis.yml index 6a143a78b116..03958bab5293 100644 --- a/Resources/Prototypes/Nyanotrasen/Roles/Jobs/Epistemics/forensicmantis.yml +++ b/Resources/Prototypes/Nyanotrasen/Roles/Jobs/Epistemics/forensicmantis.yml @@ -43,6 +43,8 @@ - type: startingGear id: ForensicMantisGear + subGear: + - ForensicMantisPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitMantis back: ClothingBackpackMantisFilled @@ -58,3 +60,11 @@ innerClothingSkirt: ClothingUniformSkirtMantis satchel: ClothingBackpackSatchelMantisFilled duffelbag: ClothingBackpackDuffelMantisFilled + +- type: startingGear + id: ForensicMantisPlasmamanGear + parent: BasePlasmamanGear + equipment: + jumpsuit: ClothingUniformEnvirosuitMantis + head: ClothingHeadEnvirohelmMantis + gloves: ClothingHandsGlovesEnviroglovesWhite diff --git a/Resources/Prototypes/Nyanotrasen/Roles/Jobs/Security/prisonguard.yml b/Resources/Prototypes/Nyanotrasen/Roles/Jobs/Security/prisonguard.yml index b82178a936ff..7edfc3644159 100644 --- a/Resources/Prototypes/Nyanotrasen/Roles/Jobs/Security/prisonguard.yml +++ b/Resources/Prototypes/Nyanotrasen/Roles/Jobs/Security/prisonguard.yml @@ -23,10 +23,16 @@ special: - !type:AddImplantSpecial implants: [ MindShieldImplant ] - + afterLoadoutSpecial: + - !type:ModifyEnvirosuitSpecial + charges: 6 + - !type:ModifyEnvirohelmSpecial + powerCell: PowerCellHigh - type: startingGear id: PrisonGuardGear + subGear: + - PrisonGuardPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitPrisonGuard back: ClothingBackpackSecurityFilled @@ -39,3 +45,11 @@ innerClothingSkirt: ClothingUniformJumpsuitPrisonGuard satchel: ClothingBackpackSatchelSecurityFilled duffelbag: ClothingBackpackDuffelSecurityFilled + +- type: startingGear + id: PrisonGuardPlasmamanGear + parent: BasePlasmamanSecurityGear + equipment: + jumpsuit: ClothingUniformEnvirosuitPrisonGuard + head: ClothingHeadEnvirohelmPrisonGuard + gloves: ClothingHandsGlovesEnviroglovesBlack diff --git a/Resources/Prototypes/Nyanotrasen/Roles/Jobs/Wildcards/gladiator.yml b/Resources/Prototypes/Nyanotrasen/Roles/Jobs/Wildcards/gladiator.yml index b2d54651e478..6b1c809c461e 100644 --- a/Resources/Prototypes/Nyanotrasen/Roles/Jobs/Wildcards/gladiator.yml +++ b/Resources/Prototypes/Nyanotrasen/Roles/Jobs/Wildcards/gladiator.yml @@ -18,9 +18,16 @@ - !type:AddTraitSpecial traits: - MartialArtist + afterLoadoutSpecial: + - !type:ModifyEnvirosuitSpecial + charges: 3 + - !type:ModifyEnvirohelmSpecial + powerCell: PowerCellPotato - type: startingGear id: NyanoGladiatorGear + subGear: + - GladiatorPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitGladiator outerClothing: ClothingOuterArmorGladiator @@ -28,3 +35,11 @@ ears: ClothingHeadsetGrey innerClothingSkirt: UniformShortsRedWithTop #any other possessions, spawn in cell + +- type: startingGear + id: GladiatorPlasmamanGear + parent: BasePlasmamanGear + equipment: + jumpsuit: ClothingUniformEnvirosuitGladiator + head: ClothingHeadEnvirohelmGladiator + gloves: ClothingHandsGlovesEnviroglovesGladiator diff --git a/Resources/Prototypes/Nyanotrasen/Roles/Jobs/Wildcards/martialartist.yml b/Resources/Prototypes/Nyanotrasen/Roles/Jobs/Wildcards/martialartist.yml index de6212dacf94..7f336d8a7c9a 100644 --- a/Resources/Prototypes/Nyanotrasen/Roles/Jobs/Wildcards/martialartist.yml +++ b/Resources/Prototypes/Nyanotrasen/Roles/Jobs/Wildcards/martialartist.yml @@ -22,6 +22,8 @@ - type: startingGear id: MartialArtistGear + subGear: + - MartialArtistPlasmamanGear equipment: jumpsuit: ClothingUniformMartialGi belt: ClothingBeltMartialBlack @@ -32,3 +34,12 @@ gloves: ClothingHandsGlovesBoxingRed satchel: ClothingBackpackSatchelFilled duffelbag: ClothingBackpackDuffelFilled + +- type: startingGear + id: MartialArtistPlasmamanGear + parent: BasePlasmamanGear + equipment: + jumpsuit: ClothingUniformEnvirosuitMartialGi + head: ClothingHeadEnvirohelmMartialGi + # No envirogloves, use the boxing gloves instead + shoes: ClothingShoesColorBlack diff --git a/Resources/Prototypes/Nyanotrasen/Roles/Jobs/Wildcards/prisoner.yml b/Resources/Prototypes/Nyanotrasen/Roles/Jobs/Wildcards/prisoner.yml index e892a480413a..de1e8fc39acb 100644 --- a/Resources/Prototypes/Nyanotrasen/Roles/Jobs/Wildcards/prisoner.yml +++ b/Resources/Prototypes/Nyanotrasen/Roles/Jobs/Wildcards/prisoner.yml @@ -17,12 +17,27 @@ - !type:AddComponentSpecial components: - type: Pacified + afterLoadoutSpecial: + - !type:ModifyEnvirosuitSpecial + charges: 3 # Poor prisoners with not a lot of self-extinguishes. + - !type:ModifyEnvirohelmSpecial + powerCell: PowerCellPotato - type: startingGear id: PrisonerGear + subGear: + - PrisonerPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitPrisoner shoes: ClothingShoesColorBlack id: PrisonerPDA ears: ClothingHeadsetPrison #deltaV innerClothingSkirt: ClothingUniformJumpsuitPrisoner + +- type: startingGear + id: PrisonerPlasmamanGear + parent: BasePlasmamanGear + equipment: + jumpsuit: ClothingUniformEnvirosuitPrisoner + head: ClothingHeadEnvirohelmPrisoner + gloves: ClothingHandsGlovesEnviroglovesBlack diff --git a/Resources/Prototypes/Nyanotrasen/metempsychoticHumanoids.yml b/Resources/Prototypes/Nyanotrasen/metempsychoticHumanoids.yml index 891067b1c1fb..2502441d6c26 100644 --- a/Resources/Prototypes/Nyanotrasen/metempsychoticHumanoids.yml +++ b/Resources/Prototypes/Nyanotrasen/metempsychoticHumanoids.yml @@ -11,3 +11,4 @@ Reptilian: 0.5 SlimePerson: 0.5 Vulpkanin: 0.5 + Plasmaman: 0.25 diff --git a/Resources/Prototypes/Objectives/objectiveGroups.yml b/Resources/Prototypes/Objectives/objectiveGroups.yml index 16dc7c6d310a..68deacd78471 100644 --- a/Resources/Prototypes/Objectives/objectiveGroups.yml +++ b/Resources/Prototypes/Objectives/objectiveGroups.yml @@ -31,7 +31,8 @@ - type: weightedRandom id: TraitorObjectiveGroupKill weights: - KillRandomPersonObjective: 1 + # KillRandomPersonObjective: 1 # DeltaV Replaced for Teach Lesson + TeachLessonRandomPersonObjective: 1 KillRandomHeadObjective: 0.25 - type: weightedRandom diff --git a/Resources/Prototypes/Reagents/Consumable/Drink/drinks.yml b/Resources/Prototypes/Reagents/Consumable/Drink/drinks.yml index 3f9fb7b53d28..52b653315340 100644 --- a/Resources/Prototypes/Reagents/Consumable/Drink/drinks.yml +++ b/Resources/Prototypes/Reagents/Consumable/Drink/drinks.yml @@ -266,6 +266,25 @@ effects: - !type:SatiateThirst factor: 4 + - !type:HealthChange + conditions: + - !type:OrganType + type: Plasmaman + damage: + groups: + Brute: -0.90 + types: + Heat: -0.30 + Shock: -0.30 + Caustic: -0.30 + - !type:ChemAddMoodlet + conditions: + - !type:OrganType + type: Plasmaman + - !type:ReagentThreshold + reagent: Milk + min: 4 + moodPrototype: PlasmamanIngestMilk - type: reagent id: MilkGoat diff --git a/Resources/Prototypes/Reagents/gases.yml b/Resources/Prototypes/Reagents/gases.yml index caa2e5acdc6d..b81b639b8bdf 100644 --- a/Resources/Prototypes/Reagents/gases.yml +++ b/Resources/Prototypes/Reagents/gases.yml @@ -32,6 +32,9 @@ - !type:OrganType type: Vox shouldHave: false + - !type:OrganType + type: Plasmaman + shouldHave: false ratios: CarbonDioxide: 1.0 Oxygen: -1.0 @@ -46,7 +49,7 @@ Poison: 7 - !type:AdjustAlert - alertType: Toxins + alertType: HighOxygen conditions: - !type:ReagentThreshold min: 0.5 @@ -54,6 +57,25 @@ type: Vox clear: true time: 5 + - !type:HealthChange + conditions: + - !type:OrganType + type: Plasmaman + scaleByQuantity: true + ignoreResistances: true + damage: + types: + Poison: + 7 + - !type:AdjustAlert + alertType: HighOxygen + conditions: + - !type:ReagentThreshold + min: 0.5 + - !type:OrganType + type: Plasmaman + clear: true + time: 5 - type: reagent id: Plasma @@ -72,15 +94,27 @@ Poison: effects: - !type:HealthChange + conditions: + - !type:OrganType + type: Plasmaman + shouldHave: false damage: types: Poison: 3 - !type:AdjustReagent + conditions: + - !type:OrganType + type: Plasmaman + shouldHave: false reagent: Inaprovaline amount: -2.0 Gas: effects: - !type:HealthChange + conditions: + - !type:OrganType + type: Plasmaman + shouldHave: false scaleByQuantity: true ignoreResistances: true damage: @@ -91,10 +125,48 @@ - !type:AdjustAlert alertType: Toxins conditions: + - !type:OrganType + type: Plasmaman + shouldHave: false - !type:ReagentThreshold min: 1.5 clear: True time: 5 + - !type:Oxygenate + factor: 4 + conditions: + - !type:OrganType + type: Plasmaman + - !type:ModifyLungGas + conditions: + - !type:OrganType + type: Plasmaman + ratios: + Nitrogen: 1.0 # Interesting exhale for plasmamen + Plasma: -1.0 + Medicine: + effects: + - !type:HealthChange + conditions: + - !type:OrganType + type: Plasmaman + damage: + groups: + Brute: -2 + types: + Heat: -0.66 + Shock: -0.66 + Caustic: -0.66 + Asphyxiation: -0.66 + Poison: -0.66 + - !type:ChemAddMoodlet + conditions: + - !type:OrganType + type: Plasmaman + - !type:ReagentThreshold + reagent: Plasma + min: 4 + moodPrototype: PlasmamanIngestPlasma reactiveEffects: Flammable: methods: [ Touch ] diff --git a/Resources/Prototypes/Recipes/Lathes/medical.yml b/Resources/Prototypes/Recipes/Lathes/medical.yml index 29f3fed247bb..37b400802c5a 100644 --- a/Resources/Prototypes/Recipes/Lathes/medical.yml +++ b/Resources/Prototypes/Recipes/Lathes/medical.yml @@ -262,3 +262,11 @@ Silver: 100 Gold: 100 Plasma: 200 + +- type: latheRecipe + id: EnvirosuitExtinguisherRefill + result: EnvirosuitExtinguisherRefill + completetime: 3 + materials: + Steel: 200 + Plasma: 50 diff --git a/Resources/Prototypes/Research/civilianservices.yml b/Resources/Prototypes/Research/civilianservices.yml index 0aa31a5f6e0d..dd4ea9f163fe 100644 --- a/Resources/Prototypes/Research/civilianservices.yml +++ b/Resources/Prototypes/Research/civilianservices.yml @@ -105,6 +105,7 @@ - CloningConsoleComputerCircuitboard - MedicalScannerMachineCircuitboard - MetempsychoticMachineCircuitboard + - EnvirosuitExtinguisherRefill - type: technology id: HONKMech diff --git a/Resources/Prototypes/Roles/Antags/nukeops.yml b/Resources/Prototypes/Roles/Antags/nukeops.yml index 7b2d9893b606..2490243c83ea 100644 --- a/Resources/Prototypes/Roles/Antags/nukeops.yml +++ b/Resources/Prototypes/Roles/Antags/nukeops.yml @@ -44,6 +44,8 @@ #Lone Operative Gear - type: startingGear id: SyndicateLoneOperativeGearFull + subGear: + - SyndicatePlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitOperative back: ClothingBackpackDuffelSyndicateOperative diff --git a/Resources/Prototypes/Roles/Antags/traitor.yml b/Resources/Prototypes/Roles/Antags/traitor.yml index 504b6384835c..f7d4a784019f 100644 --- a/Resources/Prototypes/Roles/Antags/traitor.yml +++ b/Resources/Prototypes/Roles/Antags/traitor.yml @@ -23,6 +23,8 @@ # Syndicate Operative Outfit - Barratry - type: startingGear id: SyndicateOperativeGearExtremelyBasic + subGear: + - SyndicatePlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitOperative back: ClothingBackpackSyndicate diff --git a/Resources/Prototypes/Roles/Jobs/Cargo/cargo_technician.yml b/Resources/Prototypes/Roles/Jobs/Cargo/cargo_technician.yml index f79a30e5fd6e..7b5c19bcf812 100644 --- a/Resources/Prototypes/Roles/Jobs/Cargo/cargo_technician.yml +++ b/Resources/Prototypes/Roles/Jobs/Cargo/cargo_technician.yml @@ -16,6 +16,8 @@ - type: startingGear id: CargoTechGear + subGear: + - CargoTechPlasmamanGear equipment: head: ClothingHeadHatCargosoft jumpsuit: ClothingUniformJumpsuitCargo @@ -27,3 +29,11 @@ innerClothingSkirt: ClothingUniformJumpskirtCargo satchel: ClothingBackpackSatchelCargoFilled duffelbag: ClothingBackpackDuffelCargoFilled + +- type: startingGear + id: CargoTechPlasmamanGear + parent: BasePlasmamanGear + equipment: + jumpsuit: ClothingUniformEnvirosuitCargo + head: ClothingHeadEnvirohelmCargo + gloves: ClothingHandsGlovesEnviroglovesCargo diff --git a/Resources/Prototypes/Roles/Jobs/Cargo/quartermaster.yml b/Resources/Prototypes/Roles/Jobs/Cargo/quartermaster.yml index bea527623b25..f27c384c6a64 100644 --- a/Resources/Prototypes/Roles/Jobs/Cargo/quartermaster.yml +++ b/Resources/Prototypes/Roles/Jobs/Cargo/quartermaster.yml @@ -40,9 +40,14 @@ - !type:AddComponentSpecial components: - type: CommandStaff + afterLoadoutSpecial: + - !type:ModifyEnvirosuitSpecial + charges: 8 - type: startingGear id: QuartermasterGear + subGear: + - QuartermasterPlasmamanGear equipment: head: ClothingHeadHatBeretLogi jumpsuit: ClothingUniformJumpsuitQM @@ -55,3 +60,11 @@ innerClothingSkirt: ClothingUniformJumpskirtQM satchel: ClothingBackpackSatchelQuartermasterFilled duffelbag: ClothingBackpackDuffelQuartermasterFilled + +- type: startingGear + id: QuartermasterPlasmamanGear + parent: BasePlasmamanGear + equipment: + jumpsuit: ClothingUniformEnvirosuitQM + head: ClothingHeadEnvirohelmQM + gloves: ClothingHandsGlovesEnviroglovesCargo diff --git a/Resources/Prototypes/Roles/Jobs/Cargo/salvage_specialist.yml b/Resources/Prototypes/Roles/Jobs/Cargo/salvage_specialist.yml index 8b806009ef83..4d55f6183bab 100644 --- a/Resources/Prototypes/Roles/Jobs/Cargo/salvage_specialist.yml +++ b/Resources/Prototypes/Roles/Jobs/Cargo/salvage_specialist.yml @@ -21,6 +21,8 @@ - type: startingGear id: SalvageSpecialistGear + subGear: + - SalvageSpecialistPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitSalvageSpecialist back: ClothingBackpackSalvageFilled @@ -29,3 +31,12 @@ ears: ClothingHeadsetCargo satchel: ClothingBackpackSatchelSalvageFilled duffelbag: ClothingBackpackDuffelSalvageFilled + +- type: startingGear + id: SalvageSpecialistPlasmamanGear + parent: BasePlasmamanGear + equipment: + jumpsuit: ClothingUniformEnvirosuitSalvage + head: ClothingHeadEnvirohelmSalvage + gloves: ClothingHandsGlovesEnviroglovesSalvage + mask: ClothingMaskGasExplorer diff --git a/Resources/Prototypes/Roles/Jobs/Civilian/assistant.yml b/Resources/Prototypes/Roles/Jobs/Civilian/assistant.yml index 5cf4fd9449bb..dce796968212 100644 --- a/Resources/Prototypes/Roles/Jobs/Civilian/assistant.yml +++ b/Resources/Prototypes/Roles/Jobs/Civilian/assistant.yml @@ -11,6 +11,8 @@ - type: startingGear id: PassengerGear + subGear: + - PassengerPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitColorGrey back: ClothingBackpackFilled @@ -20,3 +22,11 @@ innerClothingSkirt: ClothingUniformJumpskirtColorGrey satchel: ClothingBackpackSatchelFilled duffelbag: ClothingBackpackDuffelFilled + +- type: startingGear + id: PassengerPlasmamanGear + parent: BasePlasmamanGear + equipment: + jumpsuit: ClothingUniformEnvirosuitColorGrey + head: ClothingHeadEnvirohelmColorGrey + gloves: ClothingHandsGlovesEnviroglovesColorDarkGrey diff --git a/Resources/Prototypes/Roles/Jobs/Civilian/bartender.yml b/Resources/Prototypes/Roles/Jobs/Civilian/bartender.yml index 85a86dabce38..74d5560b8e39 100644 --- a/Resources/Prototypes/Roles/Jobs/Civilian/bartender.yml +++ b/Resources/Prototypes/Roles/Jobs/Civilian/bartender.yml @@ -20,6 +20,8 @@ - type: startingGear id: BartenderGear + subGear: + - BartenderPlasmamanGear equipment: head: ClothingHeadHatTophat jumpsuit: ClothingUniformJumpsuitBartender @@ -31,3 +33,11 @@ innerClothingSkirt: ClothingUniformJumpskirtBartender satchel: ClothingBackpackSatchelFilled duffelbag: ClothingBackpackDuffelFilled + +- type: startingGear + id: BartenderPlasmamanGear + parent: BasePlasmamanGear + equipment: + jumpsuit: ClothingUniformEnvirosuitEnviroslacks + head: ClothingHeadEnvirohelmColorWhite + gloves: ClothingHandsGlovesEnviroglovesWhite diff --git a/Resources/Prototypes/Roles/Jobs/Civilian/botanist.yml b/Resources/Prototypes/Roles/Jobs/Civilian/botanist.yml index 35b858fb388a..77e9ec491b9f 100644 --- a/Resources/Prototypes/Roles/Jobs/Civilian/botanist.yml +++ b/Resources/Prototypes/Roles/Jobs/Civilian/botanist.yml @@ -16,6 +16,8 @@ - type: startingGear id: BotanistGear + subGear: + - BotanistPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitHydroponics back: ClothingBackpackHydroponicsFilled @@ -27,3 +29,11 @@ innerClothingSkirt: ClothingUniformJumpskirtHydroponics satchel: ClothingBackpackSatchelHydroponicsFilled duffelbag: ClothingBackpackDuffelHydroponicsFilled + +- type: startingGear + id: BotanistPlasmamanGear + parent: BasePlasmamanGear + equipment: + jumpsuit: ClothingUniformEnvirosuitHydroponics + head: ClothingHeadEnvirohelmHydroponics + gloves: ClothingHandsGlovesEnviroglovesLeather diff --git a/Resources/Prototypes/Roles/Jobs/Civilian/chaplain.yml b/Resources/Prototypes/Roles/Jobs/Civilian/chaplain.yml index b2c88fe212a0..c3261bea60f9 100644 --- a/Resources/Prototypes/Roles/Jobs/Civilian/chaplain.yml +++ b/Resources/Prototypes/Roles/Jobs/Civilian/chaplain.yml @@ -43,6 +43,8 @@ - type: startingGear id: ChaplainGear + subGear: + - ChaplainPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitChaplain back: ClothingBackpack @@ -53,3 +55,11 @@ innerClothingSkirt: ClothingUniformJumpskirtChaplain satchel: ClothingBackpackSatchelChaplainFilled duffelbag: ClothingBackpackDuffelChaplainFilled + +- type: startingGear + id: ChaplainPlasmamanGear + parent: BasePlasmamanGear + equipment: + jumpsuit: ClothingUniformEnvirosuitChaplain + head: ClothingHeadEnvirohelmChaplain + gloves: ClothingHandsGlovesEnviroglovesBlack diff --git a/Resources/Prototypes/Roles/Jobs/Civilian/chef.yml b/Resources/Prototypes/Roles/Jobs/Civilian/chef.yml index 0837f1f39077..f4e44be33e0f 100644 --- a/Resources/Prototypes/Roles/Jobs/Civilian/chef.yml +++ b/Resources/Prototypes/Roles/Jobs/Civilian/chef.yml @@ -24,6 +24,8 @@ - type: startingGear id: ChefGear + subGear: + - ChefPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitChef head: ClothingHeadHatChef @@ -37,3 +39,11 @@ innerClothingSkirt: ClothingUniformJumpskirtChef satchel: ClothingBackpackSatchelFilled duffelbag: ClothingBackpackDuffelFilled + +- type: startingGear + id: ChefPlasmamanGear + parent: BasePlasmamanGear + equipment: + jumpsuit: ClothingUniformEnvirosuitChef + head: ClothingHeadEnvirohelmColorWhite + gloves: ClothingHandsGlovesEnviroglovesWhite diff --git a/Resources/Prototypes/Roles/Jobs/Civilian/clown.yml b/Resources/Prototypes/Roles/Jobs/Civilian/clown.yml index 8cc8f5c6a727..67aaddaea2d3 100644 --- a/Resources/Prototypes/Roles/Jobs/Civilian/clown.yml +++ b/Resources/Prototypes/Roles/Jobs/Civilian/clown.yml @@ -32,6 +32,8 @@ - type: startingGear id: ClownGear + subGear: + - ClownPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitClown back: ClothingBackpackClownFilled @@ -43,3 +45,12 @@ ears: ClothingHeadsetService satchel: ClothingBackpackSatchelClownFilled duffelbag: ClothingBackpackDuffelClownFilled + +- type: startingGear + id: ClownPlasmamanGear + parent: BasePlasmamanGear + equipment: + jumpsuit: ClothingUniformEnvirosuitClown + head: ClothingHeadEnvirohelmClown + gloves: ClothingHandsGlovesEnviroglovesClown + mask: ClothingMaskClown # Parent sets mask to breath mask so set it again here diff --git a/Resources/Prototypes/Roles/Jobs/Civilian/janitor.yml b/Resources/Prototypes/Roles/Jobs/Civilian/janitor.yml index bf11532ddbf3..ac097e7e3063 100644 --- a/Resources/Prototypes/Roles/Jobs/Civilian/janitor.yml +++ b/Resources/Prototypes/Roles/Jobs/Civilian/janitor.yml @@ -17,6 +17,8 @@ - type: startingGear id: JanitorGear + subGear: + - JanitorPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitJanitor back: ClothingBackpackFilled @@ -30,6 +32,14 @@ satchel: ClothingBackpackSatchelFilled duffelbag: ClothingBackpackDuffelFilled +- type: startingGear + id: JanitorPlasmamanGear + parent: BasePlasmamanGear + equipment: + jumpsuit: ClothingUniformEnvirosuitJanitor + head: ClothingHeadEnvirohelmJanitor + gloves: ClothingHandsGlovesEnviroglovesJanitor + - type: startingGear id: JanitorMaidGear equipment: diff --git a/Resources/Prototypes/Roles/Jobs/Civilian/lawyer.yml b/Resources/Prototypes/Roles/Jobs/Civilian/lawyer.yml index b8e37c2bebf0..3a3c88157fb0 100644 --- a/Resources/Prototypes/Roles/Jobs/Civilian/lawyer.yml +++ b/Resources/Prototypes/Roles/Jobs/Civilian/lawyer.yml @@ -20,6 +20,8 @@ - type: startingGear id: LawyerGear + subGear: + - LawyerPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitLawyerBlack # TODO change jumpsuit to randomiser of the 4 variants back: ClothingBackpackLawyerFilled #DeltaV - stamp included @@ -32,3 +34,11 @@ innerClothingSkirt: ClothingUniformJumpskirtLawyerBlack satchel: ClothingBackpackSatchelLawyerFilled #DeltaV - stamp included duffelbag: ClothingBackpackDuffelLawyerFilled #DeltaV - stamp included + +- type: startingGear + id: LawyerPlasmamanGear + parent: BasePlasmamanGear + equipment: + jumpsuit: ClothingUniformEnvirosuitEnviroslacks + head: ClothingHeadEnvirohelmColorWhite + gloves: ClothingHandsGlovesEnviroglovesWhite diff --git a/Resources/Prototypes/Roles/Jobs/Civilian/librarian.yml b/Resources/Prototypes/Roles/Jobs/Civilian/librarian.yml index f2928c6b917c..b8e65f2d9805 100644 --- a/Resources/Prototypes/Roles/Jobs/Civilian/librarian.yml +++ b/Resources/Prototypes/Roles/Jobs/Civilian/librarian.yml @@ -41,6 +41,8 @@ - type: startingGear id: LibrarianGear + subGear: + - LibrarianPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitLibrarian back: ClothingBackpackLibrarianFilled @@ -53,3 +55,11 @@ innerClothingSkirt: ClothingUniformJumpskirtLibrarian satchel: ClothingBackpackSatchelLibrarianFilled duffelbag: ClothingBackpackDuffelLibrarianFilled + +- type: startingGear + id: LibrarianPlasmamanGear + parent: BasePlasmamanGear + equipment: + jumpsuit: ClothingUniformEnvirosuitAncientVoid + head: ClothingHeadEnvirohelmAncientVoid + gloves: ClothingHandsGlovesEnviroglovesPrototype diff --git a/Resources/Prototypes/Roles/Jobs/Civilian/mime.yml b/Resources/Prototypes/Roles/Jobs/Civilian/mime.yml index 6aa6d02aecb2..cc0dcce714ae 100644 --- a/Resources/Prototypes/Roles/Jobs/Civilian/mime.yml +++ b/Resources/Prototypes/Roles/Jobs/Civilian/mime.yml @@ -21,6 +21,8 @@ - type: startingGear id: MimeGear + subGear: + - MimePlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitMime back: ClothingBackpackMimeFilled @@ -37,6 +39,15 @@ satchel: ClothingBackpackSatchelMimeFilled duffelbag: ClothingBackpackDuffelMimeFilled +- type: startingGear + id: MimePlasmamanGear + parent: BasePlasmamanGear + equipment: + jumpsuit: ClothingUniformEnvirosuitMime + head: ClothingHeadEnvirohelmMime + gloves: ClothingHandsGlovesEnviroglovesWhite + mask: ClothingMaskMime # Parent sets mask to breath mask so set it again here + - type: entity id: ActionMimeInvisibleWall name: Create Invisible Wall diff --git a/Resources/Prototypes/Roles/Jobs/Civilian/musician.yml b/Resources/Prototypes/Roles/Jobs/Civilian/musician.yml index 28f9c597e585..c556585f9c5a 100644 --- a/Resources/Prototypes/Roles/Jobs/Civilian/musician.yml +++ b/Resources/Prototypes/Roles/Jobs/Civilian/musician.yml @@ -20,6 +20,8 @@ - type: startingGear id: MusicianGear + subGear: + - MusicianPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitMusician back: ClothingBackpackMusicianFilled @@ -29,3 +31,11 @@ ears: ClothingHeadsetService satchel: ClothingBackpackSatchelMusicianFilled duffelbag: ClothingBackpackDuffelMusicianFilled + +- type: startingGear + id: MusicianPlasmamanGear + parent: BasePlasmamanGear + equipment: + jumpsuit: ClothingUniformEnvirosuitMusician + head: ClothingHeadEnvirohelmMusician + gloves: ClothingHandsGlovesEnviroglovesWhite diff --git a/Resources/Prototypes/Roles/Jobs/Civilian/service_worker.yml b/Resources/Prototypes/Roles/Jobs/Civilian/service_worker.yml index 8bfd05ad0148..34a96b909ccf 100644 --- a/Resources/Prototypes/Roles/Jobs/Civilian/service_worker.yml +++ b/Resources/Prototypes/Roles/Jobs/Civilian/service_worker.yml @@ -1,4 +1,4 @@ -- type: job +- type: job id: ServiceWorker name: job-name-serviceworker description: job-description-serviceworker @@ -21,6 +21,8 @@ - type: startingGear id: ServiceWorkerGear + subGear: + - ServiceWorkerPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitColorDarkGreen # DeltaV back: ClothingBackpackFilled @@ -30,3 +32,11 @@ innerClothingSkirt: ClothingUniformJumpskirtColorDarkGreen # DeltaV satchel: ClothingBackpackSatchelFilled duffelbag: ClothingBackpackDuffelFilled + +- type: startingGear + id: ServiceWorkerPlasmamanGear + parent: BasePlasmamanGear + equipment: + jumpsuit: ClothingUniformEnvirosuitColorDarkGreen + head: ClothingHeadEnvirohelmColorDarkGreen + gloves: ClothingHandsGlovesEnviroglovesColorDarkGreen diff --git a/Resources/Prototypes/Roles/Jobs/Command/captain.yml b/Resources/Prototypes/Roles/Jobs/Command/captain.yml index 30b9a69d12fc..c4af21357d2e 100644 --- a/Resources/Prototypes/Roles/Jobs/Command/captain.yml +++ b/Resources/Prototypes/Roles/Jobs/Command/captain.yml @@ -27,7 +27,7 @@ - !type:CharacterWhitelistRequirement weight: 20 startingGear: CaptainGear - icon: JobIconCaptain + icon: "JobIconCaptain" requireAdminNotify: true joinNotifyCrew: true supervisors: job-supervisors-centcom @@ -40,9 +40,16 @@ - !type:AddComponentSpecial components: - type: CommandStaff + afterLoadoutSpecial: + - !type:ModifyEnvirosuitSpecial + charges: 8 + - !type:ModifyEnvirohelmSpecial + powerCell: PowerCellHigh - type: startingGear id: CaptainGear + subGear: + - CaptainPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitCaptain back: ClothingBackpackCaptainFilled @@ -52,3 +59,11 @@ innerClothingSkirt: ClothingUniformJumpskirtCaptain satchel: ClothingBackpackSatchelCaptainFilled duffelbag: ClothingBackpackDuffelCaptainFilled + +- type: startingGear + id: CaptainPlasmamanGear + parent: BasePlasmamanGear + equipment: + jumpsuit: ClothingUniformEnvirosuitCaptain + head: ClothingHeadEnvirohelmCaptain + gloves: ClothingHandsGlovesCaptain diff --git a/Resources/Prototypes/Roles/Jobs/Command/centcom_official.yml b/Resources/Prototypes/Roles/Jobs/Command/centcom_official.yml index a1a6ed930b3a..6067cf907305 100644 --- a/Resources/Prototypes/Roles/Jobs/Command/centcom_official.yml +++ b/Resources/Prototypes/Roles/Jobs/Command/centcom_official.yml @@ -12,9 +12,16 @@ - AllAccess access: - CentralCommand + afterLoadoutSpecial: + - !type:ModifyEnvirosuitSpecial + charges: 10 + - !type:ModifyEnvirohelmSpecial + powerCell: PowerCellHigh - type: startingGear id: CentcomGear + subGear: + - CentcomPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitCentcomOfficial shoes: ClothingShoesBootsCombatFilled @@ -27,3 +34,11 @@ belt: WeaponPistolN1984 pocket1: BoxFolderBlack pocket2: PenCentcom + +- type: startingGear + id: CentcomPlasmamanGear + parent: BasePlasmamanGear + equipment: + jumpsuit: ClothingUniformEnvirosuitCentcomOfficial + head: ClothingHeadEnvirohelmCentcomOfficial + gloves: ClothingHandsGlovesEnviroglovesBlack diff --git a/Resources/Prototypes/Roles/Jobs/Command/head_of_personnel.yml b/Resources/Prototypes/Roles/Jobs/Command/head_of_personnel.yml index 4911da82a1ff..b4e59270076a 100644 --- a/Resources/Prototypes/Roles/Jobs/Command/head_of_personnel.yml +++ b/Resources/Prototypes/Roles/Jobs/Command/head_of_personnel.yml @@ -67,9 +67,16 @@ - !type:AddComponentSpecial components: - type: CommandStaff + afterLoadoutSpecial: + - !type:ModifyEnvirosuitSpecial + charges: 8 + - !type:ModifyEnvirohelmSpecial + powerCell: PowerCellHigh - type: startingGear id: HoPGear + subGear: + - HoPPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitHoP back: ClothingBackpackHOPFilled @@ -79,3 +86,11 @@ innerClothingSkirt: ClothingUniformJumpskirtHoP satchel: ClothingBackpackSatchelHOPFilled duffelbag: ClothingBackpackDuffelHOPFilled + +- type: startingGear + id: HoPPlasmamanGear + parent: BasePlasmamanGear + equipment: + jumpsuit: ClothingUniformEnvirosuitHoP + head: ClothingHeadEnvirohelmHoP + gloves: ClothingHandsGlovesEnviroglovesHoP diff --git a/Resources/Prototypes/Roles/Jobs/Engineering/atmospheric_technician.yml b/Resources/Prototypes/Roles/Jobs/Engineering/atmospheric_technician.yml index a3bba1547a4e..b271a3d93584 100644 --- a/Resources/Prototypes/Roles/Jobs/Engineering/atmospheric_technician.yml +++ b/Resources/Prototypes/Roles/Jobs/Engineering/atmospheric_technician.yml @@ -18,7 +18,9 @@ - Atmospherics - type: startingGear - id: AtmosphericTechnicianGear + id: AtmosphericTechnicianGear + subGear: + - AtmosphericTechnicianPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitAtmos back: ClothingBackpackAtmospherics @@ -28,3 +30,11 @@ innerClothingSkirt: ClothingUniformJumpskirtAtmos satchel: ClothingBackpackSatchelEngineeringFilled duffelbag: ClothingBackpackDuffelEngineeringFilled + +- type: startingGear + id: AtmosphericTechnicianPlasmamanGear + parent: BasePlasmamanGear + equipment: + jumpsuit: ClothingUniformEnvirosuitAtmos + head: ClothingHeadEnvirohelmAtmos + gloves: ClothingHandsGlovesEnviroglovesAtmos diff --git a/Resources/Prototypes/Roles/Jobs/Engineering/chief_engineer.yml b/Resources/Prototypes/Roles/Jobs/Engineering/chief_engineer.yml index ea3cd532562a..494bbcfde19c 100644 --- a/Resources/Prototypes/Roles/Jobs/Engineering/chief_engineer.yml +++ b/Resources/Prototypes/Roles/Jobs/Engineering/chief_engineer.yml @@ -35,9 +35,16 @@ - !type:AddComponentSpecial components: - type: CommandStaff + afterLoadoutSpecial: + - !type:ModifyEnvirosuitSpecial + charges: 8 + - !type:ModifyEnvirohelmSpecial + powerCell: PowerCellPotato - type: startingGear id: ChiefEngineerGear + subGear: + - ChiefEngineerPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitChiefEngineer back: ClothingBackpackChiefEngineerFilled @@ -47,3 +54,11 @@ innerClothingSkirt: ClothingUniformJumpskirtChiefEngineer satchel: ClothingBackpackSatchelChiefEngineerFilled duffelbag: ClothingBackpackDuffelChiefEngineerFilled + +- type: startingGear + id: ChiefEngineerPlasmamanGear + parent: BasePlasmamanGear + equipment: + jumpsuit: ClothingUniformEnvirosuitChiefEngineer + head: ClothingHeadEnvirohelmChiefEngineer + gloves: ClothingHandsGlovesEnviroglovesChiefEngineer diff --git a/Resources/Prototypes/Roles/Jobs/Engineering/senior_engineer.yml b/Resources/Prototypes/Roles/Jobs/Engineering/senior_engineer.yml index 128779db94d9..20798178fa1a 100644 --- a/Resources/Prototypes/Roles/Jobs/Engineering/senior_engineer.yml +++ b/Resources/Prototypes/Roles/Jobs/Engineering/senior_engineer.yml @@ -24,6 +24,8 @@ - type: startingGear id: SeniorEngineerGear + subGear: + - StationEngineerPlasmamanGear equipment: head: ClothingHeadHatBeretEngineering jumpsuit: ClothingUniformJumpsuitSeniorEngineer diff --git a/Resources/Prototypes/Roles/Jobs/Engineering/station_engineer.yml b/Resources/Prototypes/Roles/Jobs/Engineering/station_engineer.yml index dc5900451912..8169ff0e9c6d 100644 --- a/Resources/Prototypes/Roles/Jobs/Engineering/station_engineer.yml +++ b/Resources/Prototypes/Roles/Jobs/Engineering/station_engineer.yml @@ -20,6 +20,8 @@ - type: startingGear id: StationEngineerGear + subGear: + - StationEngineerPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitEngineering back: ClothingBackpackEngineeringFilled @@ -31,3 +33,11 @@ innerClothingSkirt: ClothingUniformJumpskirtEngineering satchel: ClothingBackpackSatchelEngineeringFilled duffelbag: ClothingBackpackDuffelEngineeringFilled + +- type: startingGear + id: StationEngineerPlasmamanGear + parent: BasePlasmamanGear + equipment: + jumpsuit: ClothingUniformEnvirosuitEngineering + head: ClothingHeadEnvirohelmEngineering + gloves: ClothingHandsGlovesEnviroglovesEngineering diff --git a/Resources/Prototypes/Roles/Jobs/Engineering/technical_assistant.yml b/Resources/Prototypes/Roles/Jobs/Engineering/technical_assistant.yml index 668af727519a..ac472d9fc7b2 100644 --- a/Resources/Prototypes/Roles/Jobs/Engineering/technical_assistant.yml +++ b/Resources/Prototypes/Roles/Jobs/Engineering/technical_assistant.yml @@ -22,6 +22,8 @@ - type: startingGear id: TechnicalAssistantGear + subGear: + - StationEngineerPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitColorYellow back: ClothingBackpackEngineeringFilled diff --git a/Resources/Prototypes/Roles/Jobs/Fun/emergencyresponseteam.yml b/Resources/Prototypes/Roles/Jobs/Fun/emergencyresponseteam.yml index f1e8fc9cf877..7dd2aa1e92a7 100644 --- a/Resources/Prototypes/Roles/Jobs/Fun/emergencyresponseteam.yml +++ b/Resources/Prototypes/Roles/Jobs/Fun/emergencyresponseteam.yml @@ -16,6 +16,8 @@ - type: startingGear id: ERTLeaderGear + subGear: + - ERTPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitERTLeader back: ClothingBackpackERTLeaderFilled @@ -32,6 +34,8 @@ - type: startingGear id: ERTLeaderGearEVA + subGear: + - ERTPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitERTLeader back: ClothingBackpackERTLeaderFilled @@ -49,6 +53,9 @@ - type: startingGear id: ERTLeaderGearEVALecter + subGear: + - InhandTankGear + - ERTPlasmamanGearNoTank equipment: jumpsuit: ClothingUniformJumpsuitERTLeader back: ClothingBackpackERTLeaderFilled @@ -63,8 +70,6 @@ belt: ClothingBeltSecurityFilled pocket1: MagazineRifle pocket2: MagazineRifle - inhand: - - AirTankFilled # Chaplain - type: job @@ -88,6 +93,8 @@ - type: startingGear id: ERTChaplainGear + subGear: + - ERTPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitERTChaplain back: ClothingBackpackERTChaplainFilled @@ -105,6 +112,8 @@ - type: startingGear id: ERTChaplainGearEVA + subGear: + - ERTPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitERTChaplain back: ClothingBackpackERTChaplainFilled @@ -139,6 +148,8 @@ - type: startingGear id: ERTEngineerGear + subGear: + - ERTPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitERTEngineer back: ClothingBackpackERTEngineerFilled @@ -155,6 +166,8 @@ - type: startingGear id: ERTEngineerGearEVA + subGear: + - ERTPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitERTEngineer back: ClothingBackpackERTEngineerFilled @@ -188,6 +201,8 @@ - type: startingGear id: ERTSecurityGear + subGear: + - ERTPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitERTSecurity back: ClothingBackpackERTSecurityFilled @@ -204,6 +219,8 @@ - type: startingGear id: ERTSecurityGearEVA + subGear: + - ERTPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitERTSecurity back: ClothingBackpackERTSecurityFilled @@ -221,6 +238,9 @@ - type: startingGear id: ERTSecurityGearEVALecter + subGear: + - InhandTankGear + - ERTPlasmamanGearNoTank equipment: jumpsuit: ClothingUniformJumpsuitERTSecurity back: ClothingBackpackERTSecurityFilled @@ -235,8 +255,6 @@ belt: ClothingBeltSecurityFilled pocket1: MagazineRifle pocket2: MagazineRifle - inhand: - - AirTankFilled # Medical - type: job @@ -256,6 +274,8 @@ - type: startingGear id: ERTMedicalGear + subGear: + - ERTPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitERTMedic back: ClothingBackpackERTMedicalFilled @@ -271,6 +291,8 @@ - type: startingGear id: ERTMedicalGearEVA + subGear: + - ERTPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitERTMedic back: ClothingBackpackERTMedicalFilled @@ -303,6 +325,8 @@ - type: startingGear id: ERTJanitorGear + subGear: + - ERTPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitERTJanitor back: ClothingBackpackERTJanitorFilled @@ -317,6 +341,8 @@ - type: startingGear id: ERTJanitorGearEVA + subGear: + - ERTPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitERTJanitor back: ClothingBackpackERTJanitorFilled diff --git a/Resources/Prototypes/Roles/Jobs/Fun/misc_startinggear.yml b/Resources/Prototypes/Roles/Jobs/Fun/misc_startinggear.yml index b2cf3b879300..31e35077047c 100644 --- a/Resources/Prototypes/Roles/Jobs/Fun/misc_startinggear.yml +++ b/Resources/Prototypes/Roles/Jobs/Fun/misc_startinggear.yml @@ -20,6 +20,8 @@ # Syndicate Operative Outfit - Civilian - type: startingGear id: SyndicateOperativeGearCivilian + subGear: + - SyndicatePlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitSyndieFormal back: ClothingBackpackDuffelSyndicate @@ -31,6 +33,8 @@ #Space Ninja Outfit - type: startingGear id: SpaceNinjaGear + subGear: + - SpaceNinjaPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitNinja # belt holds katana so satchel has the tools for sabotaging things @@ -53,6 +57,8 @@ #Deathsquad Outfit - type: startingGear id: DeathSquadGear + subGear: + - ERTPlasmamanGear # TODO: death squad envirosuit equipment: jumpsuit: ClothingUniformJumpsuitDeathSquad back: ClothingBackpackDeathSquadFilled @@ -72,6 +78,8 @@ #Syndicate Operative Outfit - Full Kit - type: startingGear id: SyndicateOperativeGearFull + subGear: + - SyndicateOperativePlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitOperative back: ClothingBackpackDuffelSyndicateOperative @@ -92,6 +100,8 @@ #Nuclear Operative Commander Gear - type: startingGear id: SyndicateCommanderGearFull + subGear: + - SyndicateOperativePlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitOperative back: ClothingBackpackDuffelSyndicateOperative @@ -115,6 +125,8 @@ #Nuclear Operative Medic Gear - type: startingGear id: SyndicateOperativeMedicFull + subGear: + - SyndicateOperativePlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitOperative back: ClothingBackpackDuffelSyndicateOperativeMedic @@ -135,6 +147,8 @@ # Syndicate Footsoldier Gear - type: startingGear id: SyndicateFootsoldierGear + subGear: + - SyndicateOperativePlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitOperative head: ClothingHeadHelmetSwatSyndicate @@ -152,6 +166,8 @@ # Syndicate Footsoldier Gear - No Headset - type: startingGear id: SyndicateFootsoldierGearRuin + subGear: + - SyndicateOperativePlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitOperative head: ClothingHeadHelmetSwatSyndicate @@ -168,6 +184,8 @@ # Nanotrasen Paramilitary Unit Gear - type: startingGear id: NanotrasenParamilitaryGear + subGear: + - SecurityOfficerPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitSec back: ClothingBackpackSecurityFilled @@ -185,6 +203,8 @@ #CBURN Unit Gear - Full Kit - type: startingGear id: CBURNGear + subGear: + - CBURNPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitColorBrown back: ClothingBackpackDuffelCBURNFilled @@ -220,6 +240,8 @@ - type: startingGear id: LimitedPassengerGear + subGear: + - PassengerPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitColorGrey shoes: ClothingShoesColorBlack @@ -229,6 +251,8 @@ - type: startingGear id: DeathMatchGear + subGear: + - DeathMatchPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitColorWhite shoes: ClothingShoesBootsJack @@ -303,6 +327,8 @@ #Banana Clown - type: startingGear id: BananaClown + subGear: + - ClownPlasmamanGear # TODO: Banana clown plasmaman starting gear equipment: shoes: ClothingShoesClownBanana jumpsuit: ClothingUniformJumpsuitClownBanana diff --git a/Resources/Prototypes/Roles/Jobs/Fun/plasmaman_startinggear.yml b/Resources/Prototypes/Roles/Jobs/Fun/plasmaman_startinggear.yml new file mode 100644 index 000000000000..bec0c1eb4599 --- /dev/null +++ b/Resources/Prototypes/Roles/Jobs/Fun/plasmaman_startinggear.yml @@ -0,0 +1,109 @@ +# Base Plasmaman starting gear that all plasmaman starting gears should inherit from +- type: startingGear + abstract: true + id: BasePlasmamanGear + requirements: + - !type:CharacterSpeciesRequirement + species: [ Plasmaman ] + equipment: + mask: ClothingMaskBreath + pocket2: DoubleEmergencyPlasmaTankFilled + +- type: startingGear + abstract: true + parent: BasePlasmamanGear + id: BasePlasmamanSecurityGear + equipment: + mask: ClothingMaskGasSecurity + +# Syndicate Operative Plasmaman outfit +- type: startingGear + abstract: true + id: BaseSyndicatePlasmamanGear + requirements: + - !type:CharacterSpeciesRequirement + species: [ Plasmaman ] + equipment: + jumpsuit: ClothingUniformEnvirosuitOperative + head: ClothingHeadEnvirohelmOperative + mask: ClothingMaskGasSyndicate + # No envirogloves, some starting gear might have combat gloves + +- type: startingGear + id: SyndicatePlasmamanGear + parent: BaseSyndicatePlasmamanGear + equipment: + pocket2: DoubleEmergencyPlasmaTankFilled + +- type: startingGear + id: SyndicateOperativePlasmamanGear + parent: BaseSyndicatePlasmamanGear + equipment: + pocket1: DoubleEmergencyPlasmaTankFilled + +- type: startingGear + id: SpaceNinjaPlasmamanGear + requirements: + - !type:CharacterSpeciesRequirement + species: [ Plasmaman ] + equipment: + jumpsuit: ClothingUniformEnvirosuitColorBlack # TODO: actual ninja envirosuit + suitstorage: PlasmaTankFilledInternals + +# ERT starting gear +- type: startingGear + id: ERTPlasmamanGearNoTank + requirements: + - !type:CharacterSpeciesRequirement + species: [ Plasmaman ] + equipment: + jumpsuit: ClothingUniformEnvirosuitColorBlack # TODO: ERT envirosuit + head: ClothingHeadEnvirohelmColorBlack # TODO: ERT envirohelm + mask: ClothingMaskGasERT + +- type: startingGear + id: ERTPlasmamanGear + parent: ERTPlasmamanGearNoTank + equipment: + suitstorage: PlasmaTankFilledInternals + +- type: startingGear + id: CBURNPlasmamanGear + parent: ERTPlasmamanGear + equipment: + jumpsuit: ClothingUniformEnvirosuitColorLightBrown + head: ClothingHeadEnvirohelmColorLightBrown + +- type: startingGear + id: InhandTankGear + subGear: + - InhandOxygenTankGear + - InhandPlasmaTankGear + requirements: + - !type:CharacterSpeciesRequirement + species: [ Plasmaman ] + +- type: startingGear + id: InhandOxygenTankGear + requirements: + - !type:CharacterSpeciesRequirement + inverted: true + species: [ Plasmaman ] + inhand: + - AirTankFilled + +- type: startingGear + id: InhandPlasmaTankGear + requirements: + - !type:CharacterSpeciesRequirement + species: [ Plasmaman ] + inhand: + - PlasmaTankFilledInternals + +- type: startingGear + id: DeathMatchPlasmamanGear + parent: BasePlasmamanGear + equipment: + jumpsuit: ClothingUniformEnvirosuitColorWhite + head: ClothingHeadEnvirohelmColorWhite + gloves: ClothingHandsGlovesEnviroglovesWhite diff --git a/Resources/Prototypes/Roles/Jobs/Medical/chemist.yml b/Resources/Prototypes/Roles/Jobs/Medical/chemist.yml index 12e457ac2e11..50fceea45145 100644 --- a/Resources/Prototypes/Roles/Jobs/Medical/chemist.yml +++ b/Resources/Prototypes/Roles/Jobs/Medical/chemist.yml @@ -23,6 +23,8 @@ - type: startingGear id: ChemistGear + subGear: + - ChemistPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitChemistry back: ClothingBackpackChemistryFilled @@ -32,3 +34,11 @@ innerClothingSkirt: ClothingUniformJumpskirtChemistry satchel: ClothingBackpackSatchelChemistryFilled duffelbag: ClothingBackpackDuffelChemistryFilled + +- type: startingGear + id: ChemistPlasmamanGear + parent: BasePlasmamanGear + equipment: + jumpsuit: ClothingUniformEnvirosuitChemist + head: ClothingHeadEnvirohelmChemist + gloves: ClothingHandsGlovesEnviroglovesWhite diff --git a/Resources/Prototypes/Roles/Jobs/Medical/chief_medical_officer.yml b/Resources/Prototypes/Roles/Jobs/Medical/chief_medical_officer.yml index 6a1e16bccc2e..1c9536eab543 100644 --- a/Resources/Prototypes/Roles/Jobs/Medical/chief_medical_officer.yml +++ b/Resources/Prototypes/Roles/Jobs/Medical/chief_medical_officer.yml @@ -45,9 +45,16 @@ - type: CPRTraining - type: SurgerySpeedModifier speedModifier: 2.5 + afterLoadoutSpecial: + - !type:ModifyEnvirosuitSpecial + charges: 8 + - !type:ModifyEnvirohelmSpecial + powerCell: PowerCellHigh - type: startingGear id: CMOGear + subGear: + - CMOPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitCMO back: ClothingBackpackCMOFilled @@ -57,3 +64,11 @@ innerClothingSkirt: ClothingUniformJumpskirtCMO satchel: ClothingBackpackSatchelCMOFilled duffelbag: ClothingBackpackDuffelCMOFilled + +- type: startingGear + id: CMOPlasmamanGear + parent: BasePlasmamanGear + equipment: + jumpsuit: ClothingUniformEnvirosuitCMO + head: ClothingHeadEnvirohelmCMO + gloves: ClothingHandsGlovesEnviroglovesWhite diff --git a/Resources/Prototypes/Roles/Jobs/Medical/medical_doctor.yml b/Resources/Prototypes/Roles/Jobs/Medical/medical_doctor.yml index 8d37afdc51a2..427771575dd5 100644 --- a/Resources/Prototypes/Roles/Jobs/Medical/medical_doctor.yml +++ b/Resources/Prototypes/Roles/Jobs/Medical/medical_doctor.yml @@ -25,6 +25,8 @@ - type: startingGear id: DoctorGear + subGear: + - DoctorPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitMedicalDoctor back: ClothingBackpackMedicalFilled @@ -34,3 +36,11 @@ innerClothingSkirt: ClothingUniformJumpskirtMedicalDoctor satchel: ClothingBackpackSatchelMedicalFilled duffelbag: ClothingBackpackDuffelMedicalFilled + +- type: startingGear + id: DoctorPlasmamanGear + parent: BasePlasmamanGear + equipment: + jumpsuit: ClothingUniformEnvirosuitMedicalDoctor + head: ClothingHeadEnvirohelmMedicalDoctor + gloves: ClothingHandsGlovesEnviroglovesWhite diff --git a/Resources/Prototypes/Roles/Jobs/Medical/medical_intern.yml b/Resources/Prototypes/Roles/Jobs/Medical/medical_intern.yml index 5492d02e09ee..a6b0ae543f33 100644 --- a/Resources/Prototypes/Roles/Jobs/Medical/medical_intern.yml +++ b/Resources/Prototypes/Roles/Jobs/Medical/medical_intern.yml @@ -1,4 +1,4 @@ -- type: job +- type: job id: MedicalIntern name: job-name-intern description: job-description-intern @@ -24,6 +24,8 @@ - type: startingGear id: MedicalInternGear + subGear: + - DoctorPlasmamanGear equipment: jumpsuit: UniformScrubsColorBlue # DeltaV - Intern starts with blue scrubs back: ClothingBackpackMedicalFilled diff --git a/Resources/Prototypes/Roles/Jobs/Medical/paramedic.yml b/Resources/Prototypes/Roles/Jobs/Medical/paramedic.yml index 92c5b1857c5f..454322a92cb6 100644 --- a/Resources/Prototypes/Roles/Jobs/Medical/paramedic.yml +++ b/Resources/Prototypes/Roles/Jobs/Medical/paramedic.yml @@ -32,6 +32,8 @@ - type: startingGear id: ParamedicGear + subGear: + - ParamedicPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitParamedic back: ClothingBackpackParamedicFilledDV @@ -44,3 +46,12 @@ innerClothingSkirt: ClothingUniformJumpskirtParamedic satchel: ClothingBackpackSatchelParamedicFilledDV duffelbag: ClothingBackpackDuffelParamedicFilledDV + +- type: startingGear + id: ParamedicPlasmamanGear + parent: BasePlasmamanGear + equipment: + jumpsuit: ClothingUniformEnvirosuitParamedic + head: ClothingHeadEnvirohelmParamedic + gloves: ClothingHandsGlovesEnviroglovesNitrile + shoes: ClothingShoesColorBlue diff --git a/Resources/Prototypes/Roles/Jobs/Medical/senior_physician.yml b/Resources/Prototypes/Roles/Jobs/Medical/senior_physician.yml index 4ff52e14490b..1c5eba7a1142 100644 --- a/Resources/Prototypes/Roles/Jobs/Medical/senior_physician.yml +++ b/Resources/Prototypes/Roles/Jobs/Medical/senior_physician.yml @@ -29,6 +29,8 @@ - type: startingGear id: SeniorPhysicianGear + subGear: + - DoctorPlasmamanGear equipment: head: ClothingHeadHatBeretSeniorPhysician jumpsuit: ClothingUniformJumpsuitSeniorPhysician diff --git a/Resources/Prototypes/Roles/Jobs/Science/research_assistant.yml b/Resources/Prototypes/Roles/Jobs/Science/research_assistant.yml index 5bcc71854650..64c007b05748 100644 --- a/Resources/Prototypes/Roles/Jobs/Science/research_assistant.yml +++ b/Resources/Prototypes/Roles/Jobs/Science/research_assistant.yml @@ -1,4 +1,4 @@ -- type: job +- type: job id: ResearchAssistant name: job-name-research-assistant description: job-description-research-assistant @@ -18,6 +18,8 @@ - type: startingGear id: ResearchAssistantGear + subGear: + - ScientistPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitColorWhite back: ClothingBackpackScienceFilled diff --git a/Resources/Prototypes/Roles/Jobs/Science/research_director.yml b/Resources/Prototypes/Roles/Jobs/Science/research_director.yml index 0db869e3b3b5..a6f0dd7a6392 100644 --- a/Resources/Prototypes/Roles/Jobs/Science/research_director.yml +++ b/Resources/Prototypes/Roles/Jobs/Science/research_director.yml @@ -55,9 +55,16 @@ - DispelPower - MetapsionicPower - TelepathyPower + afterLoadoutSpecial: + - !type:ModifyEnvirosuitSpecial + charges: 8 + - !type:ModifyEnvirohelmSpecial + powerCell: PowerCellHigh - type: startingGear id: ResearchDirectorGear + subGear: + - ResearchDirectorPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitResearchDirector back: ClothingBackpackResearchDirectorFilled @@ -69,3 +76,11 @@ innerClothingSkirt: ClothingUniformJumpskirtResearchDirector satchel: ClothingBackpackSatchelResearchDirectorFilled duffelbag: ClothingBackpackDuffelResearchDirectorFilled + +- type: startingGear + id: ResearchDirectorPlasmamanGear + parent: BasePlasmamanGear + equipment: + jumpsuit: ClothingUniformEnvirosuitResearchDirector + head: ClothingHeadEnvirohelmResearchDirector + gloves: ClothingHandsGlovesEnviroglovesResearchDirector diff --git a/Resources/Prototypes/Roles/Jobs/Science/roboticist.yml b/Resources/Prototypes/Roles/Jobs/Science/roboticist.yml index 8b7611e7a4c5..1aff597566de 100644 --- a/Resources/Prototypes/Roles/Jobs/Science/roboticist.yml +++ b/Resources/Prototypes/Roles/Jobs/Science/roboticist.yml @@ -16,6 +16,8 @@ - type: startingGear id: RoboticistGear + subGear: + - RoboticistPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitRoboticist back: ClothingBackpackRoboticsFilled @@ -27,3 +29,11 @@ innerClothingSkirt: ClothingUniformJumpskirtRoboticist satchel: ClothingBackpackSatchelRoboticsFilled duffelbag: ClothingBackpackDuffelRoboticsFilled + +- type: startingGear + id: RoboticistPlasmamanGear + parent: BasePlasmamanGear + equipment: + jumpsuit: ClothingUniformEnvirosuitRoboticist + head: ClothingHeadEnvirohelmRoboticist + gloves: ClothingHandsGlovesEnviroglovesRoboticist diff --git a/Resources/Prototypes/Roles/Jobs/Science/scientist.yml b/Resources/Prototypes/Roles/Jobs/Science/scientist.yml index ea4af6a6fbc7..40dc7926b83e 100644 --- a/Resources/Prototypes/Roles/Jobs/Science/scientist.yml +++ b/Resources/Prototypes/Roles/Jobs/Science/scientist.yml @@ -16,6 +16,8 @@ - type: startingGear id: ScientistGear + subGear: + - ScientistPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitScientist back: ClothingBackpackScienceFilled @@ -27,3 +29,11 @@ innerClothingSkirt: ClothingUniformJumpskirtScientist satchel: ClothingBackpackSatchelScienceFilled duffelbag: ClothingBackpackDuffelScienceFilled + +- type: startingGear + id: ScientistPlasmamanGear + parent: BasePlasmamanGear + equipment: + jumpsuit: ClothingUniformEnvirosuitScientist + head: ClothingHeadEnvirohelmScientist + gloves: ClothingHandsGlovesEnviroglovesWhite diff --git a/Resources/Prototypes/Roles/Jobs/Science/senior_researcher.yml b/Resources/Prototypes/Roles/Jobs/Science/senior_researcher.yml index 8984fe79ff9b..5ca5ccb1d8c4 100644 --- a/Resources/Prototypes/Roles/Jobs/Science/senior_researcher.yml +++ b/Resources/Prototypes/Roles/Jobs/Science/senior_researcher.yml @@ -16,6 +16,8 @@ - type: startingGear id: SeniorResearcherGear + subGear: + - ScientistPlasmamanGear equipment: head: ClothingHeadHatBeretRND jumpsuit: ClothingUniformJumpsuitSeniorResearcher diff --git a/Resources/Prototypes/Roles/Jobs/Security/detective.yml b/Resources/Prototypes/Roles/Jobs/Security/detective.yml index 04dc55bc1f08..5a4b24b60b12 100644 --- a/Resources/Prototypes/Roles/Jobs/Security/detective.yml +++ b/Resources/Prototypes/Roles/Jobs/Security/detective.yml @@ -22,9 +22,16 @@ special: - !type:AddImplantSpecial implants: [ MindShieldImplant ] + afterLoadoutSpecial: + - !type:ModifyEnvirosuitSpecial + charges: 6 + - !type:ModifyEnvirohelmSpecial + powerCell: PowerCellHigh - type: startingGear - id: DetectiveGear + id: DetectiveGear + subGear: + - DetectivePlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitDetective back: ClothingBackpackSecurity @@ -38,3 +45,11 @@ innerClothingSkirt: ClothingUniformJumpskirtDetective satchel: ClothingBackpackSatchelSecurity duffelbag: ClothingBackpackDuffelSecurity + +- type: startingGear + id: DetectivePlasmamanGear + parent: BasePlasmamanSecurityGear + equipment: + jumpsuit: ClothingUniformEnvirosuitDetective + head: ClothingHeadEnvirohelmDetective + gloves: ClothingHandsGlovesEnviroglovesWhite diff --git a/Resources/Prototypes/Roles/Jobs/Security/head_of_security.yml b/Resources/Prototypes/Roles/Jobs/Security/head_of_security.yml index a815ed32e6d6..e27233da9772 100644 --- a/Resources/Prototypes/Roles/Jobs/Security/head_of_security.yml +++ b/Resources/Prototypes/Roles/Jobs/Security/head_of_security.yml @@ -40,9 +40,16 @@ - !type:AddComponentSpecial components: - type: CommandStaff + afterLoadoutSpecial: + - !type:ModifyEnvirosuitSpecial + charges: 8 + - !type:ModifyEnvirohelmSpecial + powerCell: PowerCellHigh - type: startingGear id: HoSGear + subGear: + - HoSPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitHoS back: ClothingBackpackHOSFilled @@ -55,3 +62,11 @@ innerClothingSkirt: ClothingUniformJumpskirtHoS satchel: ClothingBackpackSatchelHOSFilled duffelbag: ClothingBackpackDuffelHOSFilled + +- type: startingGear + id: HoSPlasmamanGear + parent: BasePlasmamanSecurityGear + equipment: + jumpsuit: ClothingUniformEnvirosuitHoS + head: ClothingHeadEnvirohelmHoS + gloves: ClothingHandsGlovesEnviroglovesBlack diff --git a/Resources/Prototypes/Roles/Jobs/Security/security_cadet.yml b/Resources/Prototypes/Roles/Jobs/Security/security_cadet.yml index 6596c2142d0c..a99f24b2b6f6 100644 --- a/Resources/Prototypes/Roles/Jobs/Security/security_cadet.yml +++ b/Resources/Prototypes/Roles/Jobs/Security/security_cadet.yml @@ -24,9 +24,16 @@ special: - !type:AddImplantSpecial implants: [ MindShieldImplant ] + afterLoadoutSpecial: + - !type:ModifyEnvirosuitSpecial + charges: 6 + - !type:ModifyEnvirohelmSpecial + powerCell: PowerCellHigh - type: startingGear id: SecurityCadetGear + subGear: + - SecurityOfficerPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitColorRed back: ClothingBackpackSecurity diff --git a/Resources/Prototypes/Roles/Jobs/Security/security_officer.yml b/Resources/Prototypes/Roles/Jobs/Security/security_officer.yml index 2fd44505b82c..066a592845b6 100644 --- a/Resources/Prototypes/Roles/Jobs/Security/security_officer.yml +++ b/Resources/Prototypes/Roles/Jobs/Security/security_officer.yml @@ -21,9 +21,16 @@ special: - !type:AddImplantSpecial implants: [ MindShieldImplant ] + afterLoadoutSpecial: + - !type:ModifyEnvirosuitSpecial + charges: 6 + - !type:ModifyEnvirohelmSpecial + powerCell: PowerCellHigh - type: startingGear id: SecurityOfficerGear + subGear: + - SecurityOfficerPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitSec back: ClothingBackpackSecurity @@ -37,3 +44,11 @@ innerClothingSkirt: ClothingUniformJumpskirtSec satchel: ClothingBackpackSatchelSecurity duffelbag: ClothingBackpackDuffelSecurity + +- type: startingGear + id: SecurityOfficerPlasmamanGear + parent: BasePlasmamanSecurityGear + equipment: + jumpsuit: ClothingUniformEnvirosuitSec + head: ClothingHeadEnvirohelmSec + gloves: ClothingHandsGlovesEnviroglovesBlack diff --git a/Resources/Prototypes/Roles/Jobs/Security/senior_officer.yml b/Resources/Prototypes/Roles/Jobs/Security/senior_officer.yml index 041e063f7a02..584132d0bc1a 100644 --- a/Resources/Prototypes/Roles/Jobs/Security/senior_officer.yml +++ b/Resources/Prototypes/Roles/Jobs/Security/senior_officer.yml @@ -30,9 +30,16 @@ special: - !type:AddImplantSpecial implants: [ MindShieldImplant ] + afterLoadoutSpecial: + - !type:ModifyEnvirosuitSpecial + charges: 6 + - !type:ModifyEnvirohelmSpecial + powerCell: PowerCellHigh - type: startingGear id: SeniorOfficerGear + subGear: + - SecurityOfficerPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitSeniorOfficer back: ClothingBackpackSecurity diff --git a/Resources/Prototypes/Roles/Jobs/Security/warden.yml b/Resources/Prototypes/Roles/Jobs/Security/warden.yml index 5f68518b084e..8533f9cc3482 100644 --- a/Resources/Prototypes/Roles/Jobs/Security/warden.yml +++ b/Resources/Prototypes/Roles/Jobs/Security/warden.yml @@ -27,9 +27,16 @@ special: - !type:AddImplantSpecial implants: [ MindShieldImplant ] + afterLoadoutSpecial: + - !type:ModifyEnvirosuitSpecial + charges: 6 + - !type:ModifyEnvirohelmSpecial + powerCell: PowerCellHigh - type: startingGear id: WardenGear + subGear: + - WardenPlasmamanGear equipment: head: ClothingHeadHatWarden jumpsuit: ClothingUniformJumpsuitWarden @@ -43,3 +50,11 @@ innerClothingSkirt: ClothingUniformJumpskirtWarden satchel: ClothingBackpackSatchelSecurity duffelbag: ClothingBackpackDuffelSecurity + +- type: startingGear + id: WardenPlasmamanGear + parent: BasePlasmamanSecurityGear + equipment: + jumpsuit: ClothingUniformEnvirosuitWarden + head: ClothingHeadEnvirohelmWarden + gloves: ClothingHandsGlovesEnviroglovesBlack diff --git a/Resources/Prototypes/Roles/Jobs/Wildcards/boxer.yml b/Resources/Prototypes/Roles/Jobs/Wildcards/boxer.yml index 65739809da00..89c5c0f1e602 100644 --- a/Resources/Prototypes/Roles/Jobs/Wildcards/boxer.yml +++ b/Resources/Prototypes/Roles/Jobs/Wildcards/boxer.yml @@ -20,6 +20,8 @@ - type: startingGear id: BoxerGear + subGear: + - BoxerPlasmamanGear equipment: jumpsuit: UniformShortsRed back: ClothingBackpackFilled @@ -31,3 +33,11 @@ innerClothingSkirt: UniformShortsRedWithTop satchel: ClothingBackpackSatchelFilled duffelbag: ClothingBackpackDuffelFilled + +- type: startingGear + id: BoxerPlasmamanGear + parent: BasePlasmamanGear + equipment: + jumpsuit: ClothingUniformEnvirosuitBoxing + head: ClothingHeadEnvirohelmBoxing + # No envirogloves, use the boxing gloves instead diff --git a/Resources/Prototypes/Roles/Jobs/Wildcards/psychologist.yml b/Resources/Prototypes/Roles/Jobs/Wildcards/psychologist.yml index a2974c6eb7a3..1391bd0cba7f 100644 --- a/Resources/Prototypes/Roles/Jobs/Wildcards/psychologist.yml +++ b/Resources/Prototypes/Roles/Jobs/Wildcards/psychologist.yml @@ -21,6 +21,8 @@ - type: startingGear id: PsychologistGear + subGear: + - PsychologistPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitPsychologist back: ClothingBackpackPsychologistFilled #DeltaV - stamp included @@ -30,3 +32,11 @@ innerClothingSkirt: ClothingUniformJumpsuitPsychologist satchel: ClothingBackpackSatchelPsychologistFilled #DeltaV - stamp included duffelbag: ClothingBackpackDuffelPsychologistFilled #DeltaV - stamp included + +- type: startingGear + id: PsychologistPlasmamanGear + parent: BasePlasmamanGear + equipment: + jumpsuit: ClothingUniformEnvirosuitEnviroslacksPsychologist + head: ClothingHeadEnvirohelmMedicalDoctor + gloves: ClothingHandsGlovesEnviroglovesWhite diff --git a/Resources/Prototypes/Roles/Jobs/Wildcards/reporter.yml b/Resources/Prototypes/Roles/Jobs/Wildcards/reporter.yml index ad810e970e97..f6118ff3488a 100644 --- a/Resources/Prototypes/Roles/Jobs/Wildcards/reporter.yml +++ b/Resources/Prototypes/Roles/Jobs/Wildcards/reporter.yml @@ -17,6 +17,8 @@ - type: startingGear id: ReporterGear + subGear: + - ReporterPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitReporter back: ClothingBackpackFilled @@ -26,3 +28,11 @@ innerClothingSkirt: ClothingUniformJumpsuitJournalist satchel: ClothingBackpackSatchelFilled duffelbag: ClothingBackpackDuffelFilled + +- type: startingGear + id: ReporterPlasmamanGear + parent: BasePlasmamanGear + equipment: + jumpsuit: ClothingUniformEnvirosuitReporter + head: ClothingHeadEnvirohelmReporter + gloves: ClothingHandsGlovesEnviroglovesReporter diff --git a/Resources/Prototypes/Roles/Jobs/Wildcards/zookeeper.yml b/Resources/Prototypes/Roles/Jobs/Wildcards/zookeeper.yml index 1686e3290faf..d1d1b2c6e935 100644 --- a/Resources/Prototypes/Roles/Jobs/Wildcards/zookeeper.yml +++ b/Resources/Prototypes/Roles/Jobs/Wildcards/zookeeper.yml @@ -16,6 +16,8 @@ - type: startingGear id: ZookeeperGear + subGear: + - ZookeeperPlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitSafari back: ClothingBackpackFilled @@ -26,3 +28,11 @@ innerClothingSkirt: ClothingUniformJumpsuitSafari satchel: ClothingBackpackSatchelFilled duffelbag: ClothingBackpackDuffelFilled + +- type: startingGear + id: ZookeeperPlasmamanGear + parent: BasePlasmamanGear + equipment: + jumpsuit: ClothingUniformEnvirosuitSafari + head: ClothingHeadEnvirohelmSafari + gloves: ClothingHandsGlovesEnviroglovesPurple diff --git a/Resources/Prototypes/SoundCollections/punching.yml b/Resources/Prototypes/SoundCollections/punching.yml index e17afd09789d..8d57114c0cea 100644 --- a/Resources/Prototypes/SoundCollections/punching.yml +++ b/Resources/Prototypes/SoundCollections/punching.yml @@ -5,3 +5,11 @@ - /Audio/Weapons/punch2.ogg - /Audio/Weapons/punch3.ogg - /Audio/Weapons/punch4.ogg + +- type: soundCollection + id: FirePunch + files: + - /Audio/Weapons/firepunch1.ogg + - /Audio/Weapons/firepunch2.ogg + - /Audio/Weapons/firepunch3.ogg + - /Audio/Weapons/firepunch4.ogg diff --git a/Resources/Prototypes/SoundCollections/screams.yml b/Resources/Prototypes/SoundCollections/screams.yml index 518bbf72bb7e..99a0d343d553 100644 --- a/Resources/Prototypes/SoundCollections/screams.yml +++ b/Resources/Prototypes/SoundCollections/screams.yml @@ -68,3 +68,10 @@ - /Audio/Voice/Slime/slime_scream_m2.ogg - /Audio/Voice/Slime/slime_scream_f1.ogg - /Audio/Voice/Slime/slime_scream_f2.ogg + +- type: soundCollection + id: PlasmamanUnisexScreams + files: + - /Audio/Voice/Plasmaman/plasmaman_scream_1.ogg + - /Audio/Voice/Plasmaman/plasmaman_scream_2.ogg + - /Audio/Voice/Plasmaman/plasmaman_scream_3.ogg diff --git a/Resources/Prototypes/Species/plasmaman.yml b/Resources/Prototypes/Species/plasmaman.yml new file mode 100644 index 000000000000..5ff96babaf7c --- /dev/null +++ b/Resources/Prototypes/Species/plasmaman.yml @@ -0,0 +1,171 @@ +- type: species + id: Plasmaman + name: species-name-plasmaman + roundStart: true + prototype: MobPlasmaman + sprites: MobPlasmamanSprites + defaultSkinTone: "#a349a4" + markingLimits: MobPlasmamanMarkingLimits + dollPrototype: MobPlasmamanDummy + skinColoration: Hues + youngAge: 60 + oldAge: 120 + maxAge: 180 + maleFirstNames: names_plasmaman + femaleFirstNames: names_plasmaman + naming: FirstRoman + sexes: + - Unsexed + +- type: speciesBaseSprites + id: MobPlasmamanSprites + sprites: + Head: MobPlasmamanHead + Face: MobHumanoidAnyMarking + Chest: MobPlasmamanTorso + Eyes: MobPlasmamanEyes + LArm: MobPlasmamanLArm + RArm: MobPlasmamanRArm + LHand: MobPlasmamanLHand + RHand: MobPlasmamanRHand + LLeg: MobPlasmamanLLeg + RLeg: MobPlasmamanRLeg + LFoot: MobPlasmamanLFoot + RFoot: MobPlasmamanRFoot + +- type: markingPoints + id: MobPlasmamanMarkingLimits + onlyWhitelisted: true # Hides the hair and facial hair options + points: + Hair: + points: 0 + required: false + FacialHair: + points: 0 + required: false + Snout: + points: 0 + required: false + Tail: + points: 0 + required: false + HeadTop: + points: 1 + required: false + Chest: + points: 1 + required: false + RightLeg: + points: 2 + required: false + RightFoot: + points: 2 + required: false + LeftLeg: + points: 2 + required: false + LeftFoot: + points: 2 + required: false + RightArm: + points: 2 + required: false + RightHand: + points: 2 + required: false + LeftArm: + points: 2 + required: false + LeftHand: + points: 2 + required: false + +- type: humanoidBaseSprite + id: MobPlasmamanHead + baseSprite: + sprite: Mobs/Species/Plasmaman/parts.rsi + state: head_m + +- type: humanoidBaseSprite + id: MobPlasmamanHeadMale + baseSprite: + sprite: Mobs/Species/Plasmaman/parts.rsi + state: head_m + +- type: humanoidBaseSprite + id: MobPlasmamanHeadFemale + baseSprite: + sprite: Mobs/Species/Plasmaman/parts.rsi + state: head_f + +- type: humanoidBaseSprite + id: MobPlasmamanEyes + baseSprite: + sprite: Mobs/Customization/plasmaman.rsi + state: eyes + +- type: humanoidBaseSprite + id: MobPlasmamanTorso + baseSprite: + sprite: Mobs/Species/Plasmaman/parts.rsi + state: torso_m + +- type: humanoidBaseSprite + id: MobPlasmamanTorsoMale + baseSprite: + sprite: Mobs/Species/Plasmaman/parts.rsi + state: torso_m + +- type: humanoidBaseSprite + id: MobPlasmamanTorsoFemale + baseSprite: + sprite: Mobs/Species/Plasmaman/parts.rsi + state: torso_f + +- type: humanoidBaseSprite + id: MobPlasmamanLLeg + baseSprite: + sprite: Mobs/Species/Plasmaman/parts.rsi + state: l_leg + +- type: humanoidBaseSprite + id: MobPlasmamanLArm + baseSprite: + sprite: Mobs/Species/Plasmaman/parts.rsi + state: l_arm + +- type: humanoidBaseSprite + id: MobPlasmamanLHand + baseSprite: + sprite: Mobs/Species/Plasmaman/parts.rsi + state: l_hand + +- type: humanoidBaseSprite + id: MobPlasmamanLFoot + baseSprite: + sprite: Mobs/Species/Plasmaman/parts.rsi + state: l_foot + +- type: humanoidBaseSprite + id: MobPlasmamanRLeg + baseSprite: + sprite: Mobs/Species/Plasmaman/parts.rsi + state: r_leg + +- type: humanoidBaseSprite + id: MobPlasmamanRArm + baseSprite: + sprite: Mobs/Species/Plasmaman/parts.rsi + state: r_arm + +- type: humanoidBaseSprite + id: MobPlasmamanRHand + baseSprite: + sprite: Mobs/Species/Plasmaman/parts.rsi + state: r_hand + +- type: humanoidBaseSprite + id: MobPlasmamanRFoot + baseSprite: + sprite: Mobs/Species/Plasmaman/parts.rsi + state: r_foot diff --git a/Resources/Prototypes/Species/species_weights.yml b/Resources/Prototypes/Species/species_weights.yml index d158862d38ba..cc342f7b1bf7 100644 --- a/Resources/Prototypes/Species/species_weights.yml +++ b/Resources/Prototypes/Species/species_weights.yml @@ -10,3 +10,4 @@ Vulpkanin: 4 # DeltaV - Vulpkanin, see Prototypes/DeltaV/Entities/Mobs/Species/vulpkanin.yml Diona: 2 Shadowkin: 0 + Chitinid: 3 # DeltaV - Chitinid, see Prototypes/DeltaV/Entities/Mobs/Species/chitinid.yml diff --git a/Resources/Prototypes/Traits/disabilities.yml b/Resources/Prototypes/Traits/disabilities.yml index ede5deb89747..9c3c21e19f01 100644 --- a/Resources/Prototypes/Traits/disabilities.yml +++ b/Resources/Prototypes/Traits/disabilities.yml @@ -236,6 +236,7 @@ species: - IPC - Lamia + - Plasmaman functions: - !type:TraitAddComponent components: @@ -257,6 +258,7 @@ species: - IPC - Lamia + - Plasmaman functions: - !type:TraitAddComponent components: diff --git a/Resources/Prototypes/Traits/neutral.yml b/Resources/Prototypes/Traits/neutral.yml index 8ea7006c0c8e..a13e8ee10e5d 100644 --- a/Resources/Prototypes/Traits/neutral.yml +++ b/Resources/Prototypes/Traits/neutral.yml @@ -42,6 +42,20 @@ components: - type: SouthernAccent +- type: trait + id: SkeletonAccent + category: TraitsSpeechAccents + requirements: + - !type:CharacterItemGroupRequirement + group: TraitsAccents + - !type:CharacterSpeciesRequirement + species: + - Plasmaman + functions: + - !type:TraitAddComponent + components: + - type: SkeletonAccent + - type: trait id: NormalVision category: Visual diff --git a/Resources/Prototypes/Traits/physical.yml b/Resources/Prototypes/Traits/physical.yml index 812765702e18..a324af4d74fc 100644 --- a/Resources/Prototypes/Traits/physical.yml +++ b/Resources/Prototypes/Traits/physical.yml @@ -307,6 +307,7 @@ Blunt: 1.2 Slash: 1.2 Piercing: 1.2 + Heat: 1.2 Poison: 1.2 Asphyxiation: 1.2 # An attack rate of 1.25 hits per second (1 / 0.8 = 1.25) multiplied by 20% extra damage @@ -377,6 +378,13 @@ types: Piercing: 5 # No, this isn't "OP", this is literally the worst brute damage type in the game. # Same deal as Slash, except that a majority of all armor provides Piercing resistance. + - !type:TraitRemoveComponent # Plasmamen have self-damage on melee attacks + components: + - type: DamageOnHit + damage: + types: + Blunt: 0 + - type: trait id: Claws @@ -403,6 +411,12 @@ types: Slash: 5 # Trade stamina damage on hit for a very minor amount of extra bleed. # Blunt also deals bleed damage, so this is more of a sidegrade. + - !type:TraitRemoveComponent + components: + - type: DamageOnHit + damage: + types: + Blunt: 0 - type: trait id: NaturalWeaponRemoval @@ -433,6 +447,12 @@ damage: types: Blunt: 5 + - !type:TraitRemoveComponent + components: + - type: DamageOnHit + damage: + types: + Blunt: 0 - type: trait id: StrikingCalluses diff --git a/Resources/Prototypes/Voice/speech_emote_sounds.yml b/Resources/Prototypes/Voice/speech_emote_sounds.yml index 04845764adac..3402b0b72482 100644 --- a/Resources/Prototypes/Voice/speech_emote_sounds.yml +++ b/Resources/Prototypes/Voice/speech_emote_sounds.yml @@ -770,3 +770,13 @@ path: /Audio/Animals/parrot_raught.ogg params: variation: 0.125 + +- type: emoteSounds + id: UnisexPlasmaman + params: + variation: 0.125 + sounds: + Scream: + collection: PlasmamanUnisexScreams + sound: + path: /Audio/Voice/Skeleton/skeleton_scream.ogg diff --git a/Resources/Prototypes/Voice/speech_verbs.yml b/Resources/Prototypes/Voice/speech_verbs.yml index 3f0a4c10fce1..6f9db71a5f12 100644 --- a/Resources/Prototypes/Voice/speech_verbs.yml +++ b/Resources/Prototypes/Voice/speech_verbs.yml @@ -77,6 +77,8 @@ - chat-speech-verb-skeleton-1 - chat-speech-verb-skeleton-2 - chat-speech-verb-skeleton-3 + - chat-speech-verb-skeleton-4 + - chat-speech-verb-skeleton-5 - type: speechVerb id: Slime diff --git a/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/Weapons/Melee/combat.yml b/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/Weapons/Melee/combat.yml index dcb7ecfb45cd..85a5aeea01c7 100644 --- a/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/Weapons/Melee/combat.yml +++ b/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/Weapons/Melee/combat.yml @@ -13,7 +13,7 @@ wideAnimationRotation: -90 soundHit: path: "/Audio/Weapons/chainsaw.ogg" - attackRate: 3.5 + attackRate: 0.3 damage: types: Structural: 35 diff --git a/Resources/Prototypes/_Goobstation/Roles/Jobs/Command/blueshield_officer.yml b/Resources/Prototypes/_Goobstation/Roles/Jobs/Command/blueshield_officer.yml index cfd728a2a11f..9c1a50f9e4c7 100644 --- a/Resources/Prototypes/_Goobstation/Roles/Jobs/Command/blueshield_officer.yml +++ b/Resources/Prototypes/_Goobstation/Roles/Jobs/Command/blueshield_officer.yml @@ -39,9 +39,16 @@ - !type:AddComponentSpecial components: - type: CommandStaff + afterLoadoutSpecial: + - !type:ModifyEnvirosuitSpecial + charges: 8 + - !type:ModifyEnvirohelmSpecial + powerCell: PowerCellHigh - type: startingGear id: BlueshieldOfficerGear + subGear: + - BlueshieldPlasmamanGear equipment: back: ClothingBackpackBlueshield jumpsuit: ClothingUniformJumpsuitBlueshieldOfficer @@ -57,3 +64,11 @@ #belt: ClothingBeltSecurityFilled #pocket1: WeaponPistolMk58 #pocket2: DeathAcidifierImplanter + +- type: startingGear + id: BlueshieldPlasmamanGear + parent: BasePlasmamanGear + equipment: + jumpsuit: ClothingUniformEnvirosuitBlueshield + head: ClothingHeadEnvirohelmBlueshield + gloves: ClothingHandsGlovesEnviroglovesBlack diff --git a/Resources/Prototypes/_Goobstation/Roles/Jobs/Command/magistrate.yml b/Resources/Prototypes/_Goobstation/Roles/Jobs/Command/magistrate.yml index 1e97aee0d324..13f74d3dfd5a 100644 --- a/Resources/Prototypes/_Goobstation/Roles/Jobs/Command/magistrate.yml +++ b/Resources/Prototypes/_Goobstation/Roles/Jobs/Command/magistrate.yml @@ -34,9 +34,16 @@ - !type:AddComponentSpecial components: - type: CommandStaff + afterLoadoutSpecial: + - !type:ModifyEnvirosuitSpecial + charges: 8 + - !type:ModifyEnvirohelmSpecial + powerCell: PowerCellHigh - type: startingGear id: MagistrateGear + subGear: + - MagistratePlasmamanGear equipment: jumpsuit: ClothingUniformJumpsuitMagistrate shoes: ClothingShoesLeather @@ -44,3 +51,11 @@ id: CentcomPDA ears: ClothingHeadsetMagistrate pocket1: UniqueMagistrateLockerTeleporter + +- type: startingGear + id: MagistratePlasmamanGear + parent: BasePlasmamanGear + equipment: + jumpsuit: ClothingUniformEnvirosuitMagistrate + head: ClothingHeadEnvirohelmMagistrate + gloves: ClothingHandsGlovesEnviroglovesWhite diff --git a/Resources/Prototypes/_Goobstation/Roles/Jobs/Command/nanotrasen_representative.yml b/Resources/Prototypes/_Goobstation/Roles/Jobs/Command/nanotrasen_representative.yml index 290a73e392c7..515828560866 100644 --- a/Resources/Prototypes/_Goobstation/Roles/Jobs/Command/nanotrasen_representative.yml +++ b/Resources/Prototypes/_Goobstation/Roles/Jobs/Command/nanotrasen_representative.yml @@ -33,12 +33,27 @@ - !type:AddComponentSpecial components: - type: CommandStaff + afterLoadoutSpecial: + - !type:ModifyEnvirosuitSpecial + charges: 8 + - !type:ModifyEnvirohelmSpecial + powerCell: PowerCellHigh - type: startingGear id: NanotrasenRepresentativeGear + subGear: + - NanotrasenRepresentativePlasmamanGear equipment: shoes: ClothingShoesColorBlack id: CentcomPDA jumpsuit: ClothingUniformJumpsuitNanotrasenRepresentative ears: ClothingHeadsetCentCom pocket1: UniqueNanorepLockerTeleporter + +- type: startingGear + id: NanotrasenRepresentativePlasmamanGear + parent: BasePlasmamanGear + equipment: + jumpsuit: ClothingUniformEnvirosuitNanotrasenRepresentative + head: ClothingHeadEnvirohelmNanotrasenRepresentative + gloves: ClothingHandsGlovesEnviroglovesBlack diff --git a/Resources/Prototypes/fonts.yml b/Resources/Prototypes/fonts.yml index c61a5fb8041d..231c551e4dcd 100644 --- a/Resources/Prototypes/fonts.yml +++ b/Resources/Prototypes/fonts.yml @@ -69,3 +69,12 @@ - type: font id: Cambria path: /Fonts/Cambria.ttf + +- type: font + id: LDFComicSans + path: /Fonts/LDFComicSans/LDFComicSans-Medium.ttf + +- type: font + id: OnlyYou + path: /Fonts/Only_You.otf + diff --git a/Resources/Prototypes/tags.yml b/Resources/Prototypes/tags.yml index 759c6eefe5df..83fc9bd23112 100644 --- a/Resources/Prototypes/tags.yml +++ b/Resources/Prototypes/tags.yml @@ -600,6 +600,9 @@ - type: Tag id: EmitterBolt +- type: Tag + id: Envirohelm + - type: Tag id: Enzyme @@ -1073,6 +1076,9 @@ - type: Tag id: PlasmaGlassShard +- type: Tag + id: PlasmamanSafe + - type: Tag id: Plastic diff --git a/Resources/Prototypes/typing_indicator.yml b/Resources/Prototypes/typing_indicator.yml index 7e8c92787feb..11f339454f2a 100644 --- a/Resources/Prototypes/typing_indicator.yml +++ b/Resources/Prototypes/typing_indicator.yml @@ -53,3 +53,11 @@ id: oni typingState: oni0 offset: 0, 0.0625 + +- type: typingIndicator + id: plasmaman + typingState: plasmaman0 + +- type: typingIndicator + id: skeleton + typingState: skeleton0 diff --git a/Resources/ServerInfo/Guidebook/Mobs/DeltaV/Chitinid.xml b/Resources/ServerInfo/Guidebook/Mobs/DeltaV/Chitinid.xml new file mode 100644 index 000000000000..29dde13c0f72 --- /dev/null +++ b/Resources/ServerInfo/Guidebook/Mobs/DeltaV/Chitinid.xml @@ -0,0 +1,28 @@ + + # Chitinid + + + + + + An industrious worker drone species, the Chitinid are strong diligent workers. Thanks to their homeworld's enviroment, they have grown an acute resistance to radiation, but not without its side effects. + + ## Diet + - Nothing special. + + ## Benefits + - Takes 80% less Radiation, 10% less Slash. + - Their bodies naturally recover from light radiation damage up to a point, once they accumulate enough radiation they must purge it from their systems in the form of a small rock. + - Due to their worker drone nature they are Better at pulling and carrying things. + - Due to their radioactive homeworld they possess a bio light. + + ## Drawbacks + - Built for work rather than combat their hard shells are weaker to Blunt and piercing damage, they take 25% more piercing and 15% more Blunt damage. + - Due to their hard shells normal syringes can not pierce them, requiring hypos to bypass the toughness. + - Thanks to their overactive systems they get hungry 33% faster. + - The cold does not agree with their biology and makes their movement sluggish, the cold also harms them more than others. + - They are deceptivly heavy due to their lifestyle and diet. + - The Chitzite they expel is slightly radioactive. + - Bug Blood. + + diff --git a/Resources/ServerInfo/Guidebook/Mobs/Plasmaman.xml b/Resources/ServerInfo/Guidebook/Mobs/Plasmaman.xml new file mode 100644 index 000000000000..d0c41a3100ca --- /dev/null +++ b/Resources/ServerInfo/Guidebook/Mobs/Plasmaman.xml @@ -0,0 +1,73 @@ + + # Plasmamen + + + + + + They breathe plasma, and oxygen is highly toxic to them when inhaled. + Being exposed to oxygen sets them on fire. + + To prevent ignition, they wear sealed suits made up of an envirosuit (in the jumpsuit slot) and a [bold]spaceworthy[/bold] envirosuit helmet. + Other suits like EVA suits, vacsuits, tacsuits and hardsuits will also seal them from oxygen exposure. + + They don't experience hunger nor thirst. + They don't have blood and cannot bleed out. + + Due to their skeleton body, they can consume Milk to gain a positive moodlet and slowly heal Brute, Heat, Shock, and Caustic damage. + They can also consume Plasma to gain a bigger positive moodlet and heal every damage type faster, except for Cellular damage. + + + + + + + They infuse their fists with plasma dust that combusts when they punch, dealing [color=orange]5 Heat[/color] and [color=red]2.25 Blunt[/color] damage. However, each successful punch deals [color=orange]1 Heat[/color] damage to their hands. + + Plasmamen with the traits [bold]Claws[/bold], [bold]Talons[/bold] or [bold]Natural Weapons Removal[/bold] have less unarmed damage but don't take self-damage from unarmed attacks. + + They take [color=#1e90ff]25% less Piercing, 20% less Poison, and 15% less Slash damage[/color], + and are [color=#8658fc]immune to Radiation and Cold damage[/color], + but take [color=#ffa500]50% more Blunt and 50% more Heat damage[/color]. + + Due to their [color=#8658fc]Cold immunity[/color], they can live in cold environments such as Glacier Station without the need of a winter coat. + + ## Equipment + + + + + + + All Plasmamen start with an envirosuit, an envirosuit helmet, and a plasma internals tank. + + Their envirosuits contain a [color=#1e90ff]self-extinguisher[/color] with limited charges, which they can activate when they are on fire + and wearing their envirosuit helmet. The self-extinguisher needs to recharge between uses. + + + Cartridge refills of the envirosuit's self-extinguisher can be bought in [bold]Loadouts[/bold], or printed at the medical techfab after research. + A refill makes a recharging self-extinguisher immediately usable again. + + + + Their envirosuit helmets are [bold]spaceworthy[/bold] and provide welding protection. The helmet's visor can be lit up like a flashlight, using the inserted power cell as a battery. + They cannot eat nor drink without taking off their envirosuit helmet. + + The plasma internals tank lasts roughly an hour before needing to be replaced or refilled. + + ## Medical Treatment + + + + + Before performing surgery on a Plasmaman, their envirosuit needs to be unequipped first, which is disastrous in an oxygenated environment. + + To get around this, the Plasmaman can be buckled to a [bold]stasis bed[/bold] before removing their envirosuit + to prevent them from self-igniting throughout the surgical procedure. + + + Their envirosuit helmets prevents them from eating pills, but their envirosuits allow chemicals to be injected through them. + + + + diff --git a/Resources/ServerInfo/Guidebook/Mobs/Species.xml b/Resources/ServerInfo/Guidebook/Mobs/Species.xml index cb74fd50c941..261fc666f199 100644 --- a/Resources/ServerInfo/Guidebook/Mobs/Species.xml +++ b/Resources/ServerInfo/Guidebook/Mobs/Species.xml @@ -13,6 +13,7 @@ + # Parkstation specific species diff --git a/Resources/Textures/Clothing/Hands/Gloves/Envirogloves/hop.rsi/equipped-HAND.png b/Resources/Textures/Clothing/Hands/Gloves/Envirogloves/hop.rsi/equipped-HAND.png new file mode 100644 index 000000000000..9dc8e63a7371 Binary files /dev/null and b/Resources/Textures/Clothing/Hands/Gloves/Envirogloves/hop.rsi/equipped-HAND.png differ diff --git a/Resources/Textures/Clothing/Hands/Gloves/Envirogloves/hop.rsi/icon.png b/Resources/Textures/Clothing/Hands/Gloves/Envirogloves/hop.rsi/icon.png new file mode 100644 index 000000000000..1906b6b59540 Binary files /dev/null and b/Resources/Textures/Clothing/Hands/Gloves/Envirogloves/hop.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Hands/Gloves/Envirogloves/hop.rsi/inhand-left.png b/Resources/Textures/Clothing/Hands/Gloves/Envirogloves/hop.rsi/inhand-left.png new file mode 100644 index 000000000000..2016841f044d Binary files /dev/null and b/Resources/Textures/Clothing/Hands/Gloves/Envirogloves/hop.rsi/inhand-left.png differ diff --git a/Resources/Textures/Clothing/Hands/Gloves/Envirogloves/hop.rsi/inhand-right.png b/Resources/Textures/Clothing/Hands/Gloves/Envirogloves/hop.rsi/inhand-right.png new file mode 100644 index 000000000000..7bf0e1e75a6e Binary files /dev/null and b/Resources/Textures/Clothing/Hands/Gloves/Envirogloves/hop.rsi/inhand-right.png differ diff --git a/Resources/Textures/Clothing/Hands/Gloves/Envirogloves/hop.rsi/meta.json b/Resources/Textures/Clothing/Hands/Gloves/Envirogloves/hop.rsi/meta.json new file mode 100644 index 000000000000..e28954bcefa1 --- /dev/null +++ b/Resources/Textures/Clothing/Hands/Gloves/Envirogloves/hop.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Inhand and equipped taken from tgstation at commit https://github.com/tgstation/tgstation/commit/4f6190e2895e09116663ef282d3ce1d8b35c032e and modified by Flareguy for Space Station 14 and modified by Skubman | Icon taken from tgstation at commit https://github.com/tgstation/tgstation/commit/c77c50ae3d19e763c60c44e75c7bf9d61e333875", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-HAND", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Head/Envirohelms/ancientvoid.rsi/equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/ancientvoid.rsi/equipped-HELMET.png new file mode 100644 index 000000000000..873fa47b2be3 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/ancientvoid.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/ancientvoid.rsi/icon-flash.png b/Resources/Textures/Clothing/Head/Envirohelms/ancientvoid.rsi/icon-flash.png new file mode 100644 index 000000000000..edc62605aed1 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/ancientvoid.rsi/icon-flash.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/ancientvoid.rsi/icon.png b/Resources/Textures/Clothing/Head/Envirohelms/ancientvoid.rsi/icon.png new file mode 100644 index 000000000000..982f4081023c Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/ancientvoid.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/ancientvoid.rsi/meta.json b/Resources/Textures/Clothing/Head/Envirohelms/ancientvoid.rsi/meta.json new file mode 100644 index 000000000000..21fd8d52aae6 --- /dev/null +++ b/Resources/Textures/Clothing/Head/Envirohelms/ancientvoid.rsi/meta.json @@ -0,0 +1,25 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef and modified by Skubman", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "icon-flash" + }, + { + "name": "equipped-HELMET", + "directions": 4 + }, + { + "name": "visor-equipped-HELMET", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Head/Envirohelms/ancientvoid.rsi/visor-equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/ancientvoid.rsi/visor-equipped-HELMET.png new file mode 100644 index 000000000000..6c86bc9ecb99 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/ancientvoid.rsi/visor-equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/atmos.rsi/equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/atmos.rsi/equipped-HELMET.png new file mode 100644 index 000000000000..6c3e99f1114f Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/atmos.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/atmos.rsi/icon-flash.png b/Resources/Textures/Clothing/Head/Envirohelms/atmos.rsi/icon-flash.png new file mode 100644 index 000000000000..3580b91f5999 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/atmos.rsi/icon-flash.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/atmos.rsi/icon.png b/Resources/Textures/Clothing/Head/Envirohelms/atmos.rsi/icon.png new file mode 100644 index 000000000000..1abcea97c4dd Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/atmos.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/atmos.rsi/meta.json b/Resources/Textures/Clothing/Head/Envirohelms/atmos.rsi/meta.json new file mode 100644 index 000000000000..83a0683d0e81 --- /dev/null +++ b/Resources/Textures/Clothing/Head/Envirohelms/atmos.rsi/meta.json @@ -0,0 +1,25 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef and modified by Skubman", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "icon-flash" + }, + { + "name": "equipped-HELMET", + "directions": 4 + }, + { + "name": "on-equipped-HELMET", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Head/Envirohelms/atmos.rsi/on-equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/atmos.rsi/on-equipped-HELMET.png new file mode 100644 index 000000000000..adfa03a3d104 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/atmos.rsi/on-equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/captain.rsi/equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/captain.rsi/equipped-HELMET.png new file mode 100644 index 000000000000..2988ab5d966a Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/captain.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/captain.rsi/icon-flash.png b/Resources/Textures/Clothing/Head/Envirohelms/captain.rsi/icon-flash.png new file mode 100644 index 000000000000..3580b91f5999 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/captain.rsi/icon-flash.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/captain.rsi/icon.png b/Resources/Textures/Clothing/Head/Envirohelms/captain.rsi/icon.png new file mode 100644 index 000000000000..4e39d2d54bb2 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/captain.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/captain.rsi/meta.json b/Resources/Textures/Clothing/Head/Envirohelms/captain.rsi/meta.json new file mode 100644 index 000000000000..efe0ef824eaf --- /dev/null +++ b/Resources/Textures/Clothing/Head/Envirohelms/captain.rsi/meta.json @@ -0,0 +1,25 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef and modified by Skubman for Space Station 14", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "icon-flash" + }, + { + "name": "equipped-HELMET", + "directions": 4 + }, + { + "name": "on-equipped-HELMET", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Head/Envirohelms/captain.rsi/on-equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/captain.rsi/on-equipped-HELMET.png new file mode 100644 index 000000000000..adfa03a3d104 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/captain.rsi/on-equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/cargo.rsi/equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/cargo.rsi/equipped-HELMET.png new file mode 100644 index 000000000000..b33768989818 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/cargo.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/cargo.rsi/icon-flash.png b/Resources/Textures/Clothing/Head/Envirohelms/cargo.rsi/icon-flash.png new file mode 100644 index 000000000000..3580b91f5999 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/cargo.rsi/icon-flash.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/cargo.rsi/icon.png b/Resources/Textures/Clothing/Head/Envirohelms/cargo.rsi/icon.png new file mode 100644 index 000000000000..e7a4d554b277 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/cargo.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/cargo.rsi/meta.json b/Resources/Textures/Clothing/Head/Envirohelms/cargo.rsi/meta.json new file mode 100644 index 000000000000..83a0683d0e81 --- /dev/null +++ b/Resources/Textures/Clothing/Head/Envirohelms/cargo.rsi/meta.json @@ -0,0 +1,25 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef and modified by Skubman", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "icon-flash" + }, + { + "name": "equipped-HELMET", + "directions": 4 + }, + { + "name": "on-equipped-HELMET", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Head/Envirohelms/cargo.rsi/on-equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/cargo.rsi/on-equipped-HELMET.png new file mode 100644 index 000000000000..adfa03a3d104 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/cargo.rsi/on-equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/ce.rsi/equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/ce.rsi/equipped-HELMET.png new file mode 100644 index 000000000000..baf8c4a5ed05 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/ce.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/ce.rsi/icon-flash.png b/Resources/Textures/Clothing/Head/Envirohelms/ce.rsi/icon-flash.png new file mode 100644 index 000000000000..3580b91f5999 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/ce.rsi/icon-flash.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/ce.rsi/icon.png b/Resources/Textures/Clothing/Head/Envirohelms/ce.rsi/icon.png new file mode 100644 index 000000000000..2644d0774c8d Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/ce.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/ce.rsi/meta.json b/Resources/Textures/Clothing/Head/Envirohelms/ce.rsi/meta.json new file mode 100644 index 000000000000..83a0683d0e81 --- /dev/null +++ b/Resources/Textures/Clothing/Head/Envirohelms/ce.rsi/meta.json @@ -0,0 +1,25 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef and modified by Skubman", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "icon-flash" + }, + { + "name": "equipped-HELMET", + "directions": 4 + }, + { + "name": "on-equipped-HELMET", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Head/Envirohelms/ce.rsi/on-equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/ce.rsi/on-equipped-HELMET.png new file mode 100644 index 000000000000..adfa03a3d104 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/ce.rsi/on-equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/centcom_agent.rsi/equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/centcom_agent.rsi/equipped-HELMET.png new file mode 100644 index 000000000000..43ced855d888 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/centcom_agent.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/centcom_agent.rsi/icon-flash.png b/Resources/Textures/Clothing/Head/Envirohelms/centcom_agent.rsi/icon-flash.png new file mode 100644 index 000000000000..3580b91f5999 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/centcom_agent.rsi/icon-flash.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/centcom_agent.rsi/icon.png b/Resources/Textures/Clothing/Head/Envirohelms/centcom_agent.rsi/icon.png new file mode 100644 index 000000000000..ebf672af7a91 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/centcom_agent.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/centcom_agent.rsi/meta.json b/Resources/Textures/Clothing/Head/Envirohelms/centcom_agent.rsi/meta.json new file mode 100644 index 000000000000..83a0683d0e81 --- /dev/null +++ b/Resources/Textures/Clothing/Head/Envirohelms/centcom_agent.rsi/meta.json @@ -0,0 +1,25 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef and modified by Skubman", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "icon-flash" + }, + { + "name": "equipped-HELMET", + "directions": 4 + }, + { + "name": "on-equipped-HELMET", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Head/Envirohelms/centcom_agent.rsi/on-equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/centcom_agent.rsi/on-equipped-HELMET.png new file mode 100644 index 000000000000..adfa03a3d104 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/centcom_agent.rsi/on-equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/centcom_officer.rsi/equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/centcom_officer.rsi/equipped-HELMET.png new file mode 100644 index 000000000000..1786d88729fc Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/centcom_officer.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/centcom_officer.rsi/icon-flash.png b/Resources/Textures/Clothing/Head/Envirohelms/centcom_officer.rsi/icon-flash.png new file mode 100644 index 000000000000..3580b91f5999 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/centcom_officer.rsi/icon-flash.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/centcom_officer.rsi/icon.png b/Resources/Textures/Clothing/Head/Envirohelms/centcom_officer.rsi/icon.png new file mode 100644 index 000000000000..6f7c4bdc549e Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/centcom_officer.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/centcom_officer.rsi/meta.json b/Resources/Textures/Clothing/Head/Envirohelms/centcom_officer.rsi/meta.json new file mode 100644 index 000000000000..83a0683d0e81 --- /dev/null +++ b/Resources/Textures/Clothing/Head/Envirohelms/centcom_officer.rsi/meta.json @@ -0,0 +1,25 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef and modified by Skubman", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "icon-flash" + }, + { + "name": "equipped-HELMET", + "directions": 4 + }, + { + "name": "on-equipped-HELMET", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Head/Envirohelms/centcom_officer.rsi/on-equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/centcom_officer.rsi/on-equipped-HELMET.png new file mode 100644 index 000000000000..adfa03a3d104 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/centcom_officer.rsi/on-equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/centcom_official.rsi/equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/centcom_official.rsi/equipped-HELMET.png new file mode 100644 index 000000000000..ff26b7a61c9b Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/centcom_official.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/centcom_official.rsi/icon-flash.png b/Resources/Textures/Clothing/Head/Envirohelms/centcom_official.rsi/icon-flash.png new file mode 100644 index 000000000000..3580b91f5999 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/centcom_official.rsi/icon-flash.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/centcom_official.rsi/icon.png b/Resources/Textures/Clothing/Head/Envirohelms/centcom_official.rsi/icon.png new file mode 100644 index 000000000000..2d8f37ab002f Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/centcom_official.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/centcom_official.rsi/meta.json b/Resources/Textures/Clothing/Head/Envirohelms/centcom_official.rsi/meta.json new file mode 100644 index 000000000000..83a0683d0e81 --- /dev/null +++ b/Resources/Textures/Clothing/Head/Envirohelms/centcom_official.rsi/meta.json @@ -0,0 +1,25 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef and modified by Skubman", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "icon-flash" + }, + { + "name": "equipped-HELMET", + "directions": 4 + }, + { + "name": "on-equipped-HELMET", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Head/Envirohelms/centcom_official.rsi/on-equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/centcom_official.rsi/on-equipped-HELMET.png new file mode 100644 index 000000000000..adfa03a3d104 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/centcom_official.rsi/on-equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/chaplain.rsi/equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/chaplain.rsi/equipped-HELMET.png new file mode 100644 index 000000000000..51e2292e5fcf Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/chaplain.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/chaplain.rsi/icon-flash.png b/Resources/Textures/Clothing/Head/Envirohelms/chaplain.rsi/icon-flash.png new file mode 100644 index 000000000000..3580b91f5999 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/chaplain.rsi/icon-flash.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/chaplain.rsi/icon.png b/Resources/Textures/Clothing/Head/Envirohelms/chaplain.rsi/icon.png new file mode 100644 index 000000000000..216c812a2378 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/chaplain.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/chaplain.rsi/meta.json b/Resources/Textures/Clothing/Head/Envirohelms/chaplain.rsi/meta.json new file mode 100644 index 000000000000..83a0683d0e81 --- /dev/null +++ b/Resources/Textures/Clothing/Head/Envirohelms/chaplain.rsi/meta.json @@ -0,0 +1,25 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef and modified by Skubman", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "icon-flash" + }, + { + "name": "equipped-HELMET", + "directions": 4 + }, + { + "name": "on-equipped-HELMET", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Head/Envirohelms/chaplain.rsi/on-equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/chaplain.rsi/on-equipped-HELMET.png new file mode 100644 index 000000000000..adfa03a3d104 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/chaplain.rsi/on-equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/chemist.rsi/equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/chemist.rsi/equipped-HELMET.png new file mode 100644 index 000000000000..3c845ae012f7 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/chemist.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/chemist.rsi/icon-flash.png b/Resources/Textures/Clothing/Head/Envirohelms/chemist.rsi/icon-flash.png new file mode 100644 index 000000000000..3580b91f5999 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/chemist.rsi/icon-flash.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/chemist.rsi/icon.png b/Resources/Textures/Clothing/Head/Envirohelms/chemist.rsi/icon.png new file mode 100644 index 000000000000..17b1b704af00 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/chemist.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/chemist.rsi/meta.json b/Resources/Textures/Clothing/Head/Envirohelms/chemist.rsi/meta.json new file mode 100644 index 000000000000..83a0683d0e81 --- /dev/null +++ b/Resources/Textures/Clothing/Head/Envirohelms/chemist.rsi/meta.json @@ -0,0 +1,25 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef and modified by Skubman", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "icon-flash" + }, + { + "name": "equipped-HELMET", + "directions": 4 + }, + { + "name": "on-equipped-HELMET", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Head/Envirohelms/chemist.rsi/on-equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/chemist.rsi/on-equipped-HELMET.png new file mode 100644 index 000000000000..adfa03a3d104 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/chemist.rsi/on-equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/clown.rsi/equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/clown.rsi/equipped-HELMET.png new file mode 100644 index 000000000000..bbe11f6c75d0 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/clown.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/clown.rsi/icon-flash.png b/Resources/Textures/Clothing/Head/Envirohelms/clown.rsi/icon-flash.png new file mode 100644 index 000000000000..a59d97aca614 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/clown.rsi/icon-flash.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/clown.rsi/icon.png b/Resources/Textures/Clothing/Head/Envirohelms/clown.rsi/icon.png new file mode 100644 index 000000000000..f5ad4ede171a Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/clown.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/clown.rsi/meta.json b/Resources/Textures/Clothing/Head/Envirohelms/clown.rsi/meta.json new file mode 100644 index 000000000000..83a0683d0e81 --- /dev/null +++ b/Resources/Textures/Clothing/Head/Envirohelms/clown.rsi/meta.json @@ -0,0 +1,25 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef and modified by Skubman", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "icon-flash" + }, + { + "name": "equipped-HELMET", + "directions": 4 + }, + { + "name": "on-equipped-HELMET", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Head/Envirohelms/clown.rsi/on-equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/clown.rsi/on-equipped-HELMET.png new file mode 100644 index 000000000000..ba076ac70046 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/clown.rsi/on-equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/cmo.rsi/equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/cmo.rsi/equipped-HELMET.png new file mode 100644 index 000000000000..3a6e85f8a9fa Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/cmo.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/cmo.rsi/icon-flash.png b/Resources/Textures/Clothing/Head/Envirohelms/cmo.rsi/icon-flash.png new file mode 100644 index 000000000000..3580b91f5999 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/cmo.rsi/icon-flash.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/cmo.rsi/icon.png b/Resources/Textures/Clothing/Head/Envirohelms/cmo.rsi/icon.png new file mode 100644 index 000000000000..0dd662f8b18f Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/cmo.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/cmo.rsi/meta.json b/Resources/Textures/Clothing/Head/Envirohelms/cmo.rsi/meta.json new file mode 100644 index 000000000000..83a0683d0e81 --- /dev/null +++ b/Resources/Textures/Clothing/Head/Envirohelms/cmo.rsi/meta.json @@ -0,0 +1,25 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef and modified by Skubman", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "icon-flash" + }, + { + "name": "equipped-HELMET", + "directions": 4 + }, + { + "name": "on-equipped-HELMET", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Head/Envirohelms/cmo.rsi/on-equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/cmo.rsi/on-equipped-HELMET.png new file mode 100644 index 000000000000..adfa03a3d104 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/cmo.rsi/on-equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/coroner.rsi/equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/coroner.rsi/equipped-HELMET.png new file mode 100644 index 000000000000..1ed81414a259 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/coroner.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/coroner.rsi/icon-flash.png b/Resources/Textures/Clothing/Head/Envirohelms/coroner.rsi/icon-flash.png new file mode 100644 index 000000000000..3580b91f5999 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/coroner.rsi/icon-flash.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/coroner.rsi/icon.png b/Resources/Textures/Clothing/Head/Envirohelms/coroner.rsi/icon.png new file mode 100644 index 000000000000..b2f56d60032a Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/coroner.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/coroner.rsi/meta.json b/Resources/Textures/Clothing/Head/Envirohelms/coroner.rsi/meta.json new file mode 100644 index 000000000000..83a0683d0e81 --- /dev/null +++ b/Resources/Textures/Clothing/Head/Envirohelms/coroner.rsi/meta.json @@ -0,0 +1,25 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef and modified by Skubman", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "icon-flash" + }, + { + "name": "equipped-HELMET", + "directions": 4 + }, + { + "name": "on-equipped-HELMET", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Head/Envirohelms/coroner.rsi/on-equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/coroner.rsi/on-equipped-HELMET.png new file mode 100644 index 000000000000..adfa03a3d104 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/coroner.rsi/on-equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/accent-equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/accent-equipped-HELMET.png new file mode 100644 index 000000000000..f89fa545ab98 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/accent-equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/accent-icon.png b/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/accent-icon.png new file mode 100644 index 000000000000..c596f992100d Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/accent-icon.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/accent-inhand-left.png b/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/accent-inhand-left.png new file mode 100644 index 000000000000..dc1f29bb64bc Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/accent-inhand-left.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/accent-inhand-right.png b/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/accent-inhand-right.png new file mode 100644 index 000000000000..c480d547c138 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/accent-inhand-right.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/equipped-HELMET.png new file mode 100644 index 000000000000..cd9f53385108 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/icon-flash.png b/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/icon-flash.png new file mode 100644 index 000000000000..3580b91f5999 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/icon-flash.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/icon.png b/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/icon.png new file mode 100644 index 000000000000..3340f25bf7cd Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/inhand-left.png b/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/inhand-left.png new file mode 100644 index 000000000000..a3075b2ec661 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/inhand-left.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/inhand-right.png b/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/inhand-right.png new file mode 100644 index 000000000000..1875428f9e54 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/inhand-right.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/meta.json b/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/meta.json new file mode 100644 index 000000000000..4d255a09c225 --- /dev/null +++ b/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/meta.json @@ -0,0 +1,101 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef modified by Skubman for Space Station 14", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "icon-flash" + }, + { + "name": "equipped-HELMET", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "accent-icon" + }, + { + "name": "accent-equipped-HELMET", + "directions": 4 + }, + { + "name": "accent-inhand-left", + "directions": 4 + }, + { + "name": "accent-inhand-right", + "directions": 4 + }, + { + "name": "midaccent-icon" + }, + { + "name": "midaccent-equipped-HELMET", + "directions": 4 + }, + { + "name": "midaccent-inhand-left", + "directions": 4 + }, + { + "name": "midaccent-inhand-right", + "directions": 4 + }, + { + "name": "sideaccent-icon" + }, + { + "name": "sideaccent-equipped-HELMET", + "directions": 4 + }, + { + "name": "sideaccent-inhand-left", + "directions": 4 + }, + { + "name": "sideaccent-inhand-right", + "directions": 4 + }, + { + "name": "visor-icon" + }, + { + "name": "visor-equipped-HELMET", + "directions": 4 + }, + { + "name": "visor-inhand-left", + "directions": 4 + }, + { + "name": "visor-inhand-right", + "directions": 4 + }, + { + "name": "on-equipped-HELMET", + "directions": 4 + }, + { + "name": "on-inhand-left", + "directions": 4 + }, + { + "name": "on-inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/midaccent-equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/midaccent-equipped-HELMET.png new file mode 100644 index 000000000000..b771b180ec0a Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/midaccent-equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/midaccent-icon.png b/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/midaccent-icon.png new file mode 100644 index 000000000000..47539bdc2d06 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/midaccent-icon.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/midaccent-inhand-left.png b/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/midaccent-inhand-left.png new file mode 100644 index 000000000000..5b3c26d83fb3 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/midaccent-inhand-left.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/midaccent-inhand-right.png b/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/midaccent-inhand-right.png new file mode 100644 index 000000000000..6b115e076180 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/midaccent-inhand-right.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/on-equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/on-equipped-HELMET.png new file mode 100644 index 000000000000..adfa03a3d104 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/on-equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/on-inhand-left.png b/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/on-inhand-left.png new file mode 100644 index 000000000000..4a8eb60ec93b Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/on-inhand-left.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/on-inhand-right.png b/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/on-inhand-right.png new file mode 100644 index 000000000000..873df838b63b Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/on-inhand-right.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/sideaccent-equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/sideaccent-equipped-HELMET.png new file mode 100644 index 000000000000..82667eae9583 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/sideaccent-equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/sideaccent-icon.png b/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/sideaccent-icon.png new file mode 100644 index 000000000000..9bd507ef7284 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/sideaccent-icon.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/sideaccent-inhand-left.png b/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/sideaccent-inhand-left.png new file mode 100644 index 000000000000..92cedcaf6051 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/sideaccent-inhand-left.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/sideaccent-inhand-right.png b/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/sideaccent-inhand-right.png new file mode 100644 index 000000000000..5e1ba883a240 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/sideaccent-inhand-right.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/visor-equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/visor-equipped-HELMET.png new file mode 100644 index 000000000000..24d3d7be8938 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/visor-equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/visor-icon.png b/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/visor-icon.png new file mode 100644 index 000000000000..57ce267b03f7 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/visor-icon.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/visor-inhand-left.png b/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/visor-inhand-left.png new file mode 100644 index 000000000000..f6588ba8003e Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/visor-inhand-left.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/visor-inhand-right.png b/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/visor-inhand-right.png new file mode 100644 index 000000000000..907076897a8a Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/custom.rsi/visor-inhand-right.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/engineering.rsi/equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/engineering.rsi/equipped-HELMET.png new file mode 100644 index 000000000000..5c947d4bbde8 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/engineering.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/engineering.rsi/icon-flash.png b/Resources/Textures/Clothing/Head/Envirohelms/engineering.rsi/icon-flash.png new file mode 100644 index 000000000000..3580b91f5999 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/engineering.rsi/icon-flash.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/engineering.rsi/icon.png b/Resources/Textures/Clothing/Head/Envirohelms/engineering.rsi/icon.png new file mode 100644 index 000000000000..a3eb92f19a68 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/engineering.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/engineering.rsi/meta.json b/Resources/Textures/Clothing/Head/Envirohelms/engineering.rsi/meta.json new file mode 100644 index 000000000000..83a0683d0e81 --- /dev/null +++ b/Resources/Textures/Clothing/Head/Envirohelms/engineering.rsi/meta.json @@ -0,0 +1,25 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef and modified by Skubman", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "icon-flash" + }, + { + "name": "equipped-HELMET", + "directions": 4 + }, + { + "name": "on-equipped-HELMET", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Head/Envirohelms/engineering.rsi/on-equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/engineering.rsi/on-equipped-HELMET.png new file mode 100644 index 000000000000..adfa03a3d104 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/engineering.rsi/on-equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/genetics.rsi/equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/genetics.rsi/equipped-HELMET.png new file mode 100644 index 000000000000..10a0987784c4 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/genetics.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/genetics.rsi/icon-flash.png b/Resources/Textures/Clothing/Head/Envirohelms/genetics.rsi/icon-flash.png new file mode 100644 index 000000000000..3580b91f5999 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/genetics.rsi/icon-flash.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/genetics.rsi/icon.png b/Resources/Textures/Clothing/Head/Envirohelms/genetics.rsi/icon.png new file mode 100644 index 000000000000..8677f71e46e2 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/genetics.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/genetics.rsi/meta.json b/Resources/Textures/Clothing/Head/Envirohelms/genetics.rsi/meta.json new file mode 100644 index 000000000000..83a0683d0e81 --- /dev/null +++ b/Resources/Textures/Clothing/Head/Envirohelms/genetics.rsi/meta.json @@ -0,0 +1,25 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef and modified by Skubman", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "icon-flash" + }, + { + "name": "equipped-HELMET", + "directions": 4 + }, + { + "name": "on-equipped-HELMET", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Head/Envirohelms/genetics.rsi/on-equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/genetics.rsi/on-equipped-HELMET.png new file mode 100644 index 000000000000..adfa03a3d104 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/genetics.rsi/on-equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/hop.rsi/equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/hop.rsi/equipped-HELMET.png new file mode 100644 index 000000000000..9ed1e3eb7993 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/hop.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/hop.rsi/icon-flash.png b/Resources/Textures/Clothing/Head/Envirohelms/hop.rsi/icon-flash.png new file mode 100644 index 000000000000..3580b91f5999 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/hop.rsi/icon-flash.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/hop.rsi/icon.png b/Resources/Textures/Clothing/Head/Envirohelms/hop.rsi/icon.png new file mode 100644 index 000000000000..fe9eeb318872 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/hop.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/hop.rsi/meta.json b/Resources/Textures/Clothing/Head/Envirohelms/hop.rsi/meta.json new file mode 100644 index 000000000000..83a0683d0e81 --- /dev/null +++ b/Resources/Textures/Clothing/Head/Envirohelms/hop.rsi/meta.json @@ -0,0 +1,25 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef and modified by Skubman", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "icon-flash" + }, + { + "name": "equipped-HELMET", + "directions": 4 + }, + { + "name": "on-equipped-HELMET", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Head/Envirohelms/hop.rsi/on-equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/hop.rsi/on-equipped-HELMET.png new file mode 100644 index 000000000000..adfa03a3d104 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/hop.rsi/on-equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/hos.rsi/equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/hos.rsi/equipped-HELMET.png new file mode 100644 index 000000000000..1d55bd52700c Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/hos.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/hos.rsi/icon-flash.png b/Resources/Textures/Clothing/Head/Envirohelms/hos.rsi/icon-flash.png new file mode 100644 index 000000000000..3580b91f5999 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/hos.rsi/icon-flash.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/hos.rsi/icon.png b/Resources/Textures/Clothing/Head/Envirohelms/hos.rsi/icon.png new file mode 100644 index 000000000000..9c39ef411ce5 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/hos.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/hos.rsi/meta.json b/Resources/Textures/Clothing/Head/Envirohelms/hos.rsi/meta.json new file mode 100644 index 000000000000..83a0683d0e81 --- /dev/null +++ b/Resources/Textures/Clothing/Head/Envirohelms/hos.rsi/meta.json @@ -0,0 +1,25 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef and modified by Skubman", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "icon-flash" + }, + { + "name": "equipped-HELMET", + "directions": 4 + }, + { + "name": "on-equipped-HELMET", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Head/Envirohelms/hos.rsi/on-equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/hos.rsi/on-equipped-HELMET.png new file mode 100644 index 000000000000..adfa03a3d104 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/hos.rsi/on-equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/hydroponics.rsi/equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/hydroponics.rsi/equipped-HELMET.png new file mode 100644 index 000000000000..350de2ebc73b Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/hydroponics.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/hydroponics.rsi/icon-flash.png b/Resources/Textures/Clothing/Head/Envirohelms/hydroponics.rsi/icon-flash.png new file mode 100644 index 000000000000..3580b91f5999 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/hydroponics.rsi/icon-flash.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/hydroponics.rsi/icon.png b/Resources/Textures/Clothing/Head/Envirohelms/hydroponics.rsi/icon.png new file mode 100644 index 000000000000..2a4b193b2bfb Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/hydroponics.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/hydroponics.rsi/meta.json b/Resources/Textures/Clothing/Head/Envirohelms/hydroponics.rsi/meta.json new file mode 100644 index 000000000000..83a0683d0e81 --- /dev/null +++ b/Resources/Textures/Clothing/Head/Envirohelms/hydroponics.rsi/meta.json @@ -0,0 +1,25 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef and modified by Skubman", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "icon-flash" + }, + { + "name": "equipped-HELMET", + "directions": 4 + }, + { + "name": "on-equipped-HELMET", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Head/Envirohelms/hydroponics.rsi/on-equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/hydroponics.rsi/on-equipped-HELMET.png new file mode 100644 index 000000000000..adfa03a3d104 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/hydroponics.rsi/on-equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/janitor.rsi/equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/janitor.rsi/equipped-HELMET.png new file mode 100644 index 000000000000..4a05589b5f2a Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/janitor.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/janitor.rsi/icon-flash.png b/Resources/Textures/Clothing/Head/Envirohelms/janitor.rsi/icon-flash.png new file mode 100644 index 000000000000..3580b91f5999 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/janitor.rsi/icon-flash.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/janitor.rsi/icon.png b/Resources/Textures/Clothing/Head/Envirohelms/janitor.rsi/icon.png new file mode 100644 index 000000000000..0236e6542fbd Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/janitor.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/janitor.rsi/meta.json b/Resources/Textures/Clothing/Head/Envirohelms/janitor.rsi/meta.json new file mode 100644 index 000000000000..83a0683d0e81 --- /dev/null +++ b/Resources/Textures/Clothing/Head/Envirohelms/janitor.rsi/meta.json @@ -0,0 +1,25 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef and modified by Skubman", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "icon-flash" + }, + { + "name": "equipped-HELMET", + "directions": 4 + }, + { + "name": "on-equipped-HELMET", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Head/Envirohelms/janitor.rsi/on-equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/janitor.rsi/on-equipped-HELMET.png new file mode 100644 index 000000000000..adfa03a3d104 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/janitor.rsi/on-equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/medical.rsi/equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/medical.rsi/equipped-HELMET.png new file mode 100644 index 000000000000..f826d404a9bd Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/medical.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/medical.rsi/icon-flash.png b/Resources/Textures/Clothing/Head/Envirohelms/medical.rsi/icon-flash.png new file mode 100644 index 000000000000..3580b91f5999 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/medical.rsi/icon-flash.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/medical.rsi/icon.png b/Resources/Textures/Clothing/Head/Envirohelms/medical.rsi/icon.png new file mode 100644 index 000000000000..b0461d149351 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/medical.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/medical.rsi/meta.json b/Resources/Textures/Clothing/Head/Envirohelms/medical.rsi/meta.json new file mode 100644 index 000000000000..83a0683d0e81 --- /dev/null +++ b/Resources/Textures/Clothing/Head/Envirohelms/medical.rsi/meta.json @@ -0,0 +1,25 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef and modified by Skubman", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "icon-flash" + }, + { + "name": "equipped-HELMET", + "directions": 4 + }, + { + "name": "on-equipped-HELMET", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Head/Envirohelms/medical.rsi/on-equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/medical.rsi/on-equipped-HELMET.png new file mode 100644 index 000000000000..adfa03a3d104 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/medical.rsi/on-equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/mime.rsi/equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/mime.rsi/equipped-HELMET.png new file mode 100644 index 000000000000..06e5cb09fbb3 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/mime.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/mime.rsi/icon-flash.png b/Resources/Textures/Clothing/Head/Envirohelms/mime.rsi/icon-flash.png new file mode 100644 index 000000000000..f3ccec3bf6ba Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/mime.rsi/icon-flash.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/mime.rsi/icon.png b/Resources/Textures/Clothing/Head/Envirohelms/mime.rsi/icon.png new file mode 100644 index 000000000000..f1b689db8c7c Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/mime.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/mime.rsi/meta.json b/Resources/Textures/Clothing/Head/Envirohelms/mime.rsi/meta.json new file mode 100644 index 000000000000..83a0683d0e81 --- /dev/null +++ b/Resources/Textures/Clothing/Head/Envirohelms/mime.rsi/meta.json @@ -0,0 +1,25 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef and modified by Skubman", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "icon-flash" + }, + { + "name": "equipped-HELMET", + "directions": 4 + }, + { + "name": "on-equipped-HELMET", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Head/Envirohelms/mime.rsi/on-equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/mime.rsi/on-equipped-HELMET.png new file mode 100644 index 000000000000..2ea6a40eacfd Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/mime.rsi/on-equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/paramedic.rsi/equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/paramedic.rsi/equipped-HELMET.png new file mode 100644 index 000000000000..ee7ed6095801 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/paramedic.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/paramedic.rsi/icon-flash.png b/Resources/Textures/Clothing/Head/Envirohelms/paramedic.rsi/icon-flash.png new file mode 100644 index 000000000000..3580b91f5999 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/paramedic.rsi/icon-flash.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/paramedic.rsi/icon.png b/Resources/Textures/Clothing/Head/Envirohelms/paramedic.rsi/icon.png new file mode 100644 index 000000000000..0c95650ed030 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/paramedic.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/paramedic.rsi/meta.json b/Resources/Textures/Clothing/Head/Envirohelms/paramedic.rsi/meta.json new file mode 100644 index 000000000000..83a0683d0e81 --- /dev/null +++ b/Resources/Textures/Clothing/Head/Envirohelms/paramedic.rsi/meta.json @@ -0,0 +1,25 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef and modified by Skubman", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "icon-flash" + }, + { + "name": "equipped-HELMET", + "directions": 4 + }, + { + "name": "on-equipped-HELMET", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Head/Envirohelms/paramedic.rsi/on-equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/paramedic.rsi/on-equipped-HELMET.png new file mode 100644 index 000000000000..adfa03a3d104 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/paramedic.rsi/on-equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/plain.rsi/equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/plain.rsi/equipped-HELMET.png new file mode 100644 index 000000000000..59f1e4f8ea89 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/plain.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/plain.rsi/icon-flash.png b/Resources/Textures/Clothing/Head/Envirohelms/plain.rsi/icon-flash.png new file mode 100644 index 000000000000..3580b91f5999 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/plain.rsi/icon-flash.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/plain.rsi/icon.png b/Resources/Textures/Clothing/Head/Envirohelms/plain.rsi/icon.png new file mode 100644 index 000000000000..474e3fba57ce Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/plain.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/plain.rsi/inhand-left.png b/Resources/Textures/Clothing/Head/Envirohelms/plain.rsi/inhand-left.png new file mode 100644 index 000000000000..d5202b806821 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/plain.rsi/inhand-left.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/plain.rsi/inhand-right.png b/Resources/Textures/Clothing/Head/Envirohelms/plain.rsi/inhand-right.png new file mode 100644 index 000000000000..7446843492a0 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/plain.rsi/inhand-right.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/plain.rsi/meta.json b/Resources/Textures/Clothing/Head/Envirohelms/plain.rsi/meta.json new file mode 100644 index 000000000000..62bc618b9f3d --- /dev/null +++ b/Resources/Textures/Clothing/Head/Envirohelms/plain.rsi/meta.json @@ -0,0 +1,41 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef and modified by Skubman", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "icon-flash" + }, + { + "name": "equipped-HELMET", + "directions": 4 + }, + { + "name": "on-equipped-HELMET", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "on-inhand-left", + "directions": 4 + }, + { + "name": "on-inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Head/Envirohelms/plain.rsi/on-equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/plain.rsi/on-equipped-HELMET.png new file mode 100644 index 000000000000..adfa03a3d104 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/plain.rsi/on-equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/plain.rsi/on-inhand-left.png b/Resources/Textures/Clothing/Head/Envirohelms/plain.rsi/on-inhand-left.png new file mode 100644 index 000000000000..4a8eb60ec93b Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/plain.rsi/on-inhand-left.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/plain.rsi/on-inhand-right.png b/Resources/Textures/Clothing/Head/Envirohelms/plain.rsi/on-inhand-right.png new file mode 100644 index 000000000000..873df838b63b Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/plain.rsi/on-inhand-right.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/rd.rsi/equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/rd.rsi/equipped-HELMET.png new file mode 100644 index 000000000000..5af3beb5a409 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/rd.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/rd.rsi/icon-flash.png b/Resources/Textures/Clothing/Head/Envirohelms/rd.rsi/icon-flash.png new file mode 100644 index 000000000000..3580b91f5999 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/rd.rsi/icon-flash.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/rd.rsi/icon.png b/Resources/Textures/Clothing/Head/Envirohelms/rd.rsi/icon.png new file mode 100644 index 000000000000..2d5d6c394a52 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/rd.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/rd.rsi/meta.json b/Resources/Textures/Clothing/Head/Envirohelms/rd.rsi/meta.json new file mode 100644 index 000000000000..83a0683d0e81 --- /dev/null +++ b/Resources/Textures/Clothing/Head/Envirohelms/rd.rsi/meta.json @@ -0,0 +1,25 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef and modified by Skubman", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "icon-flash" + }, + { + "name": "equipped-HELMET", + "directions": 4 + }, + { + "name": "on-equipped-HELMET", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Head/Envirohelms/rd.rsi/on-equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/rd.rsi/on-equipped-HELMET.png new file mode 100644 index 000000000000..adfa03a3d104 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/rd.rsi/on-equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/roboticist.rsi/equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/roboticist.rsi/equipped-HELMET.png new file mode 100644 index 000000000000..8ed2259d5f78 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/roboticist.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/roboticist.rsi/icon-flash.png b/Resources/Textures/Clothing/Head/Envirohelms/roboticist.rsi/icon-flash.png new file mode 100644 index 000000000000..3580b91f5999 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/roboticist.rsi/icon-flash.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/roboticist.rsi/icon.png b/Resources/Textures/Clothing/Head/Envirohelms/roboticist.rsi/icon.png new file mode 100644 index 000000000000..4a39bcf7c6f4 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/roboticist.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/roboticist.rsi/meta.json b/Resources/Textures/Clothing/Head/Envirohelms/roboticist.rsi/meta.json new file mode 100644 index 000000000000..83a0683d0e81 --- /dev/null +++ b/Resources/Textures/Clothing/Head/Envirohelms/roboticist.rsi/meta.json @@ -0,0 +1,25 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef and modified by Skubman", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "icon-flash" + }, + { + "name": "equipped-HELMET", + "directions": 4 + }, + { + "name": "on-equipped-HELMET", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Head/Envirohelms/roboticist.rsi/on-equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/roboticist.rsi/on-equipped-HELMET.png new file mode 100644 index 000000000000..adfa03a3d104 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/roboticist.rsi/on-equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/salvage.rsi/equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/salvage.rsi/equipped-HELMET.png new file mode 100644 index 000000000000..a826d42142de Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/salvage.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/salvage.rsi/icon-flash.png b/Resources/Textures/Clothing/Head/Envirohelms/salvage.rsi/icon-flash.png new file mode 100644 index 000000000000..698c4ff6e4b1 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/salvage.rsi/icon-flash.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/salvage.rsi/icon.png b/Resources/Textures/Clothing/Head/Envirohelms/salvage.rsi/icon.png new file mode 100644 index 000000000000..ce4c2d0022c8 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/salvage.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/salvage.rsi/meta.json b/Resources/Textures/Clothing/Head/Envirohelms/salvage.rsi/meta.json new file mode 100644 index 000000000000..83a0683d0e81 --- /dev/null +++ b/Resources/Textures/Clothing/Head/Envirohelms/salvage.rsi/meta.json @@ -0,0 +1,25 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef and modified by Skubman", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "icon-flash" + }, + { + "name": "equipped-HELMET", + "directions": 4 + }, + { + "name": "on-equipped-HELMET", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Head/Envirohelms/salvage.rsi/on-equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/salvage.rsi/on-equipped-HELMET.png new file mode 100644 index 000000000000..b28f42716d2b Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/salvage.rsi/on-equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/scientist.rsi/equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/scientist.rsi/equipped-HELMET.png new file mode 100644 index 000000000000..63154766a73a Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/scientist.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/scientist.rsi/icon-flash.png b/Resources/Textures/Clothing/Head/Envirohelms/scientist.rsi/icon-flash.png new file mode 100644 index 000000000000..3580b91f5999 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/scientist.rsi/icon-flash.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/scientist.rsi/icon.png b/Resources/Textures/Clothing/Head/Envirohelms/scientist.rsi/icon.png new file mode 100644 index 000000000000..7e08f6d19dae Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/scientist.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/scientist.rsi/meta.json b/Resources/Textures/Clothing/Head/Envirohelms/scientist.rsi/meta.json new file mode 100644 index 000000000000..83a0683d0e81 --- /dev/null +++ b/Resources/Textures/Clothing/Head/Envirohelms/scientist.rsi/meta.json @@ -0,0 +1,25 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef and modified by Skubman", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "icon-flash" + }, + { + "name": "equipped-HELMET", + "directions": 4 + }, + { + "name": "on-equipped-HELMET", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Head/Envirohelms/scientist.rsi/on-equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/scientist.rsi/on-equipped-HELMET.png new file mode 100644 index 000000000000..adfa03a3d104 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/scientist.rsi/on-equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/tacticool.rsi/equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/tacticool.rsi/equipped-HELMET.png new file mode 100644 index 000000000000..bb70ade7054e Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/tacticool.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/tacticool.rsi/icon-flash.png b/Resources/Textures/Clothing/Head/Envirohelms/tacticool.rsi/icon-flash.png new file mode 100644 index 000000000000..3580b91f5999 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/tacticool.rsi/icon-flash.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/tacticool.rsi/icon.png b/Resources/Textures/Clothing/Head/Envirohelms/tacticool.rsi/icon.png new file mode 100644 index 000000000000..13dc3f467991 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/tacticool.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/tacticool.rsi/meta.json b/Resources/Textures/Clothing/Head/Envirohelms/tacticool.rsi/meta.json new file mode 100644 index 000000000000..86ae56f226a4 --- /dev/null +++ b/Resources/Textures/Clothing/Head/Envirohelms/tacticool.rsi/meta.json @@ -0,0 +1,25 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef modified by Skubman for Space Station 14", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "icon-flash" + }, + { + "name": "equipped-HELMET", + "directions": 4 + }, + { + "name": "on-equipped-HELMET", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Head/Envirohelms/tacticool.rsi/on-equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/tacticool.rsi/on-equipped-HELMET.png new file mode 100644 index 000000000000..adfa03a3d104 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/tacticool.rsi/on-equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/virology.rsi/equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/virology.rsi/equipped-HELMET.png new file mode 100644 index 000000000000..db8cc9f83514 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/virology.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/virology.rsi/icon-flash.png b/Resources/Textures/Clothing/Head/Envirohelms/virology.rsi/icon-flash.png new file mode 100644 index 000000000000..3580b91f5999 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/virology.rsi/icon-flash.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/virology.rsi/icon.png b/Resources/Textures/Clothing/Head/Envirohelms/virology.rsi/icon.png new file mode 100644 index 000000000000..2cba69dd88b0 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/virology.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/virology.rsi/meta.json b/Resources/Textures/Clothing/Head/Envirohelms/virology.rsi/meta.json new file mode 100644 index 000000000000..83a0683d0e81 --- /dev/null +++ b/Resources/Textures/Clothing/Head/Envirohelms/virology.rsi/meta.json @@ -0,0 +1,25 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef and modified by Skubman", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "icon-flash" + }, + { + "name": "equipped-HELMET", + "directions": 4 + }, + { + "name": "on-equipped-HELMET", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Head/Envirohelms/virology.rsi/on-equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/virology.rsi/on-equipped-HELMET.png new file mode 100644 index 000000000000..adfa03a3d104 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/virology.rsi/on-equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/warden.rsi/equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/warden.rsi/equipped-HELMET.png new file mode 100644 index 000000000000..c18f183d46da Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/warden.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/warden.rsi/icon-flash.png b/Resources/Textures/Clothing/Head/Envirohelms/warden.rsi/icon-flash.png new file mode 100644 index 000000000000..3580b91f5999 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/warden.rsi/icon-flash.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/warden.rsi/icon.png b/Resources/Textures/Clothing/Head/Envirohelms/warden.rsi/icon.png new file mode 100644 index 000000000000..dae944c5ef9f Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/warden.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/warden.rsi/meta.json b/Resources/Textures/Clothing/Head/Envirohelms/warden.rsi/meta.json new file mode 100644 index 000000000000..83a0683d0e81 --- /dev/null +++ b/Resources/Textures/Clothing/Head/Envirohelms/warden.rsi/meta.json @@ -0,0 +1,25 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef and modified by Skubman", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "icon-flash" + }, + { + "name": "equipped-HELMET", + "directions": 4 + }, + { + "name": "on-equipped-HELMET", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Head/Envirohelms/warden.rsi/on-equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/warden.rsi/on-equipped-HELMET.png new file mode 100644 index 000000000000..adfa03a3d104 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/warden.rsi/on-equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/white.rsi/equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/white.rsi/equipped-HELMET.png new file mode 100644 index 000000000000..e73142d46f82 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/white.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/white.rsi/icon-flash.png b/Resources/Textures/Clothing/Head/Envirohelms/white.rsi/icon-flash.png new file mode 100644 index 000000000000..3580b91f5999 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/white.rsi/icon-flash.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/white.rsi/icon.png b/Resources/Textures/Clothing/Head/Envirohelms/white.rsi/icon.png new file mode 100644 index 000000000000..3c2f355d66ff Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/white.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Head/Envirohelms/white.rsi/meta.json b/Resources/Textures/Clothing/Head/Envirohelms/white.rsi/meta.json new file mode 100644 index 000000000000..83a0683d0e81 --- /dev/null +++ b/Resources/Textures/Clothing/Head/Envirohelms/white.rsi/meta.json @@ -0,0 +1,25 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef and modified by Skubman", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "icon-flash" + }, + { + "name": "equipped-HELMET", + "directions": 4 + }, + { + "name": "on-equipped-HELMET", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Head/Envirohelms/white.rsi/on-equipped-HELMET.png b/Resources/Textures/Clothing/Head/Envirohelms/white.rsi/on-equipped-HELMET.png new file mode 100644 index 000000000000..adfa03a3d104 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Envirohelms/white.rsi/on-equipped-HELMET.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/ancientvoid.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/ancientvoid.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..16d3ec02c5f7 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/ancientvoid.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/ancientvoid.rsi/icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/ancientvoid.rsi/icon.png new file mode 100644 index 000000000000..92774231518d Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/ancientvoid.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/ancientvoid.rsi/meta.json b/Resources/Textures/Clothing/Uniforms/Envirosuits/ancientvoid.rsi/meta.json new file mode 100644 index 000000000000..7881ed5501f5 --- /dev/null +++ b/Resources/Textures/Clothing/Uniforms/Envirosuits/ancientvoid.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/atmos.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/atmos.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..43ddf4a57816 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/atmos.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/atmos.rsi/icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/atmos.rsi/icon.png new file mode 100644 index 000000000000..08a25d0bce61 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/atmos.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/atmos.rsi/meta.json b/Resources/Textures/Clothing/Uniforms/Envirosuits/atmos.rsi/meta.json new file mode 100644 index 000000000000..7881ed5501f5 --- /dev/null +++ b/Resources/Textures/Clothing/Uniforms/Envirosuits/atmos.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/blueshield_officer.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/blueshield_officer.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..26258a7006f8 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/blueshield_officer.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/blueshield_officer.rsi/icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/blueshield_officer.rsi/icon.png new file mode 100644 index 000000000000..2cb5f54b77ce Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/blueshield_officer.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/blueshield_officer.rsi/meta.json b/Resources/Textures/Clothing/Uniforms/Envirosuits/blueshield_officer.rsi/meta.json new file mode 100644 index 000000000000..a730d09891c8 --- /dev/null +++ b/Resources/Textures/Clothing/Uniforms/Envirosuits/blueshield_officer.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from Paradise Station at commit https://github.com/ParadiseSS13/Paradise/commit/b55bef2ed28b8bde30883fb14311b221ab0dc977 and modified by Skubman", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/captain.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/captain.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..933293942213 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/captain.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/captain.rsi/icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/captain.rsi/icon.png new file mode 100644 index 000000000000..594ba5a9e416 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/captain.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/captain.rsi/meta.json b/Resources/Textures/Clothing/Uniforms/Envirosuits/captain.rsi/meta.json new file mode 100644 index 000000000000..e669a6403e68 --- /dev/null +++ b/Resources/Textures/Clothing/Uniforms/Envirosuits/captain.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef and modified by Skubman for Space Station 14", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/cargo.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/cargo.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..d31317d5e5ed Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/cargo.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/cargo.rsi/icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/cargo.rsi/icon.png new file mode 100644 index 000000000000..465c819c206b Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/cargo.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/cargo.rsi/meta.json b/Resources/Textures/Clothing/Uniforms/Envirosuits/cargo.rsi/meta.json new file mode 100644 index 000000000000..7881ed5501f5 --- /dev/null +++ b/Resources/Textures/Clothing/Uniforms/Envirosuits/cargo.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/ce.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/ce.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..d71154821f09 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/ce.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/ce.rsi/icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/ce.rsi/icon.png new file mode 100644 index 000000000000..759670ef07dd Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/ce.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/ce.rsi/meta.json b/Resources/Textures/Clothing/Uniforms/Envirosuits/ce.rsi/meta.json new file mode 100644 index 000000000000..7881ed5501f5 --- /dev/null +++ b/Resources/Textures/Clothing/Uniforms/Envirosuits/ce.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/centcom_agent.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/centcom_agent.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..c74fe2b80021 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/centcom_agent.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/centcom_agent.rsi/icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/centcom_agent.rsi/icon.png new file mode 100644 index 000000000000..6a9940326d74 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/centcom_agent.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/centcom_agent.rsi/meta.json b/Resources/Textures/Clothing/Uniforms/Envirosuits/centcom_agent.rsi/meta.json new file mode 100644 index 000000000000..7881ed5501f5 --- /dev/null +++ b/Resources/Textures/Clothing/Uniforms/Envirosuits/centcom_agent.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/centcom_officer.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/centcom_officer.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..c57ecfe5eb23 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/centcom_officer.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/centcom_officer.rsi/icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/centcom_officer.rsi/icon.png new file mode 100644 index 000000000000..4a7e1f31bd7c Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/centcom_officer.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/centcom_officer.rsi/meta.json b/Resources/Textures/Clothing/Uniforms/Envirosuits/centcom_officer.rsi/meta.json new file mode 100644 index 000000000000..7881ed5501f5 --- /dev/null +++ b/Resources/Textures/Clothing/Uniforms/Envirosuits/centcom_officer.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/centcom_official.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/centcom_official.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..2b169155c901 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/centcom_official.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/centcom_official.rsi/icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/centcom_official.rsi/icon.png new file mode 100644 index 000000000000..c8f010a368b6 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/centcom_official.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/centcom_official.rsi/meta.json b/Resources/Textures/Clothing/Uniforms/Envirosuits/centcom_official.rsi/meta.json new file mode 100644 index 000000000000..7881ed5501f5 --- /dev/null +++ b/Resources/Textures/Clothing/Uniforms/Envirosuits/centcom_official.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/chaplain.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/chaplain.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..6cae82165fa3 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/chaplain.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/chaplain.rsi/icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/chaplain.rsi/icon.png new file mode 100644 index 000000000000..7f6c7ee109ad Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/chaplain.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/chaplain.rsi/meta.json b/Resources/Textures/Clothing/Uniforms/Envirosuits/chaplain.rsi/meta.json new file mode 100644 index 000000000000..7881ed5501f5 --- /dev/null +++ b/Resources/Textures/Clothing/Uniforms/Envirosuits/chaplain.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/chef.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/chef.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..7810f37d2cde Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/chef.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/chef.rsi/icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/chef.rsi/icon.png new file mode 100644 index 000000000000..c9d6114ea7e9 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/chef.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/chef.rsi/meta.json b/Resources/Textures/Clothing/Uniforms/Envirosuits/chef.rsi/meta.json new file mode 100644 index 000000000000..7881ed5501f5 --- /dev/null +++ b/Resources/Textures/Clothing/Uniforms/Envirosuits/chef.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/chemist.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/chemist.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..b9c4c0327e54 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/chemist.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/chemist.rsi/icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/chemist.rsi/icon.png new file mode 100644 index 000000000000..8e0dad6a3b90 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/chemist.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/chemist.rsi/meta.json b/Resources/Textures/Clothing/Uniforms/Envirosuits/chemist.rsi/meta.json new file mode 100644 index 000000000000..7881ed5501f5 --- /dev/null +++ b/Resources/Textures/Clothing/Uniforms/Envirosuits/chemist.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/clown.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/clown.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..5b1d0f39d51b Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/clown.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/clown.rsi/icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/clown.rsi/icon.png new file mode 100644 index 000000000000..f28976a3dafd Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/clown.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/clown.rsi/meta.json b/Resources/Textures/Clothing/Uniforms/Envirosuits/clown.rsi/meta.json new file mode 100644 index 000000000000..7881ed5501f5 --- /dev/null +++ b/Resources/Textures/Clothing/Uniforms/Envirosuits/clown.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/cmo.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/cmo.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..4e8be768c7d9 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/cmo.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/cmo.rsi/icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/cmo.rsi/icon.png new file mode 100644 index 000000000000..7eb85c8dd2bc Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/cmo.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/cmo.rsi/meta.json b/Resources/Textures/Clothing/Uniforms/Envirosuits/cmo.rsi/meta.json new file mode 100644 index 000000000000..7881ed5501f5 --- /dev/null +++ b/Resources/Textures/Clothing/Uniforms/Envirosuits/cmo.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/coroner.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/coroner.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..c48495a6d50f Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/coroner.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/coroner.rsi/icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/coroner.rsi/icon.png new file mode 100644 index 000000000000..dc5dc934c591 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/coroner.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/coroner.rsi/meta.json b/Resources/Textures/Clothing/Uniforms/Envirosuits/coroner.rsi/meta.json new file mode 100644 index 000000000000..7881ed5501f5 --- /dev/null +++ b/Resources/Textures/Clothing/Uniforms/Envirosuits/coroner.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent-equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent-equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..89e252f7d45d Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent-equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent-icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent-icon.png new file mode 100644 index 000000000000..21d362fa6a10 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent-icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent-inhand-left.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent-inhand-left.png new file mode 100644 index 000000000000..2ff08cc2378e Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent-inhand-left.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent-inhand-right.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent-inhand-right.png new file mode 100644 index 000000000000..9e11e06718cc Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent-inhand-right.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent2-equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent2-equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..eb13f68b9ec0 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent2-equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent2-icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent2-icon.png new file mode 100644 index 000000000000..8b5586b03f2a Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent2-icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent2-inhand-left.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent2-inhand-left.png new file mode 100644 index 000000000000..53e2eaa86709 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent2-inhand-left.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent2-inhand-right.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent2-inhand-right.png new file mode 100644 index 000000000000..c3aadd5b8644 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent2-inhand-right.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent2_chestonly-equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent2_chestonly-equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..e1b24b41cc9f Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent2_chestonly-equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent2_chestonly-icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent2_chestonly-icon.png new file mode 100644 index 000000000000..bbc3d21aaea5 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent2_chestonly-icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent2_chestonly-inhand-left.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent2_chestonly-inhand-left.png new file mode 100644 index 000000000000..bd8a0e7cadf9 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent2_chestonly-inhand-left.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent2_chestonly-inhand-right.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent2_chestonly-inhand-right.png new file mode 100644 index 000000000000..b000ed7ec76c Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent2_chestonly-inhand-right.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent3-equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent3-equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..93bee36bd5e1 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent3-equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent3-icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent3-icon.png new file mode 100644 index 000000000000..384286f395c7 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent3-icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent3-inhand-left.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent3-inhand-left.png new file mode 100644 index 000000000000..0c0017dde5c0 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent3-inhand-left.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent3-inhand-right.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent3-inhand-right.png new file mode 100644 index 000000000000..c7b68db12c09 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent3-inhand-right.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent3_chestonly-equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent3_chestonly-equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..fff2774616a9 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent3_chestonly-equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent3_chestonly-icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent3_chestonly-icon.png new file mode 100644 index 000000000000..2cb85e632fa8 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent3_chestonly-icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent3_chestonly-inhand-left.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent3_chestonly-inhand-left.png new file mode 100644 index 000000000000..e1975815e251 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent3_chestonly-inhand-left.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent3_chestonly-inhand-right.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent3_chestonly-inhand-right.png new file mode 100644 index 000000000000..fea004b30b69 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accent3_chestonly-inhand-right.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accentalt-equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accentalt-equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..3fa4884328ab Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accentalt-equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accentalt_noback-equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accentalt_noback-equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..01a3666be1f8 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accentalt_noback-equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accenthighlight-equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accenthighlight-equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..a7a23ec3c930 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accenthighlight-equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accenthighlight-icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accenthighlight-icon.png new file mode 100644 index 000000000000..4b3249fe200e Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accenthighlight-icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accenthighlight-inhand-left.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accenthighlight-inhand-left.png new file mode 100644 index 000000000000..987cbdb7334c Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accenthighlight-inhand-left.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accenthighlight-inhand-right.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accenthighlight-inhand-right.png new file mode 100644 index 000000000000..ff81d2d0b3a6 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accenthighlight-inhand-right.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accentprisoner-equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accentprisoner-equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..64b70260c7c8 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accentprisoner-equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accentprisoner-icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accentprisoner-icon.png new file mode 100644 index 000000000000..9a49ad2d09c9 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accentprisoner-icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accentprisoner-inhand-left.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accentprisoner-inhand-left.png new file mode 100644 index 000000000000..afdd7622c7a4 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accentprisoner-inhand-left.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accentprisoner-inhand-right.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accentprisoner-inhand-right.png new file mode 100644 index 000000000000..a39028577598 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/accentprisoner-inhand-right.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/backaccent-equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/backaccent-equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..e6776137d5ea Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/backaccent-equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/belt-equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/belt-equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..7351de7e2168 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/belt-equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/belt-icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/belt-icon.png new file mode 100644 index 000000000000..473510a86f5d Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/belt-icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/belt-inhand-left.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/belt-inhand-left.png new file mode 100644 index 000000000000..a5ece79a5cb5 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/belt-inhand-left.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/belt-inhand-right.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/belt-inhand-right.png new file mode 100644 index 000000000000..363fceada4ee Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/belt-inhand-right.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/beltbuckle-equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/beltbuckle-equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..fc98cadb9083 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/beltbuckle-equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/beltbuckle-icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/beltbuckle-icon.png new file mode 100644 index 000000000000..f70ea45de95d Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/beltbuckle-icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/beltbuckle-inhand-left.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/beltbuckle-inhand-left.png new file mode 100644 index 000000000000..a95ce7137409 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/beltbuckle-inhand-left.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/beltbuckle-inhand-right.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/beltbuckle-inhand-right.png new file mode 100644 index 000000000000..e091c455043e Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/beltbuckle-inhand-right.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/beltbuckle_small-equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/beltbuckle_small-equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..c50769249b44 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/beltbuckle_small-equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/beltbuckle_small-icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/beltbuckle_small-icon.png new file mode 100644 index 000000000000..0091012bb94b Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/beltbuckle_small-icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/beltbuckle_small-inhand-left.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/beltbuckle_small-inhand-left.png new file mode 100644 index 000000000000..83664d14867f Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/beltbuckle_small-inhand-left.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/beltbuckle_small-inhand-right.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/beltbuckle_small-inhand-right.png new file mode 100644 index 000000000000..fe8b1bf9706b Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/beltbuckle_small-inhand-right.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/buttons-equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/buttons-equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..8060fdd544b8 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/buttons-equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/buttons-icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/buttons-icon.png new file mode 100644 index 000000000000..f09673433cac Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/buttons-icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/buttons-inhand-left.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/buttons-inhand-left.png new file mode 100644 index 000000000000..aa90e95dc578 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/buttons-inhand-left.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/buttons-inhand-right.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/buttons-inhand-right.png new file mode 100644 index 000000000000..9be9ecbf60b7 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/buttons-inhand-right.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/clip-equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/clip-equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..7b84f544dac5 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/clip-equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/clip-icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/clip-icon.png new file mode 100644 index 000000000000..5cb2a361c011 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/clip-icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/clip-inhand-left.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/clip-inhand-left.png new file mode 100644 index 000000000000..c8461c2d9259 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/clip-inhand-left.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/clip-inhand-right.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/clip-inhand-right.png new file mode 100644 index 000000000000..226a8167749e Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/clip-inhand-right.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/clip_right-equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/clip_right-equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..026af9dc7eb4 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/clip_right-equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/clip_right-icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/clip_right-icon.png new file mode 100644 index 000000000000..090bf7274d8a Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/clip_right-icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/clip_right-inhand-left.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/clip_right-inhand-left.png new file mode 100644 index 000000000000..29c74bdf8321 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/clip_right-inhand-left.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/clip_right-inhand-right.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/clip_right-inhand-right.png new file mode 100644 index 000000000000..c45549adf332 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/clip_right-inhand-right.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/corneraccent-equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/corneraccent-equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..e787a2c9f6ea Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/corneraccent-equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/corneraccent-icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/corneraccent-icon.png new file mode 100644 index 000000000000..ad3624500d02 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/corneraccent-icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/corneraccent-inhand-left.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/corneraccent-inhand-left.png new file mode 100644 index 000000000000..ae6c4e786106 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/corneraccent-inhand-left.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/corneraccent-inhand-right.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/corneraccent-inhand-right.png new file mode 100644 index 000000000000..104a6b2a0641 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/corneraccent-inhand-right.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/cuffs-equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/cuffs-equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..12b2750942b2 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/cuffs-equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/cuffs_upper-equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/cuffs_upper-equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..9567633b9bba Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/cuffs_upper-equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..69ff51e10306 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/heart-equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/heart-equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..4cec655e6476 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/heart-equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/heart-icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/heart-icon.png new file mode 100644 index 000000000000..95251ce244df Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/heart-icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/heart-inhand-left.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/heart-inhand-left.png new file mode 100644 index 000000000000..a4fcf07fb91b Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/heart-inhand-left.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/heart-inhand-right.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/heart-inhand-right.png new file mode 100644 index 000000000000..32f62714ce3c Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/heart-inhand-right.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/icon.png new file mode 100644 index 000000000000..a42baf390d4c Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/inhand-left.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/inhand-left.png new file mode 100644 index 000000000000..1f2a705a58f3 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/inhand-left.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/inhand-right.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/inhand-right.png new file mode 100644 index 000000000000..41e57d61493c Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/inhand-right.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/loweraccent-equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/loweraccent-equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..33ff060a92d5 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/loweraccent-equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/loweraccent2-equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/loweraccent2-equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..d25487ab7cb4 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/loweraccent2-equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/loweraccent2_bottom-equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/loweraccent2_bottom-equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..c066a4909256 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/loweraccent2_bottom-equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/loweraccent2_top-equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/loweraccent2_top-equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..f9bbed406801 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/loweraccent2_top-equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/meta.json b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/meta.json new file mode 100644 index 000000000000..576d5c219b35 --- /dev/null +++ b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/meta.json @@ -0,0 +1,374 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef modified by Skubman for Space Station 14", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "accent-icon" + }, + { + "name": "accent-equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "accent-inhand-left", + "directions": 4 + }, + { + "name": "accent-inhand-right", + "directions": 4 + }, + { + "name": "accent2-icon" + }, + { + "name": "accent2-equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "accent2-inhand-left", + "directions": 4 + }, + { + "name": "accent2-inhand-right", + "directions": 4 + }, + { + "name": "accent2_chestonly-icon" + }, + { + "name": "accent2_chestonly-equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "accent2_chestonly-inhand-left", + "directions": 4 + }, + { + "name": "accent2_chestonly-inhand-right", + "directions": 4 + }, + { + "name": "accent3-icon" + }, + { + "name": "accent3-equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "accent3-inhand-left", + "directions": 4 + }, + { + "name": "accent3-inhand-right", + "directions": 4 + }, + { + "name": "accent3_chestonly-icon" + }, + { + "name": "accent3_chestonly-equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "accent3_chestonly-inhand-left", + "directions": 4 + }, + { + "name": "accent3_chestonly-inhand-right", + "directions": 4 + }, + { + "name": "accentprisoner-icon" + }, + { + "name": "accentprisoner-equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "accentprisoner-inhand-left", + "directions": 4 + }, + { + "name": "accentprisoner-inhand-right", + "directions": 4 + }, + { + "name": "accenthighlight-icon" + }, + { + "name": "accenthighlight-equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "accenthighlight-inhand-left", + "directions": 4 + }, + { + "name": "accenthighlight-inhand-right", + "directions": 4 + }, + { + "name": "accentalt-equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "accentalt_noback-equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "backaccent-equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "loweraccent-equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "loweraccent2-equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "loweraccent2_bottom-equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "loweraccent2_top-equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "pin-icon" + }, + { + "name": "pin-equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "pin-inhand-left", + "directions": 4 + }, + { + "name": "pin-inhand-right", + "directions": 4 + }, + { + "name": "buttons-icon" + }, + { + "name": "buttons-equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "buttons-inhand-left", + "directions": 4 + }, + { + "name": "buttons-inhand-right", + "directions": 4 + }, + { + "name": "plaintop-icon" + }, + { + "name": "plaintop-equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "plaintop-inhand-left", + "directions": 4 + }, + { + "name": "plaintop-inhand-right", + "directions": 4 + }, + { + "name": "tie-icon" + }, + { + "name": "tie-equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "tie-inhand-left", + "directions": 4 + }, + { + "name": "tie-inhand-right", + "directions": 4 + }, + { + "name": "tieclip-icon" + }, + { + "name": "tieclip-equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "tieclip-inhand-left", + "directions": 4 + }, + { + "name": "tieclip-inhand-right", + "directions": 4 + }, + { + "name": "clip-icon" + }, + { + "name": "clip-equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "clip-inhand-left", + "directions": 4 + }, + { + "name": "clip-inhand-right", + "directions": 4 + }, + { + "name": "clip_right-icon" + }, + { + "name": "clip_right-equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "clip_right-inhand-left", + "directions": 4 + }, + { + "name": "clip_right-inhand-right", + "directions": 4 + }, + { + "name": "heart-icon" + }, + { + "name": "heart-equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "heart-inhand-left", + "directions": 4 + }, + { + "name": "heart-inhand-right", + "directions": 4 + }, + { + "name": "corneraccent-icon" + }, + { + "name": "corneraccent-equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "corneraccent-inhand-left", + "directions": 4 + }, + { + "name": "corneraccent-inhand-right", + "directions": 4 + }, + { + "name": "pants-icon" + }, + { + "name": "pants-equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "pants-inhand-left", + "directions": 4 + }, + { + "name": "pants-inhand-right", + "directions": 4 + }, + { + "name": "belt-icon" + }, + { + "name": "belt-equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "belt-inhand-left", + "directions": 4 + }, + { + "name": "belt-inhand-right", + "directions": 4 + }, + { + "name": "beltbuckle-icon" + }, + { + "name": "beltbuckle-equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "beltbuckle-inhand-left", + "directions": 4 + }, + { + "name": "beltbuckle-inhand-right", + "directions": 4 + }, + { + "name": "beltbuckle_small-icon" + }, + { + "name": "beltbuckle_small-equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "beltbuckle_small-inhand-left", + "directions": 4 + }, + { + "name": "beltbuckle_small-inhand-right", + "directions": 4 + }, + { + "name": "cuffs-equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "cuffs_upper-equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "shoes-equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "shoesdark-equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "soles-equipped-INNERCLOTHING", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/pants-equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/pants-equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..9c11f765ef6d Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/pants-equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/pants-icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/pants-icon.png new file mode 100644 index 000000000000..9afac6d69d8e Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/pants-icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/pants-inhand-left.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/pants-inhand-left.png new file mode 100644 index 000000000000..b654f960f473 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/pants-inhand-left.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/pants-inhand-right.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/pants-inhand-right.png new file mode 100644 index 000000000000..92749caa932d Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/pants-inhand-right.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/pin-equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/pin-equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..693cfd5087cf Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/pin-equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/pin-icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/pin-icon.png new file mode 100644 index 000000000000..117d83e93ebb Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/pin-icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/pin-inhand-left.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/pin-inhand-left.png new file mode 100644 index 000000000000..72e6a885cb02 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/pin-inhand-left.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/pin-inhand-right.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/pin-inhand-right.png new file mode 100644 index 000000000000..f8f8ae4f79a3 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/pin-inhand-right.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/plaintop-equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/plaintop-equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..0c0ee90b946b Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/plaintop-equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/plaintop-icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/plaintop-icon.png new file mode 100644 index 000000000000..bbc2d4dc2cf9 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/plaintop-icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/plaintop-inhand-left.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/plaintop-inhand-left.png new file mode 100644 index 000000000000..c468d7db6b05 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/plaintop-inhand-left.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/plaintop-inhand-right.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/plaintop-inhand-right.png new file mode 100644 index 000000000000..b7e5ec47d6c2 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/plaintop-inhand-right.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/shoes-equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/shoes-equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..9e95afa55630 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/shoes-equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/shoesdark-equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/shoesdark-equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..d24fb9e4e7d2 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/shoesdark-equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/soles-equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/soles-equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..8e08e9402d3f Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/soles-equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/tie-equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/tie-equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..3dc73d2aa0a4 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/tie-equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/tie-icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/tie-icon.png new file mode 100644 index 000000000000..ff5be6f5ff11 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/tie-icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/tie-inhand-left.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/tie-inhand-left.png new file mode 100644 index 000000000000..704f78512006 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/tie-inhand-left.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/tie-inhand-right.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/tie-inhand-right.png new file mode 100644 index 000000000000..a60a89348c89 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/tie-inhand-right.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/tieclip-equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/tieclip-equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..cb628a3e5952 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/tieclip-equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/tieclip-icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/tieclip-icon.png new file mode 100644 index 000000000000..4591a086b478 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/tieclip-icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/tieclip-inhand-left.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/tieclip-inhand-left.png new file mode 100644 index 000000000000..3c740668758b Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/tieclip-inhand-left.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/tieclip-inhand-right.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/tieclip-inhand-right.png new file mode 100644 index 000000000000..88e26c3ac1de Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/custom.rsi/tieclip-inhand-right.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/engineering.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/engineering.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..2a8940060319 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/engineering.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/engineering.rsi/icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/engineering.rsi/icon.png new file mode 100644 index 000000000000..144ee7b63972 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/engineering.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/engineering.rsi/meta.json b/Resources/Textures/Clothing/Uniforms/Envirosuits/engineering.rsi/meta.json new file mode 100644 index 000000000000..7881ed5501f5 --- /dev/null +++ b/Resources/Textures/Clothing/Uniforms/Envirosuits/engineering.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/enviroslacks.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/enviroslacks.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..7d9aa8981bc6 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/enviroslacks.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/enviroslacks.rsi/icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/enviroslacks.rsi/icon.png new file mode 100644 index 000000000000..7b4a2760e258 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/enviroslacks.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/enviroslacks.rsi/meta.json b/Resources/Textures/Clothing/Uniforms/Envirosuits/enviroslacks.rsi/meta.json new file mode 100644 index 000000000000..7881ed5501f5 --- /dev/null +++ b/Resources/Textures/Clothing/Uniforms/Envirosuits/enviroslacks.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/genetics.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/genetics.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..1db56bb0c690 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/genetics.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/genetics.rsi/icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/genetics.rsi/icon.png new file mode 100644 index 000000000000..a6bf5e770484 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/genetics.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/genetics.rsi/meta.json b/Resources/Textures/Clothing/Uniforms/Envirosuits/genetics.rsi/meta.json new file mode 100644 index 000000000000..7881ed5501f5 --- /dev/null +++ b/Resources/Textures/Clothing/Uniforms/Envirosuits/genetics.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/hop.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/hop.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..6599aa9df8de Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/hop.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/hop.rsi/icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/hop.rsi/icon.png new file mode 100644 index 000000000000..897b70669b47 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/hop.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/hop.rsi/meta.json b/Resources/Textures/Clothing/Uniforms/Envirosuits/hop.rsi/meta.json new file mode 100644 index 000000000000..7881ed5501f5 --- /dev/null +++ b/Resources/Textures/Clothing/Uniforms/Envirosuits/hop.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/hos.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/hos.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..51a9fdac333b Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/hos.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/hos.rsi/icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/hos.rsi/icon.png new file mode 100644 index 000000000000..b0a96449895c Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/hos.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/hos.rsi/meta.json b/Resources/Textures/Clothing/Uniforms/Envirosuits/hos.rsi/meta.json new file mode 100644 index 000000000000..7881ed5501f5 --- /dev/null +++ b/Resources/Textures/Clothing/Uniforms/Envirosuits/hos.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/hydroponics.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/hydroponics.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..8d6ac5e7fab2 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/hydroponics.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/hydroponics.rsi/icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/hydroponics.rsi/icon.png new file mode 100644 index 000000000000..e7bf4945f990 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/hydroponics.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/hydroponics.rsi/meta.json b/Resources/Textures/Clothing/Uniforms/Envirosuits/hydroponics.rsi/meta.json new file mode 100644 index 000000000000..7881ed5501f5 --- /dev/null +++ b/Resources/Textures/Clothing/Uniforms/Envirosuits/hydroponics.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/janitor.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/janitor.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..ad1c6cbbc185 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/janitor.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/janitor.rsi/icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/janitor.rsi/icon.png new file mode 100644 index 000000000000..18a829b6555d Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/janitor.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/janitor.rsi/meta.json b/Resources/Textures/Clothing/Uniforms/Envirosuits/janitor.rsi/meta.json new file mode 100644 index 000000000000..7881ed5501f5 --- /dev/null +++ b/Resources/Textures/Clothing/Uniforms/Envirosuits/janitor.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/medical.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/medical.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..cdac28060734 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/medical.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/medical.rsi/icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/medical.rsi/icon.png new file mode 100644 index 000000000000..933083422d93 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/medical.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/medical.rsi/meta.json b/Resources/Textures/Clothing/Uniforms/Envirosuits/medical.rsi/meta.json new file mode 100644 index 000000000000..7881ed5501f5 --- /dev/null +++ b/Resources/Textures/Clothing/Uniforms/Envirosuits/medical.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/mime.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/mime.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..37c444117063 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/mime.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/mime.rsi/icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/mime.rsi/icon.png new file mode 100644 index 000000000000..eb0d90d7c655 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/mime.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/mime.rsi/meta.json b/Resources/Textures/Clothing/Uniforms/Envirosuits/mime.rsi/meta.json new file mode 100644 index 000000000000..7881ed5501f5 --- /dev/null +++ b/Resources/Textures/Clothing/Uniforms/Envirosuits/mime.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/paramedic.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/paramedic.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..711f6fe61bd9 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/paramedic.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/paramedic.rsi/icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/paramedic.rsi/icon.png new file mode 100644 index 000000000000..4ef99e18f517 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/paramedic.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/paramedic.rsi/meta.json b/Resources/Textures/Clothing/Uniforms/Envirosuits/paramedic.rsi/meta.json new file mode 100644 index 000000000000..7881ed5501f5 --- /dev/null +++ b/Resources/Textures/Clothing/Uniforms/Envirosuits/paramedic.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/plain.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/plain.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..f9a9cf185489 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/plain.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/plain.rsi/icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/plain.rsi/icon.png new file mode 100644 index 000000000000..7cbe2a556d9c Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/plain.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/plain.rsi/inhand-left.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/plain.rsi/inhand-left.png new file mode 100644 index 000000000000..5ca9cdac9a1f Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/plain.rsi/inhand-left.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/plain.rsi/inhand-right.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/plain.rsi/inhand-right.png new file mode 100644 index 000000000000..63796271186f Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/plain.rsi/inhand-right.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/plain.rsi/meta.json b/Resources/Textures/Clothing/Uniforms/Envirosuits/plain.rsi/meta.json new file mode 100644 index 000000000000..e46e83577905 --- /dev/null +++ b/Resources/Textures/Clothing/Uniforms/Envirosuits/plain.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/rd.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/rd.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..53028a197d42 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/rd.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/rd.rsi/icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/rd.rsi/icon.png new file mode 100644 index 000000000000..3a6456688092 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/rd.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/rd.rsi/meta.json b/Resources/Textures/Clothing/Uniforms/Envirosuits/rd.rsi/meta.json new file mode 100644 index 000000000000..d4c04394efc4 --- /dev/null +++ b/Resources/Textures/Clothing/Uniforms/Envirosuits/rd.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef and modified by Skubman", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/roboticist.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/roboticist.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..d3ba77708000 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/roboticist.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/roboticist.rsi/icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/roboticist.rsi/icon.png new file mode 100644 index 000000000000..8e38f72012c4 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/roboticist.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/roboticist.rsi/meta.json b/Resources/Textures/Clothing/Uniforms/Envirosuits/roboticist.rsi/meta.json new file mode 100644 index 000000000000..e669a6403e68 --- /dev/null +++ b/Resources/Textures/Clothing/Uniforms/Envirosuits/roboticist.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef and modified by Skubman for Space Station 14", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/salvage.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/salvage.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..726b862a5680 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/salvage.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/salvage.rsi/icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/salvage.rsi/icon.png new file mode 100644 index 000000000000..8775c1a3e053 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/salvage.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/salvage.rsi/meta.json b/Resources/Textures/Clothing/Uniforms/Envirosuits/salvage.rsi/meta.json new file mode 100644 index 000000000000..7881ed5501f5 --- /dev/null +++ b/Resources/Textures/Clothing/Uniforms/Envirosuits/salvage.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/scientist.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/scientist.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..7199bf41fb9e Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/scientist.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/scientist.rsi/icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/scientist.rsi/icon.png new file mode 100644 index 000000000000..4d3dcb91ea17 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/scientist.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/scientist.rsi/meta.json b/Resources/Textures/Clothing/Uniforms/Envirosuits/scientist.rsi/meta.json new file mode 100644 index 000000000000..7881ed5501f5 --- /dev/null +++ b/Resources/Textures/Clothing/Uniforms/Envirosuits/scientist.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/tacticool.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/tacticool.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..9caeea98ab9d Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/tacticool.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/tacticool.rsi/icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/tacticool.rsi/icon.png new file mode 100644 index 000000000000..6370d1483d48 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/tacticool.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/tacticool.rsi/meta.json b/Resources/Textures/Clothing/Uniforms/Envirosuits/tacticool.rsi/meta.json new file mode 100644 index 000000000000..7881ed5501f5 --- /dev/null +++ b/Resources/Textures/Clothing/Uniforms/Envirosuits/tacticool.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/virology.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/virology.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..7f5881cd5701 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/virology.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/virology.rsi/icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/virology.rsi/icon.png new file mode 100644 index 000000000000..f2a1071bc563 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/virology.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/virology.rsi/meta.json b/Resources/Textures/Clothing/Uniforms/Envirosuits/virology.rsi/meta.json new file mode 100644 index 000000000000..7881ed5501f5 --- /dev/null +++ b/Resources/Textures/Clothing/Uniforms/Envirosuits/virology.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/warden.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/warden.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 000000000000..5482b7a4dd97 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/warden.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/warden.rsi/icon.png b/Resources/Textures/Clothing/Uniforms/Envirosuits/warden.rsi/icon.png new file mode 100644 index 000000000000..d48c2be0fa8d Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Envirosuits/warden.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Envirosuits/warden.rsi/meta.json b/Resources/Textures/Clothing/Uniforms/Envirosuits/warden.rsi/meta.json new file mode 100644 index 000000000000..7881ed5501f5 --- /dev/null +++ b/Resources/Textures/Clothing/Uniforms/Envirosuits/warden.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/a3849062b8756e3c2176fa0b9bd80aef9facc3ef", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/DeltaV/Effects/speech.rsi/chitinid0.png b/Resources/Textures/DeltaV/Effects/speech.rsi/chitinid0.png new file mode 100644 index 000000000000..dc37e2d63bdb Binary files /dev/null and b/Resources/Textures/DeltaV/Effects/speech.rsi/chitinid0.png differ diff --git a/Resources/Textures/DeltaV/Effects/speech.rsi/chitinid1.png b/Resources/Textures/DeltaV/Effects/speech.rsi/chitinid1.png new file mode 100644 index 000000000000..a8adc694b0a8 Binary files /dev/null and b/Resources/Textures/DeltaV/Effects/speech.rsi/chitinid1.png differ diff --git a/Resources/Textures/DeltaV/Effects/speech.rsi/chitinid2.png b/Resources/Textures/DeltaV/Effects/speech.rsi/chitinid2.png new file mode 100644 index 000000000000..91bcf88fe5ee Binary files /dev/null and b/Resources/Textures/DeltaV/Effects/speech.rsi/chitinid2.png differ diff --git a/Resources/Textures/DeltaV/Effects/speech.rsi/meta.json b/Resources/Textures/DeltaV/Effects/speech.rsi/meta.json index 1d4b09fbffef..d91b201f0b8a 100644 --- a/Resources/Textures/DeltaV/Effects/speech.rsi/meta.json +++ b/Resources/Textures/DeltaV/Effects/speech.rsi/meta.json @@ -23,6 +23,23 @@ }, { "name": "felinid2" + }, + { + "name": "chitinid0", + "delays": [ + [ + 0.2, + 0.3, + 0.3, + 0.3 + ] + ] + }, + { + "name": "chitinid1" + }, + { + "name": "chitinid2" } ] } diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/bee.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/bee.png new file mode 100644 index 000000000000..3c5faa4aa259 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/bee.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/curly.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/curly.png new file mode 100644 index 000000000000..7d7dd45da04b Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/curly.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/default.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/default.png new file mode 100644 index 000000000000..f3d291ebdc1f Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/default.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/firefly_primary.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/firefly_primary.png new file mode 100644 index 000000000000..32aeb03d3c6b Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/firefly_primary.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/firefly_secondary.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/firefly_secondary.png new file mode 100644 index 000000000000..ce6864cb060e Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/firefly_secondary.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/gray.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/gray.png new file mode 100644 index 000000000000..e215684cf9bd Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/gray.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/long.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/long.png new file mode 100644 index 000000000000..9ff75a10104a Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/long.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/meta.json b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/meta.json new file mode 100644 index 000000000000..52bc240973ec --- /dev/null +++ b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/meta.json @@ -0,0 +1,55 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Concepts by: https://github.com/ElusiveCoin", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "default", + "directions": 4 + }, + { + "name": "curly", + "directions": 4 + }, + { + "name": "gray", + "directions": 4 + }, + { + "name": "slick", + "directions": 4 + }, + { + "name": "short", + "directions": 4 + }, + { + "name": "long", + "directions": 4 + }, + { + "name": "bee", + "directions": 4 + }, + { + "name": "firefly_primary", + "directions": 4 + }, + { + "name": "firefly_secondary", + "directions": 4 + }, + { + "name": "radar", + "directions": 4 + }, + { + "name": "speed", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/radar.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/radar.png new file mode 100644 index 000000000000..41ec7d99233b Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/radar.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/short.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/short.png new file mode 100644 index 000000000000..1dde872b7854 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/short.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/slick.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/slick.png new file mode 100644 index 000000000000..f1e856667cdb Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/slick.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/speed.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/speed.png new file mode 100644 index 000000000000..f3dda4c68710 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/speed.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_chest.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_chest.png new file mode 100644 index 000000000000..8981bd797e80 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_chest.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_head.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_head.png new file mode 100644 index 000000000000..98c698e90589 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_head.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_l_arm.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_l_arm.png new file mode 100644 index 000000000000..14709b0c31a9 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_l_arm.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_l_leg.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_l_leg.png new file mode 100644 index 000000000000..5be58a196c58 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_l_leg.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_r_arm.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_r_arm.png new file mode 100644 index 000000000000..7a83b33619fd Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_r_arm.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_r_leg.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_r_leg.png new file mode 100644 index 000000000000..0ebd96c5dd8d Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_r_leg.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/meta.json b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/meta.json new file mode 100644 index 000000000000..6667bbc2b36a --- /dev/null +++ b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/meta.json @@ -0,0 +1,143 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from tgstation at commits https://github.com/tgstation/tgstation/commit/b30e2934e7585bad901dd12a35d0635f1fc292c1 and https://github.com/tgstation/tgstation/commit/6b0af0febe578f47ae280781682ea7a3d77f508a, modified by https://github.com/MilenVolf, Charred further modified and new assets by https://github.com/ElusiveCoin", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "toxic_head", + "directions": 4 + }, + { + "name": "toxic_chest", + "directions": 4 + }, + { + "name": "toxic_r_arm", + "directions": 4 + }, + { + "name": "toxic_l_arm", + "directions": 4 + }, + { + "name": "toxic_r_leg", + "directions": 4 + }, + { + "name": "toxic_l_leg", + "directions": 4 + }, + { + "name": "charred_head", + "directions": 4 + }, + { + "name": "charred_chest", + "directions": 4 + }, + { + "name": "charred_r_arm", + "directions": 4 + }, + { + "name": "charred_l_arm", + "directions": 4 + }, + { + "name": "charred_r_leg", + "directions": 4 + }, + { + "name": "charred_l_leg", + "directions": 4 + }, + { + "name": "radiant_head", + "directions": 4 + }, + { + "name": "radiant_chest", + "directions": 4 + }, + { + "name": "radiant_r_arm", + "directions": 4 + }, + { + "name": "radiant_l_arm", + "directions": 4 + }, + { + "name": "radiant_r_leg", + "directions": 4 + }, + { + "name": "radiant_l_leg", + "directions": 4 + }, + { + "name": "plated_chest", + "directions": 4 + }, + { + "name": "plated_r_arm", + "directions": 4 + }, + { + "name": "plated_l_arm", + "directions": 4 + }, + { + "name": "stripes_head", + "directions": 4 + }, + { + "name": "stripes_chest", + "directions": 4 + }, + { + "name": "stripes_r_arm", + "directions": 4 + }, + { + "name": "stripes_l_arm", + "directions": 4 + }, + { + "name": "stripes_r_leg", + "directions": 4 + }, + { + "name": "stripes_l_leg", + "directions": 4 + }, + { + "name": "spotted_head", + "directions": 4 + }, + { + "name": "spotted_chest", + "directions": 4 + }, + { + "name": "spotted_r_arm", + "directions": 4 + }, + { + "name": "spotted_l_arm", + "directions": 4 + }, + { + "name": "spotted_r_leg", + "directions": 4 + }, + { + "name": "spotted_l_leg", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/plated_chest.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/plated_chest.png new file mode 100644 index 000000000000..f32f5d317c1d Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/plated_chest.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/plated_l_arm.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/plated_l_arm.png new file mode 100644 index 000000000000..5e1061d9316d Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/plated_l_arm.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/plated_r_arm.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/plated_r_arm.png new file mode 100644 index 000000000000..b24897986d97 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/plated_r_arm.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_chest.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_chest.png new file mode 100644 index 000000000000..214caa4c9711 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_chest.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_head.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_head.png new file mode 100644 index 000000000000..5a19d265775b Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_head.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_l_arm.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_l_arm.png new file mode 100644 index 000000000000..272177404ae5 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_l_arm.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_l_leg.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_l_leg.png new file mode 100644 index 000000000000..16f0616a247c Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_l_leg.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_r_arm.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_r_arm.png new file mode 100644 index 000000000000..72dfcfde064c Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_r_arm.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_r_leg.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_r_leg.png new file mode 100644 index 000000000000..9c4d8173e9f1 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_r_leg.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_chest.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_chest.png new file mode 100644 index 000000000000..90a8539d735e Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_chest.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_head.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_head.png new file mode 100644 index 000000000000..c7301de38184 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_head.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_l_arm.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_l_arm.png new file mode 100644 index 000000000000..4c6f3c1ce4ca Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_l_arm.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_l_leg.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_l_leg.png new file mode 100644 index 000000000000..f78e45889f43 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_l_leg.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_r_arm.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_r_arm.png new file mode 100644 index 000000000000..a83a50ec9799 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_r_arm.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_r_leg.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_r_leg.png new file mode 100644 index 000000000000..27e6854260f9 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_r_leg.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_chest.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_chest.png new file mode 100644 index 000000000000..29b41970dce8 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_chest.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_head.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_head.png new file mode 100644 index 000000000000..8bcda1cbe6e8 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_head.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_l_arm.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_l_arm.png new file mode 100644 index 000000000000..521352f9d49a Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_l_arm.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_l_leg.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_l_leg.png new file mode 100644 index 000000000000..6b19d5237f93 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_l_leg.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_r_arm.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_r_arm.png new file mode 100644 index 000000000000..51b1f0d370d9 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_r_arm.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_r_leg.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_r_leg.png new file mode 100644 index 000000000000..e149af3795ff Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_r_leg.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_chest.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_chest.png new file mode 100644 index 000000000000..ad53da7165df Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_chest.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_head.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_head.png new file mode 100644 index 000000000000..d3400bf0e1d0 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_head.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_l_arm.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_l_arm.png new file mode 100644 index 000000000000..f74ffaae9d48 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_l_arm.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_l_leg.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_l_leg.png new file mode 100644 index 000000000000..fbcd1237d799 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_l_leg.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_r_arm.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_r_arm.png new file mode 100644 index 000000000000..31ef8726fc20 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_r_arm.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_r_leg.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_r_leg.png new file mode 100644 index 000000000000..bd772bfc0bbc Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_r_leg.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/bee_primary.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/bee_primary.png new file mode 100644 index 000000000000..d8f46c8e70ba Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/bee_primary.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/bee_secondary.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/bee_secondary.png new file mode 100644 index 000000000000..82a14ba3e5cd Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/bee_secondary.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/default.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/default.png new file mode 100644 index 000000000000..c01f5a4ba483 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/default.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/firefly_primary.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/firefly_primary.png new file mode 100644 index 000000000000..1f74656812f6 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/firefly_primary.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/firefly_secondary.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/firefly_secondary.png new file mode 100644 index 000000000000..3386aa45839f Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/firefly_secondary.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/honeypot_primary.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/honeypot_primary.png new file mode 100644 index 000000000000..d8428597262e Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/honeypot_primary.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/honeypot_secondary.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/honeypot_secondary.png new file mode 100644 index 000000000000..587a5a1f75e0 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/honeypot_secondary.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/meta.json b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/meta.json new file mode 100644 index 000000000000..b7f59a8231af --- /dev/null +++ b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/meta.json @@ -0,0 +1,47 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Concepts by: https://github.com/ElusiveCoin", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "default", + "directions": 4 + }, + { + "name": "smooth", + "directions": 4 + }, + { + "name": "honeypot_primary", + "directions": 4 + }, + { + "name": "honeypot_secondary", + "directions": 4 + }, + { + "name": "stubby", + "directions": 4 + }, + { + "name": "bee_primary", + "directions": 4 + }, + { + "name": "bee_secondary", + "directions": 4 + }, + { + "name": "firefly_primary", + "directions": 4 + }, + { + "name": "firefly_secondary", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/smooth.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/smooth.png new file mode 100644 index 000000000000..bd0bbec36f34 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/smooth.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/stubby.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/stubby.png new file mode 100644 index 000000000000..028676d9f4d5 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/stubby.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/eyes.png b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/eyes.png new file mode 100644 index 000000000000..e35b5717d2f5 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/eyes.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/full.png b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/full.png new file mode 100644 index 000000000000..6d5e167c553e Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/full.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/head_f.png b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/head_f.png new file mode 100644 index 000000000000..fe85b753450c Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/head_f.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/head_m.png b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/head_m.png new file mode 100644 index 000000000000..c9b9cbb1979d Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/head_m.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/l_arm.png b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/l_arm.png new file mode 100644 index 000000000000..48c0a2ee062c Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/l_arm.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/l_foot.png b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/l_foot.png new file mode 100644 index 000000000000..02c9335b20e3 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/l_foot.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/l_hand.png b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/l_hand.png new file mode 100644 index 000000000000..b02e2317bef7 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/l_hand.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/l_leg.png b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/l_leg.png new file mode 100644 index 000000000000..54efa6db7862 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/l_leg.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/meta.json b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/meta.json new file mode 100644 index 000000000000..ed5dfd514502 --- /dev/null +++ b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/meta.json @@ -0,0 +1,66 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/tgstation/tgstation/commit/1d0eadcb126fc3581eed33490f4be2a88157af58, modified by https://github.com/PixelTheKermit", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "full" + }, + { + "name": "head_f", + "directions": 4 + }, + { + "name": "head_m", + "directions": 4 + }, + { + "name": "l_arm", + "directions": 4 + }, + { + "name": "l_foot", + "directions": 4 + }, + { + "name": "l_hand", + "directions": 4 + }, + { + "name": "l_leg", + "directions": 4 + }, + { + "name": "r_arm", + "directions": 4 + }, + { + "name": "r_foot", + "directions": 4 + }, + { + "name": "r_hand", + "directions": 4 + }, + { + "name": "r_leg", + "directions": 4 + }, + { + "name": "torso_f", + "directions": 4 + }, + { + "name": "torso_m", + "directions": 4 + }, + { + "name": "eyes", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/r_arm.png b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/r_arm.png new file mode 100644 index 000000000000..703756e5c477 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/r_arm.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/r_foot.png b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/r_foot.png new file mode 100644 index 000000000000..e6610763011b Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/r_foot.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/r_hand.png b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/r_hand.png new file mode 100644 index 000000000000..b9f02aa59760 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/r_hand.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/r_leg.png b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/r_leg.png new file mode 100644 index 000000000000..6f45ae18950c Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/r_leg.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/torso_f.png b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/torso_f.png new file mode 100644 index 000000000000..71d346600158 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/torso_f.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/torso_m.png b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/torso_m.png new file mode 100644 index 000000000000..9f08874e16b3 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/torso_m.png differ diff --git a/Resources/Textures/DeltaV/Objects/Specific/Species/chitinid.rsi/chitzite.png b/Resources/Textures/DeltaV/Objects/Specific/Species/chitinid.rsi/chitzite.png new file mode 100644 index 000000000000..8983e82b36a1 Binary files /dev/null and b/Resources/Textures/DeltaV/Objects/Specific/Species/chitinid.rsi/chitzite.png differ diff --git a/Resources/Textures/DeltaV/Objects/Specific/Species/chitinid.rsi/chitzite_glow.png b/Resources/Textures/DeltaV/Objects/Specific/Species/chitinid.rsi/chitzite_glow.png new file mode 100644 index 000000000000..5a77b238e84f Binary files /dev/null and b/Resources/Textures/DeltaV/Objects/Specific/Species/chitinid.rsi/chitzite_glow.png differ diff --git a/Resources/Textures/DeltaV/Objects/Specific/Species/chitinid.rsi/meta.json b/Resources/Textures/DeltaV/Objects/Specific/Species/chitinid.rsi/meta.json new file mode 100644 index 000000000000..e55e488f4d56 --- /dev/null +++ b/Resources/Textures/DeltaV/Objects/Specific/Species/chitinid.rsi/meta.json @@ -0,0 +1,33 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Concepts by: https://github.com/ElusiveCoin", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "chitzite", + "delays": [ + [ + 0.3, + 0.3, + 0.3, + 0.3 + ] + ] + }, + { + "name": "chitzite_glow", + "delays": [ + [ + 0.2, + 0.2, + 0.2, + 0.2 + ] + ] + } + ] +} diff --git a/Resources/Textures/Effects/speech.rsi/meta.json b/Resources/Textures/Effects/speech.rsi/meta.json index 1ec1219b0f82..e3644f147b08 100644 --- a/Resources/Textures/Effects/speech.rsi/meta.json +++ b/Resources/Textures/Effects/speech.rsi/meta.json @@ -5,7 +5,7 @@ "y": 32 }, "license": "CC-BY-SA-3.0", - "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/c6e3401f2e7e1e55c57060cdf956a98ef1fefc24 | Moth sprites made by PuroSlavKing (Github) | Spider sprites made by PixelTheKermit (Github) | Lizard sprites made by AmalgoMyte (Github) | Oni sprites made by angelofallars and leonardo-dabepis (Github)", + "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/c6e3401f2e7e1e55c57060cdf956a98ef1fefc24 | Moth sprites made by PuroSlavKing (Github) | Spider sprites made by PixelTheKermit (Github) | Lizard sprites made by AmalgoMyte (Github) | Oni sprites made by angelofallars and leonardo-dabepis (Github) | Skeleton/Plasmaman sprites made by Skubman (github: angelofallars)", "states": [ { "name": "alien0", @@ -28,7 +28,6 @@ }, { "name": "alienroyal0", - "delays": [ [ 0.2, @@ -412,7 +411,7 @@ { "name": "spider2" }, - { + { "name": "vox0", "delays": [ [ @@ -439,6 +438,54 @@ }, { "name": "oni2" + }, + { + "name": "plasmaman0", + "delays": [ + [ + 0.15, + 0.25, + 0.25, + 0.5, + 0.1, + 0.15, + 0.1, + 0.7, + 0.25, + 0.25, + 0.1 + ] + ] + }, + { + "name": "plasmaman1" + }, + { + "name": "plasmaman2" + }, + { + "name": "skeleton0", + "delays": [ + [ + 0.15, + 0.25, + 0.25, + 0.5, + 0.1, + 0.15, + 0.1, + 0.7, + 0.25, + 0.25, + 0.1 + ] + ] + }, + { + "name": "skeleton1" + }, + { + "name": "skeleton2" } ] } diff --git a/Resources/Textures/Effects/speech.rsi/plasmaman0.png b/Resources/Textures/Effects/speech.rsi/plasmaman0.png new file mode 100644 index 000000000000..fb6cf1ad2528 Binary files /dev/null and b/Resources/Textures/Effects/speech.rsi/plasmaman0.png differ diff --git a/Resources/Textures/Effects/speech.rsi/plasmaman1.png b/Resources/Textures/Effects/speech.rsi/plasmaman1.png new file mode 100644 index 000000000000..4a3cb354ff53 Binary files /dev/null and b/Resources/Textures/Effects/speech.rsi/plasmaman1.png differ diff --git a/Resources/Textures/Effects/speech.rsi/plasmaman2.png b/Resources/Textures/Effects/speech.rsi/plasmaman2.png new file mode 100644 index 000000000000..9f86cb268c3f Binary files /dev/null and b/Resources/Textures/Effects/speech.rsi/plasmaman2.png differ diff --git a/Resources/Textures/Effects/speech.rsi/skeleton0.png b/Resources/Textures/Effects/speech.rsi/skeleton0.png new file mode 100644 index 000000000000..8695d90baf69 Binary files /dev/null and b/Resources/Textures/Effects/speech.rsi/skeleton0.png differ diff --git a/Resources/Textures/Effects/speech.rsi/skeleton1.png b/Resources/Textures/Effects/speech.rsi/skeleton1.png new file mode 100644 index 000000000000..3943f5976711 Binary files /dev/null and b/Resources/Textures/Effects/speech.rsi/skeleton1.png differ diff --git a/Resources/Textures/Effects/speech.rsi/skeleton2.png b/Resources/Textures/Effects/speech.rsi/skeleton2.png new file mode 100644 index 000000000000..64bb33c7137d Binary files /dev/null and b/Resources/Textures/Effects/speech.rsi/skeleton2.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/black_box.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/black_box.png new file mode 100644 index 000000000000..5145216bf3d4 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/black_box.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/black_box_open.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/black_box_open.png new file mode 100644 index 000000000000..8b3c3fbe05c7 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/black_box_open.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/black_hand1.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/black_hand1.png new file mode 100644 index 000000000000..8797bc9b52b2 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/black_hand1.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/black_hand2.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/black_hand2.png new file mode 100644 index 000000000000..7d217388d0a0 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/black_hand2.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/black_hand3.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/black_hand3.png new file mode 100644 index 000000000000..646ec3241b59 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/black_hand3.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/black_hand4.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/black_hand4.png new file mode 100644 index 000000000000..a10b441e1c68 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/black_hand4.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/black_hand5.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/black_hand5.png new file mode 100644 index 000000000000..b348eef2cac3 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/black_hand5.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/black_joker.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/black_joker.png new file mode 100644 index 000000000000..dcb21b4f8c07 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/black_joker.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/deck_black_empty.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/deck_black_empty.png new file mode 100644 index 000000000000..666e33a6eff2 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/deck_black_empty.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/deck_black_full.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/deck_black_full.png new file mode 100644 index 000000000000..e475aea4f255 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/deck_black_full.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/deck_black_half.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/deck_black_half.png new file mode 100644 index 000000000000..6121837e3117 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/deck_black_half.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/deck_black_low.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/deck_black_low.png new file mode 100644 index 000000000000..812fa134de5e Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/deck_black_low.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/deck_nanotrasen_empty.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/deck_nanotrasen_empty.png new file mode 100644 index 000000000000..3eab35d483aa Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/deck_nanotrasen_empty.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/deck_nanotrasen_full.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/deck_nanotrasen_full.png new file mode 100644 index 000000000000..b68e72fad5bf Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/deck_nanotrasen_full.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/deck_nanotrasen_half.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/deck_nanotrasen_half.png new file mode 100644 index 000000000000..aaf8d07645ac Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/deck_nanotrasen_half.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/deck_nanotrasen_low.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/deck_nanotrasen_low.png new file mode 100644 index 000000000000..22f8db3c7068 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/deck_nanotrasen_low.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/deck_syndicate_empty.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/deck_syndicate_empty.png new file mode 100644 index 000000000000..df0f80a270c4 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/deck_syndicate_empty.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/deck_syndicate_full.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/deck_syndicate_full.png new file mode 100644 index 000000000000..fd54e580a4fa Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/deck_syndicate_full.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/deck_syndicate_half.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/deck_syndicate_half.png new file mode 100644 index 000000000000..45e53d99e057 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/deck_syndicate_half.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/deck_syndicate_low.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/deck_syndicate_low.png new file mode 100644 index 000000000000..364885508c55 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/deck_syndicate_low.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/meta.json b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/meta.json new file mode 100644 index 000000000000..b5035a33bf2a --- /dev/null +++ b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/meta.json @@ -0,0 +1,614 @@ +{ + "version": 1, + "copyright": "Cards, Decks and Hands Sprites were originally from Paradise Station (https://github.com/ParadiseSS13/Paradise) and modified by VictorJob. Boxes are from VictorJob.", + "license": "CC-BY-SA-3.0", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "black_hand1" + }, + { + "name": "black_hand2" + }, + { + "name": "black_hand3" + }, + { + "name": "black_hand4" + }, + { + "name": "black_hand5" + }, + { + "name": "deck_black_empty" + }, + { + "name": "deck_black_full" + }, + { + "name": "deck_black_half" + }, + { + "name": "deck_black_low" + }, + { + "name": "deck_nanotrasen_empty" + }, + { + "name": "deck_nanotrasen_full" + }, + { + "name": "deck_nanotrasen_half" + }, + { + "name": "deck_nanotrasen_low" + }, + { + "name": "deck_syndicate_empty" + }, + { + "name": "deck_syndicate_full" + }, + { + "name": "deck_syndicate_half" + }, + { + "name": "deck_syndicate_low" + }, + { + "name": "nanotrasen_hand1" + }, + { + "name": "nanotrasen_hand2" + }, + { + "name": "nanotrasen_hand3" + }, + { + "name": "nanotrasen_hand4" + }, + { + "name": "nanotrasen_hand5" + }, + { + "name": "sc_10_of_Clubs_black" + }, + { + "name": "sc_10_of_Clubs_nanotrasen" + }, + { + "name": "sc_10_of_Clubs_syndicate" + }, + { + "name": "sc_10_of_Diamonds_black" + }, + { + "name": "sc_10_of_Diamonds_nanotrasen" + }, + { + "name": "sc_10_of_Diamonds_syndicate" + }, + { + "name": "sc_10_of_Hearts_black" + }, + { + "name": "sc_10_of_Hearts_nanotrasen" + }, + { + "name": "sc_10_of_Hearts_syndicate" + }, + { + "name": "sc_10_of_Spades_black" + }, + { + "name": "sc_10_of_Spades_nanotrasen" + }, + { + "name": "sc_10_of_Spades_syndicate" + }, + { + "name": "sc_2_of_Clubs_black" + }, + { + "name": "sc_2_of_Clubs_nanotrasen" + }, + { + "name": "sc_2_of_Clubs_syndicate" + }, + { + "name": "sc_2_of_Diamonds_black" + }, + { + "name": "sc_2_of_Diamonds_nanotrasen" + }, + { + "name": "sc_2_of_Diamonds_syndicate" + }, + { + "name": "sc_2_of_Hearts_black" + }, + { + "name": "sc_2_of_Hearts_nanotrasen" + }, + { + "name": "sc_2_of_Hearts_syndicate" + }, + { + "name": "sc_2_of_Spades_black" + }, + { + "name": "sc_2_of_Spades_nanotrasen" + }, + { + "name": "sc_2_of_Spades_syndicate" + }, + { + "name": "sc_3_of_Clubs_black" + }, + { + "name": "sc_3_of_Clubs_nanotrasen" + }, + { + "name": "sc_3_of_Clubs_syndicate" + }, + { + "name": "sc_3_of_Diamonds_black" + }, + { + "name": "sc_3_of_Diamonds_nanotrasen" + }, + { + "name": "sc_3_of_Diamonds_syndicate" + }, + { + "name": "sc_3_of_Hearts_black" + }, + { + "name": "sc_3_of_Hearts_nanotrasen" + }, + { + "name": "sc_3_of_Hearts_syndicate" + }, + { + "name": "sc_3_of_Spades_black" + }, + { + "name": "sc_3_of_Spades_nanotrasen" + }, + { + "name": "sc_3_of_Spades_syndicate" + }, + { + "name": "sc_4_of_Clubs_black" + }, + { + "name": "sc_4_of_Clubs_nanotrasen" + }, + { + "name": "sc_4_of_Clubs_syndicate" + }, + { + "name": "sc_4_of_Diamonds_black" + }, + { + "name": "sc_4_of_Diamonds_nanotrasen" + }, + { + "name": "sc_4_of_Diamonds_syndicate" + }, + { + "name": "sc_4_of_Hearts_black" + }, + { + "name": "sc_4_of_Hearts_nanotrasen" + }, + { + "name": "sc_4_of_Hearts_syndicate" + }, + { + "name": "sc_4_of_Spades_black" + }, + { + "name": "sc_4_of_Spades_nanotrasen" + }, + { + "name": "sc_4_of_Spades_syndicate" + }, + { + "name": "sc_5_of_Clubs_black" + }, + { + "name": "sc_5_of_Clubs_nanotrasen" + }, + { + "name": "sc_5_of_Clubs_syndicate" + }, + { + "name": "sc_5_of_Diamonds_black" + }, + { + "name": "sc_5_of_Diamonds_nanotrasen" + }, + { + "name": "sc_5_of_Diamonds_syndicate" + }, + { + "name": "sc_5_of_Hearts_black" + }, + { + "name": "sc_5_of_Hearts_nanotrasen" + }, + { + "name": "sc_5_of_Hearts_syndicate" + }, + { + "name": "sc_5_of_Spades_black" + }, + { + "name": "sc_5_of_Spades_nanotrasen" + }, + { + "name": "sc_5_of_Spades_syndicate" + }, + { + "name": "sc_6_of_Clubs_black" + }, + { + "name": "sc_6_of_Clubs_nanotrasen" + }, + { + "name": "sc_6_of_Clubs_syndicate" + }, + { + "name": "sc_6_of_Diamonds_black" + }, + { + "name": "sc_6_of_Diamonds_nanotrasen" + }, + { + "name": "sc_6_of_Diamonds_syndicate" + }, + { + "name": "sc_6_of_Hearts_black" + }, + { + "name": "sc_6_of_Hearts_nanotrasen" + }, + { + "name": "sc_6_of_Hearts_syndicate" + }, + { + "name": "sc_6_of_Spades_black" + }, + { + "name": "sc_6_of_Spades_nanotrasen" + }, + { + "name": "sc_6_of_Spades_syndicate" + }, + { + "name": "sc_7_of_Clubs_black" + }, + { + "name": "sc_7_of_Clubs_nanotrasen" + }, + { + "name": "sc_7_of_Clubs_syndicate" + }, + { + "name": "sc_7_of_Diamonds_black" + }, + { + "name": "sc_7_of_Diamonds_nanotrasen" + }, + { + "name": "sc_7_of_Diamonds_syndicate" + }, + { + "name": "sc_7_of_Hearts_black" + }, + { + "name": "sc_7_of_Hearts_nanotrasen" + }, + { + "name": "sc_7_of_Hearts_syndicate" + }, + { + "name": "sc_7_of_Spades_black" + }, + { + "name": "sc_7_of_Spades_nanotrasen" + }, + { + "name": "sc_7_of_Spades_syndicate" + }, + { + "name": "sc_8_of_Clubs_black" + }, + { + "name": "sc_8_of_Clubs_nanotrasen" + }, + { + "name": "sc_8_of_Clubs_syndicate" + }, + { + "name": "sc_8_of_Diamonds_black" + }, + { + "name": "sc_8_of_Diamonds_nanotrasen" + }, + { + "name": "sc_8_of_Diamonds_syndicate" + }, + { + "name": "sc_8_of_Hearts_black" + }, + { + "name": "sc_8_of_Hearts_nanotrasen" + }, + { + "name": "sc_8_of_Hearts_syndicate" + }, + { + "name": "sc_8_of_Spades_black" + }, + { + "name": "sc_8_of_Spades_nanotrasen" + }, + { + "name": "sc_8_of_Spades_syndicate" + }, + { + "name": "sc_9_of_Clubs_black" + }, + { + "name": "sc_9_of_Clubs_nanotrasen" + }, + { + "name": "sc_9_of_Clubs_syndicate" + }, + { + "name": "sc_9_of_Diamonds_black" + }, + { + "name": "sc_9_of_Diamonds_nanotrasen" + }, + { + "name": "sc_9_of_Diamonds_syndicate" + }, + { + "name": "sc_9_of_Hearts_black" + }, + { + "name": "sc_9_of_Hearts_nanotrasen" + }, + { + "name": "sc_9_of_Hearts_syndicate" + }, + { + "name": "sc_9_of_Spades_black" + }, + { + "name": "sc_9_of_Spades_nanotrasen" + }, + { + "name": "sc_9_of_Spades_syndicate" + }, + { + "name": "sc_Ace_of_Clubs_black" + }, + { + "name": "sc_Ace_of_Clubs_nanotrasen" + }, + { + "name": "sc_Ace_of_Clubs_syndicate" + }, + { + "name": "sc_Ace_of_Diamonds_black" + }, + { + "name": "sc_Ace_of_Diamonds_nanotrasen" + }, + { + "name": "sc_Ace_of_Diamonds_syndicate" + }, + { + "name": "sc_Ace_of_Hearts_black" + }, + { + "name": "sc_Ace_of_Hearts_nanotrasen" + }, + { + "name": "sc_Ace_of_Hearts_syndicate" + }, + { + "name": "sc_Ace_of_Spades_black" + }, + { + "name": "sc_Ace_of_Spades_nanotrasen" + }, + { + "name": "sc_Ace_of_Spades_syndicate" + }, + { + "name": "sc_Jack_of_Clubs_black" + }, + { + "name": "sc_Jack_of_Clubs_nanotrasen" + }, + { + "name": "sc_Jack_of_Clubs_syndicate" + }, + { + "name": "sc_Jack_of_Diamonds_black" + }, + { + "name": "sc_Jack_of_Diamonds_nanotrasen" + }, + { + "name": "sc_Jack_of_Diamonds_syndicate" + }, + { + "name": "sc_Jack_of_Hearts_black" + }, + { + "name": "sc_Jack_of_Hearts_nanotrasen" + }, + { + "name": "sc_Jack_of_Hearts_syndicate" + }, + { + "name": "sc_Jack_of_Spades_black" + }, + { + "name": "sc_Jack_of_Spades_nanotrasen" + }, + { + "name": "sc_Jack_of_Spades_syndicate" + }, + { + "name": "sc_King_of_Clubs_black" + }, + { + "name": "sc_King_of_Clubs_nanotrasen" + }, + { + "name": "sc_King_of_Clubs_syndicate" + }, + { + "name": "sc_King_of_Diamonds_black" + }, + { + "name": "sc_King_of_Diamonds_nanotrasen" + }, + { + "name": "sc_King_of_Diamonds_syndicate" + }, + { + "name": "sc_King_of_Hearts_black" + }, + { + "name": "sc_King_of_Hearts_nanotrasen" + }, + { + "name": "sc_King_of_Hearts_syndicate" + }, + { + "name": "sc_King_of_Spades_black" + }, + { + "name": "sc_King_of_Spades_nanotrasen" + }, + { + "name": "sc_King_of_Spades_syndicate" + }, + { + "name": "sc_Queen_of_Clubs_black" + }, + { + "name": "sc_Queen_of_Clubs_nanotrasen" + }, + { + "name": "sc_Queen_of_Clubs_syndicate" + }, + { + "name": "sc_Queen_of_Diamonds_black" + }, + { + "name": "sc_Queen_of_Diamonds_nanotrasen" + }, + { + "name": "sc_Queen_of_Diamonds_syndicate" + }, + { + "name": "sc_Queen_of_Hearts_black" + }, + { + "name": "sc_Queen_of_Hearts_nanotrasen" + }, + { + "name": "sc_Queen_of_Hearts_syndicate" + }, + { + "name": "sc_Queen_of_Spades_black" + }, + { + "name": "sc_Queen_of_Spades_nanotrasen" + }, + { + "name": "sc_Queen_of_Spades_syndicate" + }, + { + "name": "singlecard_down_black" + }, + { + "name": "singlecard_down_nanotrasen" + }, + { + "name": "singlecard_down_syndicate" + }, + { + "name": "syndicate_hand1" + }, + { + "name": "syndicate_hand2" + }, + { + "name": "syndicate_hand3" + }, + { + "name": "syndicate_hand4" + }, + { + "name": "syndicate_hand5" + }, + { + "name": "syndicate_joker", + "delays": [ + [ + 0.5, + 0.5 + ] + ] + }, + { + "name": "nanotrasen_joker", + "delays": [ + [ + 0.5, + 0.5 + ] + ] + }, + { + "name": "black_joker", + "delays": [ + [ + 0.5, + 0.5 + ] + ] + }, + { + "name": "syndicate_box" + }, + { + "name": "syndicate_box_open" + }, + { + "name": "black_box" + }, + { + "name": "black_box_open" + }, + { + "name": "nanotrasen_box" + }, + { + "name": "nanotrasen_box_open" + } + ] +} diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/nanotrasen_box.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/nanotrasen_box.png new file mode 100644 index 000000000000..b80b2ccd71f5 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/nanotrasen_box.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/nanotrasen_box_open.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/nanotrasen_box_open.png new file mode 100644 index 000000000000..b86bfb1c2d0e Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/nanotrasen_box_open.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/nanotrasen_hand1.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/nanotrasen_hand1.png new file mode 100644 index 000000000000..2c532c3148a3 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/nanotrasen_hand1.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/nanotrasen_hand2.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/nanotrasen_hand2.png new file mode 100644 index 000000000000..073d79718c4e Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/nanotrasen_hand2.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/nanotrasen_hand3.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/nanotrasen_hand3.png new file mode 100644 index 000000000000..1edfe42011da Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/nanotrasen_hand3.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/nanotrasen_hand4.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/nanotrasen_hand4.png new file mode 100644 index 000000000000..b788969f0f35 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/nanotrasen_hand4.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/nanotrasen_hand5.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/nanotrasen_hand5.png new file mode 100644 index 000000000000..8836dc110bfc Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/nanotrasen_hand5.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/nanotrasen_joker.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/nanotrasen_joker.png new file mode 100644 index 000000000000..c7c5c9e06159 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/nanotrasen_joker.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_10_of_Clubs_black.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_10_of_Clubs_black.png new file mode 100644 index 000000000000..1c45b9f176b4 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_10_of_Clubs_black.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_10_of_Clubs_nanotrasen.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_10_of_Clubs_nanotrasen.png new file mode 100644 index 000000000000..23f499fe81b0 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_10_of_Clubs_nanotrasen.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_10_of_Clubs_syndicate.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_10_of_Clubs_syndicate.png new file mode 100644 index 000000000000..ae4d73c1a652 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_10_of_Clubs_syndicate.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_10_of_Diamonds_black.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_10_of_Diamonds_black.png new file mode 100644 index 000000000000..17a7cb99d2e3 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_10_of_Diamonds_black.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_10_of_Diamonds_nanotrasen.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_10_of_Diamonds_nanotrasen.png new file mode 100644 index 000000000000..afad380277d0 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_10_of_Diamonds_nanotrasen.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_10_of_Diamonds_syndicate.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_10_of_Diamonds_syndicate.png new file mode 100644 index 000000000000..100b213afc8c Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_10_of_Diamonds_syndicate.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_10_of_Hearts_black.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_10_of_Hearts_black.png new file mode 100644 index 000000000000..0a179f78eed7 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_10_of_Hearts_black.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_10_of_Hearts_nanotrasen.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_10_of_Hearts_nanotrasen.png new file mode 100644 index 000000000000..eca6193c86a6 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_10_of_Hearts_nanotrasen.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_10_of_Hearts_syndicate.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_10_of_Hearts_syndicate.png new file mode 100644 index 000000000000..b9a846748541 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_10_of_Hearts_syndicate.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_10_of_Spades_black.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_10_of_Spades_black.png new file mode 100644 index 000000000000..5fc75d0bce81 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_10_of_Spades_black.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_10_of_Spades_nanotrasen.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_10_of_Spades_nanotrasen.png new file mode 100644 index 000000000000..01187507f6ec Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_10_of_Spades_nanotrasen.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_10_of_Spades_syndicate.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_10_of_Spades_syndicate.png new file mode 100644 index 000000000000..b4ac829a2419 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_10_of_Spades_syndicate.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_2_of_Clubs_black.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_2_of_Clubs_black.png new file mode 100644 index 000000000000..ba33f6b6a7a1 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_2_of_Clubs_black.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_2_of_Clubs_nanotrasen.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_2_of_Clubs_nanotrasen.png new file mode 100644 index 000000000000..2067145ca032 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_2_of_Clubs_nanotrasen.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_2_of_Clubs_syndicate.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_2_of_Clubs_syndicate.png new file mode 100644 index 000000000000..1a057ecf79cb Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_2_of_Clubs_syndicate.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_2_of_Diamonds_black.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_2_of_Diamonds_black.png new file mode 100644 index 000000000000..e5e5afcbf30e Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_2_of_Diamonds_black.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_2_of_Diamonds_nanotrasen.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_2_of_Diamonds_nanotrasen.png new file mode 100644 index 000000000000..f0ee45883dd6 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_2_of_Diamonds_nanotrasen.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_2_of_Diamonds_syndicate.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_2_of_Diamonds_syndicate.png new file mode 100644 index 000000000000..8f6549e8d3d9 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_2_of_Diamonds_syndicate.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_2_of_Hearts_black.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_2_of_Hearts_black.png new file mode 100644 index 000000000000..b16deb15ae86 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_2_of_Hearts_black.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_2_of_Hearts_nanotrasen.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_2_of_Hearts_nanotrasen.png new file mode 100644 index 000000000000..af710d071114 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_2_of_Hearts_nanotrasen.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_2_of_Hearts_syndicate.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_2_of_Hearts_syndicate.png new file mode 100644 index 000000000000..7f99d786cfe5 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_2_of_Hearts_syndicate.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_2_of_Spades_black.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_2_of_Spades_black.png new file mode 100644 index 000000000000..4ff15e413685 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_2_of_Spades_black.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_2_of_Spades_nanotrasen.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_2_of_Spades_nanotrasen.png new file mode 100644 index 000000000000..c8c01eb2d55a Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_2_of_Spades_nanotrasen.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_2_of_Spades_syndicate.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_2_of_Spades_syndicate.png new file mode 100644 index 000000000000..bea976dc1b9e Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_2_of_Spades_syndicate.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_3_of_Clubs_black.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_3_of_Clubs_black.png new file mode 100644 index 000000000000..36fcb2d65414 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_3_of_Clubs_black.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_3_of_Clubs_nanotrasen.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_3_of_Clubs_nanotrasen.png new file mode 100644 index 000000000000..b64b1a6650a4 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_3_of_Clubs_nanotrasen.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_3_of_Clubs_syndicate.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_3_of_Clubs_syndicate.png new file mode 100644 index 000000000000..feeefb7bccf8 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_3_of_Clubs_syndicate.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_3_of_Diamonds_black.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_3_of_Diamonds_black.png new file mode 100644 index 000000000000..a100b460580d Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_3_of_Diamonds_black.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_3_of_Diamonds_nanotrasen.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_3_of_Diamonds_nanotrasen.png new file mode 100644 index 000000000000..34e8feae6f19 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_3_of_Diamonds_nanotrasen.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_3_of_Diamonds_syndicate.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_3_of_Diamonds_syndicate.png new file mode 100644 index 000000000000..1cf21d7723ef Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_3_of_Diamonds_syndicate.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_3_of_Hearts_black.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_3_of_Hearts_black.png new file mode 100644 index 000000000000..50be1e655a09 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_3_of_Hearts_black.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_3_of_Hearts_nanotrasen.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_3_of_Hearts_nanotrasen.png new file mode 100644 index 000000000000..20cf0ab74e7e Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_3_of_Hearts_nanotrasen.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_3_of_Hearts_syndicate.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_3_of_Hearts_syndicate.png new file mode 100644 index 000000000000..8d62899fe298 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_3_of_Hearts_syndicate.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_3_of_Spades_black.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_3_of_Spades_black.png new file mode 100644 index 000000000000..d43b828a4993 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_3_of_Spades_black.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_3_of_Spades_nanotrasen.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_3_of_Spades_nanotrasen.png new file mode 100644 index 000000000000..dd9ba51947d8 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_3_of_Spades_nanotrasen.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_3_of_Spades_syndicate.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_3_of_Spades_syndicate.png new file mode 100644 index 000000000000..6a51db9b7ebf Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_3_of_Spades_syndicate.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_4_of_Clubs_black.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_4_of_Clubs_black.png new file mode 100644 index 000000000000..67f25777ea14 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_4_of_Clubs_black.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_4_of_Clubs_nanotrasen.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_4_of_Clubs_nanotrasen.png new file mode 100644 index 000000000000..fb1266f39102 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_4_of_Clubs_nanotrasen.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_4_of_Clubs_syndicate.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_4_of_Clubs_syndicate.png new file mode 100644 index 000000000000..2b14b3777d43 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_4_of_Clubs_syndicate.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_4_of_Diamonds_black.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_4_of_Diamonds_black.png new file mode 100644 index 000000000000..653109f088dc Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_4_of_Diamonds_black.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_4_of_Diamonds_nanotrasen.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_4_of_Diamonds_nanotrasen.png new file mode 100644 index 000000000000..93d00aa65e89 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_4_of_Diamonds_nanotrasen.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_4_of_Diamonds_syndicate.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_4_of_Diamonds_syndicate.png new file mode 100644 index 000000000000..1b63837065fc Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_4_of_Diamonds_syndicate.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_4_of_Hearts_black.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_4_of_Hearts_black.png new file mode 100644 index 000000000000..30e3525c7ea0 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_4_of_Hearts_black.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_4_of_Hearts_nanotrasen.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_4_of_Hearts_nanotrasen.png new file mode 100644 index 000000000000..8d55ea1df9cc Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_4_of_Hearts_nanotrasen.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_4_of_Hearts_syndicate.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_4_of_Hearts_syndicate.png new file mode 100644 index 000000000000..2fb582d56987 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_4_of_Hearts_syndicate.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_4_of_Spades_black.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_4_of_Spades_black.png new file mode 100644 index 000000000000..cb82281e4065 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_4_of_Spades_black.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_4_of_Spades_nanotrasen.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_4_of_Spades_nanotrasen.png new file mode 100644 index 000000000000..6bd780f25049 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_4_of_Spades_nanotrasen.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_4_of_Spades_syndicate.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_4_of_Spades_syndicate.png new file mode 100644 index 000000000000..e6d0a439eeaa Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_4_of_Spades_syndicate.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_5_of_Clubs_black.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_5_of_Clubs_black.png new file mode 100644 index 000000000000..61c3ad81f1bd Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_5_of_Clubs_black.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_5_of_Clubs_nanotrasen.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_5_of_Clubs_nanotrasen.png new file mode 100644 index 000000000000..bf156aceb7e3 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_5_of_Clubs_nanotrasen.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_5_of_Clubs_syndicate.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_5_of_Clubs_syndicate.png new file mode 100644 index 000000000000..8183e0defab5 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_5_of_Clubs_syndicate.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_5_of_Diamonds_black.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_5_of_Diamonds_black.png new file mode 100644 index 000000000000..3dd9f7c95b2e Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_5_of_Diamonds_black.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_5_of_Diamonds_nanotrasen.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_5_of_Diamonds_nanotrasen.png new file mode 100644 index 000000000000..66032a9ddde3 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_5_of_Diamonds_nanotrasen.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_5_of_Diamonds_syndicate.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_5_of_Diamonds_syndicate.png new file mode 100644 index 000000000000..eef3d3322d6c Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_5_of_Diamonds_syndicate.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_5_of_Hearts_black.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_5_of_Hearts_black.png new file mode 100644 index 000000000000..f1fa1b4f34ce Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_5_of_Hearts_black.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_5_of_Hearts_nanotrasen.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_5_of_Hearts_nanotrasen.png new file mode 100644 index 000000000000..95d5ed72a20f Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_5_of_Hearts_nanotrasen.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_5_of_Hearts_syndicate.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_5_of_Hearts_syndicate.png new file mode 100644 index 000000000000..b9a25077a1f3 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_5_of_Hearts_syndicate.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_5_of_Spades_black.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_5_of_Spades_black.png new file mode 100644 index 000000000000..48290bd26c41 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_5_of_Spades_black.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_5_of_Spades_nanotrasen.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_5_of_Spades_nanotrasen.png new file mode 100644 index 000000000000..5f557f6f1164 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_5_of_Spades_nanotrasen.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_5_of_Spades_syndicate.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_5_of_Spades_syndicate.png new file mode 100644 index 000000000000..22f74e05357c Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_5_of_Spades_syndicate.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_6_of_Clubs_black.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_6_of_Clubs_black.png new file mode 100644 index 000000000000..7b4eb021bf68 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_6_of_Clubs_black.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_6_of_Clubs_nanotrasen.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_6_of_Clubs_nanotrasen.png new file mode 100644 index 000000000000..f94cc8607717 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_6_of_Clubs_nanotrasen.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_6_of_Clubs_syndicate.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_6_of_Clubs_syndicate.png new file mode 100644 index 000000000000..7b7905bd38f3 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_6_of_Clubs_syndicate.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_6_of_Diamonds_black.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_6_of_Diamonds_black.png new file mode 100644 index 000000000000..c44ddd87e6d1 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_6_of_Diamonds_black.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_6_of_Diamonds_nanotrasen.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_6_of_Diamonds_nanotrasen.png new file mode 100644 index 000000000000..970bef60e4a0 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_6_of_Diamonds_nanotrasen.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_6_of_Diamonds_syndicate.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_6_of_Diamonds_syndicate.png new file mode 100644 index 000000000000..729c0def3f42 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_6_of_Diamonds_syndicate.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_6_of_Hearts_black.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_6_of_Hearts_black.png new file mode 100644 index 000000000000..23697e2f9a46 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_6_of_Hearts_black.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_6_of_Hearts_nanotrasen.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_6_of_Hearts_nanotrasen.png new file mode 100644 index 000000000000..e099806d233b Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_6_of_Hearts_nanotrasen.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_6_of_Hearts_syndicate.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_6_of_Hearts_syndicate.png new file mode 100644 index 000000000000..fabd88049a17 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_6_of_Hearts_syndicate.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_6_of_Spades_black.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_6_of_Spades_black.png new file mode 100644 index 000000000000..429b9c9dcf36 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_6_of_Spades_black.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_6_of_Spades_nanotrasen.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_6_of_Spades_nanotrasen.png new file mode 100644 index 000000000000..7fc01c72b523 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_6_of_Spades_nanotrasen.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_6_of_Spades_syndicate.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_6_of_Spades_syndicate.png new file mode 100644 index 000000000000..b1021e01bc39 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_6_of_Spades_syndicate.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_7_of_Clubs_black.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_7_of_Clubs_black.png new file mode 100644 index 000000000000..444a83394ef0 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_7_of_Clubs_black.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_7_of_Clubs_nanotrasen.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_7_of_Clubs_nanotrasen.png new file mode 100644 index 000000000000..8d795e524e24 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_7_of_Clubs_nanotrasen.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_7_of_Clubs_syndicate.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_7_of_Clubs_syndicate.png new file mode 100644 index 000000000000..6f786cca2a43 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_7_of_Clubs_syndicate.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_7_of_Diamonds_black.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_7_of_Diamonds_black.png new file mode 100644 index 000000000000..2308d43d4f24 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_7_of_Diamonds_black.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_7_of_Diamonds_nanotrasen.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_7_of_Diamonds_nanotrasen.png new file mode 100644 index 000000000000..efbe7248ecb8 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_7_of_Diamonds_nanotrasen.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_7_of_Diamonds_syndicate.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_7_of_Diamonds_syndicate.png new file mode 100644 index 000000000000..7954748eab38 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_7_of_Diamonds_syndicate.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_7_of_Hearts_black.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_7_of_Hearts_black.png new file mode 100644 index 000000000000..e466ae712058 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_7_of_Hearts_black.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_7_of_Hearts_nanotrasen.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_7_of_Hearts_nanotrasen.png new file mode 100644 index 000000000000..452bd851e4f1 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_7_of_Hearts_nanotrasen.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_7_of_Hearts_syndicate.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_7_of_Hearts_syndicate.png new file mode 100644 index 000000000000..7beeded17362 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_7_of_Hearts_syndicate.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_7_of_Spades_black.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_7_of_Spades_black.png new file mode 100644 index 000000000000..b72505fb8783 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_7_of_Spades_black.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_7_of_Spades_nanotrasen.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_7_of_Spades_nanotrasen.png new file mode 100644 index 000000000000..c9923e0c89e1 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_7_of_Spades_nanotrasen.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_7_of_Spades_syndicate.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_7_of_Spades_syndicate.png new file mode 100644 index 000000000000..07f4d96f75d9 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_7_of_Spades_syndicate.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_8_of_Clubs_black.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_8_of_Clubs_black.png new file mode 100644 index 000000000000..3367fa0d2e65 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_8_of_Clubs_black.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_8_of_Clubs_nanotrasen.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_8_of_Clubs_nanotrasen.png new file mode 100644 index 000000000000..83eafee6c794 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_8_of_Clubs_nanotrasen.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_8_of_Clubs_syndicate.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_8_of_Clubs_syndicate.png new file mode 100644 index 000000000000..76d30fab1a60 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_8_of_Clubs_syndicate.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_8_of_Diamonds_black.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_8_of_Diamonds_black.png new file mode 100644 index 000000000000..58a1130c4a8c Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_8_of_Diamonds_black.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_8_of_Diamonds_nanotrasen.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_8_of_Diamonds_nanotrasen.png new file mode 100644 index 000000000000..6204855e3c85 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_8_of_Diamonds_nanotrasen.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_8_of_Diamonds_syndicate.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_8_of_Diamonds_syndicate.png new file mode 100644 index 000000000000..e1b2aba48e3c Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_8_of_Diamonds_syndicate.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_8_of_Hearts_black.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_8_of_Hearts_black.png new file mode 100644 index 000000000000..2ce9b69f164e Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_8_of_Hearts_black.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_8_of_Hearts_nanotrasen.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_8_of_Hearts_nanotrasen.png new file mode 100644 index 000000000000..86b3c37cd0ef Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_8_of_Hearts_nanotrasen.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_8_of_Hearts_syndicate.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_8_of_Hearts_syndicate.png new file mode 100644 index 000000000000..1ad0852935b1 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_8_of_Hearts_syndicate.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_8_of_Spades_black.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_8_of_Spades_black.png new file mode 100644 index 000000000000..69154bbc3b1e Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_8_of_Spades_black.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_8_of_Spades_nanotrasen.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_8_of_Spades_nanotrasen.png new file mode 100644 index 000000000000..587025d064ea Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_8_of_Spades_nanotrasen.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_8_of_Spades_syndicate.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_8_of_Spades_syndicate.png new file mode 100644 index 000000000000..ec1158a360de Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_8_of_Spades_syndicate.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_9_of_Clubs_black.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_9_of_Clubs_black.png new file mode 100644 index 000000000000..59686360af8b Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_9_of_Clubs_black.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_9_of_Clubs_nanotrasen.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_9_of_Clubs_nanotrasen.png new file mode 100644 index 000000000000..9c88a1a275a7 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_9_of_Clubs_nanotrasen.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_9_of_Clubs_syndicate.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_9_of_Clubs_syndicate.png new file mode 100644 index 000000000000..4ef37da096e3 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_9_of_Clubs_syndicate.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_9_of_Diamonds_black.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_9_of_Diamonds_black.png new file mode 100644 index 000000000000..7104afcd64bd Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_9_of_Diamonds_black.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_9_of_Diamonds_nanotrasen.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_9_of_Diamonds_nanotrasen.png new file mode 100644 index 000000000000..35aba68cfeb7 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_9_of_Diamonds_nanotrasen.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_9_of_Diamonds_syndicate.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_9_of_Diamonds_syndicate.png new file mode 100644 index 000000000000..f6bad8382599 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_9_of_Diamonds_syndicate.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_9_of_Hearts_black.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_9_of_Hearts_black.png new file mode 100644 index 000000000000..43341bb1f8ca Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_9_of_Hearts_black.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_9_of_Hearts_nanotrasen.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_9_of_Hearts_nanotrasen.png new file mode 100644 index 000000000000..389004ac91b6 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_9_of_Hearts_nanotrasen.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_9_of_Hearts_syndicate.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_9_of_Hearts_syndicate.png new file mode 100644 index 000000000000..c3b7cc614295 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_9_of_Hearts_syndicate.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_9_of_Spades_black.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_9_of_Spades_black.png new file mode 100644 index 000000000000..ab89960ba014 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_9_of_Spades_black.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_9_of_Spades_nanotrasen.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_9_of_Spades_nanotrasen.png new file mode 100644 index 000000000000..dbdff6554ec2 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_9_of_Spades_nanotrasen.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_9_of_Spades_syndicate.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_9_of_Spades_syndicate.png new file mode 100644 index 000000000000..1a68d32b7c0d Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_9_of_Spades_syndicate.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Ace_of_Clubs_black.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Ace_of_Clubs_black.png new file mode 100644 index 000000000000..5c524bad6483 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Ace_of_Clubs_black.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Ace_of_Clubs_nanotrasen.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Ace_of_Clubs_nanotrasen.png new file mode 100644 index 000000000000..4aab2f09d478 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Ace_of_Clubs_nanotrasen.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Ace_of_Clubs_syndicate.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Ace_of_Clubs_syndicate.png new file mode 100644 index 000000000000..47fe7da11d21 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Ace_of_Clubs_syndicate.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Ace_of_Diamonds_black.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Ace_of_Diamonds_black.png new file mode 100644 index 000000000000..eff87dcb5629 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Ace_of_Diamonds_black.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Ace_of_Diamonds_nanotrasen.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Ace_of_Diamonds_nanotrasen.png new file mode 100644 index 000000000000..bc1f38c11ee4 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Ace_of_Diamonds_nanotrasen.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Ace_of_Diamonds_syndicate.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Ace_of_Diamonds_syndicate.png new file mode 100644 index 000000000000..f3bb83907bb6 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Ace_of_Diamonds_syndicate.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Ace_of_Hearts_black.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Ace_of_Hearts_black.png new file mode 100644 index 000000000000..da4360e0e50d Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Ace_of_Hearts_black.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Ace_of_Hearts_nanotrasen.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Ace_of_Hearts_nanotrasen.png new file mode 100644 index 000000000000..d5823c0fb7c2 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Ace_of_Hearts_nanotrasen.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Ace_of_Hearts_syndicate.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Ace_of_Hearts_syndicate.png new file mode 100644 index 000000000000..e17eaab8cf6b Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Ace_of_Hearts_syndicate.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Ace_of_Spades_black.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Ace_of_Spades_black.png new file mode 100644 index 000000000000..4be96b088aa9 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Ace_of_Spades_black.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Ace_of_Spades_nanotrasen.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Ace_of_Spades_nanotrasen.png new file mode 100644 index 000000000000..11bea7d14b3e Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Ace_of_Spades_nanotrasen.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Ace_of_Spades_syndicate.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Ace_of_Spades_syndicate.png new file mode 100644 index 000000000000..94d9ce9f9d9a Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Ace_of_Spades_syndicate.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Jack_of_Clubs_black.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Jack_of_Clubs_black.png new file mode 100644 index 000000000000..83e604757ba6 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Jack_of_Clubs_black.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Jack_of_Clubs_nanotrasen.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Jack_of_Clubs_nanotrasen.png new file mode 100644 index 000000000000..5aa923cba29c Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Jack_of_Clubs_nanotrasen.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Jack_of_Clubs_syndicate.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Jack_of_Clubs_syndicate.png new file mode 100644 index 000000000000..9b1a9ee48c1d Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Jack_of_Clubs_syndicate.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Jack_of_Diamonds_black.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Jack_of_Diamonds_black.png new file mode 100644 index 000000000000..0e79933147c7 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Jack_of_Diamonds_black.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Jack_of_Diamonds_nanotrasen.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Jack_of_Diamonds_nanotrasen.png new file mode 100644 index 000000000000..8b9d7cb53f4b Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Jack_of_Diamonds_nanotrasen.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Jack_of_Diamonds_syndicate.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Jack_of_Diamonds_syndicate.png new file mode 100644 index 000000000000..c11bda0bf3e3 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Jack_of_Diamonds_syndicate.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Jack_of_Hearts_black.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Jack_of_Hearts_black.png new file mode 100644 index 000000000000..e9ab75342fe1 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Jack_of_Hearts_black.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Jack_of_Hearts_nanotrasen.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Jack_of_Hearts_nanotrasen.png new file mode 100644 index 000000000000..bfeaa7d8d2e5 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Jack_of_Hearts_nanotrasen.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Jack_of_Hearts_syndicate.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Jack_of_Hearts_syndicate.png new file mode 100644 index 000000000000..6b07df352005 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Jack_of_Hearts_syndicate.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Jack_of_Spades_black.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Jack_of_Spades_black.png new file mode 100644 index 000000000000..df5447723106 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Jack_of_Spades_black.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Jack_of_Spades_nanotrasen.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Jack_of_Spades_nanotrasen.png new file mode 100644 index 000000000000..5fa983d5e193 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Jack_of_Spades_nanotrasen.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Jack_of_Spades_syndicate.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Jack_of_Spades_syndicate.png new file mode 100644 index 000000000000..1da0de75ba54 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Jack_of_Spades_syndicate.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_King_of_Clubs_black.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_King_of_Clubs_black.png new file mode 100644 index 000000000000..2ec99fc8dd8b Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_King_of_Clubs_black.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_King_of_Clubs_nanotrasen.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_King_of_Clubs_nanotrasen.png new file mode 100644 index 000000000000..28488799a0a0 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_King_of_Clubs_nanotrasen.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_King_of_Clubs_syndicate.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_King_of_Clubs_syndicate.png new file mode 100644 index 000000000000..446c79e0b39b Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_King_of_Clubs_syndicate.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_King_of_Diamonds_black.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_King_of_Diamonds_black.png new file mode 100644 index 000000000000..0c561befb992 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_King_of_Diamonds_black.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_King_of_Diamonds_nanotrasen.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_King_of_Diamonds_nanotrasen.png new file mode 100644 index 000000000000..b6af7d621855 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_King_of_Diamonds_nanotrasen.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_King_of_Diamonds_syndicate.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_King_of_Diamonds_syndicate.png new file mode 100644 index 000000000000..b6f8e32cc265 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_King_of_Diamonds_syndicate.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_King_of_Hearts_black.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_King_of_Hearts_black.png new file mode 100644 index 000000000000..fe38670021ee Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_King_of_Hearts_black.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_King_of_Hearts_nanotrasen.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_King_of_Hearts_nanotrasen.png new file mode 100644 index 000000000000..c53d7fe5d0fd Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_King_of_Hearts_nanotrasen.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_King_of_Hearts_syndicate.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_King_of_Hearts_syndicate.png new file mode 100644 index 000000000000..7ebf4ce24ff7 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_King_of_Hearts_syndicate.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_King_of_Spades_black.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_King_of_Spades_black.png new file mode 100644 index 000000000000..6fc8241b115a Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_King_of_Spades_black.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_King_of_Spades_nanotrasen.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_King_of_Spades_nanotrasen.png new file mode 100644 index 000000000000..adb48697f988 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_King_of_Spades_nanotrasen.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_King_of_Spades_syndicate.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_King_of_Spades_syndicate.png new file mode 100644 index 000000000000..5da2adf32a2d Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_King_of_Spades_syndicate.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Queen_of_Clubs_black.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Queen_of_Clubs_black.png new file mode 100644 index 000000000000..de3cf80db964 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Queen_of_Clubs_black.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Queen_of_Clubs_nanotrasen.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Queen_of_Clubs_nanotrasen.png new file mode 100644 index 000000000000..c22d142b63e3 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Queen_of_Clubs_nanotrasen.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Queen_of_Clubs_syndicate.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Queen_of_Clubs_syndicate.png new file mode 100644 index 000000000000..e234569093ca Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Queen_of_Clubs_syndicate.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Queen_of_Diamonds_black.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Queen_of_Diamonds_black.png new file mode 100644 index 000000000000..7a529a19159e Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Queen_of_Diamonds_black.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Queen_of_Diamonds_nanotrasen.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Queen_of_Diamonds_nanotrasen.png new file mode 100644 index 000000000000..537de98404ba Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Queen_of_Diamonds_nanotrasen.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Queen_of_Diamonds_syndicate.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Queen_of_Diamonds_syndicate.png new file mode 100644 index 000000000000..184f90b5de3e Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Queen_of_Diamonds_syndicate.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Queen_of_Hearts_black.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Queen_of_Hearts_black.png new file mode 100644 index 000000000000..1b190bd9342e Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Queen_of_Hearts_black.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Queen_of_Hearts_nanotrasen.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Queen_of_Hearts_nanotrasen.png new file mode 100644 index 000000000000..74a5fe35c465 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Queen_of_Hearts_nanotrasen.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Queen_of_Hearts_syndicate.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Queen_of_Hearts_syndicate.png new file mode 100644 index 000000000000..30c4271fc963 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Queen_of_Hearts_syndicate.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Queen_of_Spades_black.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Queen_of_Spades_black.png new file mode 100644 index 000000000000..40edb50caab2 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Queen_of_Spades_black.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Queen_of_Spades_nanotrasen.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Queen_of_Spades_nanotrasen.png new file mode 100644 index 000000000000..613f4e81ca6a Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Queen_of_Spades_nanotrasen.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Queen_of_Spades_syndicate.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Queen_of_Spades_syndicate.png new file mode 100644 index 000000000000..0106a46014bf Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/sc_Queen_of_Spades_syndicate.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/singlecard_down_black.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/singlecard_down_black.png new file mode 100644 index 000000000000..e634a9f8a0aa Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/singlecard_down_black.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/singlecard_down_nanotrasen.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/singlecard_down_nanotrasen.png new file mode 100644 index 000000000000..a219d0595415 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/singlecard_down_nanotrasen.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/singlecard_down_syndicate.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/singlecard_down_syndicate.png new file mode 100644 index 000000000000..03b7154520d7 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/singlecard_down_syndicate.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/syndicate_box.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/syndicate_box.png new file mode 100644 index 000000000000..24d143e40dc6 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/syndicate_box.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/syndicate_box_open.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/syndicate_box_open.png new file mode 100644 index 000000000000..a8edb3d5cd69 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/syndicate_box_open.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/syndicate_hand1.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/syndicate_hand1.png new file mode 100644 index 000000000000..a0c5cf0e1392 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/syndicate_hand1.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/syndicate_hand2.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/syndicate_hand2.png new file mode 100644 index 000000000000..88a445a27ae8 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/syndicate_hand2.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/syndicate_hand3.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/syndicate_hand3.png new file mode 100644 index 000000000000..c30454d2b514 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/syndicate_hand3.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/syndicate_hand4.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/syndicate_hand4.png new file mode 100644 index 000000000000..7a9eb2d197ae Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/syndicate_hand4.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/syndicate_hand5.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/syndicate_hand5.png new file mode 100644 index 000000000000..3dc0f71ddc2a Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/syndicate_hand5.png differ diff --git a/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/syndicate_joker.png b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/syndicate_joker.png new file mode 100644 index 000000000000..2e282d0c7d19 Binary files /dev/null and b/Resources/Textures/EstacaoPirata/Objects/Misc/cards.rsi/syndicate_joker.png differ diff --git a/Resources/Textures/Interface/VerbIcons/ATTRIBUTION.txt b/Resources/Textures/Interface/VerbIcons/ATTRIBUTION.txt index bd63121b9880..6e9491704ee0 100644 --- a/Resources/Textures/Interface/VerbIcons/ATTRIBUTION.txt +++ b/Resources/Textures/Interface/VerbIcons/ATTRIBUTION.txt @@ -18,3 +18,6 @@ bubbles.svg by Lorc under CC BY 3.0 https://game-icons.net/1x1/lorc/bubbles.html oxygen.svg, collapse.svg by varttist (discord) + +extinguisher.svg by Smarticons under Attribution CC BY +https://www.svgrepo.com/svg/394932/extinguisher diff --git a/Resources/Textures/Interface/VerbIcons/extinguisher.svg b/Resources/Textures/Interface/VerbIcons/extinguisher.svg new file mode 100644 index 000000000000..2c158154307e --- /dev/null +++ b/Resources/Textures/Interface/VerbIcons/extinguisher.svg @@ -0,0 +1,7 @@ + + + + + + 869 + \ No newline at end of file diff --git a/Resources/Textures/Interface/VerbIcons/extinguisher.svg.192dpi.png b/Resources/Textures/Interface/VerbIcons/extinguisher.svg.192dpi.png new file mode 100644 index 000000000000..cea01249e75f Binary files /dev/null and b/Resources/Textures/Interface/VerbIcons/extinguisher.svg.192dpi.png differ diff --git a/Resources/Textures/Mobs/Customization/plasmaman.rsi/eyes.png b/Resources/Textures/Mobs/Customization/plasmaman.rsi/eyes.png new file mode 100644 index 000000000000..28ce6d9e9e96 Binary files /dev/null and b/Resources/Textures/Mobs/Customization/plasmaman.rsi/eyes.png differ diff --git a/Resources/Textures/Mobs/Customization/plasmaman.rsi/meta.json b/Resources/Textures/Mobs/Customization/plasmaman.rsi/meta.json new file mode 100644 index 000000000000..f0bed207c094 --- /dev/null +++ b/Resources/Textures/Mobs/Customization/plasmaman.rsi/meta.json @@ -0,0 +1,15 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Skubman (github: angelofallars)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "eyes", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Mobs/Species/Plasmaman/organs.rsi/brain.png b/Resources/Textures/Mobs/Species/Plasmaman/organs.rsi/brain.png new file mode 100644 index 000000000000..06fb867f8071 Binary files /dev/null and b/Resources/Textures/Mobs/Species/Plasmaman/organs.rsi/brain.png differ diff --git a/Resources/Textures/Mobs/Species/Plasmaman/organs.rsi/eyes.png b/Resources/Textures/Mobs/Species/Plasmaman/organs.rsi/eyes.png new file mode 100644 index 000000000000..b12859f24705 Binary files /dev/null and b/Resources/Textures/Mobs/Species/Plasmaman/organs.rsi/eyes.png differ diff --git a/Resources/Textures/Mobs/Species/Plasmaman/organs.rsi/heart-off.png b/Resources/Textures/Mobs/Species/Plasmaman/organs.rsi/heart-off.png new file mode 100644 index 000000000000..5205aa647430 Binary files /dev/null and b/Resources/Textures/Mobs/Species/Plasmaman/organs.rsi/heart-off.png differ diff --git a/Resources/Textures/Mobs/Species/Plasmaman/organs.rsi/heart-on.png b/Resources/Textures/Mobs/Species/Plasmaman/organs.rsi/heart-on.png new file mode 100644 index 000000000000..99c5641d5b1f Binary files /dev/null and b/Resources/Textures/Mobs/Species/Plasmaman/organs.rsi/heart-on.png differ diff --git a/Resources/Textures/Mobs/Species/Plasmaman/organs.rsi/kidneys.png b/Resources/Textures/Mobs/Species/Plasmaman/organs.rsi/kidneys.png new file mode 100644 index 000000000000..bf117e4d55ef Binary files /dev/null and b/Resources/Textures/Mobs/Species/Plasmaman/organs.rsi/kidneys.png differ diff --git a/Resources/Textures/Mobs/Species/Plasmaman/organs.rsi/liver.png b/Resources/Textures/Mobs/Species/Plasmaman/organs.rsi/liver.png new file mode 100644 index 000000000000..453945a519f5 Binary files /dev/null and b/Resources/Textures/Mobs/Species/Plasmaman/organs.rsi/liver.png differ diff --git a/Resources/Textures/Mobs/Species/Plasmaman/organs.rsi/lungs.png b/Resources/Textures/Mobs/Species/Plasmaman/organs.rsi/lungs.png new file mode 100644 index 000000000000..6982b741c2a7 Binary files /dev/null and b/Resources/Textures/Mobs/Species/Plasmaman/organs.rsi/lungs.png differ diff --git a/Resources/Textures/Mobs/Species/Plasmaman/organs.rsi/meta.json b/Resources/Textures/Mobs/Species/Plasmaman/organs.rsi/meta.json new file mode 100644 index 000000000000..f5b37bb53f12 --- /dev/null +++ b/Resources/Textures/Mobs/Species/Plasmaman/organs.rsi/meta.json @@ -0,0 +1,65 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "stomach/tongue taken from TG station at commit https://github.com/tgstation/tgstation/commit/df00d853564efc80a8d10528bbf77ca6960742c4, liver/lungs/kidneys/heart/brain/eyes taken from Paradise Station at commit https://github.com/ParadiseSS13/Paradise/commit/bd91a1b962fe9bd38e346e9fafd4ebb10784fcb3", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "stomach" + }, + { + "name": "tongue" + }, + { + "name": "liver" + }, + { + "name": "lungs" + }, + { + "name": "kidneys" + }, + { + "name": "heart-off" + }, + { + "name": "heart-on", + "delays": [ + [ + 0.6, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "brain", + "delays": [ + [ + 3, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "eyes" + } + ] +} diff --git a/Resources/Textures/Mobs/Species/Plasmaman/organs.rsi/stomach.png b/Resources/Textures/Mobs/Species/Plasmaman/organs.rsi/stomach.png new file mode 100644 index 000000000000..de6fbbe192be Binary files /dev/null and b/Resources/Textures/Mobs/Species/Plasmaman/organs.rsi/stomach.png differ diff --git a/Resources/Textures/Mobs/Species/Plasmaman/organs.rsi/tongue.png b/Resources/Textures/Mobs/Species/Plasmaman/organs.rsi/tongue.png new file mode 100644 index 000000000000..fd246dbfda9a Binary files /dev/null and b/Resources/Textures/Mobs/Species/Plasmaman/organs.rsi/tongue.png differ diff --git a/Resources/Textures/Mobs/Species/Plasmaman/parts.rsi/full.png b/Resources/Textures/Mobs/Species/Plasmaman/parts.rsi/full.png new file mode 100644 index 000000000000..a00035648e7e Binary files /dev/null and b/Resources/Textures/Mobs/Species/Plasmaman/parts.rsi/full.png differ diff --git a/Resources/Textures/Mobs/Species/Plasmaman/parts.rsi/head_f.png b/Resources/Textures/Mobs/Species/Plasmaman/parts.rsi/head_f.png new file mode 100644 index 000000000000..1c861e1d9f02 Binary files /dev/null and b/Resources/Textures/Mobs/Species/Plasmaman/parts.rsi/head_f.png differ diff --git a/Resources/Textures/Mobs/Species/Plasmaman/parts.rsi/head_m.png b/Resources/Textures/Mobs/Species/Plasmaman/parts.rsi/head_m.png new file mode 100644 index 000000000000..1c861e1d9f02 Binary files /dev/null and b/Resources/Textures/Mobs/Species/Plasmaman/parts.rsi/head_m.png differ diff --git a/Resources/Textures/Mobs/Species/Plasmaman/parts.rsi/l_arm.png b/Resources/Textures/Mobs/Species/Plasmaman/parts.rsi/l_arm.png new file mode 100644 index 000000000000..785150c0422a Binary files /dev/null and b/Resources/Textures/Mobs/Species/Plasmaman/parts.rsi/l_arm.png differ diff --git a/Resources/Textures/Mobs/Species/Plasmaman/parts.rsi/l_foot.png b/Resources/Textures/Mobs/Species/Plasmaman/parts.rsi/l_foot.png new file mode 100644 index 000000000000..06be449f0b8b Binary files /dev/null and b/Resources/Textures/Mobs/Species/Plasmaman/parts.rsi/l_foot.png differ diff --git a/Resources/Textures/Mobs/Species/Plasmaman/parts.rsi/l_hand.png b/Resources/Textures/Mobs/Species/Plasmaman/parts.rsi/l_hand.png new file mode 100644 index 000000000000..6849df79dfdb Binary files /dev/null and b/Resources/Textures/Mobs/Species/Plasmaman/parts.rsi/l_hand.png differ diff --git a/Resources/Textures/Mobs/Species/Plasmaman/parts.rsi/l_leg.png b/Resources/Textures/Mobs/Species/Plasmaman/parts.rsi/l_leg.png new file mode 100644 index 000000000000..e80de98dffbd Binary files /dev/null and b/Resources/Textures/Mobs/Species/Plasmaman/parts.rsi/l_leg.png differ diff --git a/Resources/Textures/Mobs/Species/Plasmaman/parts.rsi/meta.json b/Resources/Textures/Mobs/Species/Plasmaman/parts.rsi/meta.json new file mode 100644 index 000000000000..db0b13c9206d --- /dev/null +++ b/Resources/Textures/Mobs/Species/Plasmaman/parts.rsi/meta.json @@ -0,0 +1,62 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/fc4de530ce208ad6d91ad85cf241b094e64b2ae5 and modified by Skubman", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "full" + }, + { + "name": "head_f", + "directions": 4 + }, + { + "name": "head_m", + "directions": 4 + }, + { + "name": "l_arm", + "directions": 4 + }, + { + "name": "l_foot", + "directions": 4 + }, + { + "name": "l_hand", + "directions": 4 + }, + { + "name": "l_leg", + "directions": 4 + }, + { + "name": "r_arm", + "directions": 4 + }, + { + "name": "r_foot", + "directions": 4 + }, + { + "name": "r_hand", + "directions": 4 + }, + { + "name": "r_leg", + "directions": 4 + }, + { + "name": "torso_f", + "directions": 4 + }, + { + "name": "torso_m", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Mobs/Species/Plasmaman/parts.rsi/r_arm.png b/Resources/Textures/Mobs/Species/Plasmaman/parts.rsi/r_arm.png new file mode 100644 index 000000000000..c2e942d0d537 Binary files /dev/null and b/Resources/Textures/Mobs/Species/Plasmaman/parts.rsi/r_arm.png differ diff --git a/Resources/Textures/Mobs/Species/Plasmaman/parts.rsi/r_foot.png b/Resources/Textures/Mobs/Species/Plasmaman/parts.rsi/r_foot.png new file mode 100644 index 000000000000..10819174300f Binary files /dev/null and b/Resources/Textures/Mobs/Species/Plasmaman/parts.rsi/r_foot.png differ diff --git a/Resources/Textures/Mobs/Species/Plasmaman/parts.rsi/r_hand.png b/Resources/Textures/Mobs/Species/Plasmaman/parts.rsi/r_hand.png new file mode 100644 index 000000000000..bba548419bc7 Binary files /dev/null and b/Resources/Textures/Mobs/Species/Plasmaman/parts.rsi/r_hand.png differ diff --git a/Resources/Textures/Mobs/Species/Plasmaman/parts.rsi/r_leg.png b/Resources/Textures/Mobs/Species/Plasmaman/parts.rsi/r_leg.png new file mode 100644 index 000000000000..b10d70ab948e Binary files /dev/null and b/Resources/Textures/Mobs/Species/Plasmaman/parts.rsi/r_leg.png differ diff --git a/Resources/Textures/Mobs/Species/Plasmaman/parts.rsi/torso_f.png b/Resources/Textures/Mobs/Species/Plasmaman/parts.rsi/torso_f.png new file mode 100644 index 000000000000..878dd9ed62ac Binary files /dev/null and b/Resources/Textures/Mobs/Species/Plasmaman/parts.rsi/torso_f.png differ diff --git a/Resources/Textures/Mobs/Species/Plasmaman/parts.rsi/torso_m.png b/Resources/Textures/Mobs/Species/Plasmaman/parts.rsi/torso_m.png new file mode 100644 index 000000000000..878dd9ed62ac Binary files /dev/null and b/Resources/Textures/Mobs/Species/Plasmaman/parts.rsi/torso_m.png differ diff --git a/Resources/Textures/Objects/Misc/extinguisher_refill.rsi/icon.png b/Resources/Textures/Objects/Misc/extinguisher_refill.rsi/icon.png new file mode 100644 index 000000000000..b61d2ae7604a Binary files /dev/null and b/Resources/Textures/Objects/Misc/extinguisher_refill.rsi/icon.png differ diff --git a/Resources/Textures/Objects/Misc/extinguisher_refill.rsi/inhand-left.png b/Resources/Textures/Objects/Misc/extinguisher_refill.rsi/inhand-left.png new file mode 100644 index 000000000000..a4c38e93fc34 Binary files /dev/null and b/Resources/Textures/Objects/Misc/extinguisher_refill.rsi/inhand-left.png differ diff --git a/Resources/Textures/Objects/Misc/extinguisher_refill.rsi/inhand-right.png b/Resources/Textures/Objects/Misc/extinguisher_refill.rsi/inhand-right.png new file mode 100644 index 000000000000..c2b3b59e25aa Binary files /dev/null and b/Resources/Textures/Objects/Misc/extinguisher_refill.rsi/inhand-right.png differ diff --git a/Resources/Textures/Objects/Misc/extinguisher_refill.rsi/meta.json b/Resources/Textures/Objects/Misc/extinguisher_refill.rsi/meta.json new file mode 100644 index 000000000000..ce34667b41f1 --- /dev/null +++ b/Resources/Textures/Objects/Misc/extinguisher_refill.rsi/meta.json @@ -0,0 +1,22 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Icon taken from TG station at commit https://github.com/tgstation/tgstation/commit/8337d99a131ce67fcb53dff18af957eefc06bc5e | Inhands taken from TG station at commit https://github.com/tgstation/tgstation/commit/e1142f20f5e4661cb6845cfcf2dd69f864d67432 then modified by Skubman", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +}