diff --git a/.editorconfig b/.editorconfig index a5dfab07a5..1583c600aa 100644 --- a/.editorconfig +++ b/.editorconfig @@ -129,7 +129,7 @@ csharp_indent_braces = false csharp_indent_switch_labels = true # Space preferences -csharp_space_after_cast = true +csharp_space_after_cast = false csharp_space_after_colon_in_inheritance_clause = true csharp_space_after_comma = true csharp_space_after_dot = false diff --git a/Content.Client/Administration/UI/Tabs/ObjectsTab/ObjectsTab.xaml.cs b/Content.Client/Administration/UI/Tabs/ObjectsTab/ObjectsTab.xaml.cs index 78eefa3462..7082617c94 100644 --- a/Content.Client/Administration/UI/Tabs/ObjectsTab/ObjectsTab.xaml.cs +++ b/Content.Client/Administration/UI/Tabs/ObjectsTab/ObjectsTab.xaml.cs @@ -14,7 +14,6 @@ namespace Content.Client.Administration.UI.Tabs.ObjectsTab; public sealed partial class ObjectsTab : Control { [Dependency] private readonly IEntityManager _entityManager = default!; - [Dependency] private readonly IGameTiming _timing = default!; private readonly Color _altColor = Color.FromHex("#292B38"); private readonly Color _defaultColor = Color.FromHex("#2F2F3B"); diff --git a/Content.Client/Construction/ConstructionSystem.cs b/Content.Client/Construction/ConstructionSystem.cs index 889c992f7f..f909b23423 100644 --- a/Content.Client/Construction/ConstructionSystem.cs +++ b/Content.Client/Construction/ConstructionSystem.cs @@ -26,7 +26,6 @@ namespace Content.Client.Construction { [Dependency] private readonly IPlayerManager _playerManager = default!; [Dependency] private readonly IPrototypeManager _prototypeManager = default!; - [Dependency] private readonly SharedInteractionSystem _interactionSystem = default!; [Dependency] private readonly ExamineSystemShared _examineSystem = default!; [Dependency] private readonly SharedTransformSystem _transformSystem = default!; [Dependency] private readonly PopupSystem _popupSystem = default!; diff --git a/Content.Client/IconSmoothing/ClientRandomIconSmoothSystem.cs b/Content.Client/IconSmoothing/ClientRandomIconSmoothSystem.cs new file mode 100644 index 0000000000..73db9e1ab9 --- /dev/null +++ b/Content.Client/IconSmoothing/ClientRandomIconSmoothSystem.cs @@ -0,0 +1,29 @@ +using Content.Shared.IconSmoothing; +using Robust.Client.GameObjects; + +namespace Content.Client.IconSmoothing; + +public sealed class ClientRandomIconSmoothSystem : SharedRandomIconSmoothSystem +{ + [Dependency] private readonly IconSmoothSystem _iconSmooth = default!; + [Dependency] private readonly AppearanceSystem _appearance = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnAppearanceChange); + } + + private void OnAppearanceChange(Entity ent, ref AppearanceChangeEvent args) + { + if (!TryComp(ent, out var smooth)) + return; + + if (!_appearance.TryGetData(ent, RandomIconSmoothState.State, out var state, args.Component)) + return; + + smooth.StateBase = state; + _iconSmooth.SetStateBase(ent, smooth, state); + } +} diff --git a/Content.Client/IconSmoothing/IconSmoothComponent.cs b/Content.Client/IconSmoothing/IconSmoothComponent.cs index 88b1f613cb..040198529c 100644 --- a/Content.Client/IconSmoothing/IconSmoothComponent.cs +++ b/Content.Client/IconSmoothing/IconSmoothComponent.cs @@ -30,7 +30,7 @@ namespace Content.Client.IconSmoothing /// Prepended to the RSI state. /// [ViewVariables(VVAccess.ReadWrite), DataField("base")] - public string StateBase { get; private set; } = string.Empty; + public string StateBase { get; set; } = string.Empty; [DataField("shader", customTypeSerializer:typeof(PrototypeIdSerializer))] public string? Shader; diff --git a/Content.Client/IconSmoothing/IconSmoothSystem.cs b/Content.Client/IconSmoothing/IconSmoothSystem.cs index 4b02560846..11ca75bc82 100644 --- a/Content.Client/IconSmoothing/IconSmoothSystem.cs +++ b/Content.Client/IconSmoothing/IconSmoothSystem.cs @@ -55,6 +55,33 @@ namespace Content.Client.IconSmoothing if (component.Mode != IconSmoothingMode.Corners || !TryComp(uid, out SpriteComponent? sprite)) return; + SetCornerLayers(sprite, component); + + if (component.Shader != null) + { + sprite.LayerSetShader(CornerLayers.SE, component.Shader); + sprite.LayerSetShader(CornerLayers.NE, component.Shader); + sprite.LayerSetShader(CornerLayers.NW, component.Shader); + sprite.LayerSetShader(CornerLayers.SW, component.Shader); + } + } + + public void SetStateBase(EntityUid uid, IconSmoothComponent component, string newState) + { + if (!TryComp(uid, out var sprite)) + return; + + component.StateBase = newState; + SetCornerLayers(sprite, component); + } + + private void SetCornerLayers(SpriteComponent sprite, IconSmoothComponent component) + { + sprite.LayerMapRemove(CornerLayers.SE); + sprite.LayerMapRemove(CornerLayers.NE); + sprite.LayerMapRemove(CornerLayers.NW); + sprite.LayerMapRemove(CornerLayers.SW); + var state0 = $"{component.StateBase}0"; sprite.LayerMapSet(CornerLayers.SE, sprite.AddLayerState(state0)); sprite.LayerSetDirOffset(CornerLayers.SE, DirectionOffset.None); @@ -64,14 +91,6 @@ namespace Content.Client.IconSmoothing sprite.LayerSetDirOffset(CornerLayers.NW, DirectionOffset.Flip); sprite.LayerMapSet(CornerLayers.SW, sprite.AddLayerState(state0)); sprite.LayerSetDirOffset(CornerLayers.SW, DirectionOffset.Clockwise); - - if (component.Shader != null) - { - sprite.LayerSetShader(CornerLayers.SE, component.Shader); - sprite.LayerSetShader(CornerLayers.NE, component.Shader); - sprite.LayerSetShader(CornerLayers.NW, component.Shader); - sprite.LayerSetShader(CornerLayers.SW, component.Shader); - } } private void OnShutdown(EntityUid uid, IconSmoothComponent component, ComponentShutdown args) diff --git a/Content.Client/Lathe/UI/LatheMenu.xaml.cs b/Content.Client/Lathe/UI/LatheMenu.xaml.cs index 265130d15d..f2f52b67b5 100644 --- a/Content.Client/Lathe/UI/LatheMenu.xaml.cs +++ b/Content.Client/Lathe/UI/LatheMenu.xaml.cs @@ -21,7 +21,6 @@ public sealed partial class LatheMenu : DefaultWindow { [Dependency] private readonly IEntityManager _entityManager = default!; [Dependency] private readonly IPrototypeManager _prototypeManager = default!; - [Dependency] private readonly IResourceCache _resources = default!; private EntityUid _owner; private readonly SpriteSystem _spriteSystem; diff --git a/Content.Client/VendingMachines/UI/VendingMachineMenu.xaml.cs b/Content.Client/VendingMachines/UI/VendingMachineMenu.xaml.cs index 2c71fa8c40..ac51cdbac5 100644 --- a/Content.Client/VendingMachines/UI/VendingMachineMenu.xaml.cs +++ b/Content.Client/VendingMachines/UI/VendingMachineMenu.xaml.cs @@ -17,7 +17,6 @@ namespace Content.Client.VendingMachines.UI { [Dependency] private readonly IPrototypeManager _prototypeManager = default!; [Dependency] private readonly IEntityManager _entityManager = default!; - [Dependency] private readonly IGameTiming _timing = default!; private readonly Dictionary _dummies = []; diff --git a/Content.Server/Ame/EntitySystems/AmeControllerSystem.cs b/Content.Server/Ame/EntitySystems/AmeControllerSystem.cs index eda9158273..bac2648307 100644 --- a/Content.Server/Ame/EntitySystems/AmeControllerSystem.cs +++ b/Content.Server/Ame/EntitySystems/AmeControllerSystem.cs @@ -22,8 +22,6 @@ namespace Content.Server.Ame.EntitySystems; public sealed class AmeControllerSystem : EntitySystem { [Dependency] private readonly IAdminLogManager _adminLogger = default!; - [Dependency] private readonly IAdminManager _adminManager = default!; - [Dependency] private readonly IChatManager _chatManager = default!; [Dependency] private readonly IGameTiming _gameTiming = default!; [Dependency] private readonly AppearanceSystem _appearanceSystem = default!; [Dependency] private readonly SharedAudioSystem _audioSystem = default!; diff --git a/Content.Server/Chat/Systems/ChatSystem.cs b/Content.Server/Chat/Systems/ChatSystem.cs index 5358cdb442..88b306c6ad 100644 --- a/Content.Server/Chat/Systems/ChatSystem.cs +++ b/Content.Server/Chat/Systems/ChatSystem.cs @@ -60,7 +60,6 @@ public sealed partial class ChatSystem : SharedChatSystem [Dependency] private readonly StationSystem _stationSystem = default!; [Dependency] private readonly MobStateSystem _mobStateSystem = default!; [Dependency] private readonly SharedAudioSystem _audio = default!; - [Dependency] private readonly SharedInteractionSystem _interactionSystem = default!; [Dependency] private readonly ReplacementAccentSystem _wordreplacement = default!; [Dependency] private readonly EntityWhitelistSystem _whitelistSystem = default!; [Dependency] private readonly ExamineSystemShared _examineSystem = default!; diff --git a/Content.Server/Cluwne/CluwneSystem.cs b/Content.Server/Cluwne/CluwneSystem.cs index 18d82659de..f24f0143f3 100644 --- a/Content.Server/Cluwne/CluwneSystem.cs +++ b/Content.Server/Cluwne/CluwneSystem.cs @@ -29,7 +29,6 @@ public sealed class CluwneSystem : EntitySystem [Dependency] private readonly IPrototypeManager _prototypeManager = default!; [Dependency] private readonly ChatSystem _chat = default!; [Dependency] private readonly AutoEmoteSystem _autoEmote = default!; - [Dependency] private readonly MetaDataSystem _metaData = default!; [Dependency] private readonly NameModifierSystem _nameMod = default!; public override void Initialize() diff --git a/Content.Server/Damage/Systems/DamageOtherOnHitSystem.cs b/Content.Server/Damage/Systems/DamageOtherOnHitSystem.cs index 74a21c4e59..ffb8cbadba 100644 --- a/Content.Server/Damage/Systems/DamageOtherOnHitSystem.cs +++ b/Content.Server/Damage/Systems/DamageOtherOnHitSystem.cs @@ -60,12 +60,6 @@ namespace Content.Server.Damage.Systems _sharedCameraRecoil.KickCamera(args.Target, direction); } } - - // TODO: If more stuff touches this then handle it after. - if (TryComp(uid, out var physics)) - { - _thrownItem.LandComponent(args.Thrown, args.Component, physics, false); - } } private void OnDamageExamine(EntityUid uid, DamageOtherOnHitComponent component, ref DamageExamineEvent args) diff --git a/Content.Server/DeviceNetwork/Systems/NetworkConfiguratorSystem.cs b/Content.Server/DeviceNetwork/Systems/NetworkConfiguratorSystem.cs index 402d005dd4..59b58c6933 100644 --- a/Content.Server/DeviceNetwork/Systems/NetworkConfiguratorSystem.cs +++ b/Content.Server/DeviceNetwork/Systems/NetworkConfiguratorSystem.cs @@ -423,11 +423,11 @@ public sealed class NetworkConfiguratorSystem : SharedNetworkConfiguratorSystem if (Delay(configurator)) return; - if (!targetUid.HasValue || !configurator.ActiveDeviceLink.HasValue || !TryComp(userUid, out ActorComponent? actor) || !AccessCheck(targetUid.Value, userUid, configurator)) + if (!targetUid.HasValue || !configurator.ActiveDeviceLink.HasValue || !AccessCheck(targetUid.Value, userUid, configurator)) return; - _uiSystem.OpenUi(configuratorUid, NetworkConfiguratorUiKey.Link, actor.PlayerSession); + _uiSystem.OpenUi(configuratorUid, NetworkConfiguratorUiKey.Link, userUid); configurator.DeviceLinkTarget = targetUid; diff --git a/Content.Server/Doors/Systems/FirelockSystem.cs b/Content.Server/Doors/Systems/FirelockSystem.cs index 93ee18f683..87e5887c42 100644 --- a/Content.Server/Doors/Systems/FirelockSystem.cs +++ b/Content.Server/Doors/Systems/FirelockSystem.cs @@ -16,7 +16,6 @@ namespace Content.Server.Doors.Systems public sealed class FirelockSystem : SharedFirelockSystem { [Dependency] private readonly SharedDoorSystem _doorSystem = default!; - [Dependency] private readonly AtmosAlarmableSystem _atmosAlarmable = default!; [Dependency] private readonly AtmosphereSystem _atmosSystem = default!; [Dependency] private readonly SharedAppearanceSystem _appearance = default!; [Dependency] private readonly SharedMapSystem _mapping = default!; diff --git a/Content.Server/Dragon/DragonSystem.cs b/Content.Server/Dragon/DragonSystem.cs index e626edeb26..1f15def5ce 100644 --- a/Content.Server/Dragon/DragonSystem.cs +++ b/Content.Server/Dragon/DragonSystem.cs @@ -24,7 +24,6 @@ public sealed partial class DragonSystem : EntitySystem [Dependency] private readonly MovementSpeedModifierSystem _movement = default!; [Dependency] private readonly NpcFactionSystem _faction = default!; [Dependency] private readonly PopupSystem _popup = default!; - [Dependency] private readonly RoleSystem _role = default!; [Dependency] private readonly SharedActionsSystem _actions = default!; [Dependency] private readonly SharedAudioSystem _audio = default!; [Dependency] private readonly SharedTransformSystem _transform = default!; diff --git a/Content.Server/GameTicking/Rules/LoadMapRuleSystem.cs b/Content.Server/GameTicking/Rules/LoadMapRuleSystem.cs index 3594242bcd..d2686ecdcd 100644 --- a/Content.Server/GameTicking/Rules/LoadMapRuleSystem.cs +++ b/Content.Server/GameTicking/Rules/LoadMapRuleSystem.cs @@ -13,7 +13,6 @@ public sealed class LoadMapRuleSystem : GameRuleSystem [Dependency] private readonly IPrototypeManager _prototypeManager = default!; [Dependency] private readonly MapSystem _map = default!; [Dependency] private readonly MapLoaderSystem _mapLoader = default!; - [Dependency] private readonly MetaDataSystem _metaData = default!; [Dependency] private readonly TransformSystem _transform = default!; [Dependency] private readonly GridPreloaderSystem _gridPreloader = default!; diff --git a/Content.Server/GameTicking/Rules/SecretRuleSystem.cs b/Content.Server/GameTicking/Rules/SecretRuleSystem.cs index 8608f250d4..e82cecde36 100644 --- a/Content.Server/GameTicking/Rules/SecretRuleSystem.cs +++ b/Content.Server/GameTicking/Rules/SecretRuleSystem.cs @@ -21,7 +21,6 @@ public sealed class SecretRuleSystem : GameRuleSystem [Dependency] private readonly IRobustRandom _random = default!; [Dependency] private readonly IConfigurationManager _configurationManager = default!; [Dependency] private readonly IAdminLogManager _adminLogger = default!; - [Dependency] private readonly IChatManager _chatManager = default!; [Dependency] private readonly IComponentFactory _compFact = default!; private string _ruleCompName = default!; diff --git a/Content.Server/GameTicking/Rules/ThiefRuleSystem.cs b/Content.Server/GameTicking/Rules/ThiefRuleSystem.cs index faec4a9e9c..074b4c0df7 100644 --- a/Content.Server/GameTicking/Rules/ThiefRuleSystem.cs +++ b/Content.Server/GameTicking/Rules/ThiefRuleSystem.cs @@ -12,10 +12,8 @@ namespace Content.Server.GameTicking.Rules; public sealed class ThiefRuleSystem : GameRuleSystem { - [Dependency] private readonly IRobustRandom _random = default!; [Dependency] private readonly MindSystem _mindSystem = default!; [Dependency] private readonly AntagSelectionSystem _antag = default!; - [Dependency] private readonly ObjectivesSystem _objectives = default!; public override void Initialize() { diff --git a/Content.Server/GameTicking/Rules/TraitorRuleSystem.cs b/Content.Server/GameTicking/Rules/TraitorRuleSystem.cs index 17442da857..a96020d0e3 100644 --- a/Content.Server/GameTicking/Rules/TraitorRuleSystem.cs +++ b/Content.Server/GameTicking/Rules/TraitorRuleSystem.cs @@ -29,7 +29,6 @@ public sealed class TraitorRuleSystem : GameRuleSystem [Dependency] private readonly MindSystem _mindSystem = default!; [Dependency] private readonly SharedRoleSystem _roleSystem = default!; [Dependency] private readonly SharedJobSystem _jobs = default!; - [Dependency] private readonly ObjectivesSystem _objectives = default!; public override void Initialize() { diff --git a/Content.Server/IconSmoothing/RandomIconSmoothSystem.cs b/Content.Server/IconSmoothing/RandomIconSmoothSystem.cs new file mode 100644 index 0000000000..4ddfb17ac8 --- /dev/null +++ b/Content.Server/IconSmoothing/RandomIconSmoothSystem.cs @@ -0,0 +1,26 @@ +using Content.Shared.IconSmoothing; +using Robust.Shared.Random; + +namespace Content.Server.IconSmoothing; + +public sealed partial class RandomIconSmoothSystem : SharedRandomIconSmoothSystem +{ + [Dependency] private readonly IRobustRandom _random = default!; + [Dependency] private readonly SharedAppearanceSystem _appearance = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnMapInit); + } + + private void OnMapInit(Entity ent, ref MapInitEvent args) + { + if (ent.Comp.RandomStates.Count == 0) + return; + + var state = _random.Pick(ent.Comp.RandomStates); + _appearance.SetData(ent, RandomIconSmoothState.State, state); + } +} diff --git a/Content.Server/Instruments/InstrumentSystem.cs b/Content.Server/Instruments/InstrumentSystem.cs index 6814b596dc..f74dd7fb13 100644 --- a/Content.Server/Instruments/InstrumentSystem.cs +++ b/Content.Server/Instruments/InstrumentSystem.cs @@ -30,7 +30,6 @@ public sealed partial class InstrumentSystem : SharedInstrumentSystem [Dependency] private readonly UserInterfaceSystem _bui = default!; [Dependency] private readonly PopupSystem _popup = default!; [Dependency] private readonly TransformSystem _transform = default!; - [Dependency] private readonly InteractionSystem _interactions = default!; [Dependency] private readonly ExamineSystemShared _examineSystem = default!; private const float MaxInstrumentBandRange = 10f; diff --git a/Content.Server/Kitchen/EntitySystems/MicrowaveSystem.cs b/Content.Server/Kitchen/EntitySystems/MicrowaveSystem.cs index eefa539149..71986ae859 100644 --- a/Content.Server/Kitchen/EntitySystems/MicrowaveSystem.cs +++ b/Content.Server/Kitchen/EntitySystems/MicrowaveSystem.cs @@ -79,6 +79,7 @@ namespace Content.Server.Kitchen.EntitySystems SubscribeLocalEvent(OnContentUpdate); SubscribeLocalEvent(OnContentUpdate); SubscribeLocalEvent(OnInteractUsing, after: new[] { typeof(AnchorableSystem) }); + SubscribeLocalEvent(OnInsertAttempt); SubscribeLocalEvent(OnBreak); SubscribeLocalEvent(OnPowerChanged); SubscribeLocalEvent(OnAnchorChanged); @@ -309,6 +310,32 @@ namespace Content.Server.Kitchen.EntitySystems UpdateUserInterfaceState(uid, component); } + private void OnInsertAttempt(Entity ent, ref ContainerIsInsertingAttemptEvent args) + { + if (ent.Comp.Broken) + { + args.Cancel(); + return; + } + + if (TryComp(args.EntityUid, out var item)) + { + if (_item.GetSizePrototype(item.Size) > _item.GetSizePrototype(ent.Comp.MaxItemSize)) + { + args.Cancel(); + return; + } + } + else + { + args.Cancel(); + return; + } + + if (ent.Comp.Storage.Count >= ent.Comp.Capacity) + args.Cancel(); + } + private void OnInteractUsing(Entity ent, ref InteractUsingEvent args) { if (args.Handled) diff --git a/Content.Server/Medical/DefibrillatorSystem.cs b/Content.Server/Medical/DefibrillatorSystem.cs index 1896f51edd..b6b50d4215 100644 --- a/Content.Server/Medical/DefibrillatorSystem.cs +++ b/Content.Server/Medical/DefibrillatorSystem.cs @@ -46,7 +46,6 @@ public sealed class DefibrillatorSystem : EntitySystem [Dependency] private readonly PowerCellSystem _powerCell = default!; [Dependency] private readonly SharedAppearanceSystem _appearance = default!; [Dependency] private readonly SharedAudioSystem _audio = default!; - [Dependency] private readonly UseDelaySystem _useDelay = default!; [Dependency] private readonly SharedMindSystem _mind = default!; /// diff --git a/Content.Server/Ninja/Systems/SpaceNinjaSystem.cs b/Content.Server/Ninja/Systems/SpaceNinjaSystem.cs index 28ab633227..1ece045774 100644 --- a/Content.Server/Ninja/Systems/SpaceNinjaSystem.cs +++ b/Content.Server/Ninja/Systems/SpaceNinjaSystem.cs @@ -32,10 +32,7 @@ public sealed class SpaceNinjaSystem : SharedSpaceNinjaSystem [Dependency] private readonly AlertsSystem _alerts = default!; [Dependency] private readonly BatterySystem _battery = default!; [Dependency] private readonly CodeConditionSystem _codeCondition = default!; - [Dependency] private readonly IChatManager _chatMan = default!; [Dependency] private readonly PowerCellSystem _powerCell = default!; - [Dependency] private readonly RoleSystem _role = default!; - [Dependency] private readonly SharedAudioSystem _audio = default!; [Dependency] private readonly SharedMindSystem _mind = default!; public override void Initialize() diff --git a/Content.Server/Nutrition/EntitySystems/FoodSystem.cs b/Content.Server/Nutrition/EntitySystems/FoodSystem.cs index fc9d228b05..d609f737e7 100644 --- a/Content.Server/Nutrition/EntitySystems/FoodSystem.cs +++ b/Content.Server/Nutrition/EntitySystems/FoodSystem.cs @@ -10,7 +10,6 @@ using Content.Shared.Administration.Logs; using Content.Shared.Body.Components; using Content.Shared.Body.Organ; using Content.Shared.Chemistry; -using Content.Shared.Chemistry.Reagent; using Content.Shared.Database; using Content.Shared.DoAfter; using Content.Shared.FixedPoint; @@ -31,6 +30,7 @@ using Robust.Shared.Audio; using Robust.Shared.Audio.Systems; using Robust.Shared.Utility; using System.Linq; +using Content.Shared.Containers.ItemSlots; using Robust.Server.GameObjects; using Content.Shared.Whitelist; @@ -138,6 +138,16 @@ public sealed class FoodSystem : EntitySystem return (false, true); } + // Checks for used item slots + if (TryComp(food, out var itemSlots)) + { + if (itemSlots.Slots.Any(slot => slot.Value.HasItem)) + { + _popup.PopupEntity(Loc.GetString("food-has-used-storage", ("food", food)), user, user); + return (false, true); + } + } + var flavors = _flavorProfile.GetLocalizedFlavorsMessage(food, user, foodSolution); if (GetUsesRemaining(food, foodComp) <= 0) diff --git a/Content.Server/Nutrition/EntitySystems/SliceableFoodSystem.cs b/Content.Server/Nutrition/EntitySystems/SliceableFoodSystem.cs index f5d434090e..ac3df5868f 100644 --- a/Content.Server/Nutrition/EntitySystems/SliceableFoodSystem.cs +++ b/Content.Server/Nutrition/EntitySystems/SliceableFoodSystem.cs @@ -17,7 +17,6 @@ namespace Content.Server.Nutrition.EntitySystems { [Dependency] private readonly SolutionContainerSystem _solutionContainerSystem = default!; [Dependency] private readonly SharedAudioSystem _audio = default!; - [Dependency] private readonly SharedContainerSystem _containerSystem = default!; [Dependency] private readonly TransformSystem _xformSystem = default!; public override void Initialize() diff --git a/Content.Server/Players/PlayTimeTracking/PlayTimeTrackingSystem.cs b/Content.Server/Players/PlayTimeTracking/PlayTimeTrackingSystem.cs index 09956e313f..ea6f0ad3f4 100644 --- a/Content.Server/Players/PlayTimeTracking/PlayTimeTrackingSystem.cs +++ b/Content.Server/Players/PlayTimeTracking/PlayTimeTrackingSystem.cs @@ -35,7 +35,6 @@ public sealed class PlayTimeTrackingSystem : EntitySystem [Dependency] private readonly MindSystem _minds = default!; [Dependency] private readonly PlayTimeTrackingManager _tracking = default!; [Dependency] private readonly IAdminManager _adminManager = default!; - [Dependency] private readonly SharedRoleSystem _role = default!; public override void Initialize() { diff --git a/Content.Server/Pointing/EntitySystems/PointingSystem.cs b/Content.Server/Pointing/EntitySystems/PointingSystem.cs index 4b7f50fb86..f2f60f3063 100644 --- a/Content.Server/Pointing/EntitySystems/PointingSystem.cs +++ b/Content.Server/Pointing/EntitySystems/PointingSystem.cs @@ -152,9 +152,7 @@ namespace Content.Server.Pointing.EntitySystems if (TryComp(arrow, out var pointing)) { - if (TryComp(player, out TransformComponent? xformPlayer)) - pointing.StartPosition = _transform.ToCoordinates((player, xformPlayer), _transform.ToMapCoordinates(xformPlayer.Coordinates)).Position; - + pointing.StartPosition = _transform.ToCoordinates((arrow, Transform(arrow)), _transform.ToMapCoordinates(Transform(player).Coordinates)).Position; pointing.EndTime = _gameTiming.CurTime + PointDuration; Dirty(arrow, pointing); diff --git a/Content.Server/Power/EntitySystems/PowerNetSystem.cs b/Content.Server/Power/EntitySystems/PowerNetSystem.cs index 6c35ba2008..a7098649ce 100644 --- a/Content.Server/Power/EntitySystems/PowerNetSystem.cs +++ b/Content.Server/Power/EntitySystems/PowerNetSystem.cs @@ -22,7 +22,6 @@ namespace Content.Server.Power.EntitySystems [Dependency] private readonly PowerNetConnectorSystem _powerNetConnector = default!; [Dependency] private readonly IConfigurationManager _cfg = default!; [Dependency] private readonly IParallelManager _parMan = default!; - [Dependency] private readonly PowerReceiverSystem _powerReceiver = default!; private readonly PowerState _powerState = new(); private readonly HashSet _powerNetReconnectQueue = new(); diff --git a/Content.Server/Power/EntitySystems/PowerReceiverSystem.cs b/Content.Server/Power/EntitySystems/PowerReceiverSystem.cs index 51520f0464..191d3fc4bd 100644 --- a/Content.Server/Power/EntitySystems/PowerReceiverSystem.cs +++ b/Content.Server/Power/EntitySystems/PowerReceiverSystem.cs @@ -21,7 +21,6 @@ namespace Content.Server.Power.EntitySystems { [Dependency] private readonly IAdminLogManager _adminLogger = default!; [Dependency] private readonly IAdminManager _adminManager = default!; - [Dependency] private readonly AppearanceSystem _appearance = default!; [Dependency] private readonly AudioSystem _audio = default!; private EntityQuery _recQuery; private EntityQuery _provQuery; diff --git a/Content.Server/Power/EntitySystems/StaticPowerSystem.cs b/Content.Server/Power/EntitySystems/StaticPowerSystem.cs index 9e11d9311a..61a23e501d 100644 --- a/Content.Server/Power/EntitySystems/StaticPowerSystem.cs +++ b/Content.Server/Power/EntitySystems/StaticPowerSystem.cs @@ -9,7 +9,7 @@ public static class StaticPowerSystem public static bool IsPowered(this EntitySystem system, EntityUid uid, IEntityManager entManager, ApcPowerReceiverComponent? receiver = null) { if (receiver == null && !entManager.TryGetComponent(uid, out receiver)) - return false; + return true; return receiver.Powered; } diff --git a/Content.Server/Procedural/DungeonSystem.Rooms.cs b/Content.Server/Procedural/DungeonSystem.Rooms.cs index 840c97f13b..ee108ef7e2 100644 --- a/Content.Server/Procedural/DungeonSystem.Rooms.cs +++ b/Content.Server/Procedural/DungeonSystem.Rooms.cs @@ -118,7 +118,7 @@ public sealed partial class DungeonSystem // go BRRNNTTT on existing stuff if (clearExisting) { - var gridBounds = new Box2(Vector2.Transform(-room.Size/2, roomTransform), Vector2.Transform(room.Size/2, roomTransform)); //CP14 bugfix + var gridBounds = new Box2(Vector2.Transform(-room.Size/2, roomTransform), Vector2.Transform(room.Size/2, roomTransform)); _entitySet.Clear(); // Polygon skin moment gridBounds = gridBounds.Enlarged(-0.05f); diff --git a/Content.Server/Procedural/DungeonSystem.cs b/Content.Server/Procedural/DungeonSystem.cs index b73e843fff..9a7abb7e33 100644 --- a/Content.Server/Procedural/DungeonSystem.cs +++ b/Content.Server/Procedural/DungeonSystem.cs @@ -33,7 +33,6 @@ public sealed partial class DungeonSystem : SharedDungeonSystem [Dependency] private readonly AnchorableSystem _anchorable = default!; [Dependency] private readonly DecalSystem _decals = default!; [Dependency] private readonly EntityLookupSystem _lookup = default!; - [Dependency] private readonly TagSystem _tag = default!; [Dependency] private readonly TileSystem _tile = default!; [Dependency] private readonly MapLoaderSystem _loader = default!; [Dependency] private readonly SharedMapSystem _maps = default!; diff --git a/Content.Server/Silicons/Borgs/BorgSystem.cs b/Content.Server/Silicons/Borgs/BorgSystem.cs index 1c40e9489e..3f32afbffb 100644 --- a/Content.Server/Silicons/Borgs/BorgSystem.cs +++ b/Content.Server/Silicons/Borgs/BorgSystem.cs @@ -40,7 +40,6 @@ public sealed partial class BorgSystem : SharedBorgSystem [Dependency] private readonly IBanManager _banManager = default!; [Dependency] private readonly IGameTiming _timing = default!; [Dependency] private readonly IRobustRandom _random = default!; - [Dependency] private readonly SharedAccessSystem _access = default!; [Dependency] private readonly ActionsSystem _actions = default!; [Dependency] private readonly AlertsSystem _alerts = default!; [Dependency] private readonly DeviceNetworkSystem _deviceNetwork = default!; diff --git a/Content.Server/Station/Systems/StationJobsSystem.Roundstart.cs b/Content.Server/Station/Systems/StationJobsSystem.Roundstart.cs index e145e233e9..8a918bd2fd 100644 --- a/Content.Server/Station/Systems/StationJobsSystem.Roundstart.cs +++ b/Content.Server/Station/Systems/StationJobsSystem.Roundstart.cs @@ -17,7 +17,6 @@ public sealed partial class StationJobsSystem { [Dependency] private readonly IPrototypeManager _prototypeManager = default!; [Dependency] private readonly IBanManager _banManager = default!; - [Dependency] private readonly PlayTimeTrackingSystem _playTime = default!; private Dictionary> _jobsByWeight = default!; private List _orderedWeights = default!; diff --git a/Content.Server/Station/Systems/StationSystem.cs b/Content.Server/Station/Systems/StationSystem.cs index 84e44b6469..5930eef39b 100644 --- a/Content.Server/Station/Systems/StationSystem.cs +++ b/Content.Server/Station/Systems/StationSystem.cs @@ -27,10 +27,8 @@ namespace Content.Server.Station.Systems; [PublicAPI] public sealed class StationSystem : EntitySystem { - [Dependency] private readonly IConfigurationManager _cfgManager = default!; [Dependency] private readonly ILogManager _logManager = default!; [Dependency] private readonly IPlayerManager _player = default!; - [Dependency] private readonly IRobustRandom _random = default!; [Dependency] private readonly ChatSystem _chatSystem = default!; [Dependency] private readonly GameTicker _ticker = default!; [Dependency] private readonly SharedTransformSystem _transform = default!; diff --git a/Content.Server/Traits/TraitSystem.cs b/Content.Server/Traits/TraitSystem.cs index f41512b6ac..3bd540a304 100644 --- a/Content.Server/Traits/TraitSystem.cs +++ b/Content.Server/Traits/TraitSystem.cs @@ -11,7 +11,6 @@ namespace Content.Server.Traits; public sealed class TraitSystem : EntitySystem { [Dependency] private readonly IPrototypeManager _prototypeManager = default!; - [Dependency] private readonly ISerializationManager _serializationManager = default!; [Dependency] private readonly SharedHandsSystem _sharedHandsSystem = default!; [Dependency] private readonly EntityWhitelistSystem _whitelistSystem = default!; diff --git a/Content.Shared/Access/Systems/AccessReaderSystem.cs b/Content.Shared/Access/Systems/AccessReaderSystem.cs index 5d1932a959..2e0737c6ab 100644 --- a/Content.Shared/Access/Systems/AccessReaderSystem.cs +++ b/Content.Shared/Access/Systems/AccessReaderSystem.cs @@ -155,7 +155,12 @@ public sealed class AccessReaderSystem : EntitySystem return IsAllowedInternal(access, stationKeys, reader); if (!_containerSystem.TryGetContainer(target, reader.ContainerAccessProvider, out var container)) - return Paused(target); // when mapping, containers with electronics arent spawned + return false; + + // If entity is paused then always allow it at this point. + // Door electronics is kind of a mess but yeah, it should only be an unpaused ent interacting with it + if (Paused(target)) + return true; foreach (var entity in container.ContainedEntities) { diff --git a/Content.Shared/Actions/SharedActionsSystem.cs b/Content.Shared/Actions/SharedActionsSystem.cs index 013348eb4f..ca6bd1dcc2 100644 --- a/Content.Shared/Actions/SharedActionsSystem.cs +++ b/Content.Shared/Actions/SharedActionsSystem.cs @@ -25,7 +25,6 @@ public abstract class SharedActionsSystem : EntitySystem [Dependency] private readonly ISharedAdminLogManager _adminLogger = default!; [Dependency] private readonly SharedInteractionSystem _interactionSystem = default!; [Dependency] private readonly ActionBlockerSystem _actionBlockerSystem = default!; - [Dependency] private readonly SharedContainerSystem _containerSystem = default!; [Dependency] private readonly RotateToFaceSystem _rotateToFaceSystem = default!; [Dependency] private readonly SharedAudioSystem _audio = default!; [Dependency] private readonly SharedTransformSystem _transformSystem = default!; diff --git a/Content.Shared/Beeper/Systems/ProximityBeeperSystem.cs b/Content.Shared/Beeper/Systems/ProximityBeeperSystem.cs index ed3c6366c1..9830e165e5 100644 --- a/Content.Shared/Beeper/Systems/ProximityBeeperSystem.cs +++ b/Content.Shared/Beeper/Systems/ProximityBeeperSystem.cs @@ -12,8 +12,6 @@ namespace Content.Shared.Beeper.Systems; /// public sealed class ProximityBeeperSystem : EntitySystem { - [Dependency] private readonly SharedAppearanceSystem _appearance = default!; - [Dependency] private readonly ProximityDetectionSystem _proximity = default!; [Dependency] private readonly BeeperSystem _beeper = default!; /// diff --git a/Content.Shared/Clothing/ClothingSpeedModifierSystem.cs b/Content.Shared/Clothing/ClothingSpeedModifierSystem.cs index c1efe0b3dd..897f379156 100644 --- a/Content.Shared/Clothing/ClothingSpeedModifierSystem.cs +++ b/Content.Shared/Clothing/ClothingSpeedModifierSystem.cs @@ -14,13 +14,10 @@ namespace Content.Shared.Clothing; public sealed class ClothingSpeedModifierSystem : EntitySystem { - [Dependency] private readonly SharedAppearanceSystem _appearance = default!; - [Dependency] private readonly ClothingSpeedModifierSystem _clothingSpeedModifier = default!; [Dependency] private readonly SharedContainerSystem _container = default!; [Dependency] private readonly ExamineSystemShared _examine = default!; [Dependency] private readonly MovementSpeedModifierSystem _movementSpeed = default!; [Dependency] private readonly ItemToggleSystem _toggle = default!; - [Dependency] private readonly SharedPowerCellSystem _powerCell = default!; public override void Initialize() { diff --git a/Content.Shared/Damage/Systems/StaminaSystem.cs b/Content.Shared/Damage/Systems/StaminaSystem.cs index 1f9a7f1dd8..a5c8a4b38d 100644 --- a/Content.Shared/Damage/Systems/StaminaSystem.cs +++ b/Content.Shared/Damage/Systems/StaminaSystem.cs @@ -192,6 +192,11 @@ public sealed partial class StaminaSystem : EntitySystem private void OnCollide(EntityUid uid, StaminaDamageOnCollideComponent component, EntityUid target) { + // you can't inflict stamina damage on things with no stamina component + // this prevents stun batons from using up charges when throwing it at lockers or lights + if (!HasComp(target)) + return; + var ev = new StaminaDamageOnHitAttemptEvent(); RaiseLocalEvent(uid, ref ev); if (ev.Cancelled) diff --git a/Content.Shared/IconSmoothing/RandomIconSmoothComponent.cs b/Content.Shared/IconSmoothing/RandomIconSmoothComponent.cs new file mode 100644 index 0000000000..6cdf167b29 --- /dev/null +++ b/Content.Shared/IconSmoothing/RandomIconSmoothComponent.cs @@ -0,0 +1,16 @@ +using Robust.Shared.GameStates; + +namespace Content.Shared.IconSmoothing; + +/// +/// Allow randomize StateBase of IconSmoothComponent for random visual variation +/// +[RegisterComponent, NetworkedComponent] +public sealed partial class RandomIconSmoothComponent : Component +{ + /// + /// StateBase will be randomly selected from this list. Allows to randomize the visual. + /// + [DataField(required: true)] + public List RandomStates = new(); +} diff --git a/Content.Shared/IconSmoothing/SharedRandomIconSmoothSystem.cs b/Content.Shared/IconSmoothing/SharedRandomIconSmoothSystem.cs new file mode 100644 index 0000000000..5cb5299858 --- /dev/null +++ b/Content.Shared/IconSmoothing/SharedRandomIconSmoothSystem.cs @@ -0,0 +1,12 @@ +using Robust.Shared.Serialization; + +namespace Content.Shared.IconSmoothing; + +public abstract class SharedRandomIconSmoothSystem : EntitySystem +{ +} +[Serializable, NetSerializable] +public enum RandomIconSmoothState : byte +{ + State +} diff --git a/Content.Shared/Interaction/SharedInteractionSystem.cs b/Content.Shared/Interaction/SharedInteractionSystem.cs index 48076ca360..c32b4bcf78 100644 --- a/Content.Shared/Interaction/SharedInteractionSystem.cs +++ b/Content.Shared/Interaction/SharedInteractionSystem.cs @@ -38,8 +38,6 @@ using Robust.Shared.Serialization; using Robust.Shared.Timing; using Robust.Shared.Utility; -#pragma warning disable 618 - namespace Content.Shared.Interaction { /// @@ -522,11 +520,11 @@ namespace Content.Shared.Interaction protected bool ValidateInteractAndFace(EntityUid user, EntityCoordinates coordinates) { // Verify user is on the same map as the entity they clicked on - if (coordinates.GetMapId(EntityManager) != Transform(user).MapID) + if (_transform.GetMapId(coordinates) != Transform(user).MapID) return false; if (!HasComp(user)) - _rotateToFaceSystem.TryFaceCoordinates(user, coordinates.ToMapPos(EntityManager, _transform)); + _rotateToFaceSystem.TryFaceCoordinates(user, _transform.ToMapCoordinates(coordinates).Position); return true; } @@ -859,7 +857,7 @@ namespace Content.Shared.Interaction Ignored? predicate = null, bool popup = false) { - return InRangeUnobstructed(origin, other.ToMap(EntityManager, _transform), range, collisionMask, predicate, popup); + return InRangeUnobstructed(origin, _transform.ToMapCoordinates(other), range, collisionMask, predicate, popup); } /// @@ -966,7 +964,7 @@ namespace Content.Shared.Interaction /// public void InteractDoAfter(EntityUid user, EntityUid used, EntityUid? target, EntityCoordinates clickLocation, bool canReach) { - if (target is {Valid: false}) + if (target is { Valid: false }) target = null; var afterInteractEvent = new AfterInteractEvent(user, used, target, clickLocation, canReach); diff --git a/Content.Shared/Localizations/ContentLocalizationManager.cs b/Content.Shared/Localizations/ContentLocalizationManager.cs index df1f6151b0..451ee617bc 100644 --- a/Content.Shared/Localizations/ContentLocalizationManager.cs +++ b/Content.Shared/Localizations/ContentLocalizationManager.cs @@ -10,7 +10,7 @@ namespace Content.Shared.Localizations [Dependency] private readonly ILocalizationManager _loc = default!; // If you want to change your codebase's language, do it here. - private const string Culture = "en-US"; // CrystallPunk-Localization. "ru-RU" or "en-US" + private const string Culture = "ru-RU"; // CrystallPunk-Localization. "ru-RU" or "en-US" /// /// Custom format strings used for parsing and displaying minutes:seconds timespans. @@ -26,8 +26,14 @@ namespace Content.Shared.Localizations public void Initialize() { var culture = new CultureInfo(Culture); - + // Uncomment for Ru localization _loc.LoadCulture(culture); + + var fallbackCulture = new CultureInfo("en-US"); + _loc.LoadCulture(fallbackCulture); + _loc.SetFallbackCluture(fallbackCulture); + // + _loc.AddFunction(culture, "PRESSURE", FormatPressure); _loc.AddFunction(culture, "POWERWATTS", FormatPowerWatts); _loc.AddFunction(culture, "POWERJOULES", FormatPowerJoules); diff --git a/Content.Shared/Movement/Pulling/Systems/PullingSystem.cs b/Content.Shared/Movement/Pulling/Systems/PullingSystem.cs index f563440af0..557c316e26 100644 --- a/Content.Shared/Movement/Pulling/Systems/PullingSystem.cs +++ b/Content.Shared/Movement/Pulling/Systems/PullingSystem.cs @@ -43,7 +43,6 @@ public sealed class PullingSystem : EntitySystem [Dependency] private readonly SharedHandsSystem _handsSystem = default!; [Dependency] private readonly SharedInteractionSystem _interaction = default!; [Dependency] private readonly SharedPhysicsSystem _physics = default!; - [Dependency] private readonly SharedPopupSystem _popup = default!; [Dependency] private readonly HeldSpeedModifierSystem _clothingMoveSpeed = default!; public override void Initialize() diff --git a/Content.Shared/Ninja/Systems/DashAbilitySystem.cs b/Content.Shared/Ninja/Systems/DashAbilitySystem.cs index 1385219e47..09be108505 100644 --- a/Content.Shared/Ninja/Systems/DashAbilitySystem.cs +++ b/Content.Shared/Ninja/Systems/DashAbilitySystem.cs @@ -18,7 +18,6 @@ public sealed class DashAbilitySystem : EntitySystem { [Dependency] private readonly ActionContainerSystem _actionContainer = default!; [Dependency] private readonly IGameTiming _timing = default!; - [Dependency] private readonly SharedAudioSystem _audio = default!; [Dependency] private readonly SharedChargesSystem _charges = default!; [Dependency] private readonly SharedHandsSystem _hands = default!; [Dependency] private readonly ExamineSystemShared _examine = default!; diff --git a/Content.Shared/Teleportation/Systems/SwapTeleporterSystem.cs b/Content.Shared/Teleportation/Systems/SwapTeleporterSystem.cs index 58c249fec5..a5ad77d43b 100644 --- a/Content.Shared/Teleportation/Systems/SwapTeleporterSystem.cs +++ b/Content.Shared/Teleportation/Systems/SwapTeleporterSystem.cs @@ -150,8 +150,19 @@ public sealed class SwapTeleporterSystem : EntitySystem return; } - var teleEnt = GetTeleportingEntity((uid, xform)); - var otherTeleEnt = GetTeleportingEntity((linkedEnt, Transform(linkedEnt))); + var (teleEnt, cont) = GetTeleportingEntity((uid, xform)); + var (otherTeleEnt, otherCont) = GetTeleportingEntity((linkedEnt, Transform(linkedEnt))); + + if (otherCont != null && !_container.CanInsert(teleEnt, otherCont) || + cont != null && !_container.CanInsert(otherTeleEnt, cont)) + { + _popup.PopupEntity(Loc.GetString("swap-teleporter-popup-teleport-fail", + ("entity", Identity.Entity(linkedEnt, EntityManager))), + teleEnt, + teleEnt, + PopupType.MediumCaution); + return; + } _popup.PopupEntity(Loc.GetString("swap-teleporter-popup-teleport-other", ("entity", Identity.Entity(linkedEnt, EntityManager))), @@ -184,20 +195,20 @@ public sealed class SwapTeleporterSystem : EntitySystem DestroyLink(linked, user); // the linked one is shown globally } - private EntityUid GetTeleportingEntity(Entity ent) + private (EntityUid, BaseContainer?) GetTeleportingEntity(Entity ent) { var parent = ent.Comp.ParentUid; if (_container.TryGetOuterContainer(ent, ent, out var container)) parent = container.Owner; if (HasComp(parent) || HasComp(parent)) - return ent; + return (ent, container); if (!_xformQuery.TryGetComponent(parent, out var parentXform) || parentXform.Anchored) - return ent; + return (ent, container); if (!TryComp(parent, out var body) || body.BodyType == BodyType.Static) - return ent; + return (ent, container); return GetTeleportingEntity((parent, parentXform)); } diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index fd909d6b12..74a116880f 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,48 +1,4 @@ Entries: -- author: EmoGarbage404 - changes: - - message: Fixed cargo telepads not teleporting in orders from linked consoles. - type: Fix - id: 6429 - time: '2024-04-23T12:07:12.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/27255 -- author: Plykiya - changes: - - message: Do-after bars of other players are now shaded and harder to see in the - dark. - type: Tweak - id: 6430 - time: '2024-04-24T02:42:34.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/27273 -- author: Blackern5000 - changes: - - message: The cargo telepad is now tier 2 technology rather than tier 3. - type: Tweak - id: 6431 - time: '2024-04-24T13:21:29.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/26270 -- author: FungiFellow - changes: - - message: Truncheon now fits in SecBelt - type: Tweak - id: 6432 - time: '2024-04-24T13:43:56.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/27281 -- author: pigeonpeas - changes: - - message: Adds a trash bag to the advanced cleaning module. - type: Add - id: 6433 - time: '2024-04-24T21:27:34.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/27226 -- author: Beck Thompson - changes: - - message: Radio jammer now has 3 selectable power operating levels and a battery - level led indicator! - type: Tweak - id: 6434 - time: '2024-04-25T02:19:17.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/25912 - author: cooldolphin changes: - message: Three variants of glasses are now available in the loadout menu. @@ -3804,3 +3760,48 @@ id: 6928 time: '2024-07-17T13:50:25.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/30033 +- author: Errant + changes: + - message: Vox are temporarily removed from Space Ninjas and all Unknown Shuttle + ghostroles, until code supports giving them species-specific gear. + type: Tweak + id: 6929 + time: '2024-07-17T22:04:51.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/30099 +- author: Cojoke-dot + changes: + - message: You can no longer teleport objects that should not be in other objects + into other objects with the Quantum Spin Inverter + type: Fix + id: 6930 + time: '2024-07-18T00:40:54.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/29200 +- author: Plykiya + changes: + - message: Stun batons no longer use up charges when hitting objects without stamina. + type: Fix + id: 6931 + time: '2024-07-18T00:48:09.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/30136 +- author: Sh18RW + changes: + - message: Moth can't eat boots with an item more + type: Fix + id: 6932 + time: '2024-07-18T22:34:18.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/30019 +- author: portfiend + changes: + - message: Reptilians display correct mask sprites in character customization screen. + type: Fix + id: 6933 + time: '2024-07-18T22:36:53.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/30095 +- author: Plykiya + changes: + - message: You no longer deal double damage to your first target when throwing an + item. + type: Fix + id: 6934 + time: '2024-07-19T01:08:52.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/30115 diff --git a/Resources/Locale/en-US/_CP14/job/department.ftl b/Resources/Locale/en-US/_CP14/job/department.ftl index 40994a378d..57bcd52419 100644 --- a/Resources/Locale/en-US/_CP14/job/department.ftl +++ b/Resources/Locale/en-US/_CP14/job/department.ftl @@ -1,5 +1,5 @@ -department-CP14Free = Free civilians -department-CP14Free-desc = Individuals who are not burdened by contracts and work for the government, but do not receive free assistance from it either. Find your own way of earning a living. +department-CP14Mercenary = Mercenaries +department-CP14Mercenary-desc = People who joined the expedition to make some money. -department-CP14Command = Officers of the Law -department-CP14Command-desc = Persons working directly for government officials. Bound by a magical contract, they cannot act against the interests of the state. \ No newline at end of file +department-CP14Command = Expedition organizers +department-CP14Command-desc = Persons responsible for carrying out the task assigned from the great house. \ No newline at end of file diff --git a/Resources/Locale/en-US/_CP14/job/job.ftl b/Resources/Locale/en-US/_CP14/job/job.ftl index a08501e62c..b0d62d2350 100644 --- a/Resources/Locale/en-US/_CP14/job/job.ftl +++ b/Resources/Locale/en-US/_CP14/job/job.ftl @@ -1,3 +1,6 @@ +cp14-job-name-captain = Expedition captain +cp14-job-desc-captain = You are the most important person in this expedition. Organize its participants and manage the processes to complete the task set from the management. + cp14-job-name-adventurer = Adventurer cp14-job-desc-adventurer = A hunter of thrills, riches and fame, constantly risking his life. Search for valuables in dangerous places and sell them to the settlement. diff --git a/Resources/Locale/en-US/_CP14/loadouts/loadout.ftl b/Resources/Locale/en-US/_CP14/loadouts/loadout.ftl new file mode 100644 index 0000000000..122d3a3a68 --- /dev/null +++ b/Resources/Locale/en-US/_CP14/loadouts/loadout.ftl @@ -0,0 +1,15 @@ +# Basic + +cp14-loadout-basic-cloak = Cloak +cp14-loadout-basic-eyes = Goggles +cp14-loadout-basic-gloves = Gloves +cp14-loadout-basic-head = Head +cp14-loadout-basic-mask = Mask +cp14-loadout-basic-pants = Pants +cp14-loadout-basic-shirt = Shirt +cp14-loadout-basic-shoes = Shoes + +# Org + +cp14-loadout-captain-cloak = Captain's cloak +cp14-loadout-captain-head = Captain's head \ No newline at end of file diff --git a/Resources/Locale/en-US/_CP14/loadouts/test.ftl b/Resources/Locale/en-US/_CP14/loadouts/test.ftl deleted file mode 100644 index 619bd83ea1..0000000000 --- a/Resources/Locale/en-US/_CP14/loadouts/test.ftl +++ /dev/null @@ -1,8 +0,0 @@ -cp14-loadout-test-cloak = Cloak -cp14-loadout-test-eyes = Goggles -cp14-loadout-test-gloves = Gloves -cp14-loadout-test-head = Headgear -cp14-loadout-test-mask = Mask -cp14-loadout-test-pants = Pants -cp14-loadout-test-shirt = Shirt -cp14-loadout-test-shoes = Shoes \ No newline at end of file diff --git a/Resources/Locale/en-US/portal/swap-teleporter.ftl b/Resources/Locale/en-US/portal/swap-teleporter.ftl index f13fa9be42..0040ad0a88 100644 --- a/Resources/Locale/en-US/portal/swap-teleporter.ftl +++ b/Resources/Locale/en-US/portal/swap-teleporter.ftl @@ -5,6 +5,7 @@ swap-teleporter-popup-link-destroyed = Quantum link destroyed! swap-teleporter-popup-teleport-cancel-time = It's still recharging! swap-teleporter-popup-teleport-cancel-link = It's not linked with another device! swap-teleporter-popup-teleport-other = {CAPITALIZE(THE($entity))} activates, and you find yourself somewhere else. +swap-teleporter-popup-teleport-fail = {CAPITALIZE(THE($entity))} activates and fails to transport you anywhere. swap-teleporter-verb-destroy-link = Destroy Quantum Link diff --git a/Resources/Locale/ru-RU/_CP14/_PROTO/entities/entities.ftl b/Resources/Locale/ru-RU/_CP14/_PROTO/entities/entities.ftl index fb44fc6eaf..e398d4b786 100644 --- a/Resources/Locale/ru-RU/_CP14/_PROTO/entities/entities.ftl +++ b/Resources/Locale/ru-RU/_CP14/_PROTO/entities/entities.ftl @@ -1,3 +1,5 @@ +ent-CP14SeedTest = FUCK test SEED + ent-CP14Fire = огонь .desc = Это огонь! .suffix = cp14 @@ -43,6 +45,9 @@ ent-CP14ClothingCloakSimpleWhite = белый плащ ent-CP14ClothingCloakSimpleDarkBlue = { ent-CP14ClothingCloakSimpleWhite } .desc = { ent-CP14ClothingCloakSimpleWhite.desc } +ent-CP14ClothingCloakCaptainJacket = капитанский жилет + .desc = Белое золото говорит о том, что вы смотрите на серьезного представителя власти. + ent-CP14ClothingEyesMonocle = монокль .desc = Аристократично и красиво. @@ -76,9 +81,18 @@ ent-CP14ClothingHeadRedBeret = красный берет ent-CP14ClothingHeadPurpleBeret = фиолетовый берет .desc = Это берет. -ent-CP14ClothingHeadWhiteBeret = белый берет +ent-CP14ClothingHeadYellowBeret = желтый берет .desc = Это берет. +ent-CP14ClothingHeadBlueBeret = синий берет + .desc = Это берет. + +ent-CP14ClothingHeadBlackBeret = черный берет + .desc = Это берет. + +ent-CP14ClothingHeadCaptainCap = капитанская кепка + .desc = Нет, ну вы посмотрите какой красавчик! + ent-CP14ClothingMaskSinner = маска грешника .desc = Маска предназначенная для ношения не самыми светлыми личностями. Палачи надевают их на себя и на жертву перед казнью. @@ -95,9 +109,9 @@ ent-CP14ClothingPantsLoincloth = набедренная повязка .desc = Свободные, ничего не мешает, да еще и выглядят экстремально брутально ent-CP14ClothingShirtCottonBlue = хлопковая синяя рубаха - .desc = Приятный на ощупь материал, удобная свободная форма рубашки. + .desc = { ent-CP14ClothingShirtCottonBlue.desc } -ent-CP14ClothingShirtCottonBlueDark = хлопковая темная рубаха +ent-CP14ClothingShirtCottonBlack = хлопковая черная рубаха .desc = { ent-CP14ClothingShirtCottonBlue.desc } ent-CP14ClothingShirtCottonPurple = хлопковая фиолетовая рубаха @@ -275,24 +289,6 @@ ent-CP14Nail110 = { ent-CP14Nail1 } .desc = { ent-CP14Nail1.desc } .suffix = 10 -ent-CP14BloodGrass = кровьтрава - .desc = Самое скучное и распространенное растение, растущее в дикой природе. Известна своими питательными свойствами. - -ent-CP14AgaricMushroom = мухомор - .desc = Этот ядовитый гриб часто можно встретить вблизи водоемов или других влажных мест. Не рекомендуется для употребления в пищу. - -ent-CP14ChromiumSlime = хромиевая слизь - .desc = Это редкое густое вещество можно обнаружить в потоке воды, как будто оно обладает собственным разумом. При попытке изменить саму слизь - она меняет реагент, с которым взаимодействует. - -ent-CP14WildSage = корень дикого шалфея - .desc = Корень повсеместно распространенного лекарственного растения, неплохо заживляющего физические повреждения и вызывающего откашливание. - -ent-CP14QuartzShard = грубый кварц - .desc = природный кристалл, являющийся естественным накопителем магической энергии. Его цвет отражает качество кристалла - чем выше спектр излучения, тем выше уровень утечки энергии. - -ent-CP14LumiMushroom = люмигриб - .desc = Слабо светящийся гриб. Часто используется алхимиками как средство для концентрации растворов. - ent-CP14Cauldron = котел .desc = Тяжелый котелок. Он не такой громоздкий, как чан, но его можно нести в руках. @@ -338,6 +334,27 @@ ent-CP14VialSmallLumiMushroom = { ent-CP14VialTiny } .desc = { ent-CP14VialTiny.desc } .suffix = Люмигриб +ent-CP14Wheat = сноп пшеницы + .desc = У вас есть выбор: посадить семена обратно в землю, либо пустить их в муку. + +ent-CP14BloodGrass = кровьтрава + .desc = Самое скучное и распространенное растение, растущее в дикой природе. Известна своими питательными свойствами. + +ent-CP14AgaricMushroom = мухомор + .desc = Этот ядовитый гриб часто можно встретить вблизи водоемов или других влажных мест. Не рекомендуется для употребления в пищу. + +ent-CP14ChromiumSlime = хромиевая слизь + .desc = Это редкое густое вещество можно обнаружить в потоке воды, как будто оно обладает собственным разумом. При попытке изменить саму слизь - она меняет реагент, с которым взаимодействует. + +ent-CP14WildSage = корень дикого шалфея + .desc = Корень повсеместно распространенного лекарственного растения, неплохо заживляющего физические повреждения и вызывающего откашливание. + +ent-CP14QuartzShard = грубый кварц + .desc = природный кристалл, являющийся естественным накопителем магической энергии. Его цвет отражает качество кристалла - чем выше спектр излучения, тем выше уровень утечки энергии. + +ent-CP14LumiMushroom = люмигриб + .desc = Слабо светящийся гриб. Часто используется алхимиками как средство для концентрации растворов. + ent-CP14EnergyCrystalBase = None .desc = Обработанные кристаллы кварца являются прекрасными хранителями магической энергии. А специальные разъемы позволяют удобно вставлять их в магические устройства, превращая в энергетические батарейки. @@ -364,12 +381,18 @@ ent-CP14Bucket = ведро ent-CP14OldLantern = Старая Лампа .desc = Пережиток прошлого техномагии. Большой, тяжелый, непрактичный. Таким приятно разве что бить по голове. -ent-CP14BaseSharpeningStone = точильный камень - .desc = Позволит заточить притупленное оружие. Если перестараться, вы вполне можете сточить оружие полностью. - ent-CP14Shovel = лопата .desc = Орудие для вскапывания земли, рытья грядок или могил. +ent-CP14Hoe = мотыга + .desc = Фермерский инструмент для подготовки почвы под посадки, либо очистки от сорняков. + +ent-CP14Rope = веревка + .desc = Многофункциональная веревка. Ей можно связать что-нить. Или кого-нибудь. + +ent-CP14BaseSharpeningStone = точильный камень + .desc = Позволит заточить притупленное оружие. Если перестараться, вы вполне можете сточить оружие полностью. + ent-CP14BaseBattleHammer = боевой молот .desc = A big heavy hammer! Bruh! @@ -388,12 +411,18 @@ ent-CP14BaseLightHammer = легкий молот ent-CP14BaseMace = булава .desc = Тяжелый кусок металла на длинной палке. Что может быть проще? +ent-CP14BaseShield = щит + .desc = Деревянный щит, способный выдержать несколько ударов. + ent-CP14BaseSickle = серп .desc = Изначально разработанное как оружие против травы, серп внезапно показал себя хорош и в более кровавой жатве. ent-CP14BaseThrowableSpear = метательное копьё .desc = Оружие, исправно выполняющее свой долг еще со времен эпохи великанов. +ent-CP14BaseSword = меч + .desc = Золотой стандарт холодного оружия. Средняя длина, удобная рукоять и никаких излишеств. + ent-CP14BaseTwoHandedSword = двуручный меч .desc = Мощное оружие, требующее огромной силы и умения для эффективного использования. @@ -695,6 +724,34 @@ ent-CP14WallmountBarShelfB = { ent-CP14WallmountBarShelfA } ent-CP14FrameWooden = каркас деревянной стены .desc = Деревянный каркас для деревянных стен любых видов. +ent-CP14AlchemyFurnaceDebug = { ent-CP14AlchemyFurnace } + .desc = { ent-CP14AlchemyFurnace.desc } + +ent-CP14AlchemyFurnace = алхимическая печь + .desc = Печь, работающая на дровах, угле или любом другом горящем материале. Удобна для подогрева алхимических зелий. + +ent-CP14AlchemyNormalizer = нормализатор растворов + .desc = Алхимический прибор, удаляющий мелкий осадок из растворов и стабилизирующий его для дальнейшей работы + +ent-CP14BaseVat = чан + .desc = Очень большой чан для хранения огромного количества жидкости. Тяжелый, неудобный для переноски. + +ent-CP14PloughedGround = вскопанная почва + +ent-CP14SeedbedDefault = лоток для семян + +ent-CP14GatherableWildBase = { ent-CP14GatherableBase } + .desc = { ent-CP14GatherableBase.desc } + +ent-CP14GatherablePlantBase = { ent-CP14GatherableBase } + .desc = { ent-CP14GatherableBase.desc } + +ent-CP14PlantWheat = пщеница + .desc = Наиболее популярная культура. Непритязательна, и открывает дорогу к разнообразию мучных изделий. + +ent-CP14PlantWheatDeath = мертвая пшеница + .desc = Грустное зрелище потерянной еды. + ent-CP14GatherableBloodgrass = кровьтрава .desc = Самое скучное и распространенное растение, которое можно встретить в природе, - это темно-коричневая трава. .suffix = Gatherable @@ -715,18 +772,6 @@ ent-CP14GatherableLumiMushroom = люмигрибы .desc = Слабо светящийся гриб. Часто используется алхимиками как средство для концентрации растворов. .suffix = Gatherable -ent-CP14AlchemyFurnaceDebug = { ent-CP14AlchemyFurnace } - .desc = { ent-CP14AlchemyFurnace.desc } - -ent-CP14AlchemyFurnace = алхимическая печь - .desc = Печь, работающая на дровах, угле или любом другом горящем материале. Удобна для подогрева алхимических зелий. - -ent-CP14AlchemyNormalizer = нормализатор растворов - .desc = Алхимический прибор, удаляющий мелкий осадок из растворов и стабилизирующий его для дальнейшей работы - -ent-CP14BaseVat = чан - .desc = Очень большой чан для хранения огромного количества жидкости. Тяжелый, неудобный для переноски. - ent-CP14ChestGeneric = сундук .desc = Chest. @@ -811,6 +856,9 @@ ent-CP14WallWooden = деревянная стена ent-CP14WallCardboard = картонная стена .desc = Тонкая, непрочная стена из бумаги и картона. Популярна в теплых странах. +ent-CP14WallCyan = голубая стена + .desc = { ent-CP14BaseWall.desc } + ent-CP14BaseFenceWood = деревянный забор .desc = Деревянный кусок ограды. Надеюсь, за ним находится сад бабушки. @@ -853,6 +901,12 @@ ent-CP14WindowStoneBrick = окно в стене из каменного кир ent-CP14WindowWooden = wooden window .desc = A wooden wall with a glass window in it. +ent-CP14ClothingHeadWhiteBeret = белый берет + .desc = Это берет. + +ent-CP14ClothingShirtCottonBlueDark = хлопковая темная рубаха + .desc = { ent-CP14ClothingShirtCottonBlue.desc } + ent-CP14ClothingEyesGoldGlasses = золотые очки .desc = Аристократично, модно, да еще и с позолотой. diff --git a/Resources/Locale/ru-RU/_CP14/job/department.ftl b/Resources/Locale/ru-RU/_CP14/job/department.ftl index b986d3e38e..1c7939bf68 100644 --- a/Resources/Locale/ru-RU/_CP14/job/department.ftl +++ b/Resources/Locale/ru-RU/_CP14/job/department.ftl @@ -1,5 +1,5 @@ -department-CP14Free = Свободные гражданские -department-CP14Free-desc = Лица, не обремененные контрактами и работой на государство, но и не получающие от него бесплатной помощи. Найдите свой способ заработка. +department-CP14Mercenary = Наемники +department-CP14Mercenary-desc = Лица, присоединившиеся к экспедиции с целью подзаработать деньжат. -department-CP14Command = Служители закона -department-CP14Command-desc = Лица, напрямую работающие на представителей власти. Связанные магическим контрактом, они не могут действовать против интересов государства. \ No newline at end of file +department-CP14Command = Организаторы экспедиции +department-CP14Command-desc = Лица, ответственные за выполнение поставленной от великого дома задачи. \ No newline at end of file diff --git a/Resources/Locale/ru-RU/_CP14/job/job.ftl b/Resources/Locale/ru-RU/_CP14/job/job.ftl index ed42e09684..3bdaf9d784 100644 --- a/Resources/Locale/ru-RU/_CP14/job/job.ftl +++ b/Resources/Locale/ru-RU/_CP14/job/job.ftl @@ -1,3 +1,6 @@ +cp14-job-name-captain = Капитан экспедиции +cp14-job-desc-captain = Вы - самая важная персона в этой экспедиции. Организуйте ее участников и руководите процессами, чтобы выполнить поставленную от руководства задачу. + cp14-job-name-adventurer = Авантюрист cp14-job-desc-adventurer = Охотник за острыми эмоциями, богатствами и славой, постоянно рискующий своей жизнью. Ищите ценности в опасных местах, и продавайте их поселению. diff --git a/Resources/Locale/ru-RU/_CP14/loadouts/loadout.ftl b/Resources/Locale/ru-RU/_CP14/loadouts/loadout.ftl new file mode 100644 index 0000000000..97debab8de --- /dev/null +++ b/Resources/Locale/ru-RU/_CP14/loadouts/loadout.ftl @@ -0,0 +1,14 @@ +# Basic + +cp14-loadout-basic-cloak = Накидка +cp14-loadout-basic-eyes = Очки +cp14-loadout-basic-gloves = Перчатки +cp14-loadout-basic-head = Головa +cp14-loadout-basic-mask = Маска +cp14-loadout-basic-pants = Штаны +cp14-loadout-basic-shirt = Рубашка +cp14-loadout-basic-shoes = Обувь + +# Org + +cp14-loadout-captain-cloak = Капитанская накидка \ No newline at end of file diff --git a/Resources/Locale/ru-RU/_CP14/loadouts/test.ftl b/Resources/Locale/ru-RU/_CP14/loadouts/test.ftl deleted file mode 100644 index 360953347f..0000000000 --- a/Resources/Locale/ru-RU/_CP14/loadouts/test.ftl +++ /dev/null @@ -1,8 +0,0 @@ -cp14-loadout-test-cloak = Накидка -cp14-loadout-test-eyes = Очки -cp14-loadout-test-gloves = Перчатки -cp14-loadout-test-head = Головной убор -cp14-loadout-test-mask = Маска -cp14-loadout-test-pants = Штаны -cp14-loadout-test-shirt = Рубашка -cp14-loadout-test-shoes = Обувь \ No newline at end of file diff --git a/Resources/Maps/Test/dev_map.yml b/Resources/Maps/Test/dev_map.yml index ca885d584b..520a4da5ae 100644 --- a/Resources/Maps/Test/dev_map.yml +++ b/Resources/Maps/Test/dev_map.yml @@ -385,11 +385,11 @@ entities: - type: Transform - type: Map - type: PhysicsMap + - type: GridTree + - type: MovedGrids - type: Broadphase - type: OccluderTree - type: LoadedMap - - type: GridTree - - type: MovedGrids - proto: AirAlarm entities: - uid: 800 @@ -401,8 +401,6 @@ entities: - type: DeviceList devices: - 801 - - type: AtmosDevice - joinedGrid: 179 - proto: AirCanister entities: - uid: 458 @@ -410,8 +408,6 @@ entities: - type: Transform pos: 7.5,-0.5 parent: 179 - - type: AtmosDevice - joinedGrid: 179 - proto: Airlock entities: - uid: 48 @@ -901,33 +897,21 @@ entities: - type: Transform pos: -2.5,-14.5 parent: 179 - - type: DeviceLinkSink - links: - - 1013 - uid: 697 components: - type: Transform pos: 1.5,-14.5 parent: 179 - - type: DeviceLinkSink - links: - - 1014 - uid: 698 components: - type: Transform pos: 1.5,-16.5 parent: 179 - - type: DeviceLinkSink - links: - - 1014 - uid: 984 components: - type: Transform pos: -2.5,-16.5 parent: 179 - - type: DeviceLinkSink - links: - - 1013 - proto: BoozeDispenser entities: - uid: 752 @@ -2660,13 +2644,6 @@ entities: - type: Transform pos: 24.5,5.5 parent: 179 -- proto: chem_master - entities: - - uid: 311 - components: - - type: Transform - pos: 8.5,11.5 - parent: 179 - proto: ChemDispenser entities: - uid: 583 @@ -2704,6 +2681,13 @@ entities: - type: Transform pos: 6.4651074,9.828774 parent: 179 +- proto: ChemMaster + entities: + - uid: 311 + components: + - type: Transform + pos: 8.5,11.5 + parent: 179 - proto: ChemMasterMachineCircuitboard entities: - uid: 718 @@ -3031,27 +3015,18 @@ entities: - type: Transform pos: -2.5,-15.5 parent: 179 - - type: DeviceLinkSink - links: - - 699 - uid: 259 components: - type: Transform rot: 3.141592653589793 rad pos: 1.5,-14.5 parent: 179 - - type: DeviceLinkSink - links: - - 983 - uid: 463 components: - type: Transform rot: 3.141592653589793 rad pos: 1.5,-16.5 parent: 179 - - type: DeviceLinkSink - links: - - 983 - uid: 677 components: - type: Transform @@ -3063,61 +3038,40 @@ entities: rot: -1.5707963267948966 rad pos: -1.5,11.5 parent: 179 - - type: DeviceLinkSink - links: - - 722 - uid: 720 components: - type: Transform rot: -1.5707963267948966 rad pos: -0.5,11.5 parent: 179 - - type: DeviceLinkSink - links: - - 722 - uid: 721 components: - type: Transform rot: -1.5707963267948966 rad pos: 0.5,11.5 parent: 179 - - type: DeviceLinkSink - links: - - 722 - uid: 985 components: - type: Transform rot: 3.141592653589793 rad pos: 1.5,-13.5 parent: 179 - - type: DeviceLinkSink - links: - - 983 - uid: 989 components: - type: Transform rot: 3.141592653589793 rad pos: 1.5,-15.5 parent: 179 - - type: DeviceLinkSink - links: - - 983 - uid: 990 components: - type: Transform pos: -2.5,-13.5 parent: 179 - - type: DeviceLinkSink - links: - - 699 - uid: 991 components: - type: Transform pos: -2.5,-16.5 parent: 179 - - type: DeviceLinkSink - links: - - 699 - proto: CrateEngineeringToolbox entities: - uid: 692 @@ -3575,8 +3529,6 @@ entities: rot: -1.5707963267948966 rad pos: 3.5,-3.5 parent: 179 - - type: AtmosDevice - joinedGrid: 179 - proto: GasMixer entities: - uid: 747 @@ -3585,8 +3537,6 @@ entities: rot: -1.5707963267948966 rad pos: 3.5,-2.5 parent: 179 - - type: AtmosDevice - joinedGrid: 179 - proto: GasOutletInjector entities: - uid: 429 @@ -3595,8 +3545,6 @@ entities: rot: -1.5707963267948966 rad pos: 6.5,-1.5 parent: 179 - - type: AtmosDevice - joinedGrid: 179 - proto: GasPipeBend entities: - uid: 727 @@ -3635,8 +3583,6 @@ entities: rot: -1.5707963267948966 rad pos: 6.5,-0.5 parent: 179 - - type: AtmosDevice - joinedGrid: 179 - proto: GasPressurePump entities: - uid: 171 @@ -3645,8 +3591,6 @@ entities: rot: -1.5707963267948966 rad pos: 4.5,-3.5 parent: 179 - - type: AtmosDevice - joinedGrid: 179 - proto: GasValve entities: - uid: 168 @@ -3655,8 +3599,6 @@ entities: rot: -1.5707963267948966 rad pos: 4.5,-2.5 parent: 179 - - type: AtmosDevice - joinedGrid: 179 - proto: GasVentPump entities: - uid: 729 @@ -3665,8 +3607,6 @@ entities: rot: -1.5707963267948966 rad pos: 6.5,-3.5 parent: 179 - - type: AtmosDevice - joinedGrid: 179 - proto: GasVentScrubber entities: - uid: 452 @@ -3675,8 +3615,6 @@ entities: rot: -1.5707963267948966 rad pos: 6.5,-2.5 parent: 179 - - type: AtmosDevice - joinedGrid: 179 - proto: GasVolumePump entities: - uid: 160 @@ -3685,8 +3623,6 @@ entities: rot: -1.5707963267948966 rad pos: 4.5,-1.5 parent: 179 - - type: AtmosDevice - joinedGrid: 179 - proto: GeigerCounter entities: - uid: 759 @@ -4223,9 +4159,6 @@ entities: - type: Transform pos: 12.5,24.5 parent: 179 - - type: DeviceLinkSink - links: - - 1083 - proto: MachineFrame entities: - uid: 533 @@ -4379,8 +4312,6 @@ entities: - type: Transform pos: 7.5,-1.5 parent: 179 - - type: AtmosDevice - joinedGrid: 179 - proto: Ointment entities: - uid: 148 @@ -4400,8 +4331,6 @@ entities: - type: Transform pos: 7.5,-3.5 parent: 179 - - type: AtmosDevice - joinedGrid: 179 - proto: PaperBin10 entities: - uid: 977 @@ -4435,8 +4364,6 @@ entities: - type: Transform pos: 7.5,-2.5 parent: 179 - - type: AtmosDevice - joinedGrid: 179 - proto: PlasticFlapsAirtightClear entities: - uid: 997 @@ -5112,7 +5039,7 @@ entities: - type: Transform pos: -6.5,-12.5 parent: 179 -- proto: soda_dispenser +- proto: SodaDispenser entities: - uid: 751 components: @@ -5164,20 +5091,6 @@ entities: - type: Transform pos: -3.5,4.5 parent: 179 -- proto: SpawnVehicleATV - entities: - - uid: 1176 - components: - - type: Transform - pos: -7.5,1.5 - parent: 179 -- proto: SpawnVehicleJanicart - entities: - - uid: 904 - components: - - type: Transform - pos: 5.5,16.5 - parent: 179 - proto: Spear entities: - uid: 185 @@ -5809,20 +5722,6 @@ entities: - type: Transform pos: -7.5,4.5 parent: 179 -- proto: VehicleKeyATV - entities: - - uid: 1187 - components: - - type: Transform - pos: -6.8905525,1.5128828 - parent: 179 -- proto: VehicleKeyJanicart - entities: - - uid: 14 - components: - - type: Transform - pos: 6.5,16.5 - parent: 179 - proto: VendingMachineCigs entities: - uid: 870 diff --git a/Resources/Prototypes/Entities/Mobs/Player/humanoid.yml b/Resources/Prototypes/Entities/Mobs/Player/humanoid.yml index 5bcc33b5f6..47baca6134 100644 --- a/Resources/Prototypes/Entities/Mobs/Player/humanoid.yml +++ b/Resources/Prototypes/Entities/Mobs/Player/humanoid.yml @@ -607,6 +607,8 @@ - type: randomHumanoidSettings id: LostCargoTechnician parent: EventHumanoid + speciesBlacklist: + - Vox components: - type: GhostRole name: ghost-role-information-lost-cargo-technical-name @@ -658,6 +660,8 @@ id: ClownTroupe parent: EventHumanoid randomizeName: false + speciesBlacklist: + - Vox components: - type: GhostRole name: ghost-role-information-clown-troupe-name @@ -708,6 +712,8 @@ - type: randomHumanoidSettings id: TravelingChef parent: EventHumanoid + speciesBlacklist: + - Vox components: - type: GhostRole name: ghost-role-information-traveling-chef-name @@ -768,6 +774,8 @@ - type: randomHumanoidSettings id: DisasterVictimHead parent: EventHumanoidMindShielded + speciesBlacklist: + - Vox components: - type: GhostRole name: ghost-role-information-disaster-victim-name @@ -826,6 +834,8 @@ - type: randomHumanoidSettings id: SyndieDisasterVictim parent: EventHumanoid + speciesBlacklist: + - Vox components: - type: NpcFactionMember factions: diff --git a/Resources/Prototypes/Entities/Mobs/Species/reptilian.yml b/Resources/Prototypes/Entities/Mobs/Species/reptilian.yml index ad543620cf..0d93e6fe51 100644 --- a/Resources/Prototypes/Entities/Mobs/Species/reptilian.yml +++ b/Resources/Prototypes/Entities/Mobs/Species/reptilian.yml @@ -71,5 +71,11 @@ components: - type: HumanoidAppearance species: Reptilian + hideLayersOnEquip: + - Snout + - HeadTop + - HeadSide + - type: Inventory + speciesId: reptilian #Weh diff --git a/Resources/Prototypes/Entities/Structures/Walls/walls.yml b/Resources/Prototypes/Entities/Structures/Walls/walls.yml index 7af9981255..1ab770812a 100644 --- a/Resources/Prototypes/Entities/Structures/Walls/walls.yml +++ b/Resources/Prototypes/Entities/Structures/Walls/walls.yml @@ -1109,6 +1109,11 @@ - type: IconSmooth key: walls base: mining + - type: RandomIconSmooth + randomStates: + - mining + - miningB + - type: Appearance - type: entity parent: WallShuttleDiagonal diff --git a/Resources/Prototypes/GameRules/events.yml b/Resources/Prototypes/GameRules/events.yml index 0b183039a9..7784b72556 100644 --- a/Resources/Prototypes/GameRules/events.yml +++ b/Resources/Prototypes/GameRules/events.yml @@ -151,6 +151,10 @@ minimumPlayers: 30 - type: SpaceSpawnRule - type: AntagLoadProfileRule + # Vox disabled until loadouts work on AntagSelection-based spawns + speciesOverride: Human + speciesOverrideBlacklist: + - Vox - type: AntagObjectives objectives: - StealResearchObjective diff --git a/Resources/Prototypes/_CP14/Entities/Clothing/Cloak/cloak.yml b/Resources/Prototypes/_CP14/Entities/Clothing/Cloak/basic_cloak.yml similarity index 83% rename from Resources/Prototypes/_CP14/Entities/Clothing/Cloak/cloak.yml rename to Resources/Prototypes/_CP14/Entities/Clothing/Cloak/basic_cloak.yml index bdbefd1a58..42c292cf81 100644 --- a/Resources/Prototypes/_CP14/Entities/Clothing/Cloak/cloak.yml +++ b/Resources/Prototypes/_CP14/Entities/Clothing/Cloak/basic_cloak.yml @@ -84,4 +84,17 @@ - type: Sprite sprite: _CP14/Clothing/Cloak/Simple/dark_blue.rsi - type: Clothing - sprite: _CP14/Clothing/Cloak/Simple/dark_blue.rsi \ No newline at end of file + sprite: _CP14/Clothing/Cloak/Simple/dark_blue.rsi + +- type: entity + parent: + - CP14ClothingCloakBase + - ClothingSlotBase + id: CP14ClothingCloakCaptainJacket + name: captain's jacket + description: the colors white and gold tell you that you're looking at a higher power. + components: + - type: Sprite + sprite: _CP14/Clothing/Cloak/captain_jacket.rsi + - type: Clothing + sprite: _CP14/Clothing/Cloak/captain_jacket.rsi \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Clothing/Head/helmets.yml b/Resources/Prototypes/_CP14/Entities/Clothing/Head/helmets.yml index a66c6ce598..6368a1d215 100644 --- a/Resources/Prototypes/_CP14/Entities/Clothing/Head/helmets.yml +++ b/Resources/Prototypes/_CP14/Entities/Clothing/Head/helmets.yml @@ -71,11 +71,44 @@ - type: entity parent: CP14ClothingHeadBase - id: CP14ClothingHeadWhiteBeret - name: white beret + id: CP14ClothingHeadYellowBeret + name: yellow beret description: this is beret. components: - type: Sprite - sprite: _CP14/Clothing/Head/Beret/white.rsi + sprite: _CP14/Clothing/Head/Beret/yellow.rsi - type: Clothing - sprite: _CP14/Clothing/Head/Beret/white.rsi \ No newline at end of file + sprite: _CP14/Clothing/Head/Beret/yellow.rsi + +- type: entity + parent: CP14ClothingHeadBase + id: CP14ClothingHeadBlueBeret + name: blue beret + description: this is beret. + components: + - type: Sprite + sprite: _CP14/Clothing/Head/Beret/blue.rsi + - type: Clothing + sprite: _CP14/Clothing/Head/Beret/blue.rsi + +- type: entity + parent: CP14ClothingHeadBase + id: CP14ClothingHeadBlackBeret + name: black beret + description: this is beret. + components: + - type: Sprite + sprite: _CP14/Clothing/Head/Beret/black.rsi + - type: Clothing + sprite: _CP14/Clothing/Head/Beret/black.rsi + +- type: entity + parent: CP14ClothingHeadBase + id: CP14ClothingHeadCaptainCap + name: captain's cap + description: No, look how handsome he is! + components: + - type: Sprite + sprite: _CP14/Clothing/Head/captain_cap.rsi + - type: Clothing + sprite: _CP14/Clothing/Head/captain_cap.rsi \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Clothing/Shirt/shirt.yml b/Resources/Prototypes/_CP14/Entities/Clothing/Shirt/shirt.yml index 0b8f48dc5e..1e89cc6ae7 100644 --- a/Resources/Prototypes/_CP14/Entities/Clothing/Shirt/shirt.yml +++ b/Resources/Prototypes/_CP14/Entities/Clothing/Shirt/shirt.yml @@ -24,14 +24,14 @@ - type: entity parent: CP14ClothingShirtBase - id: CP14ClothingShirtCottonBlueDark - name: cotton dark shirt + id: CP14ClothingShirtCottonBlack + name: cotton black shirt description: Pleasant to the touch material, in a comfortable loose shirt shape. components: - type: Sprite - sprite: _CP14/Clothing/Shirt/Cotton/dark_blue.rsi + sprite: _CP14/Clothing/Shirt/Cotton/black.rsi - type: Clothing - sprite: _CP14/Clothing/Shirt/Cotton/dark_blue.rsi + sprite: _CP14/Clothing/Shirt/Cotton/black.rsi - type: entity parent: CP14ClothingShirtBase diff --git a/Resources/Prototypes/_CP14/Entities/Markers/Spawners/Random/battle_royale_temp.yml b/Resources/Prototypes/_CP14/Entities/Markers/Spawners/Random/battle_royale_temp.yml index 28d59d8835..e838548ff0 100644 --- a/Resources/Prototypes/_CP14/Entities/Markers/Spawners/Random/battle_royale_temp.yml +++ b/Resources/Prototypes/_CP14/Entities/Markers/Spawners/Random/battle_royale_temp.yml @@ -83,13 +83,15 @@ - CP14ClothingHeadTriangularHatGolden - CP14ClothingHeadRedBeret - CP14ClothingHeadPurpleBeret - - CP14ClothingHeadWhiteBeret + - CP14ClothingHeadYellowBeret + - CP14ClothingHeadBlueBeret + - CP14ClothingHeadBlackBeret - CP14ClothingPantsTrouserWhite - CP14ClothingPantsTrouserDarkBlue - CP14ClothingPantsAristocratic - CP14ClothingPantsLoincloth - CP14ClothingShirtCottonBlue - - CP14ClothingShirtCottonBlueDark + - CP14ClothingShirtCottonBlack - CP14ClothingShirtCottonPurple - CP14ClothingShirtCottonRed - CP14ClothingShirtCottonWhite diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Tools/rope.yml b/Resources/Prototypes/_CP14/Entities/Objects/Tools/rope.yml new file mode 100644 index 0000000000..62e8ba7c22 --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Objects/Tools/rope.yml @@ -0,0 +1,34 @@ +- type: entity + id: CP14Rope + parent: BaseItem + name: rope + description: Multifunctional rope. You can tie something with it. Or someone. + components: + - type: Item + size: Small + storedRotation: 90 + - type: Handcuff + cuffedRSI: _CP14/Objects/Tools/rope.rsi + bodyIconState: body-overlay + startCuffSound: + path: /Audio/Items/Handcuffs/rope_start.ogg + endCuffSound: + path: /Audio/Items/Handcuffs/rope_end.ogg + startUncuffSound: + path: /Audio/Items/Handcuffs/rope_start.ogg + endUncuffSound: + path: /Audio/Items/Handcuffs/rope_breakout.ogg + startBreakoutSound: + path: /Audio/Items/Handcuffs/rope_takeoff.ogg + - type: Sprite + sprite: _CP14/Objects/Tools/rope.rsi + state: icon + - type: MeleeWeapon + wideAnimationRotation: 90 + resetOnHandSelected: false + animation: WeaponArcDisarm + damage: + types: + Blunt: 0 + - type: UseDelay + delay: 3 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/shield.yml b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/shield.yml new file mode 100644 index 0000000000..c07e439b8b --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/shield.yml @@ -0,0 +1,65 @@ +- type: entity + id: CP14BaseShield + parent: BaseItem + name: shield + description: A wooden shield capable of withstanding multiple blows. + components: + - type: Sprite + sprite: _CP14/Objects/Weapons/Melee/Shield/shield.rsi + state: icon + - type: Item + sprite: _CP14/Objects/Weapons/Melee/Shield/shield.rsi + size: Ginormous + - type: Blocking + passiveBlockModifier: + coefficients: + Blunt: 0.9 + Slash: 0.9 + Piercing: 0.9 + Heat: 0.9 + activeBlockModifier: + coefficients: + Blunt: 0.8 + Slash: 0.8 + Piercing: 0.8 + Heat: 0.8 + flatReductions: + Blunt: 1 + Slash: 1 + Piercing: 1 + Heat: 1 + - type: Clothing + equipDelay: 0.45 + unequipDelay: 0.45 + sprite: _CP14/Objects/Weapons/Melee/Shield/shield.rsi + quickEquip: false + breakOnMove: false + slots: + - back + - type: Damageable + damageContainer: Shield + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 140 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 100 #This is probably enough damage before it breaks + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - !type:PlaySoundBehavior + sound: + collection: MetalBreak + - !type:SpawnEntitiesBehavior + spawn: + SheetSteel: + min: 2 + max: 2 + SheetGlass: + min: 2 + max: 2 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/sword.yml b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/sword.yml new file mode 100644 index 0000000000..0c9dcca964 --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/sword.yml @@ -0,0 +1,36 @@ +- type: entity + id: CP14BaseSword + parent: + - BaseItem + - CP14BaseWeaponDestructible + - CP14BaseWeaponSharp + - CP14BaseWeaponChemical + - CP14BaseWeaponLight + name: sword + description: the gold standard of edged weapons. Medium length, comfortable grip. No frills. + components: + - type: Item + size: Normal + storedRotation: -45 + - type: Clothing + equipDelay: 0.45 + unequipDelay: 0.45 + sprite: _CP14/Objects/Weapons/Melee/Sword/sword.rsi + quickEquip: false + breakOnMove: false + slots: + - back + - type: Sprite + sprite: _CP14/Objects/Weapons/Melee/Sword/sword.rsi + layers: + - state: icon + - type: MeleeWeapon + attackRate: 1.5 + wideAnimationRotation: 210 + wideAnimation: CP14WeaponArcSlash + cPAnimationLength: 0.18 + damage: + types: + Slash: 12 + soundHit: + collection: MetalThud \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Walls/walls.yml b/Resources/Prototypes/_CP14/Entities/Structures/Walls/walls.yml index 45d0c5c7c7..d41f6e698a 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Walls/walls.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Walls/walls.yml @@ -116,4 +116,16 @@ acts: [ "Destruction" ] - type: Construction graph: CP14WallWood - node: WallCardboard \ No newline at end of file + node: WallCardboard + +- type: entity + id: CP14WallCyan + name: cyan wall + parent: CP14BaseWall + components: + - type: Sprite + sprite: _CP14/Structures/Walls/cyan_wall.rsi + - type: Icon + sprite: _CP14/Structures/Walls/cyan_wall.rsi + - type: IconSmooth + base: wall diff --git a/Resources/Prototypes/_CP14/Loadouts/Jobs/Mercenary/adventurer.yml b/Resources/Prototypes/_CP14/Loadouts/Jobs/basic.yml similarity index 88% rename from Resources/Prototypes/_CP14/Loadouts/Jobs/Mercenary/adventurer.yml rename to Resources/Prototypes/_CP14/Loadouts/Jobs/basic.yml index 9b50e50e8f..bc40ef5725 100644 --- a/Resources/Prototypes/_CP14/Loadouts/Jobs/Mercenary/adventurer.yml +++ b/Resources/Prototypes/_CP14/Loadouts/Jobs/basic.yml @@ -127,13 +127,31 @@ head: CP14ClothingHeadPurpleBeret - type: loadout - id: CP14ClothingHeadWhiteBeret - equipment: CP14ClothingHeadWhiteBeret + id: CP14ClothingHeadYellowBeret + equipment: CP14ClothingHeadYellowBeret - type: startingGear - id: CP14ClothingHeadWhiteBeret + id: CP14ClothingHeadYellowBeret equipment: - head: CP14ClothingHeadWhiteBeret + head: CP14ClothingHeadYellowBeret + +- type: loadout + id: CP14ClothingHeadBlueBeret + equipment: CP14ClothingHeadBlueBeret + +- type: startingGear + id: CP14ClothingHeadBlueBeret + equipment: + head: CP14ClothingHeadBlueBeret + +- type: loadout + id: CP14ClothingHeadBlackBeret + equipment: CP14ClothingHeadBlackBeret + +- type: startingGear + id: CP14ClothingHeadBlackBeret + equipment: + head: CP14ClothingHeadBlackBeret # Mask @@ -200,13 +218,13 @@ - type: loadout - id: CP14ClothingShirtCottonBlueDark - equipment: CP14ClothingShirtCottonBlueDark + id: CP14ClothingShirtCottonBlack + equipment: CP14ClothingShirtCottonBlack - type: startingGear - id: CP14ClothingShirtCottonBlueDark + id: CP14ClothingShirtCottonBlack equipment: - shirt: CP14ClothingShirtCottonBlueDark + shirt: CP14ClothingShirtCottonBlack - type: loadout diff --git a/Resources/Prototypes/_CP14/Loadouts/Jobs/captain.yml b/Resources/Prototypes/_CP14/Loadouts/Jobs/captain.yml new file mode 100644 index 0000000000..73fd36551c --- /dev/null +++ b/Resources/Prototypes/_CP14/Loadouts/Jobs/captain.yml @@ -0,0 +1,19 @@ +# Head +- type: loadout + id: CP14ClothingHeadCaptainCap + equipment: CP14ClothingHeadCaptainCap + +- type: startingGear + id: CP14ClothingHeadCaptainCap + equipment: + head: CP14ClothingHeadCaptainCap + +# Cloak +- type: loadout + id: CP14ClothingCloakCaptainJacket + equipment: CP14ClothingCloakCaptainJacket + +- type: startingGear + id: CP14ClothingCloakCaptainJacket + equipment: + cloak: CP14ClothingCloakCaptainJacket \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Loadouts/loadout_groups.yml b/Resources/Prototypes/_CP14/Loadouts/loadout_groups.yml index 1806304c3f..db70d8b56c 100644 --- a/Resources/Prototypes/_CP14/Loadouts/loadout_groups.yml +++ b/Resources/Prototypes/_CP14/Loadouts/loadout_groups.yml @@ -1,6 +1,8 @@ +# Basic + - type: loadoutGroup - id: CP14TestCloak - name: cp14-loadout-test-cloak + id: CP14BasicCloak + name: cp14-loadout-basic-cloak minLimit: 0 loadouts: - CP14ClothingCloakSimpleWhite @@ -10,23 +12,29 @@ - CP14ClothingCloakFurcapeBlue - type: loadoutGroup - id: CP14TestEyes - name: cp14-loadout-test-eyes + id: CP14BasicEyes + name: cp14-loadout-basic-eyes minLimit: 0 loadouts: - CP14ClothingEyesMonocle - CP14ClothingEyesGlasses - type: loadoutGroup - id: CP14TestGloves - name: cp14-loadout-test-gloves + id: CP14BasicGloves + name: cp14-loadout-basic-gloves minLimit: 0 loadouts: - CP14Girdles +- type: loadoutGroup + id: CP14BasicMask + name: cp14-loadout-basic-mask + minLimit: 0 + loadouts: + - CP14Sinner - type: loadoutGroup - id: CP14TestHead - name: cp14-loadout-test-head + id: CP14BasicHead + name: cp14-loadout-basic-head minLimit: 0 loadouts: - CP14ClothingHeadMetalHeadband @@ -34,18 +42,13 @@ - CP14ClothingHeadTriangularHatGolden - CP14ClothingHeadRedBeret - CP14ClothingHeadPurpleBeret - - CP14ClothingHeadWhiteBeret + - CP14ClothingHeadYellowBeret + - CP14ClothingHeadBlueBeret + - CP14ClothingHeadBlackBeret - type: loadoutGroup - id: CP14TestMask - name: cp14-loadout-test-mask - minLimit: 0 - loadouts: - - CP14Sinner - -- type: loadoutGroup - id: CP14TestPants - name: cp14-loadout-test-pants + id: CP14BasicPants + name: cp14-loadout-basic-pants loadouts: - CP14ClothingPantsTrouserWhite - CP14ClothingPantsTrouserDarkBlue @@ -53,20 +56,34 @@ - CP14ClothingPantsLoincloth - type: loadoutGroup - id: CP14TestShirt - name: cp14-loadout-test-shirt + id: CP14BasicShirt + name: cp14-loadout-basic-shirt loadouts: - CP14ClothingShirtCottonWhite - CP14ClothingShirtCottonBlue - - CP14ClothingShirtCottonBlueDark + - CP14ClothingShirtCottonBlack - CP14ClothingShirtCottonPurple - CP14ClothingShirtCottonRed - CP14ClothingShirtCottonYellow - type: loadoutGroup - id: CP14TestShoes - name: cp14-loadout-test-shoes + id: CP14BasicShoes + name: cp14-loadout-basic-shoes loadouts: - CP14ShoesBlack - CP14ShoesAristocraticBlack - - CP14ShoesSandals \ No newline at end of file + - CP14ShoesSandals + +# Command + +- type: loadoutGroup + id: CP14CaptainHead + name: cp14-loadout-captain-head + loadouts: + - CP14ClothingHeadCaptainCap + +- type: loadoutGroup + id: CP14CaptainCloak + name: cp14-loadout-captain-cloak + loadouts: + - CP14ClothingCloakCaptainJacket \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Loadouts/role_loadouts.yml b/Resources/Prototypes/_CP14/Loadouts/role_loadouts.yml index c2914e4e9c..f54e61305a 100644 --- a/Resources/Prototypes/_CP14/Loadouts/role_loadouts.yml +++ b/Resources/Prototypes/_CP14/Loadouts/role_loadouts.yml @@ -1,23 +1,35 @@ - type: roleLoadout id: JobCP14Adventurer groups: - - CP14TestHead - - CP14TestEyes - - CP14TestMask - - CP14TestCloak - - CP14TestGloves - - CP14TestShirt - - CP14TestPants - - CP14TestShoes + - CP14BasicHead + - CP14BasicEyes + - CP14BasicMask + - CP14BasicCloak + - CP14BasicGloves + - CP14BasicShirt + - CP14BasicPants + - CP14BasicShoes - type: roleLoadout id: JobCP14Alchemist groups: - - CP14TestHead - - CP14TestEyes - - CP14TestMask - - CP14TestCloak - - CP14TestGloves - - CP14TestShirt - - CP14TestPants - - CP14TestShoes \ No newline at end of file + - CP14BasicHead #TODO + - CP14BasicEyes + - CP14BasicMask + - CP14BasicCloak #TODO + - CP14BasicGloves + - CP14BasicShirt + - CP14BasicPants + - CP14BasicShoes + +- type: roleLoadout + id: JobCP14Captain + groups: + - CP14CaptainHead + - CP14BasicEyes + - CP14BasicMask + - CP14CaptainCloak + - CP14BasicGloves + - CP14BasicShirt + - CP14BasicPants + - CP14BasicShoes \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Roles/Jobs/Command/captain.yml b/Resources/Prototypes/_CP14/Roles/Jobs/Command/captain.yml new file mode 100644 index 0000000000..224d679091 --- /dev/null +++ b/Resources/Prototypes/_CP14/Roles/Jobs/Command/captain.yml @@ -0,0 +1,16 @@ +- type: job + id: CP14Captain + name: cp14-job-name-captain + description: cp14-job-desc-captain + playTimeTracker: CP14JobCaptain + startingGear: CP14CaptainGear + icon: "CP14JobIconCaptain" + requireAdminNotify: true + joinNotifyCrew: true + canBeAntag: false + supervisors: cp14-job-supervisors-command + +- type: startingGear + id: CP14CaptainGear + equipment: + belt1: CP14WalletFilledTest \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Roles/Jobs/Fun/misc_startinggear.yml b/Resources/Prototypes/_CP14/Roles/Jobs/Fun/misc_startinggear.yml index 690029225d..38c36b53db 100644 --- a/Resources/Prototypes/_CP14/Roles/Jobs/Fun/misc_startinggear.yml +++ b/Resources/Prototypes/_CP14/Roles/Jobs/Fun/misc_startinggear.yml @@ -2,7 +2,7 @@ id: CP14DeathMatchGear equipment: cloak: CP14ClothingCloakFurcapeBlue - shirt: CP14ClothingShirtCottonBlueDark + shirt: CP14ClothingShirtCottonBlack pants: CP14ClothingPantsLoincloth shoes: CP14ClothingShoesSandals inhand: diff --git a/Resources/Prototypes/_CP14/Roles/Jobs/Free/adventurer.yml b/Resources/Prototypes/_CP14/Roles/Jobs/Mercenary/adventurer.yml similarity index 56% rename from Resources/Prototypes/_CP14/Roles/Jobs/Free/adventurer.yml rename to Resources/Prototypes/_CP14/Roles/Jobs/Mercenary/adventurer.yml index d2b2e4b0b0..a944a4417a 100644 --- a/Resources/Prototypes/_CP14/Roles/Jobs/Free/adventurer.yml +++ b/Resources/Prototypes/_CP14/Roles/Jobs/Mercenary/adventurer.yml @@ -11,19 +11,6 @@ skills: - Warcraft -- type: job - id: CP14Alchemist - name: cp14-job-name-alchemist - description: cp14-job-desc-alchemist - playTimeTracker: CP14JobAlchemist - startingGear: CP14AdventurerGear #TODO - icon: "CP14JobIconAlchemist" - supervisors: cp14-job-supervisors-command - special: - - !type:CP14AddSkillSpecial - skills: - - Alchemy - - type: startingGear id: CP14AdventurerGear equipment: diff --git a/Resources/Prototypes/_CP14/Roles/Jobs/Mercenary/alchemist.yml b/Resources/Prototypes/_CP14/Roles/Jobs/Mercenary/alchemist.yml new file mode 100644 index 0000000000..730f4725c5 --- /dev/null +++ b/Resources/Prototypes/_CP14/Roles/Jobs/Mercenary/alchemist.yml @@ -0,0 +1,17 @@ +- type: job + id: CP14Alchemist + name: cp14-job-name-alchemist + description: cp14-job-desc-alchemist + playTimeTracker: CP14JobAlchemist + startingGear: CP14AlchemistGear + icon: "CP14JobIconAlchemist" + supervisors: cp14-job-supervisors-command + special: + - !type:CP14AddSkillSpecial + skills: + - Alchemy + +- type: startingGear + id: CP14AlchemistGear + equipment: + belt1: CP14WalletFilledTest \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Roles/Jobs/departments.yml b/Resources/Prototypes/_CP14/Roles/Jobs/departments.yml index 28aa2a5fe4..c2de998e89 100644 --- a/Resources/Prototypes/_CP14/Roles/Jobs/departments.yml +++ b/Resources/Prototypes/_CP14/Roles/Jobs/departments.yml @@ -1,5 +1,5 @@ - type: department - id: CP14Free + id: CP14Mercenary description: department-CP14Free-desc color: "#429976" roles: @@ -10,3 +10,5 @@ id: CP14Command description: department-CP14Command-desc color: "#fadb3e" + roles: + - CP14Captain diff --git a/Resources/Prototypes/_CP14/Roles/play_time_tracker.yml b/Resources/Prototypes/_CP14/Roles/play_time_tracker.yml index f2138b65ec..86877f6f23 100644 --- a/Resources/Prototypes/_CP14/Roles/play_time_tracker.yml +++ b/Resources/Prototypes/_CP14/Roles/play_time_tracker.yml @@ -4,4 +4,7 @@ id: CP14JobAdventurer - type: playTimeTracker - id: CP14JobAlchemist \ No newline at end of file + id: CP14JobAlchemist + +- type: playTimeTracker + id: CP14JobCaptain \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/StatusEffects/job.yml b/Resources/Prototypes/_CP14/StatusEffects/job.yml index 481b8201bb..e9e8153a53 100644 --- a/Resources/Prototypes/_CP14/StatusEffects/job.yml +++ b/Resources/Prototypes/_CP14/StatusEffects/job.yml @@ -17,4 +17,11 @@ id: CP14JobIconAlchemist icon: sprite: /Textures/_CP14/Interface/Misc/job_icons.rsi - state: Alchemist \ No newline at end of file + state: Alchemist + +- type: statusIcon + parent: CP14JobIcon + id: CP14JobIconCaptain + icon: + sprite: /Textures/_CP14/Interface/Misc/job_icons.rsi + state: Captain \ No newline at end of file diff --git a/Resources/ServerInfo/Guidebook/Mobs/SlimePerson.xml b/Resources/ServerInfo/Guidebook/Mobs/SlimePerson.xml index 0374d4cb95..2c11508749 100644 --- a/Resources/ServerInfo/Guidebook/Mobs/SlimePerson.xml +++ b/Resources/ServerInfo/Guidebook/Mobs/SlimePerson.xml @@ -18,7 +18,7 @@ - Slimepeople have an [bold]internal 2x2 storage inventory[/bold] inside of their slime membrane. Anyone can see what's inside and take it out of you without asking, + Slimepeople have an [bold]internal 2x3 storage inventory[/bold] inside of their slime membrane. Anyone can see what's inside and take it out of you without asking, so be careful. They [bold]don't drop their internal storage when they morph into a geras, however![/bold] Slimepeople have slight accelerated regeneration compared to other humanoids. They're also capable of hardening their fists, and as such have stronger punches, diff --git a/Resources/Textures/Structures/Walls/mining.rsi/meta.json b/Resources/Textures/Structures/Walls/mining.rsi/meta.json index 4ce4691c51..77f4322998 100644 --- a/Resources/Textures/Structures/Walls/mining.rsi/meta.json +++ b/Resources/Textures/Structures/Walls/mining.rsi/meta.json @@ -7,40 +7,72 @@ "y": 32 }, "states": [ - { + { "name": "full" }, - { + { "name": "mining0", - "directions": 4 + "directions": 4 }, - { + { "name": "mining1", - "directions": 4 + "directions": 4 }, - { + { "name": "mining2", - "directions": 4 + "directions": 4 }, - { + { "name": "mining3", - "directions": 4 + "directions": 4 }, - { + { "name": "mining4", - "directions": 4 + "directions": 4 }, - { + { "name": "mining5", - "directions": 4 + "directions": 4 }, - { + { "name": "mining6", - "directions": 4 + "directions": 4 }, - { + { "name": "mining7", - "directions": 4 + "directions": 4 + }, + { + "name": "miningB0", + "directions": 4 + }, + { + "name": "miningB1", + "directions": 4 + }, + { + "name": "miningB2", + "directions": 4 + }, + { + "name": "miningB3", + "directions": 4 + }, + { + "name": "miningB4", + "directions": 4 + }, + { + "name": "miningB5", + "directions": 4 + }, + { + "name": "miningB6", + "directions": 4 + }, + { + "name": "miningB7", + "directions": 4 } ] } diff --git a/Resources/Textures/Structures/Walls/mining.rsi/miningB0.png b/Resources/Textures/Structures/Walls/mining.rsi/miningB0.png new file mode 100644 index 0000000000..f65f066b65 Binary files /dev/null and b/Resources/Textures/Structures/Walls/mining.rsi/miningB0.png differ diff --git a/Resources/Textures/Structures/Walls/mining.rsi/miningB1.png b/Resources/Textures/Structures/Walls/mining.rsi/miningB1.png new file mode 100644 index 0000000000..24c81aa877 Binary files /dev/null and b/Resources/Textures/Structures/Walls/mining.rsi/miningB1.png differ diff --git a/Resources/Textures/Structures/Walls/mining.rsi/miningB2.png b/Resources/Textures/Structures/Walls/mining.rsi/miningB2.png new file mode 100644 index 0000000000..f65f066b65 Binary files /dev/null and b/Resources/Textures/Structures/Walls/mining.rsi/miningB2.png differ diff --git a/Resources/Textures/Structures/Walls/mining.rsi/miningB3.png b/Resources/Textures/Structures/Walls/mining.rsi/miningB3.png new file mode 100644 index 0000000000..24c81aa877 Binary files /dev/null and b/Resources/Textures/Structures/Walls/mining.rsi/miningB3.png differ diff --git a/Resources/Textures/Structures/Walls/mining.rsi/miningB4.png b/Resources/Textures/Structures/Walls/mining.rsi/miningB4.png new file mode 100644 index 0000000000..1412f00269 Binary files /dev/null and b/Resources/Textures/Structures/Walls/mining.rsi/miningB4.png differ diff --git a/Resources/Textures/Structures/Walls/mining.rsi/miningB5.png b/Resources/Textures/Structures/Walls/mining.rsi/miningB5.png new file mode 100644 index 0000000000..8bbef8ca97 Binary files /dev/null and b/Resources/Textures/Structures/Walls/mining.rsi/miningB5.png differ diff --git a/Resources/Textures/Structures/Walls/mining.rsi/miningB6.png b/Resources/Textures/Structures/Walls/mining.rsi/miningB6.png new file mode 100644 index 0000000000..1412f00269 Binary files /dev/null and b/Resources/Textures/Structures/Walls/mining.rsi/miningB6.png differ diff --git a/Resources/Textures/Structures/Walls/mining.rsi/miningB7.png b/Resources/Textures/Structures/Walls/mining.rsi/miningB7.png new file mode 100644 index 0000000000..add9cddf83 Binary files /dev/null and b/Resources/Textures/Structures/Walls/mining.rsi/miningB7.png differ diff --git a/Resources/Textures/_CP14/Clothing/Cloak/captain_jacket.rsi/equipped-CLOAK.png b/Resources/Textures/_CP14/Clothing/Cloak/captain_jacket.rsi/equipped-CLOAK.png new file mode 100644 index 0000000000..1aeb3ec16e Binary files /dev/null and b/Resources/Textures/_CP14/Clothing/Cloak/captain_jacket.rsi/equipped-CLOAK.png differ diff --git a/Resources/Textures/_CP14/Clothing/Cloak/captain_jacket.rsi/icon.png b/Resources/Textures/_CP14/Clothing/Cloak/captain_jacket.rsi/icon.png new file mode 100644 index 0000000000..0c0b9c6e41 Binary files /dev/null and b/Resources/Textures/_CP14/Clothing/Cloak/captain_jacket.rsi/icon.png differ diff --git a/Resources/Textures/_CP14/Clothing/Shirt/Cotton/dark_blue.rsi/meta.json b/Resources/Textures/_CP14/Clothing/Cloak/captain_jacket.rsi/meta.json similarity index 89% rename from Resources/Textures/_CP14/Clothing/Shirt/Cotton/dark_blue.rsi/meta.json rename to Resources/Textures/_CP14/Clothing/Cloak/captain_jacket.rsi/meta.json index 8163f4aba3..e19dbe65a9 100644 --- a/Resources/Textures/_CP14/Clothing/Shirt/Cotton/dark_blue.rsi/meta.json +++ b/Resources/Textures/_CP14/Clothing/Cloak/captain_jacket.rsi/meta.json @@ -11,7 +11,7 @@ "name": "icon" }, { - "name": "equipped-SHIRT", + "name": "equipped-CLOAK", "directions": 4 } ] diff --git a/Resources/Textures/_CP14/Clothing/Head/Beret/black.rsi/equipped-HELMET.png b/Resources/Textures/_CP14/Clothing/Head/Beret/black.rsi/equipped-HELMET.png new file mode 100644 index 0000000000..c1d5dc2cf6 Binary files /dev/null and b/Resources/Textures/_CP14/Clothing/Head/Beret/black.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/_CP14/Clothing/Head/Beret/black.rsi/icon.png b/Resources/Textures/_CP14/Clothing/Head/Beret/black.rsi/icon.png new file mode 100644 index 0000000000..4e5a732a21 Binary files /dev/null and b/Resources/Textures/_CP14/Clothing/Head/Beret/black.rsi/icon.png differ diff --git a/Resources/Textures/_CP14/Clothing/Head/Beret/white.rsi/meta.json b/Resources/Textures/_CP14/Clothing/Head/Beret/black.rsi/meta.json similarity index 100% rename from Resources/Textures/_CP14/Clothing/Head/Beret/white.rsi/meta.json rename to Resources/Textures/_CP14/Clothing/Head/Beret/black.rsi/meta.json diff --git a/Resources/Textures/_CP14/Clothing/Head/Beret/blue.rsi/equipped-HELMET.png b/Resources/Textures/_CP14/Clothing/Head/Beret/blue.rsi/equipped-HELMET.png new file mode 100644 index 0000000000..dcacb0faed Binary files /dev/null and b/Resources/Textures/_CP14/Clothing/Head/Beret/blue.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/_CP14/Clothing/Head/Beret/blue.rsi/icon.png b/Resources/Textures/_CP14/Clothing/Head/Beret/blue.rsi/icon.png new file mode 100644 index 0000000000..68bc978622 Binary files /dev/null and b/Resources/Textures/_CP14/Clothing/Head/Beret/blue.rsi/icon.png differ diff --git a/Resources/Textures/_CP14/Clothing/Head/Beret/blue.rsi/meta.json b/Resources/Textures/_CP14/Clothing/Head/Beret/blue.rsi/meta.json new file mode 100644 index 0000000000..e6f822d30d --- /dev/null +++ b/Resources/Textures/_CP14/Clothing/Head/Beret/blue.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "All rights reserved for the CrystallPunk14 project only", + "copyright": "CrystallPunk14, by Prazat", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-HELMET", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_CP14/Clothing/Head/Beret/white.rsi/equipped-HELMET.png b/Resources/Textures/_CP14/Clothing/Head/Beret/white.rsi/equipped-HELMET.png deleted file mode 100644 index 2d84c241fa..0000000000 Binary files a/Resources/Textures/_CP14/Clothing/Head/Beret/white.rsi/equipped-HELMET.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Clothing/Head/Beret/white.rsi/icon.png b/Resources/Textures/_CP14/Clothing/Head/Beret/white.rsi/icon.png deleted file mode 100644 index 1fafb5dd48..0000000000 Binary files a/Resources/Textures/_CP14/Clothing/Head/Beret/white.rsi/icon.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Clothing/Head/Beret/yellow.rsi/equipped-HELMET.png b/Resources/Textures/_CP14/Clothing/Head/Beret/yellow.rsi/equipped-HELMET.png new file mode 100644 index 0000000000..9b066ed291 Binary files /dev/null and b/Resources/Textures/_CP14/Clothing/Head/Beret/yellow.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/_CP14/Clothing/Head/Beret/yellow.rsi/icon.png b/Resources/Textures/_CP14/Clothing/Head/Beret/yellow.rsi/icon.png new file mode 100644 index 0000000000..784d442f27 Binary files /dev/null and b/Resources/Textures/_CP14/Clothing/Head/Beret/yellow.rsi/icon.png differ diff --git a/Resources/Textures/_CP14/Clothing/Head/Beret/yellow.rsi/meta.json b/Resources/Textures/_CP14/Clothing/Head/Beret/yellow.rsi/meta.json new file mode 100644 index 0000000000..e6f822d30d --- /dev/null +++ b/Resources/Textures/_CP14/Clothing/Head/Beret/yellow.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "All rights reserved for the CrystallPunk14 project only", + "copyright": "CrystallPunk14, by Prazat", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-HELMET", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_CP14/Clothing/Head/captain_cap.rsi/equipped-HELMET.png b/Resources/Textures/_CP14/Clothing/Head/captain_cap.rsi/equipped-HELMET.png new file mode 100644 index 0000000000..1995eec88c Binary files /dev/null and b/Resources/Textures/_CP14/Clothing/Head/captain_cap.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/_CP14/Clothing/Head/captain_cap.rsi/icon.png b/Resources/Textures/_CP14/Clothing/Head/captain_cap.rsi/icon.png new file mode 100644 index 0000000000..16813bf499 Binary files /dev/null and b/Resources/Textures/_CP14/Clothing/Head/captain_cap.rsi/icon.png differ diff --git a/Resources/Textures/_CP14/Clothing/Head/captain_cap.rsi/meta.json b/Resources/Textures/_CP14/Clothing/Head/captain_cap.rsi/meta.json new file mode 100644 index 0000000000..e6e59a1821 --- /dev/null +++ b/Resources/Textures/_CP14/Clothing/Head/captain_cap.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "All rights reserved for the CrystallPunk14 project only", + "copyright": "CrystallPunk14, by Jaraten", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-HELMET", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_CP14/Clothing/Shirt/Cotton/black.rsi/equipped-SHIRT.png b/Resources/Textures/_CP14/Clothing/Shirt/Cotton/black.rsi/equipped-SHIRT.png new file mode 100644 index 0000000000..347073e063 Binary files /dev/null and b/Resources/Textures/_CP14/Clothing/Shirt/Cotton/black.rsi/equipped-SHIRT.png differ diff --git a/Resources/Textures/_CP14/Clothing/Shirt/Cotton/black.rsi/icon.png b/Resources/Textures/_CP14/Clothing/Shirt/Cotton/black.rsi/icon.png new file mode 100644 index 0000000000..178c1d0a17 Binary files /dev/null and b/Resources/Textures/_CP14/Clothing/Shirt/Cotton/black.rsi/icon.png differ diff --git a/Resources/Textures/_CP14/Clothing/Shirt/Cotton/black.rsi/meta.json b/Resources/Textures/_CP14/Clothing/Shirt/Cotton/black.rsi/meta.json new file mode 100644 index 0000000000..24e83f9ea6 --- /dev/null +++ b/Resources/Textures/_CP14/Clothing/Shirt/Cotton/black.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "All rights reserved for the CrystallPunk14 project only", + "copyright": "CrystallPunk14, by Jaraten and TheShuEd", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-SHIRT", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_CP14/Clothing/Shirt/Cotton/dark_blue.rsi/equipped-SHIRT.png b/Resources/Textures/_CP14/Clothing/Shirt/Cotton/dark_blue.rsi/equipped-SHIRT.png deleted file mode 100644 index 40f4f7bfeb..0000000000 Binary files a/Resources/Textures/_CP14/Clothing/Shirt/Cotton/dark_blue.rsi/equipped-SHIRT.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Clothing/Shirt/Cotton/dark_blue.rsi/icon.png b/Resources/Textures/_CP14/Clothing/Shirt/Cotton/dark_blue.rsi/icon.png deleted file mode 100644 index 6dc30cd7f1..0000000000 Binary files a/Resources/Textures/_CP14/Clothing/Shirt/Cotton/dark_blue.rsi/icon.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Interface/Misc/job_icons.rsi/Alchemist.png b/Resources/Textures/_CP14/Interface/Misc/job_icons.rsi/Alchemist.png index 57edab2487..fd3d67a35e 100644 Binary files a/Resources/Textures/_CP14/Interface/Misc/job_icons.rsi/Alchemist.png and b/Resources/Textures/_CP14/Interface/Misc/job_icons.rsi/Alchemist.png differ diff --git a/Resources/Textures/_CP14/Interface/Misc/job_icons.rsi/Captain.png b/Resources/Textures/_CP14/Interface/Misc/job_icons.rsi/Captain.png new file mode 100644 index 0000000000..2d32b578fd Binary files /dev/null and b/Resources/Textures/_CP14/Interface/Misc/job_icons.rsi/Captain.png differ diff --git a/Resources/Textures/_CP14/Interface/Misc/job_icons.rsi/meta.json b/Resources/Textures/_CP14/Interface/Misc/job_icons.rsi/meta.json index 4c92b4c040..5224c59fc3 100644 --- a/Resources/Textures/_CP14/Interface/Misc/job_icons.rsi/meta.json +++ b/Resources/Textures/_CP14/Interface/Misc/job_icons.rsi/meta.json @@ -12,6 +12,9 @@ }, { "name": "Alchemist" + }, + { + "name": "Captain" } ] } \ No newline at end of file diff --git a/Resources/Textures/_CP14/Objects/Tools/rope.rsi/body-overlay-2.png b/Resources/Textures/_CP14/Objects/Tools/rope.rsi/body-overlay-2.png new file mode 100644 index 0000000000..57c7a232f9 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Tools/rope.rsi/body-overlay-2.png differ diff --git a/Resources/Textures/_CP14/Objects/Tools/rope.rsi/body-overlay-4.png b/Resources/Textures/_CP14/Objects/Tools/rope.rsi/body-overlay-4.png new file mode 100644 index 0000000000..57c7a232f9 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Tools/rope.rsi/body-overlay-4.png differ diff --git a/Resources/Textures/_CP14/Objects/Tools/rope.rsi/icon.png b/Resources/Textures/_CP14/Objects/Tools/rope.rsi/icon.png new file mode 100644 index 0000000000..bdea36a527 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Tools/rope.rsi/icon.png differ diff --git a/Resources/Textures/_CP14/Objects/Tools/rope.rsi/inhand-left.png b/Resources/Textures/_CP14/Objects/Tools/rope.rsi/inhand-left.png new file mode 100644 index 0000000000..6f6d7e5d6a Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Tools/rope.rsi/inhand-left.png differ diff --git a/Resources/Textures/_CP14/Objects/Tools/rope.rsi/inhand-right.png b/Resources/Textures/_CP14/Objects/Tools/rope.rsi/inhand-right.png new file mode 100644 index 0000000000..a2a956e5d1 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Tools/rope.rsi/inhand-right.png differ diff --git a/Resources/Textures/_CP14/Objects/Tools/rope.rsi/meta.json b/Resources/Textures/_CP14/Objects/Tools/rope.rsi/meta.json new file mode 100644 index 0000000000..c04b08fbf7 --- /dev/null +++ b/Resources/Textures/_CP14/Objects/Tools/rope.rsi/meta.json @@ -0,0 +1,30 @@ +{ + "version": 1, + "license": "All rights reserved for the CrystallPunk14 project only", + "copyright": "Created by TheShuEd (github) for CrystallPunk14", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "body-overlay-2", + "directions": 4 + }, + { + "name": "body-overlay-4", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_CP14/Objects/Weapons/Melee/BattleStaff/battleStaff.rsi/inhand-left.png b/Resources/Textures/_CP14/Objects/Weapons/Melee/BattleStaff/battleStaff.rsi/inhand-left.png index 5ebd956fd4..c4b8e03a82 100644 Binary files a/Resources/Textures/_CP14/Objects/Weapons/Melee/BattleStaff/battleStaff.rsi/inhand-left.png and b/Resources/Textures/_CP14/Objects/Weapons/Melee/BattleStaff/battleStaff.rsi/inhand-left.png differ diff --git a/Resources/Textures/_CP14/Objects/Weapons/Melee/BattleStaff/battleStaff.rsi/inhand-right.png b/Resources/Textures/_CP14/Objects/Weapons/Melee/BattleStaff/battleStaff.rsi/inhand-right.png index c4b8e03a82..5ebd956fd4 100644 Binary files a/Resources/Textures/_CP14/Objects/Weapons/Melee/BattleStaff/battleStaff.rsi/inhand-right.png and b/Resources/Textures/_CP14/Objects/Weapons/Melee/BattleStaff/battleStaff.rsi/inhand-right.png differ diff --git a/Resources/Textures/_CP14/Objects/Weapons/Melee/Dagger/dagger.rsi/icon.png b/Resources/Textures/_CP14/Objects/Weapons/Melee/Dagger/dagger.rsi/icon.png index c53ab373df..40549ea80d 100644 Binary files a/Resources/Textures/_CP14/Objects/Weapons/Melee/Dagger/dagger.rsi/icon.png and b/Resources/Textures/_CP14/Objects/Weapons/Melee/Dagger/dagger.rsi/icon.png differ diff --git a/Resources/Textures/_CP14/Objects/Weapons/Melee/Shield/shield.rsi/equipped-BACKPACK.png b/Resources/Textures/_CP14/Objects/Weapons/Melee/Shield/shield.rsi/equipped-BACKPACK.png new file mode 100644 index 0000000000..9b65325e45 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Weapons/Melee/Shield/shield.rsi/equipped-BACKPACK.png differ diff --git a/Resources/Textures/_CP14/Objects/Weapons/Melee/Shield/shield.rsi/icon.png b/Resources/Textures/_CP14/Objects/Weapons/Melee/Shield/shield.rsi/icon.png new file mode 100644 index 0000000000..670e6debd2 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Weapons/Melee/Shield/shield.rsi/icon.png differ diff --git a/Resources/Textures/_CP14/Objects/Weapons/Melee/Shield/shield.rsi/inhand-left.png b/Resources/Textures/_CP14/Objects/Weapons/Melee/Shield/shield.rsi/inhand-left.png new file mode 100644 index 0000000000..7c810035d5 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Weapons/Melee/Shield/shield.rsi/inhand-left.png differ diff --git a/Resources/Textures/_CP14/Objects/Weapons/Melee/Shield/shield.rsi/inhand-right.png b/Resources/Textures/_CP14/Objects/Weapons/Melee/Shield/shield.rsi/inhand-right.png new file mode 100644 index 0000000000..ea7f1030c6 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Weapons/Melee/Shield/shield.rsi/inhand-right.png differ diff --git a/Resources/Textures/_CP14/Objects/Weapons/Melee/Shield/shield.rsi/meta.json b/Resources/Textures/_CP14/Objects/Weapons/Melee/Shield/shield.rsi/meta.json new file mode 100644 index 0000000000..3399c8c70d --- /dev/null +++ b/Resources/Textures/_CP14/Objects/Weapons/Melee/Shield/shield.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "All rights reserved for the CrystallPunk14 project only", + "copyright": "Created by TheShuEd (Github) for CrystallPunk", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "equipped-BACKPACK", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_CP14/Objects/Weapons/Melee/Sword/sword.rsi/equipped-BACKPACK.png b/Resources/Textures/_CP14/Objects/Weapons/Melee/Sword/sword.rsi/equipped-BACKPACK.png new file mode 100644 index 0000000000..c3a81e95f5 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Weapons/Melee/Sword/sword.rsi/equipped-BACKPACK.png differ diff --git a/Resources/Textures/_CP14/Objects/Weapons/Melee/Sword/sword.rsi/icon.png b/Resources/Textures/_CP14/Objects/Weapons/Melee/Sword/sword.rsi/icon.png new file mode 100644 index 0000000000..af8fcc6106 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Weapons/Melee/Sword/sword.rsi/icon.png differ diff --git a/Resources/Textures/_CP14/Objects/Weapons/Melee/Sword/sword.rsi/inhand-left.png b/Resources/Textures/_CP14/Objects/Weapons/Melee/Sword/sword.rsi/inhand-left.png new file mode 100644 index 0000000000..4953abafe7 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Weapons/Melee/Sword/sword.rsi/inhand-left.png differ diff --git a/Resources/Textures/_CP14/Objects/Weapons/Melee/Sword/sword.rsi/inhand-right.png b/Resources/Textures/_CP14/Objects/Weapons/Melee/Sword/sword.rsi/inhand-right.png new file mode 100644 index 0000000000..0cca20f5d1 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Weapons/Melee/Sword/sword.rsi/inhand-right.png differ diff --git a/Resources/Textures/_CP14/Objects/Weapons/Melee/Sword/sword.rsi/meta.json b/Resources/Textures/_CP14/Objects/Weapons/Melee/Sword/sword.rsi/meta.json new file mode 100644 index 0000000000..455d0a8dc5 --- /dev/null +++ b/Resources/Textures/_CP14/Objects/Weapons/Melee/Sword/sword.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "All rights reserved for the CrystallPunk14 project only", + "copyright": "Created by TheShuEd (Github) for CrystallPunk", + "size": { + "x": 48, + "y": 48 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "equipped-BACKPACK", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_CP14/Structures/Walls/cyan_wall.rsi/full.png b/Resources/Textures/_CP14/Structures/Walls/cyan_wall.rsi/full.png new file mode 100644 index 0000000000..86405c060b Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Walls/cyan_wall.rsi/full.png differ diff --git a/Resources/Textures/_CP14/Structures/Walls/cyan_wall.rsi/meta.json b/Resources/Textures/_CP14/Structures/Walls/cyan_wall.rsi/meta.json new file mode 100644 index 0000000000..f9383e70b7 --- /dev/null +++ b/Resources/Textures/_CP14/Structures/Walls/cyan_wall.rsi/meta.json @@ -0,0 +1,46 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 64 + }, + "license": "All rights reserved for the CrystallPunk14 project only", + "copyright": "Created by jaraten (Discord/Github) for CrystallPunk14", + "states": [ + { + "name": "wall0", + "directions": 4 + }, + { + "name": "wall1", + "directions": 4 + }, + { + "name": "wall2", + "directions": 4 + }, + { + "name": "wall3", + "directions": 4 + }, + { + "name": "wall4", + "directions": 4 + }, + { + "name": "wall5", + "directions": 4 + }, + { + "name": "wall6", + "directions": 4 + }, + { + "name": "wall7", + "directions": 4 + }, + { + "name": "full" + } + ] +} diff --git a/Resources/Textures/_CP14/Structures/Walls/cyan_wall.rsi/wall0.png b/Resources/Textures/_CP14/Structures/Walls/cyan_wall.rsi/wall0.png new file mode 100644 index 0000000000..2573966a98 Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Walls/cyan_wall.rsi/wall0.png differ diff --git a/Resources/Textures/_CP14/Structures/Walls/cyan_wall.rsi/wall1.png b/Resources/Textures/_CP14/Structures/Walls/cyan_wall.rsi/wall1.png new file mode 100644 index 0000000000..be335dd971 Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Walls/cyan_wall.rsi/wall1.png differ diff --git a/Resources/Textures/_CP14/Structures/Walls/cyan_wall.rsi/wall2.png b/Resources/Textures/_CP14/Structures/Walls/cyan_wall.rsi/wall2.png new file mode 100644 index 0000000000..2573966a98 Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Walls/cyan_wall.rsi/wall2.png differ diff --git a/Resources/Textures/_CP14/Structures/Walls/cyan_wall.rsi/wall3.png b/Resources/Textures/_CP14/Structures/Walls/cyan_wall.rsi/wall3.png new file mode 100644 index 0000000000..3c607f9d2e Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Walls/cyan_wall.rsi/wall3.png differ diff --git a/Resources/Textures/_CP14/Structures/Walls/cyan_wall.rsi/wall4.png b/Resources/Textures/_CP14/Structures/Walls/cyan_wall.rsi/wall4.png new file mode 100644 index 0000000000..962f25a403 Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Walls/cyan_wall.rsi/wall4.png differ diff --git a/Resources/Textures/_CP14/Structures/Walls/cyan_wall.rsi/wall5.png b/Resources/Textures/_CP14/Structures/Walls/cyan_wall.rsi/wall5.png new file mode 100644 index 0000000000..005c409469 Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Walls/cyan_wall.rsi/wall5.png differ diff --git a/Resources/Textures/_CP14/Structures/Walls/cyan_wall.rsi/wall6.png b/Resources/Textures/_CP14/Structures/Walls/cyan_wall.rsi/wall6.png new file mode 100644 index 0000000000..6929f7bff2 Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Walls/cyan_wall.rsi/wall6.png differ diff --git a/Resources/Textures/_CP14/Structures/Walls/cyan_wall.rsi/wall7.png b/Resources/Textures/_CP14/Structures/Walls/cyan_wall.rsi/wall7.png new file mode 100644 index 0000000000..d5cbf40e2b Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Walls/cyan_wall.rsi/wall7.png differ diff --git a/Resources/Textures/_CP14/Structures/Walls/whitebricks_stone_wall.rsi/full.png b/Resources/Textures/_CP14/Structures/Walls/whitebricks_stone_wall.rsi/full.png index 9391a33578..ab2d71768a 100644 Binary files a/Resources/Textures/_CP14/Structures/Walls/whitebricks_stone_wall.rsi/full.png and b/Resources/Textures/_CP14/Structures/Walls/whitebricks_stone_wall.rsi/full.png differ diff --git a/Resources/Textures/_CP14/Structures/Walls/whitebricks_stone_wall.rsi/meta.json b/Resources/Textures/_CP14/Structures/Walls/whitebricks_stone_wall.rsi/meta.json index b7171db752..93941391b0 100644 --- a/Resources/Textures/_CP14/Structures/Walls/whitebricks_stone_wall.rsi/meta.json +++ b/Resources/Textures/_CP14/Structures/Walls/whitebricks_stone_wall.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "All rights reserved for the CrystallPunk14 project only", - "copyright": "By jaraten(discord)", + "copyright": "Created by jaraten (Discord/Github) for CrystallPunk14", "size": { "x": 32, "y": 64 diff --git a/Resources/Textures/_CP14/Structures/Walls/whitebricks_stone_wall.rsi/stonebricks0.png b/Resources/Textures/_CP14/Structures/Walls/whitebricks_stone_wall.rsi/stonebricks0.png index 7ab923fd9c..f768d03ed3 100644 Binary files a/Resources/Textures/_CP14/Structures/Walls/whitebricks_stone_wall.rsi/stonebricks0.png and b/Resources/Textures/_CP14/Structures/Walls/whitebricks_stone_wall.rsi/stonebricks0.png differ diff --git a/Resources/Textures/_CP14/Structures/Walls/whitebricks_stone_wall.rsi/stonebricks1.png b/Resources/Textures/_CP14/Structures/Walls/whitebricks_stone_wall.rsi/stonebricks1.png index 6cdfc12f73..5adb38da7b 100644 Binary files a/Resources/Textures/_CP14/Structures/Walls/whitebricks_stone_wall.rsi/stonebricks1.png and b/Resources/Textures/_CP14/Structures/Walls/whitebricks_stone_wall.rsi/stonebricks1.png differ diff --git a/Resources/Textures/_CP14/Structures/Walls/whitebricks_stone_wall.rsi/stonebricks2.png b/Resources/Textures/_CP14/Structures/Walls/whitebricks_stone_wall.rsi/stonebricks2.png index 17cd061795..b72dc5192d 100644 Binary files a/Resources/Textures/_CP14/Structures/Walls/whitebricks_stone_wall.rsi/stonebricks2.png and b/Resources/Textures/_CP14/Structures/Walls/whitebricks_stone_wall.rsi/stonebricks2.png differ diff --git a/Resources/Textures/_CP14/Structures/Walls/whitebricks_stone_wall.rsi/stonebricks3.png b/Resources/Textures/_CP14/Structures/Walls/whitebricks_stone_wall.rsi/stonebricks3.png index c3a26e8b34..9608d98074 100644 Binary files a/Resources/Textures/_CP14/Structures/Walls/whitebricks_stone_wall.rsi/stonebricks3.png and b/Resources/Textures/_CP14/Structures/Walls/whitebricks_stone_wall.rsi/stonebricks3.png differ diff --git a/Resources/Textures/_CP14/Structures/Walls/whitebricks_stone_wall.rsi/stonebricks4.png b/Resources/Textures/_CP14/Structures/Walls/whitebricks_stone_wall.rsi/stonebricks4.png index 1f6581051e..50b6d76f44 100644 Binary files a/Resources/Textures/_CP14/Structures/Walls/whitebricks_stone_wall.rsi/stonebricks4.png and b/Resources/Textures/_CP14/Structures/Walls/whitebricks_stone_wall.rsi/stonebricks4.png differ diff --git a/Resources/Textures/_CP14/Structures/Walls/whitebricks_stone_wall.rsi/stonebricks5.png b/Resources/Textures/_CP14/Structures/Walls/whitebricks_stone_wall.rsi/stonebricks5.png index 546fdb4ee2..1f10e4c648 100644 Binary files a/Resources/Textures/_CP14/Structures/Walls/whitebricks_stone_wall.rsi/stonebricks5.png and b/Resources/Textures/_CP14/Structures/Walls/whitebricks_stone_wall.rsi/stonebricks5.png differ diff --git a/Resources/Textures/_CP14/Structures/Walls/whitebricks_stone_wall.rsi/stonebricks6.png b/Resources/Textures/_CP14/Structures/Walls/whitebricks_stone_wall.rsi/stonebricks6.png index ee5a977b0c..70b76284c8 100644 Binary files a/Resources/Textures/_CP14/Structures/Walls/whitebricks_stone_wall.rsi/stonebricks6.png and b/Resources/Textures/_CP14/Structures/Walls/whitebricks_stone_wall.rsi/stonebricks6.png differ diff --git a/Resources/Textures/_CP14/Structures/Walls/wooden_wall.rsi/meta.json b/Resources/Textures/_CP14/Structures/Walls/wooden_wall.rsi/meta.json index 702e9d4031..033eda9a91 100644 --- a/Resources/Textures/_CP14/Structures/Walls/wooden_wall.rsi/meta.json +++ b/Resources/Textures/_CP14/Structures/Walls/wooden_wall.rsi/meta.json @@ -5,7 +5,7 @@ "y": 64 }, "license": "All rights reserved for the CrystallPunk14 project only", - "copyright": "Created by jaraten (Discord) for CrystallPunk14", + "copyright": "Created by jaraten (Discord/Github) for CrystallPunk14", "states": [ { "name": "wood0", diff --git a/Resources/migration.yml b/Resources/migration.yml index 9559d1a4ec..6172573eeb 100644 --- a/Resources/migration.yml +++ b/Resources/migration.yml @@ -25,7 +25,10 @@ CP14GatherableBloodgrass5: CP14GatherableBloodgrass # 2024-06-10 CP14ClothingCloakHoodieYellow: CP14ClothingCloakSimpleWhite CP14ClothingPantsHarlequinRed: CP14ClothingPantsTrouserDarkBlue -CP14ClothingShirtHarlequineRed: CP14ClothingShirtCottonBlueDark +CP14ClothingShirtHarlequineRed: CP14ClothingShirtCottonBlack + +# 2024-07-18 +CP14ClothingShirtCottonBlueDark: CP14ClothingShirtCottonBlack # <---> CrystallPunk migration zone end